최대 길이가 궁금합니다. Wikipedia에서 2^256 비트 미만의 길이의 메시지를 읽었습니다. 그것은 2의 256 승을 의미합니까? 또한 암호를 여러 번 해시하는 것이 더 안전할까요? 예 :WHIRLPOOL로 해시 할 수있는 메시지의 최대 길이
WHIRLPOOL(WHIRLPOOL(WHIRLPOOL(WHIRLPOOL("passw0rd"))))
또는 그 충돌의 위험을 증가합니까?
최대 길이가 궁금합니다. Wikipedia에서 2^256 비트 미만의 길이의 메시지를 읽었습니다. 그것은 2의 256 승을 의미합니까? 또한 암호를 여러 번 해시하는 것이 더 안전할까요? 예 :WHIRLPOOL로 해시 할 수있는 메시지의 최대 길이
WHIRLPOOL(WHIRLPOOL(WHIRLPOOL(WHIRLPOOL("passw0rd"))))
또는 그 충돌의 위험을 증가합니까?
예, 2^256 비트를 의미합니다. 물론 바이트에 2^3 비트가 있으므로 2^253 바이트의 최대 공간을 갖게됩니다. 걱정할 것이 없다.
예, 여러 번 해시하는 것이 좋습니다. 아니요, "순환"(많이)에 대해 걱정할 필요가 없습니다. 많은 의사 난수 생성기가 동일한 방식으로 해시를 사용합니다. 해시 알고리즘은 너무 많은 정보를 잃어서는 안되며 짧은주기 시간이 없어야합니다.
암호 해시는 암호 기반 키 유도 함수를 사용하여 계산해야합니다. 그러면 "키"가 저장됩니다. PBKDF는 해시 (예 : PBKDF2) 또는 키 블록 암호 (bcrypt)를 사용할 수 있습니다. 대부분의 KDF는 기본 해시 알고리즘이나 블록 암호를 직접 사용하는 대신 메시지 인증 코드 (HMAC 또는 MAC)를 사용합니다.
PBKDF에 대한 입력은 소금 및 반복 횟수입니다. 반복 횟수는 모든 종류의 암호를 시도하여 공격자가 시스템을 무력화시키는 것을 어렵게 만드는 데 사용됩니다. 그것은 기본적으로 WHIRLPOOL로 위에서 한 것과 같습니다. 반복 횟수 만이 일반적으로 1에서 10 사이의 임의의 숫자입니다. 입니다. 일반적으로 더 많은 데이터가 각 반복에서 혼합됩니다.
더 중요한 것은 중복 된 암호를 감지 할 수 없으며 무지개 표를 사용하는 공격을 피하기 위해 (암호 별) 소금을 사용하는 것입니다. 일반적으로 소금은 약 64 ~ 128 비트입니다. 소금 및 반복 횟수는 "해시"와 함께 저장해야합니다.
마지막으로 WHIRLPOOL 대신 SHA-512와 같은 NIST 검사 해시 알고리즘을 사용하는 것이 좋습니다.
추가 정보를 읽으려면이 전체 페이지를 읽어보십시오. https://crackstation.net/hashing-security.htm#ineffective – ntoskrnl