의견.png

SHA224

해시넷
wjddn843 (토론 | 기여)님의 2019년 8월 2일 (금) 11:18 판 (예제)
이동: 둘러보기, 검색

SHA-224란 국가안보국(NSA)이 설계한 암호 해시함수이다.

개요

SHA-224는 2004년 2월 업데이트 된 SHA-2의 다른 버전이며, SHA-256으로 계산하다 마지막에 출력을 224비트로 줄이는 알고리즘이다. 또한 224비트 (28 바이트) 해시 값을 생성하며 일반적으로 56자리 길이의 16진수로 렌더링된다.[1][2]SHA-224를 포함한 SHA-256, SHA-384, SHA-512를 통합하여 SHA-2라고 하기도 한다.[3]


특징

SHA-224는 SHA-256을 두 가지 방법으로 수정하여 정의되었는데, 1. 256비트에서 32비트를 뺀 224비트로 줄여, 유효 보안 수준이 2의 224제곱을 갖고 있어 충돌 발견에 소요되는 예상 비용을 줄였고, 2. 다른 초기화 값. 즉, SHA-224SHA-256에 대한 정보를 노출하지 않도록 한다(또는 그 반대도 마찬가지). 하지만 상위 버전인 SHA-256이 있기 때문에 자주 쓰이는 편은 아니나 해시가 많은 경우와 타원 곡선 그룹에 매핑 할 때는 유용하게 쓰일 수 있다.[4]

  • 특성
해시값의 크기 224
내부 상태 크기 256
블록크기 512
길이 한계 64
워드 크기 32
과정 수 64
사용되는 연산 +, and, or, xor, shr, rotr
충돌 여부 발견되지 않음
[2]
  • 차이점
  1. 초기 해시 값 h0 ~ h7은 서로 다르다.
  2. 출력은 h7을 생략하고 출력한다.[5]
  • 단점
SHA-256보다 효율이 떨어진다. 128비트 이상 256비트 이하의 해시를 원하는 경우, SHA-256을 사용하여 원하는 비트 길이로 출력하는 것이 SHA-224를 사용하는 것만큼 간단하고 효율적이기 때문이다.[4]

예제

제시한 문자열의 해시를 계산[6]

=> SELECT SHA224('abc');
                      SHA224
----------------------------------------------------------
78d8045d684abd2eece923758f3cd781489df3a48e1278982466017f
(1 row)
=> SELECT SHA224('Vertica'::bytea);
                      SHA224
----------------------------------------------------------
135ac268f64ff3124aeeebc3cc0af0a29fd600a3be8e29ed97e45e25
(1 row)
=> SELECT sha224(''::varbinary) = 'd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f' AS "TRUE";
 TRUE
------
t
(1 row)

각주

  1. MOBILEFISH, 〈MD5, SHA1, SHA224, SHA256, SHA384, SHA512 and RIPEMD160 hash generator〉, 《MOBILEFISH》
  2. 2.0 2.1 윈디하나, 〈해시알고리즘 비교〉, 《윈디하나의 솔라나라》, 2011-09-04
  3. SHA〉, 《위키백과》
  4. 4.0 4.1 Ilmari Karonen, 〈SHA-224 Purpose〉, 《Cryptography》, 2014-03-21
  5. SHA-2〉, 《Wikipedia》
  6. vertica 공식 홈페이지 - http://a.to/19btcEw

참고자료

같이 보기


  의견.png 이 SHA224 문서는 암호 알고리즘에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.