PKCS#7 내부의 ISO 10126 패딩으로 CBC 모드에서 AES를 사용할 때 알고리즘 식별자는 무엇입니까?
-
08-07-2019 - |
문제
PKCS#7을 암호화되고 서명 된 컨텐츠의 컨테이너 형식으로 사용하고 싶으며 ISO 10126 기반 패딩과 함께 CBC 모드에서 AES를 사용해야합니다. 이 조합에 사용할 알고리즘 식별자에 대한 구체적인 참조를 찾을 수없는 것 같습니다. 나는 내 자신을 발명 할 수 있지만 다른 도구와 상호 운용성을 잃을 것입니다.
해결책
패딩 모드를 지정할 필요가 없습니다. PKCS#7 (다른 많은 암호화 컨테이너와 마찬가지로)은 ASN.1/BER 인코딩을 사용하기 때문에 사실입니다. BER 인코딩에는 패딩 된 일반 텍스트 내부의 메시지의 정확한 길이가 포함되어 있으므로 패딩의 실제 값은 중요하지 않습니다.
다른 팁
패딩 모드를 지정할 필요가 없으며 암호화 알고리즘 만 중요합니다.
PKCS#7을 형식으로 사용하는 경우 패딩은 "PKCS7"패딩 (N altets of Value '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 비트 AE의 OID는 2.16.840.1.101.3.4.1.2입니다.
기술적으로는 이들을위한 것입니다 CMS, 본질적으로 업데이트 된 PKCS#7입니다.
제휴하지 않습니다 StackOverflow