在CCS模式下使用AES并在PKCS#7内部使用ISO 10126填充时,算法标识符是什么?

时间:2008-11-20 08:42:00

标签: encryption standards aes pkcs#7

我想将PKCS#7用作某些加密签名内容的容器格式,我们需要在CBC模式下使用AES,并使用基于ISO 10126的填充。我似乎无法找到用于此组合的算法标识符的具体引用。我可以发明自己的,但会失去与其他工具的互操作性。

3 个答案:

答案 0 :(得分:4)

不需要指定填充模式。这是正确的,因为PKCS#7(与许多其他加密容器一样)使用ASN.1 / BER编码。由于BER编码包含填充纯文本内部消息的确切长度,因此填充的实际值无关紧要。

答案 1 :(得分:1)

事实证明,不需要指定填充模式,只有加密算法很重要。

答案 2 :(得分:1)

我相信如果你使用PKCS#7作为你的格式,填充被指定为“PKCS7”填充(n个八位字节值'n',见RFC 2315,第10.3.2节)

AES / CBC的算法标识符在例如下面给出。 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 }

所以,例如CBC模式下128位AES的OID为2.16.840.1.101.3.4.1.2

从技术上讲,这些是CMS,基本上是更新的PKCS#7。