암호해시함수의 비교
Comparison of cryptographic hash functions다음 표는 다수의 암호 해시함수에 대한 일반 정보와 기술 정보를 비교한다. 자세한 내용은 개별 기능의 문서를 참조하십시오. 이 글은 전부 포함되거나 반드시 최신의 것은 아니다. 해시함수 보안/크립트 분석의 개요는 해시함수 보안 요약에서 확인할 수 있다.
일반 정보
암호해시함수에 대한 기본 일반 정보 : 년도, 설계자, 참조자 등
함수 | 연도 | 디자이너 | 파생된 위치 | 참조 |
---|---|---|---|---|
블레이크 | 2008 | 장필리프 아우마손 루카 헨젠 빌리 마이어 라파엘 C.W.판 | 차차20 | 웹사이트 사양 |
블레이크2 | 2012 | 장필리프 아우마손 새뮤얼 네베스 주코 윌콕스-O'허른 크리스티안 위너라인 | 블레이크 | 웹사이트 사양 RFC 7693 |
블레이크3 | 2020 | 잭 오코너 장필리프 아우마손 새뮤얼 네베스 주코 윌콕스-O'허른 | 블레이크2 | 웹사이트 사양 |
GOST R 34.11-94 | 1994 | FAPSI 및 VNII 스탠다드 | GOST 28147-89 | RFC 5831 |
하발 | 1992 | 율량정 요제프 피프르지크 제니퍼 세베리 | 웹사이트 사양 | |
캥거루 트윌브 | 2016 | 귀도 베르토니 조안 대멘 마이클 피터스 길레스 반 앗슈 | 케차크 | 웹사이트 사양 |
MD2 | 1989 | 로널드 리베스트 | RFC 1319 | |
MD4 | 1990 | RFC 1320 | ||
MD5 | 1992 | MD4 | RFC 1321 | |
MD6 | 2008 | 웹사이트 사양 | ||
RIPEMD | 1992 | RIP 컨소시엄[1] | MD4 | |
RIPEMD-128 RIPEMD-256 RIPEMD-160 RIPEMD-320 | 1996 | 한스 도베르탱 안툰 보셀라어스 바트 프레넬 | RIPEMD | 웹사이트 사양 |
SHA-0 | 1993 | NSA | SHA-0 | |
SHA-1 | 1995 | SHA-0 | 사양 | |
SHA-256 SHA-384 SHA-512 | 2002 | |||
SHA-224 | 2004 | |||
SHA-3 (케카크) | 2008 | 귀도 베르토니 조안 대멘 마이클 피터스 길레스 반 앗슈 | 라디오가툰 | 웹사이트 사양 |
스트리보그 | 2012 | FSB, InfoTeCS JSC | RFC 6986 | |
호랑이 | 1995 | 로스 앤더슨 일라이 비엄 | 웹사이트 사양 | |
소용돌이 | 2004 | 빈센트 라이먼 파울루 바레토 | 웹사이트 |
매개변수
알고리즘. | 출력 크기(비트) | 내부 상태 크기[note 1] | 블록 크기 | 길이크기 | 단어 크기 | 라운드 |
---|---|---|---|---|---|---|
블레이크2b | 512 | 512 | 1024 | 128[note 2] | 64 | 12 |
블레이크2스 | 256 | 256 | 512 | 64[note 3] | 32 | 10 |
블레이크3 | 무제한 | 256[note 4] | 512 | 64 | 32 | 7 |
고스트 | 256 | 256 | 256 | 256 | 32 | 32 |
하발 | 256/224/192/160/128 | 256 | 1024 | 64 | 32 | 3/4/5 |
MD2 | 128 | 384 | 128 | – | 32 | 18 |
MD4 | 128 | 128 | 512 | 64 | 32 | 3 |
MD5 | 128 | 128 | 512 | 64 | 32 | 64 |
파나마 | 256 | 8736 | 256 | – | 32 | – |
라디오가툰 | 무제한[note 5] | 58단어 | 19단어[note 6] | – | 1–64[note 7] | 18[note 8] |
RIPEMD | 128 | 128 | 512 | 64 | 32 | 48 |
RIPEMD-128, -256 | 128/256 | 128/256 | 512 | 64 | 32 | 64 |
RIPEMD-160 | 160 | 160 | 512 | 64 | 32 | 80 |
RIPEMD-320 | 320 | 320 | 512 | 64 | 32 | 80 |
SHA-0 | 160 | 160 | 512 | 64 | 32 | 80 |
SHA-1 | 160 | 160 | 512 | 64 | 32 | 80 |
SHA-224, -256 | 224/256 | 256 | 512 | 64 | 32 | 64 |
SHA-384, -512, -512/224, -512/256 | 384/512/224/256 | 512 | 1024 | 128 | 64 | 80 |
SHA-3 | 224/256/384/512[note 9] | 1600 | 1600 - 2*비트 | –[note 10] | 64 | 24 |
SHA3-224 | 224 | 1600 | 1152 | – | 64 | 24 |
SHA3-256 | 256 | 1600 | 1088 | – | 64 | 24 |
SHA3-384 | 384 | 1600 | 832 | – | 64 | 24 |
SHA3-512 | 512 | 1600 | 576 | – | 64 | 24 |
호랑이(2)-192/160/128 | 192/160/128 | 192 | 512 | 64 | 64 | 24 |
소용돌이 | 512 | 512 | 512 | 256 | 8 | 10 |
메모들
- ^ 여기서 내부 상태는 데이터 블록의 각 압축 후 "내부 해시 합계"를 의미한다. 또한 대부분의 해시 알고리즘은 결국 길이 패딩에 필요하기 때문에 지금까지 압축된 데이터의 길이와 같은 일부 추가 변수를 내부적으로 사용한다. 자세한 내용은 Merkle-Damghrd 건축물을 참조하십시오.
- ^ 블레이크2b의 메시지 길이 카운터의 크기는 128비트지만, 비교의 다른 해시 함수처럼 비트 단위로가 아닌 바이트 단위로 메시지 길이를 계산한다. 따라서 그것은 128비트 길이의 크기가 제안하는 것보다 8배 더 긴 메시지를 처리할 수 있다(8비트와 동일한 1바이트). 131비트의 길이 크기는 비슷한 길이 크기( = 2
- ^ 블레이크2s의 메시지 길이 카운터의 크기는 64비트지만, 비교의 다른 해시 함수처럼 비트 단위로 계산하지 않고 메시지 길이를 바이트 단위로 계산한다. 따라서 그것은 64비트 길이 크기가 제안하는 것보다 8배 더 긴 메시지를 처리할 수 있다(8비트와 동일한 1바이트). 67비트의 길이 크기는 비슷한 길이 크기( =
- ^ 전체 블레이크3 증분 상태는 최대 1728바이트 크기의 체인 값을 포함한다. 그러나 압축함수 자체는 이 스택에 접근하지 않는다. 최대 입력 길이가 제한되는 경우 더 작은 스택도 사용할 수 있다.
- ^ RadioGatun은 무한대의 출력을 가진 Extendable-Output Function이다. 공식 시험 벡터는 256비트 해시다. 라디오가툰은 암호화 스펀지 함수의 보안 수준을 19단어로 주장하는데, 이는 32비트 버전이 프리이미지 공격을 볼 때는 304비트 해시의 보안성을 갖지만 충돌 공격을 볼 때는 608비트 해시의 보안성을 갖췄다는 뜻이다. 마찬가지로 64비트 버전은 608비트 또는 1216비트 해시의 보안을 가지고 있다. RadioGatunn이 길이 확장 공격에 얼마나 취약한지를 판단하기 위해 해시 압축 연산 사이에 58단어 상태의 두 단어만 출력된다.
- ^ RadioGatun은 Merkle-Damgård 건축물이 아니며, 따라서 블록 크기가 없다. 벨트는 39단어, 라디오 가툰이 '블록'에 가장 가까운 방앗간은 19단어다.
- ^ RadioGatun의 32비트 버전과 64비트 버전만 공식적인 테스트 벡터를 가지고 있다.
- ^ 18개의 빈 라운드는 RadioGatun에서 입력 매핑 단계가 종료된 후 출력 비트가 생성되기 전까지 한 번만 적용된다.
- ^ 기본 알고리즘 Kecak에는 임의 해시 길이가 있지만 NIST는 224, 256, 384, 512비트 출력을 SHA-3의 유효한 모드로 지정했다.
- ^ 구현에 따라 달라진다. 22페이지 하단의 두 번째 단락인 FIPS PUB 202.
압축함수
다음 표는 암호해시함수의 압축함수에 대한 기술정보를 비교한 것이다. 자세한 내용은 사양을 참조하십시오.
함수 | 크기(비트)[note 1] | 워즈 × 패스 = 라운드[note 2] | 운영[note 3] | 엔디안[주4] | |||||
---|---|---|---|---|---|---|---|---|---|
단어 | 다이제스트 | 체인 가치[주5] | 연산 가치관[note 6] | 블록 | 길이 [주 7] | ||||
GOST R 34.11-94 | 32 | ×8 = 256 | ×8 = 256 | 32 | 4 | A B L S | 리틀 | ||
HAVAL-3-128 | 32 | ×4 = 128 | ×8 = 256 | ×32 = 1,024 | 64 | 32 × 3 = 96 | A B S | 리틀 | |
HAVAL-3-160 | ×5 = 160 | ||||||||
HAVAL-3-192 | ×6 = 192 | ||||||||
HAVAL-3-224 | ×7 = 224 | ||||||||
HAVAL-3-256 | ×8 = 256 | ||||||||
HAVAL-4-128 | ×4 = 128 | 32 × 4 = 128 | |||||||
HAVAL-4-160 | ×5 = 160 | ||||||||
HAVAL-4-192 | ×6 = 192 | ||||||||
HAVAL-4-224 | ×7 = 224 | ||||||||
HAVAL-4-256 | ×8 = 256 | ||||||||
HAVAL-5-128 | ×4 = 128 | 32 × 5 = 160 | |||||||
HAVAL-5-160 | ×5 = 160 | ||||||||
HAVAL-5-192 | ×6 = 192 | ||||||||
HAVAL-5-224 | ×7 = 224 | ||||||||
HAVAL-5-256 | ×8 = 256 | ||||||||
MD2 | 8 | ×16 = 128 | ×32 = 256 | ×48 = 384 | ×16 = 128 | 없음 | 48 × 18 = 864 | B | 해당 없음 |
MD4 | 32 | ×4 = 128 | ×16 = 512 | 64 | 16 × 3 = 48 | A B S | 리틀 | ||
MD5 | 16 × 4 = 64 | ||||||||
RIPEMD | 32 | ×4 = 128 | ×8 = 256 | ×16 = 512 | 64 | 16 × 3 = 48 | A B S | 리틀 | |
RIPEMD-128 | 16 × 4 = 64 | ||||||||
RIPEMD-256 | ×8 = 256 | ||||||||
RIPEMD-160 | ×5 = 160 | ×10 = 320 | 16 × 5 = 80 | ||||||
RIPEMD-320 | ×10 = 320 | ||||||||
SHA-0 | 32 | ×5 = 160 | ×16 = 512 | 64 | 16 × 5 = 80 | A B S | 큰 | ||
SHA-1 | |||||||||
SHA-256 | ×8 = 256 | ×8 = 256 | 16 × 4 = 64 | ||||||
SHA-224 | ×7 = 224 | ||||||||
SHA-512 | 64 | ×8 = 512 | ×8 = 512 | ×16 = 1024 | 128 | 16 × 5 = 80 | |||
SHA-384 | ×6 = 384 | ||||||||
타이거-192 | 64 | ×3 = 192 | ×3 = 192 | ×8 = 512 | 64 | 8 × 3 = 24 | A B L S | 지정되지 않음 | |
타이거-160 | ×2.5=160 | ||||||||
타이거-128 | ×2 = 128 | ||||||||
함수 | 단어 | 다이제스트 | 체인 가치 | 연산 가치 | 블록 | 길이 | 워즈 × 패스 = 라운드 | 운영 | 엔디안 |
크기(비트) |
메모들
- ^ 생략된 승수는 단어 크기 입니다.
- ^ 어떤 저자들은 출입증과 회진을 교환한다.
- ^ A: addition, 뺄셈, B: 비트 연산, L: lookup table; S: shift, rotation.
- ^ 바이트 엔디안성만을 가리킨다. 작업이 비트 연산 및 룩업 테이블로만 구성된 경우 엔디안성은 관련이 없다.
- ^ 메시지 다이제스트의 크기는 일반적으로 체인링 값의 크기와 동일하다. SHA-384와 같은 특정 암호해시함수의 잘린 버전에서는 전자가 후자보다 적다.
- ^ 체인 값의 크기는 일반적으로 계산 값의 크기와 같다. RIPEMD-160과 같은 특정 암호 해시함수의 경우, RIPEMD-160은 두 세트의 병렬 연산 값을 사용한 다음 하나의 체인 값 집합으로 결합하기 때문에 전자가 후자보다 적다.
- ^ 최대 입력 크기 = 2 - 1비트length size 예를 들어, SHA-1 = 264 - 1비트의 최대 입력 크기.
참고 항목
참조
- ^ Dobbertin, Hans; Bosselaers, Antoon; Preneel, Bart (21–23 February 1996). RIPEMD-160: A strengthened version of RIPEMD (PDF). Fast Software Encryption. Third International Workshop. Cambridge, UK. pp. 71–82. doi:10.1007/3-540-60865-6_44.
외부 링크
- 해시의 ECRYPT 벤치마킹 – 다양한 플랫폼에서 해시함수 속도 측정
- ECRYPT 해시함수 웹사이트 – 암호 해시함수를 위한 위키
- SHA-3 프로젝트 – SHA-3 경쟁에 대한 정보