Qual è l'identificatore dell'algoritmo quando si utilizza AES in modalità CBC con imbottitura ISO 10126 all'interno di PKCS # 7?

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

Domanda

Voglio usare PKCS # 7 come formato contenitore per alcuni contenuti crittografati e firmati e dobbiamo usare AES in modalità CBC con imbottitura basata su ISO 10126. Non riesco a trovare un riferimento concreto a un identificatore di algoritmo da utilizzare per questa combinazione. Posso inventare il mio ma perderei quindi l'interoperabilità con altri strumenti.

È stato utile?

Soluzione

Non è necessario specificare la modalità di riempimento. Questo è vero perché PKCS # 7 (come molti altri contenitori crittografici) utilizza la codifica ASN.1 / BER. Poiché la codifica BER contiene la lunghezza esatta del messaggio all'interno del testo semplice imbottito, il valore effettivo del riempimento non ha importanza.

Altri suggerimenti

Si scopre che non è necessario specificare la modalità padding, conta solo l'algoritmo di crittografia.

Credo che se stai usando PKCS # 7 come formato, l'imbottitura è dettata per essere, beh, "PKCS7" padding (n ottetti del valore 'n', vedere RFC 2315 , sezione 10.3.2) .

Gli identificativi dell'algoritmo per AES / CBC sono indicati ad es. 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 }

Quindi, ad es. l'OID per AES a 128 bit in modalità CBC è 2.16.840.1.101.3.4.1.2

Tecnicamente, si tratta di CMS , che è essenzialmente il PKCS # 7 aggiornato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top