Quel est l'identifiant de l'algorithme lors de l'utilisation d'AES en mode CBC avec un remplissage ISO 10126 dans PKCS # 7?

StackOverflow https://stackoverflow.com/questions/304658

Question

Je souhaite utiliser PKCS # 7 en tant que format de conteneur pour un contenu chiffré et signé. Nous devons utiliser AES en mode CBC avec un remplissage conforme à la norme ISO 10126. Je n'arrive pas à trouver une référence concrète à un identifiant d'algorithme à utiliser pour cette combinaison. Je peux inventer le mien, mais je perdrais l'interopérabilité avec d'autres outils.

Était-ce utile?

La solution

Le mode de remplissage n'a pas besoin d'être spécifié. Cela est vrai car PKCS # 7 (comme de nombreux autres conteneurs cryptographiques) utilise le codage ASN.1 / BER. Le codage BER contenant la longueur exacte du message à l'intérieur du texte brut complété, la valeur réelle du remplissage n'a pas d'importance.

Autres conseils

Il s’avère que le mode de remplissage n’a pas besoin d’être spécifié, seul l’algorithme de chiffrement est important.

Je pense que si vous utilisez PKCS # 7 comme format, le remplissage est censé être "bon", "PKCS7". padding (n octets de valeur 'n', voir RFC 2315 , section 10.3.2) .

Les identificateurs d’algorithmes pour AES / CBC sont donnés dans les exemples. RFC 3565 :

-- AES information object identifiers --

aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840)
               organization(1) gov(101) csor(3)_ nistAlgorithms(4)  1 }

-- AES using CBC-chaining mode for key sizes of 128, 192, 256

id-aes128-CBC OBJECT IDENTIFIER ::= { aes 2 }
id-aes192-CBC OBJECT IDENTIFIER ::= { aes 22 }
id-aes256-CBC OBJECT IDENTIFIER ::= { aes 42 }

Donc, par exemple l'OID de l'AES 128 bits en mode CBC est 2.16.840.1.101.3.4.1.2

Techniquement, il s’agit du CMS , qui est essentiellement le PKCS # 7 mis à jour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top