SHA3-224 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
13번째 줄: 13번째 줄:
 
케착에 관련하여 NIST는 케착의 우아한 설계와 서로 다른 컴퓨팅기기에서 작동이 잘 되는 특징을 포함한 여러 칭찬할만한 품질에 만족을 표시하였다. 케착은 구조적으로 깨끗하고 쉽게 분석이 되며 (경기기간에 전부의 제출 된 알고리즘은 공중들에서 오는 검증과 비난을 받아야 한다) SHA-2 또는 최종 경기에 참가 한 다른 알고리즘들 대비 하드웨어의 실행중에서 고성능을 나나냈다.
 
케착에 관련하여 NIST는 케착의 우아한 설계와 서로 다른 컴퓨팅기기에서 작동이 잘 되는 특징을 포함한 여러 칭찬할만한 품질에 만족을 표시하였다. 케착은 구조적으로 깨끗하고 쉽게 분석이 되며 (경기기간에 전부의 제출 된 알고리즘은 공중들에서 오는 검증과 비난을 받아야 한다) SHA-2 또는 최종 경기에 참가 한 다른 알고리즘들 대비 하드웨어의 실행중에서 고성능을 나나냈다.
  
NIST 컴퓨터보안전문가 팀 폴크 (Tim Polk) 는 ‘두 알고리즘은 완전히 달리 설계가 되었기에 SHA-2에서 효과가 있을 공격이 KECCAK에서는 불가능하다’, ‘KECCAK은 SHA-2처럼 공격에 취약하지 않는 액외의 장점을 가지고 있다’고 밝혔다.<ref>"[https://www.nist.gov/news-events/news/2012/10/nist-selects-winner-secure-hash-algorithm-sha-3-competition NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition]", ''NIST'', 2012-10-02</ref>
+
NIST 컴퓨터보안전문가 팀 폴크 (Tim Polk) 는 ‘두 알고리즘은 완전히 달리 설계가 되었기에 SHA-2에서 효과가 있을 공격이 KECCAK에서는 불가능하다’, ‘KECCAK은 SHA-2처럼 공격에 취약하지 않는 추가적인 장점을 가지고 있다’고 밝혔다.<ref>"[https://www.nist.gov/news-events/news/2012/10/nist-selects-winner-secure-hash-algorithm-sha-3-competition NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition]", ''NIST'', 2012-10-02</ref>
 
 
캐착은 전에 발표되었던 함수 PANAMA와 RadioGatún의 설계를 참조하였고 PANAMA는 1998년에 조안 대먼 (Joan Daemen)과 크레이그 클랩 (Craig Clapp)이 발표하였으며 RadioGatún은 PANAMA의 후속버전으로 조안 대먼 (Joan Daemen), 미하엘 피터스 (Michaël Peeters), 길레스 반 앗시 (Gilles Van Assche)이 공동으로 2006년에 NIST 해시 워크샵에서 발표하였다.
 
  
 
SHA-3 해시알고리즘 군은 SHA3-224, SHA3-256, SHA3-384 와 SHA3-512 등 4개 암호화 해시 알고리즘 그리고 SHAKE128과 SHAKE256, 두개의 확장가능출력함수 (Extendable-output functions) (XOFs)로 구성되어 있다.
 
SHA-3 해시알고리즘 군은 SHA3-224, SHA3-256, SHA3-384 와 SHA3-512 등 4개 암호화 해시 알고리즘 그리고 SHAKE128과 SHAKE256, 두개의 확장가능출력함수 (Extendable-output functions) (XOFs)로 구성되어 있다.
29번째 줄: 27번째 줄:
  
 
2012년 10월 2일, NIST는 알고리즘 캐착 (KECCAK) 이 경진 우승 알고리즘으로 되었음을 선포하였다. <ref>"[https://csrc.nist.gov/publications/detail/nistir/7896/final NISTIR 7896, Third-Round Report of the SHA-3 Competition]", ''CSRC''</ref>
 
2012년 10월 2일, NIST는 알고리즘 캐착 (KECCAK) 이 경진 우승 알고리즘으로 되었음을 선포하였다. <ref>"[https://csrc.nist.gov/publications/detail/nistir/7896/final NISTIR 7896, Third-Round Report of the SHA-3 Competition]", ''CSRC''</ref>
 
2014년 NIST는 FIPS 202  "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions" 초안을 공개 발행하였으며 2015년 8월 5일에 공식승인을 취득하였다.
 
 
2015년 8월 5일 NIST는 SHA-3이 신규 해싱표준 (Hashing Standard) 이 되었음을 공개발표하였다.
 
  
 
==소개==
 
==소개==
[[파일:스펀지.png|썸네일|350픽셀|해시함수 스펀지 구조]]
 
SHA-3 해시알고리즘은 SHA3-224, SHA3-256, SHA3-384 와 SHA3-512 등 4개 암호화 해시 알고리즘 그리고 SHAKE128과 SHAKE256, 두개의 확장가능한 출력함수 (Extendable-output functions) (XOFs)로 구성되어 있다. 스펀지구조로 이루어졌기에 스펀지함수라고도 한다.
 
 
스펀지 구조는 Wide random function 혹은 random permutation에 기반하였으며  pseudorandom function의 역할로 입력하는 데이터를 처리 할 시 임의 길이의 데이터 입력을 허용하며 임의 길이 데이터의 출력을 허용한다. 상당히 훌륭한 융통성이 구현되었다.
 
 
전반 과정을 보면 임의 길이의 데이터가 입력시 메세지를 패딩 (Padding)하는 패딩함수가 역할하면서 입력한 데이터의 다이제스트 (Digest)를 뽑으며 그 뒤에 전환함수가 역할하면서 소정 길이의 출력이 이루어진다. SHA-3에 적용한 케착-f [1600] (Keccak-f [1600]) 전환함수는 XOR, AND, NOT를 사용한 순열이다.
 
 
SHA3 의 속도문제를 살펴보면 소프트웨어 측면에서 SHA-1보다 3배 더디고 SHA-512 대비 2배 더디다. 하드웨어 측면에서는 SHA-1, SHA-2를 가볍게 넘어서는 성능을 나타낸다. 수치로 보면 약간 실망스럽지만 최신 소프트웨어와 기기에서 해시 확인 절차는 아주 드물게 사용함으로 해시 수행과정에 소모하는 시간이 2배, 3배 된다하더라도 대부분 고객의 시나리오에는 별반 영향을 안 미친다. 이외 CPU의 계산속도가 나날이 향상됨에 따라 얼마후에는 아예 느껴지지도 않을수도 있다.
 
 
사례
 
 
NIST 표준은 주어진 메세지 M와 출력길이 d를 대상으로 아래의 사례를 정의하였다.
 
 
:{|class=wikitable width=800
 
|-
 
!align=center|사례
 
!align=center|출력 길이
 
!align=center|비율=블록길이
 
!align=center|용량
 
!align=center|정의
 
!align=center|보안강도<br>충돌
 
!align=center|보안강도<br>프리이미지
 
!align=center|보안강도<br>두 번째<br>프리이미지
 
|-
 
|align=left|SHA3-224(M)
 
|align=center|224
 
|align=center|1152
 
|align=left|448
 
|align=left|Keccak[448](M 01, 224)
 
|align=center|112
 
|align=center|224
 
|align=center|224
 
|-
 
|align=left|SHA3-256(M)
 
|align=center|256
 
|align=center|1088
 
|align=left|512
 
|align=left|Keccak[512](M 01, 256)
 
|align=center|128
 
|align=center|256
 
|align=center|256
 
|-
 
|align=left|SHA3-384(M)
 
|align=center|384
 
|align=center|832
 
|align=left|768
 
|align=left|Keccak[768](M 01, 384)
 
|align=center|192
 
|align=center|384
 
|align=center|384
 
|-
 
|align=left|SHAKE128(M, d)
 
|align=center|d
 
|align=center|1344
 
|align=left|256
 
|align=left|Keccak[256](M 1111, d)
 
|align=left|min(d | 2,128)
 
|align=left|≥min(d,128)
 
|align=left|min(d,128)
 
|-
 
|align=left|SHAKE256(M, d)
 
|align=center|d
 
|align=center|1088
 
|align=left|512
 
|align=left|Keccak[512](M 1111, d)
 
|align=left|min(d | 2,256)
 
|align=left|≥min(d,256)
 
|align=left|min(d,256)
 
|-
 
|}
 
 
SHA3 적용시점
 
  
SHA-1과 SHA-2는 NSA가 만들어 표준으로 사용한 암호화 해시알고리즘이며 동일하지는 않지만 똑같은 암호화 결함을 포함한 동일한 수학적 기반을 일부 공유한다. SHA-2가 더 안전한 해시인 이유는 주로 늘어난 해시 길이에 있다.
 
  
2008년부터 SHA-2를 대상한 공격이 발생하였으며 SHA-1의 경우와 마찬가지로 SHA-2에 대한 공격 역시 점점 더 효과를 더하여 SHA-2를 약화시키고 일부 공격은 SHA-2의 유효 보호 수준을 237까지 낮췄다. 2016년에 발표된 공격사례를 보면 SHA-2 공격은 이미 "실용" 단계에 처해 있으며 불과 2~3년 전 SHA-1을 두고 펼쳐졌던 상황과 유사하다
 
 
세월이 흐르면서 기존 암호가 공격을 받고 약화되는 것은 예상가능한 사항들이며 NIST는 기존 SHA 군에서 파생되지 않은 새로운 해시 표준을 사전 확보하고자 경진방식으로 SHA-3을 선정하여 2015년 8월에 권장기준으로 공개발표하였다. 마이그레이션의 구체적인 시점은 정해진 일정이 없지만 조만간 전부 적용되여야 하는것은 분명한 사항이다.<ref>〈[http://www.itworld.co.kr/news/108321#csidx4c15bad02f207bdaad55c8557f85bc7 글로벌 칼럼: 왜 SHA-3을 사용하지 않는가]〉, 《네이버블로그》</ref>
 
  
 
{{각주}}
 
{{각주}}
 
 
==참고자료==
 
==참고자료==
 
* "[https://csrc.nist.gov/projects/hash-functions/sha-3-project SHA-3 Project - Hash Functions]", ''CSRC''
 
* "[https://csrc.nist.gov/projects/hash-functions/sha-3-project SHA-3 Project - Hash Functions]", ''CSRC''
127번째 줄: 44번째 줄:
 
==같이 보기==
 
==같이 보기==
 
* [[SHA-3]]
 
* [[SHA-3]]
{{암호 알고리즘|검토 필요}}
+
{{암호 알고리즘|토막글}}

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)