Crypto

Hash function 알고리즘의 종류와 특징

총알 2024. 4. 2. 07:22
728x90

Hash function의 알고리즘 종류는 암호학적 Hash fucntion, 비암호학적 Hash function으로 구분한다.

비암호학적 Hash 함수는 대표적으로 CRC32가 있는데 CRC32는 단순 XOR연산이라서 비암호학적 Hash함수에 걸맞게 안전하지 않다.

암호학적 Hash function으로는 아래와 같은 것들이 있다.

  Hash Algorithm block size
(bit)
길이한계
(bit)
Hash Length
(bit)
보안 강도
(bit)
충돌 발견여부
Message Digest MD5 512 64 128 < 64 o
SHA SHA1 512 64 160 < 63 o
SHA2 SHA224 512 64 224 112 x
SHA256 512 64 256 128 x
SHA384 1024 64 384 192 x
SHA512 1024 128 512 256 x
SHA512/224 1024 128 224 112 x
SHA512/256 1024 128 256 128 x
SHA3 SHA3-224 1152 무제한 224 112 x
SHA3-256 1088 무제한 256 128 x
SHA3-384 832 무제한 384 192 x
SHA3-512 576 무제한 512 256 x

*길이한계: 내부적으로 메시지를 채우기 위해 데이터의 길이와 같은 추가적인 변수를 사용하는데 이때 사용하는 변수를 길이한계라고 한다. 만약 길이한계를 64로 할 경우 2^64-1이 변수 크기이다.

*보안강도: 알고리즘의 취약성을 찾기위해 수행해야 하는 작업량으로 보안강도가 64비트이면 2^64번의 수행을 해야 암호키나 알고리즘의 취약성을 알 수 있다.

*충돌: 다른 입력값을 넣었는데 동일한 Hash값이 출력될 경우를 충돌이라고 한다.

 

Hash 함수들에 대한 설명은 이전에 작성한 을 참고하면 된다.

 

728x90