2009-08-29 2 views
3

128 비트 AES 키를 생성하기 위해 일부 암호화 해시 함수와 함께 PBKDF2를 사용하고 싶습니다. SHA1도 128 비트이므로 PBKDF2와 함께 사용하려고 생각했지만 깨졌습니다. 대신 SHA256을 사용하기로했습니다. 이것이 안전한가요? 아니면 해시 크기와 결과 키 크기의 차이로 인해 AES 키가 약하게 될 수있는 비참한 자동 잘라 내기가 발생합니까? 대신 AES 용 256 비트 키를 생성해야합니까?SHA256과 함께 PBKDF2를 사용하여 128 비트 AES 키를 생성하는 것이 안전합니까?

+0

SHA1은 160 비트입니다. –

+0

"PBKDF2로 SHA1HMAC 사용을 고려하셨습니까?" 나는 그것을 이해하지 못한다. RFC2898은 PBKDF2의 ** 기본 ** PRF로 SHA1HMAC를 지정합니다. (RFC2898의 부록 A.2 참조). – Cheeso

답변

3

SHA-1은 "고장"이지만, 가장 합리적인 시스템은 HMAC 버전을 사용하며이 버전은 더 강하며 probably still fine입니다. 즉, TLS 1.2과 같은 최신 프로토콜은 PRT (Pseudo-Random Function)에 at least SHA-256을 사용하고 있습니다.

(대부분의 PRF 에서처럼) 필요한 크기로 결과를 잘라내는 것이 좋습니다. 일부 사전 토론은 this question에서 가능합니다.

키 길이에 대해서는 keylength.com을 참조하십시오. 각 프리미티브를 사용하는 방식이 일관성이 있는지 확인하려고합니다.

+0

답장을 보내 주셔서 감사합니다. –

관련 문제