SHA384
SHA-384란 국가안보국(NSA)에서 설계한 암호 해시함수이다.[1]
개요
SHA-384는 2001년 SHA-1을 대체하기 위해 SHA-256, SHA-512와 같이 만들어진 만든 해시 알고리즘이다. 384비트(48바이트)의 해시 값을 생성하고, 일반적인 길이는 96자리 인 16진수로 렌더링이 된다. 현재 표준 알고리즘으로 널리사용되고 있다.[2][3]
특징
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에도 취약하지 않다.[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-224와 SHA-256처럼 큰 비트에서 필요한 만큼의 비트를 자르고 출력하는 것이 더 쉬운 일이기 때문에 필요 상황에 맞게 사용해야 한다.[4]
각주
- ↑ 1.0 1.1 〈SHA〉, 《위키피디아》
- ↑ MOBILEFISH, 〈MD5, SHA1, SHA224, SHA256, SHA384, SHA512 and RIPEMD160 hash generator〉, 《MOBILEFISH》
- ↑ 윈디하나, 〈해시알고리즘 비교〉, 《윈디하나의 솔라나라》, 2011-09-04
- ↑ 4.0 4.1 David Schwartz, 〈Why chose SHA512 over SHA384?〉 , 《stackoverflow》, 2012-04-08
참고자료
- 〈SHA〉, 《위키피디아》
- MOBILEFISH, 〈MD5, SHA1, SHA224, SHA256, SHA384, SHA512 and RIPEMD160 hash generator〉, 《MOBILEFISH》
- 윈디하나, 〈해시알고리즘 비교〉, 《윈디하나의 솔라나라》, 2011-09-04
- David Schwartz, 〈Why chose SHA512 over SHA384?〉 , 《stackoverflow》, 2012-04-08
같이보기
|