Каков идентификатор алгоритма при использовании AES в режиме CBC с заполнением ISO 10126 внутри PKCS # 7?

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

Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

Я полагаю, что если вы используете 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 }

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top