검수요청.png검수요청.png

"SHA384"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(새 문서: '''SHA-384'''란 국가안보국(NSA)에서 설계한 암호 해시함수이다..<ref name="SHA-2 위키피디아">〈[https://en.wikipedia.org/wiki/SHA-2 SHA]〉, 《위키피디...)
 
1번째 줄: 1번째 줄:
'''SHA-384'''란 국가안보국(NSA)에서 설계한 [[암호 해시함수]]이다..<ref name="SHA-2 위키피디아">〈[https://en.wikipedia.org/wiki/SHA-2 SHA]〉, 《위키피디아》</ref>
+
'''SHA-384'''란 국가안보국(NSA)에서 설계한 [[암호 해시함수]]이다.<ref name="SHA-2 위키피디아">〈[https://en.wikipedia.org/wiki/SHA-2 SHA]〉, 《위키피디아》</ref>
  
 
== 개요 ==
 
== 개요 ==
SHA-224는 224비트 (28 바이트) 해시 값을 생성하며 일반적으로 56자리 길이의 16진수로 렌더링된다.<ref>MOBILEFISH, 〈[https://www.mobilefish.com/services/hash_generator/hash_generator.php MD5, SHA1, SHA224, SHA256, SHA384, SHA512 and RIPEMD160 hash generator]〉, 《MOBILEFISH》</ref>
+
SHA-384는 384비트(48바이트)의 [[해시 값]]을 생성하고, 일반적인 길이는 96자리 인 16진수로 [[렌더링]]이 된다.<ref>MOBILEFISH, 〈[https://www.mobilefish.com/services/hash_generator/hash_generator.php MD5, SHA1, SHA224, SHA256, SHA384, SHA512 and RIPEMD160 hash generator]〉, 《MOBILEFISH》</ref>
  
 
== 특징 ==
 
== 특징 ==
SHA-224는 SHA-256을 두 가지 방법으로 수정하여 정의되었는데, 1. 256비트에서 32비트를 뺀 224비트로 줄여, 유효 보안 수준이 2의 224제곱을 갖고 있어 충돌 발견에 소요되는 예상 비용을 줄였고, 2. 다른 초기화 값. 즉, [[SHA-224]]가 [[SHA-256]]에 대한 정보를 노출하지 않도록 한다(또는 그 반대도 마찬가지). 하지만 상위 버전인 SHA-256이 있기 때문에 자주 쓰이는 편은 아니나 해시가 많은 경우와 타원 곡선 그룹에 매핑 때는 유용하게 쓰일 수 있다.<ref name="SHA-224">Ilmari Karonen, 〈[https://crypto.stackexchange.com/questions/15151/sha-224-purpose sha-224]〉, 《Cryptography》, 2014-03-21</ref>
+
[[SHA-384]]는 [[SHA-256]]보다 큰 유효 보호 수준을 가지기 때문에 [[SHA-512]]만큼은 아니지만 대부분의 상상할 수 있는 충돌 저항에 대해 강점을 보인다. 어떤 [[해시]]를 사용할 것인가에 대한 주된 결정 요소는 얼마나 많은 양의 출력이 필요한가에 달려있는데, 예를 들어 256비트의 해시 기반 메시지 인증 코드(HMAC : Hash-based Message Authentication Code) 키와 128비트의 [[암호화]] 키를 모두 생성하기 위한 [[해시]]가 필요한 경우에 [[SHA-384]]의 사용은 당연하다고 할 수 있다. 계산 비용, 즉 의사 난수 생성기(PRNG : Pseudo Random Number Generator)의 출력이나 랜덤 [[패딩]]에 대해 가능한 많은 출력이 필요한 경우에는 [[SHA-512]]를 선택하는 것이 옳은 방법이라고 할 수 있다. 또한 [[SHA-384]]는 내부 상태로 출력을 감소시키지 않으므로 [[SHA-3]]에도 취약하지 않다.<ref name="SHA-2 특징"></ref><ref name="SHA-384"> David Schwartz, 〈[https://stackoverflow.com/questions/10061532/why-chose-sha512-over-sha384 Why chose SHA512 over SHA384?]〉 , 《stackoverflow》, 2012-04-08</ref>
  
 
== 차이점 ==
 
== 차이점 ==
* 초기 해시 값 h0 ~ h7은 서로 다르다.
+
* 초기 해시 값 h0 ~ h7은 다르다(9번째 ~ 16번째 소수)
* 출력은 h7을 생략하고 출력한다.<ref name="SHA-2 위키피디아"></ref>
+
* 출력은 h6과 h7을 생략하고 출력한다.<ref name="SHA-2 위키피디아"></ref>
  
 
== 문제점 ==
 
== 문제점 ==
[[SHA-256]]보다 효율이 떨어진다. 128비트 이상 256비트 이하의 [[해시]]를 원하는 경우, [[SHA-256]]을 사용하여 원하는 비트 길이로 출력하는 것이 [[SHA-224]]를 사용하는 것만큼 간단하고 효율적이기 때문이다.<ref name="SHA-224"></ref>
+
문제점 : [[SHA-384]]는 길이 확장 공격(Length extension attack)에 있어서 [[SHA-512]]에 비해 강세를 보인다 [[SHA-512]]는 길이 확장 공격에 대해 휘발성이지만 [S[HA-384]]는 휘발성이 아니기 때문이다. 하지만 [[SHA-384]]의 경우에는 [[다이제스트]]의 서명이 필요하한데, 만약 ECDSA-384 서명을 채택할 경우 512비트가 아닌 384개의 해시 다이제스트가 필요로 한다. [[SHA-224]][[SHA-256]]처럼 큰 비트에서 필요한 만큼의 비트를 자르고 출력하는 것이 더 쉬운 일이기 때문에 필요 상황에 맞게 사용해야 한다.<ref name="SHA-384"></ref>
  
 
{{각주}}
 
{{각주}}
19번째 줄: 19번째 줄:
 
*〈[https://en.wikipedia.org/wiki/SHA-2 SHA]〉, 《위키피디아》
 
*〈[https://en.wikipedia.org/wiki/SHA-2 SHA]〉, 《위키피디아》
 
*MOBILEFISH, 〈[https://www.mobilefish.com/services/hash_generator/hash_generator.php MD5, SHA1, SHA224, SHA256, SHA384, SHA512 and RIPEMD160 hash generator]〉, 《MOBILEFISH》
 
*MOBILEFISH, 〈[https://www.mobilefish.com/services/hash_generator/hash_generator.php MD5, SHA1, SHA224, SHA256, SHA384, SHA512 and RIPEMD160 hash generator]〉, 《MOBILEFISH》
*Ilmari Karonen, 〈[https://crypto.stackexchange.com/questions/15151/sha-224-purpose SHA-224 Purpose]〉, 《Cryptography》, 2014-03-21
 
  
 
== 같이보기 ==
 
== 같이보기 ==

2019년 7월 2일 (화) 15:16 판

SHA-384란 국가안보국(NSA)에서 설계한 암호 해시함수이다.[1]

개요

SHA-384는 384비트(48바이트)의 해시 값을 생성하고, 일반적인 길이는 96자리 인 16진수로 렌더링이 된다.[2]

특징

SHA-384SHA-256보다 큰 유효 보호 수준을 가지기 때문에 SHA-512만큼은 아니지만 대부분의 상상할 수 있는 충돌 저항에 대해 강점을 보인다. 어떤 해시를 사용할 것인가에 대한 주된 결정 요소는 얼마나 많은 양의 출력이 필요한가에 달려있는데, 예를 들어 256비트의 해시 기반 메시지 인증 코드(HMAC : Hash-based Message Authentication Code) 키와 128비트의 암호화 키를 모두 생성하기 위한 해시가 필요한 경우에 SHA-384의 사용은 당연하다고 할 수 있다. 계산 비용, 즉 의사 난수 생성기(PRNG : Pseudo Random Number Generator)의 출력이나 랜덤 패딩에 대해 가능한 많은 출력이 필요한 경우에는 SHA-512를 선택하는 것이 옳은 방법이라고 할 수 있다. 또한 SHA-384는 내부 상태로 출력을 감소시키지 않으므로 SHA-3에도 취약하지 않다.[3][4]

차이점

  • 초기 해시 값 h0 ~ h7은 다르다(9번째 ~ 16번째 소수)
  • 출력은 h6과 h7을 생략하고 출력한다.[1]

문제점

문제점 : SHA-384는 길이 확장 공격(Length extension attack)에 있어서 SHA-512에 비해 강세를 보인다 SHA-512는 길이 확장 공격에 대해 휘발성이지만 [S[HA-384]]는 휘발성이 아니기 때문이다. 하지만 SHA-384의 경우에는 다이제스트의 서명이 필요하한데, 만약 ECDSA-384 서명을 채택할 경우 512비트가 아닌 384개의 해시 다이제스트가 필요로 한다. SHA-224SHA-256처럼 큰 비트에서 필요한 만큼의 비트를 자르고 출력하는 것이 더 쉬운 일이기 때문에 필요 상황에 맞게 사용해야 한다.[4]

각주

  1. 1.0 1.1 SHA〉, 《위키피디아》
  2. MOBILEFISH, 〈MD5, SHA1, SHA224, SHA256, SHA384, SHA512 and RIPEMD160 hash generator〉, 《MOBILEFISH》
  3. 인용 오류: <ref> 태그가 잘못되었습니다; SHA-2_.ED.8A.B9.EC.A7.95라는 이름을 가진 주석에 제공한 텍스트가 없습니다
  4. 4.0 4.1 David Schwartz, 〈Why chose SHA512 over SHA384?〉 , 《stackoverflow》, 2012-04-08

참고자료

같이보기

  검수요청.png검수요청.png 이 SHA384 문서는 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.