Каков идентификатор алгоритма при использовании AES в режиме CBC с заполнением ISO 10126 внутри PKCS # 7? - PullRequest
2 голосов
/ 20 ноября 2008

Я хочу использовать PKCS # 7 в качестве формата контейнера для некоторого зашифрованного, подписанного контента, и нам нужно использовать AES в режиме CBC с заполнением на основе ISO 10126. Я не могу найти конкретную ссылку на идентификатор алгоритма, чтобы использовать для этой комбинации. Я могу изобрести свой собственный, но тогда потеряю совместимость с другими инструментами.

Ответы [ 3 ]

4 голосов
/ 29 апреля 2011

Режим заполнения указывать не нужно. Это верно, потому что PKCS # 7 (как и многие другие криптографические контейнеры) использует кодировку ASN.1 / BER. Поскольку кодировка BER содержит точную длину сообщения внутри простого текста, фактическое значение отступа не имеет значения.

1 голос
/ 14 сентября 2011

Я полагаю, что если вы используете PKCS # 7 в качестве формата, заполнение диктуется, в общем, дополнением "PKCS7" (n октетов значения 'n', см. RFC 2315 , раздел 10.3 0,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 }

Так, например, OID для 128-битного AES в режиме CBC: 2.16.840.1.101.3.4.1.2

Технически, это для CMS , которая по сути является обновленной PKCS # 7.

1 голос
/ 10 февраля 2009

Оказывается, что режим заполнения не нужно указывать, важен только криптоалгоритм.

...