Qual é o identificador algoritmo quando usando AES no modo CBC com ISO 10126 dentro preenchimento de PKCS # 7?

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

Pergunta

Eu quero usar PKCS # 7 como um formato contêiner por algum conteúdo criptografado, assinado e precisamos usar AES no modo CBC com ISO 10126 preenchimento base. Eu não consigo encontrar uma referência concreta a um identificador algoritmo usar para esta combinação. Eu posso inventar o meu próprio país, mas a interoperabilidade seria então perder com outras ferramentas.

Foi útil?

Solução

O modo de preenchimento não precisa ser especificado. Isto é verdade porque PKCS # 7 (como muitos outros recipientes criptográficos) utiliza codificação ASN.1 / BER. Como a codificação BER contém o comprimento exato da mensagem dentro do texto simples acolchoado, o valor real do estofamento não importa.

Outras dicas

Acontece que o modo de preenchimento não precisa ser especificado, apenas os assuntos algoritmo de criptografia.

Eu acredito que se você estiver usando PKCS # 7 como seu formato, o preenchimento é ditada a ser, assim, "PKCS7" padding (n octetos de valor 'n', consulte RFC 2315 , seção 10.3.2).

O identificador do algoritmo (s) para AES / CBC são dadas em e.g. 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 }

Assim, por exemplo, o OID para 128 bits AES no modo CBC é 2.16.840.1.101.3.4.1.2

Tecnicamente, estes são para CMS , que é essencialmente o PKCS # 7 atualizados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top