시큐어 해시 알고리즘

Secure Hash Algorithms

Secure Hash Algorithms는 National Institute of Standards and Technology(NIST; 국립표준기술연구소)가 미국 FIPS(Federal Information Processing Standard)로 발행한 암호화 해시 함수 패밀리입니다.다음은 예를 제시하겠습니다.

  • SHA-0: 1993년에 발행된 160비트 해시함수의 원래 버전에 적용되는 리트로닉어.공개되지 않은 "중대한 결함"으로 인해 출판 직후 철회되었고 약간 수정된 버전 SHA-1로 대체되었다.
  • SHA-1: 이전의 MD5 알고리즘과 유사한 160비트 해시 함수.이것National Security Agency(NSA; 국가보안국)가 디지털 서명 알고리즘의 일부로 설계한 것입니다.SHA-1에서 암호 취약점이 발견되어 2010년 이후 대부분의 암호 사용에 대해 표준이 승인되지 않았습니다.
  • SHA-2: SHA-256 및 SHA-512알려진 서로 다른 블록 크기를 가진 두 개의 유사한 해시 함수 패밀리입니다.단어 크기가 다릅니다.SHA-512가 64비트 단어를 사용하는 경우 SHA-256은 32비트 단어를 사용합니다.또한 SHA-224, SHA-384, SHA-512/224SHA-512/256으로 알려진 각 표준의 잘린 버전도 있습니다.이것도 NSA가 설계한 거야
  • SHA-3: 이전에 Keccak이라고 불리던 해시함수로, 비NSA 디자이너의 공모전을 거쳐 2012년에 선택되었습니다.SHA-2와 동일한 해시 길이를 지원하며 내부 구조는 다른 SHA 패밀리와 크게 다릅니다.

대응하는 규격은 FIPS PUB 180(오리지널 SHA), FIPS PUB 180-1(SHA-1), FIPS PUB 180-2(SHA-1, SHA-256, SHA-384 및 SHA-512)입니다.NIST는 SHS(Secure Hash Standard)와는 별도로 FIPS 출판물 202, SHA-3 표준을 업데이트했습니다.

SHA 기능의 비교

아래 표에서 내부 상태는 데이터 블록의 각 압축 후의 "내부 해시합"을 의미합니다.

SHA 기능의 비교
알고리즘과 바리안트 출력 크기
(비트)
내부의
상태 크기
(비트)
블록 크기
(비트)
라운드 운용 충돌 공격에 대한 보안
(비트)
길이 확장 공격에 대한 보안
(비트)
Skylake에서의 퍼포먼스(중간 cpb)[1] 초판
긴 메시지 8 바이트
MD5(참조용) 128 128
(4 × 32)
512 64 Xor, Or, Rot, Add (mod32 2) ≤ 18
(충돌 발견)[2]
0 4.99 55.00 1992
SHA-0 160 160
(5 × 32)
512 80 Xor, Or, Rot, Add (mod32 2) 34 미만
(충돌 발견)
0 § SHA-1 § SHA-1 1993
SHA-1 63 미만
(충돌 발견)[3]
3.47 52.00 1995
SHA-2 SHA-224
SHA-256
224
256
256
(8 × 32)
512 64 그리고, Xor, 또는
썩음, 쉬르, 추가(mod32 2)
112
128
32
0
7.62
7.63
84.50
85.25
2004
2001
SHA-384 384 512
(8 × 64)
1024 80 그리고, Xor, 또는
썩음, 쉬르, 추가(mod64 2)
192 128 (≤ 384) 5.12 135.75 2001
SHA-512 512 256 0[4] 5.06 135.50 2001
SHA-512/224
SHA-512/256
224
256
112
128
288
256
§ SHA-384 § SHA-384 2012
SHA-3 SHA3-224
SHA3-256
SHA3-384
SHA3-512
224
256
384
512
1600
(5 × 5 × 64)
1152
1088
832
576
24[5] 그리고, Xor, Rot, not 112
128
192
256
448
512
768
1024
8.12
8.59
11.06
15.88
154.25
155.50
164.00
164.00
2015
흔들림128
흔들림 256
d(표준)
d(표준)
1344
1088
최소(d/2, 128)
최소(d/2, 256)
256
512
7.08
8.59
155.25
155.50

확인

모든 SHA 패밀리알고리즘은 FIPS가 승인한 보안기능으로서 미국 국립표준기술연구소(NIST)와 캐나다 통신보안 확립소(CSE)가 공동으로 운영하는 프로그램인 CMVP(암호화 모듈 검증 프로그램)에 의해 공식 검증됩니다.

레퍼런스

  1. ^ "Measurements table". bench.cr.yp.to.
  2. ^ Tao, Xie; Liu, Fanbao; Feng, Dengguo (2013). Fast Collision Attack on MD5 (PDF). Cryptology ePrint Archive (Technical report). IACR.
  3. ^ Stevens, Marc; Bursztein, Elie; Karpman, Pierre; Albertini, Ange; Markov, Yarik. The first collision for full SHA-1 (PDF) (Technical report). Google Research.
    • Marc Stevens; Elie Bursztein; Pierre Karpman; Ange Albertini; Yarik Markov; Alex Petit Bianco; Clement Baisse (February 23, 2017). "Announcing the first SHA1 collision". Google Security Blog.
  4. ^ 잘리지 않으면 충돌 저항에 관계없이 해시 함수의 전체 내부 상태를 알 수 있습니다.출력이 잘린 경우 해시 함수를 재개하기 전에 삭제된 상태의 일부를 검색하여 찾아야 합니다.이것에 의해, 공격이 속행할 수 있습니다.
  5. ^ "The Keccak sponge function family". Retrieved 2016-01-27.