128 비트 AES 키를 생성하기 위해 일부 암호화 해시 함수와 함께 PBKDF2를 사용하고 싶습니다. SHA1도 128 비트이므로 PBKDF2와 함께 사용하려고 생각했지만 깨졌습니다. 대신 SHA256을 사용하기로했습니다. 이것이 안전한가요? 아니면 해시 크기와 결과 키 크기의 차이로 인해 AES 키가 약하게 될 수있는 비참한 자동 잘라 내기가 발생합니까? 대신 AES 용 256 비트 키를 생성해야합니까?SHA256과 함께 PBKDF2를 사용하여 128 비트 AES 키를 생성하는 것이 안전합니까?
3
A
답변
3
SHA-1은 "고장"이지만, 가장 합리적인 시스템은 HMAC 버전을 사용하며이 버전은 더 강하며 probably still fine입니다. 즉, TLS 1.2과 같은 최신 프로토콜은 PRT (Pseudo-Random Function)에 at least SHA-256을 사용하고 있습니다.
(대부분의 PRF 에서처럼) 필요한 크기로 결과를 잘라내는 것이 좋습니다. 일부 사전 토론은 this question에서 가능합니다.
키 길이에 대해서는 keylength.com을 참조하십시오. 각 프리미티브를 사용하는 방식이 일관성이 있는지 확인하려고합니다.
+0
답장을 보내 주셔서 감사합니다. –
관련 문제
- 1. sha-1 128 비트 키를 생성하는 PHP 함수는 무엇입니까?
- 2. PDFsharp를 사용하여 AES 128 비트 암호화 파일 열기
- 3. AES-128 비트 알고리즘 도움말 ?? 내가 암호화하고 싶습니다
- 4. keytool을 사용하여 128 비트 키 생성
- 5. 암호 해독 유형 및 차단 (AES 128?)
- 6. 고유 한 64 비트 키를 생성하는 방법
- 7. AES 128 DOT NET 및 Java 호환성
- 8. Mac에서 표준 128 비트 GUID (UUID)를 생성하는 방법이 있습니까?
- 9. CFB 128 비트 AES 암호화를 사용하여 데이터를 암호화/암호 해독하는 코드
- 10. Java를 사용하는 128 비트 데이터 암호화
- 11. 64 비트 컴퓨터에서 부호없는 128 비트 나누기
- 12. tomcat JNDI 128 비트 암호화
- 13. AES에서 사용되는 S-Box 128 비트 암호화의 CFB 모드
- 14. 왜 aes 키를 무작위로 생성해야합니까?
- 15. RFC2898DeriveBytes는 어떻게 AES 키를 생성합니까?
- 16. 대형 128 비트 정수를 저장하기위한 디스크 구조?
- 17. AES (128 또는 256) 암호화가 데이터를 확장합니까? 그렇다면 얼마만큼?
- 18. 사용자 정의 (변하지 않는) 키로 AES 암호화가 충분히 안전합니까?
- 19. 가장 빠른 128 비트 정수 라이브러리
- 20. 기본 키를 위해 uniqueidentifier를 사용하는 것이 더 안전합니까?
- 21. iPad/iPhone의 사용자 세션 중에 보안 키를 저장하는 것이 안전합니까?
- 22. 어셈블리에서 AES 구현
- 23. WCF : 비동기 작업자 스레드를 서버에 생성하는 것이 안전합니까?
- 24. XtPointer를 사용하여 int를 전달하는 것이 안전합니까?
- 25. sudo를 사용하여 루비 스크립트를 실행하는 것이 안전합니까?
- 26. 포인터를 사용하여 블록의 값을 변경하는 것이 안전합니까?
- 27. Gladman AES 라이브러리 - 컴파일러 경고를 무시해도 안전합니까?
- 28. AES 키 저장
- 29. Java에서 비트 연산의 기본 유형을 특정 크기로 가정하는 것이 안전합니까?
- 30. 64 비트 Python에서 sys.platform == 'win32'를 사용하는 것이 안전합니까?
SHA1은 160 비트입니다. –
"PBKDF2로 SHA1HMAC 사용을 고려하셨습니까?" 나는 그것을 이해하지 못한다. RFC2898은 PBKDF2의 ** 기본 ** PRF로 SHA1HMAC를 지정합니다. (RFC2898의 부록 A.2 참조). – Cheeso