PKCS#7 내부의 ISO 10126 패딩으로 CBC 모드에서 AES를 사용할 때 알고리즘 식별자는 무엇입니까?

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

문제

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입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top