암호해시함수의 비교

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

메모들

  1. ^ 여기서 내부 상태는 데이터 블록의 각 압축 후 "내부 해시 합계"를 의미한다. 또한 대부분의 해시 알고리즘은 결국 길이 패딩에 필요하기 때문에 지금까지 압축된 데이터의 길이와 같은 일부 추가 변수를 내부적으로 사용한다. 자세한 내용은 Merkle-Damghrd 건축물을 참조하십시오.
  2. ^ 블레이크2b의 메시지 길이 카운터의 크기는 128비트지만, 비교의 다른 해시 함수처럼 비트 단위로가 아닌 바이트 단위로 메시지 길이를 계산한다. 따라서 그것은 128비트 길이의 크기가 제안하는 것보다 8배 더 긴 메시지를 처리할 수 있다(8비트와 동일한 1바이트). 131비트의 길이 크기는 비슷한 길이 크기( = 2
  3. ^ 블레이크2s의 메시지 길이 카운터의 크기는 64비트지만, 비교의 다른 해시 함수처럼 비트 단위로 계산하지 않고 메시지 길이를 바이트 단위로 계산한다. 따라서 그것은 64비트 길이 크기가 제안하는 것보다 8배 더 긴 메시지를 처리할 수 있다(8비트와 동일한 1바이트). 67비트의 길이 크기는 비슷한 길이 크기( =
  4. ^ 전체 블레이크3 증분 상태는 최대 1728바이트 크기의 체인 값을 포함한다. 그러나 압축함수 자체는 이 스택에 접근하지 않는다. 최대 입력 길이가 제한되는 경우 더 작은 스택도 사용할 수 있다.
  5. ^ RadioGatun은 무한대의 출력을 가진 Extendable-Output Function이다. 공식 시험 벡터는 256비트 해시다. 라디오가툰은 암호화 스펀지 함수의 보안 수준을 19단어로 주장하는데, 이는 32비트 버전이 프리이미지 공격을 볼 때는 304비트 해시의 보안성을 갖지만 충돌 공격을 볼 때는 608비트 해시의 보안성을 갖췄다는 뜻이다. 마찬가지로 64비트 버전은 608비트 또는 1216비트 해시의 보안을 가지고 있다. RadioGatunn이 길이 확장 공격에 얼마나 취약한지를 판단하기 위해 해시 압축 연산 사이에 58단어 상태의 두 단어만 출력된다.
  6. ^ RadioGatun은 Merkle-Damgård 건축물이 아니며, 따라서 블록 크기가 없다. 벨트는 39단어, 라디오 가툰이 '블록'에 가장 가까운 방앗간은 19단어다.
  7. ^ RadioGatun의 32비트 버전과 64비트 버전만 공식적인 테스트 벡터를 가지고 있다.
  8. ^ 18개의 빈 라운드는 RadioGatun에서 입력 매핑 단계가 종료된 후 출력 비트가 생성되기 전까지 한 번만 적용된다.
  9. ^ 기본 알고리즘 Kecak에는 임의 해시 길이가 있지만 NIST는 224, 256, 384, 512비트 출력을 SHA-3의 유효한 모드로 지정했다.
  10. ^ 구현에 따라 달라진다. 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
함수 단어 다이제스트 체인
가치
연산
가치
블록 길이 워즈 ×
패스 =
라운드
운영 엔디안
크기(비트)

메모들

  1. ^ 생략된 승수는 단어 크기 입니다.
  2. ^ 어떤 저자들은 출입증과 회진을 교환한다.
  3. ^ A: addition, 뺄셈, B: 비트 연산, L: lookup table; S: shift, rotation.
  4. ^ 바이트 엔디안성만을 가리킨다. 작업이 비트 연산 및 룩업 테이블로만 구성된 경우 엔디안성은 관련이 없다.
  5. ^ 메시지 다이제스트의 크기는 일반적으로 체인링 값의 크기와 동일하다. SHA-384와 같은 특정 암호해시함수의 잘린 버전에서는 전자가 후자보다 적다.
  6. ^ 체인 값의 크기는 일반적으로 계산 값의 크기와 같다. RIPEMD-160과 같은 특정 암호 해시함수의 경우, RIPEMD-160은 두 세트의 병렬 연산 값을 사용한 다음 하나의 체인 값 집합으로 결합하기 때문에 전자가 후자보다 적다.
  7. ^ 최대 입력 크기 = 2 - 1비트length size 예를 들어, SHA-1 = 264 - 1비트의 최대 입력 크기.

참고 항목

참조

  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.

외부 링크