{{위키데이터 속성 추적}}
{{SHA 상자}}
{{Infobox encryption method
| name           = SHA-1
| image          = 
| caption        = 
<!-- General -->
| designers      = [[미국 국가안보국]]
| publish date   = 1993 (SHA-0),<br />1995 (SHA-1)
| series         = ([[SHA-0]]), SHA-1, [[SHA-2]], [[SHA-3]]
| derived from   = 
| derived to     = 
| related to     = 
| certification  = [[연방 정보 처리 표준|FIPS]] PUB 180-4, [[CRYPTREC]] (Monitored)
<!-- Detail -->
| digest size    = 160비트
| block size     = 512비트
| structure      = Merkle–Damgård 구조
| rounds         = 80
| cryptanalysis  = 마크 스티븐스의 2011년 공격은 2<sup>60.3</sup>와 2<sup>65.3</sup> 오퍼레이션 사이의 복잡도의 해시 충돌을 일으킬 수 있다.<ref name="stevens-attacks">{{학위논문 인용|last1=Stevens|first1=Marc|author-link1=Marc Stevens (cryptology)|title=Attacks on Hash Functions and Applications|url=https://marc-stevens.nl/research/papers/PhD%20Thesis%20Marc%20Stevens%20-%20Attacks%20on%20Hash%20Functions%20and%20Applications.pdf|date=2012-06-19|publisher=[[레이던 대학교]]|isbn=9789461913173|oclc=795702954|hdl=1887/19093|df=mdy-all}}</ref> 공개된 최초 충돌은 2017년 2월 23일 게시되었다.<ref name="sha1-shattered">{{콘퍼런스 인용|date=2017|last1=Stevens|first1=Marc|author-link1=Marc Stevens (cryptology)|last2=Bursztein|first2=Elie|author-link2=Elie Bursztein|last3=Karpman|first3=Pierre|last4=Albertini|first4=Ange|last5=Markov|first5=Yarik|editor-last=Katz|editor-first=Jonathan|editor-link1=Jonathan Katz (computer_scientist)|editor2-last=Shacham|editor2-first=Hovav|title=The First Collision for Full SHA-1|url=https://shattered.io/static/shattered.pdf|conference=Advances in Cryptology – [[International Cryptology Conference|CRYPTO]] 2017. [[Lecture Notes in Computer Science]]|publisher=[[Springer Publishing|Springer]]|volume=10401|pages=570–596|doi=10.1007/978-3-319-63688-7_19|isbn=9783319636870|df=mdy-all|lay-url=https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html|lay-source=Google Security Blog|lay-date=2017-02-23|access-date=2017-02-23|archive-url=https://web.archive.org/web/20180515222208/http://shattered.io/static/shattered.pdf|archive-date=2018-05-15|url-status=dead}}</ref> SHA-1은 [[길이 확장 공격]]에 취약하다.
}}

[[암호학]]에서 '''SHA-1'''(Secure Hash Algorithm 1)는 입력을 받고 [[메시지 다이제스트]]라는 160[[비트 (단위)|비트]](20[[바이트]]) 해시값을 만드는 [[암호화 해시 함수]]로, 보통은 [[십육진법|16진수]] 40자리로 렌더링된다. 미국 [[미국 국가안보국|국가안보국]]이 설계하였으며 미국의 [[연방 정보 처리 표준]]이다.<ref name=":0">https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf</ref>

2005년부터 SHA-1은 충분한 재원이 있는 적들에게 안전하지 않은 것으로 간주되고 있다.<ref>{{웹 인용|url=https://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html |title=Schneier on Security: Cryptanalysis of SHA-1|date=February 18, 2005|last=Schneier|first=Bruce }}</ref> 2010년 기준으로 수많은 단체들이 대체를 권고하였다.<ref>{{웹 인용|url=http://csrc.nist.gov/groups/ST/toolkit/secure_hashing.html|title=NIST.gov – Computer Security Division – Computer Security Resource Center|access-date=2019-01-05|archive-url=https://web.archive.org/web/20110625054822/http://csrc.nist.gov/groups/ST/toolkit/secure_hashing.html|archive-date=2011-06-25|url-status=dead}}</ref><ref name="shappening">{{웹 인용|url=https://sites.google.com/site/itstheshappening/ |title=The SHAppening: freestart collisions for SHA-1 |access-date=2015-10-09 |first1=Marc |last1=Stevens1 |first2=Pierre |last2=Karpman |first3=Thomas |last3=Peyrin}}</ref><ref>{{웹 인용|url=https://www.schneier.com/blog/archives/2015/10/sha-1_freestart.html |first=Bruce |last=Schneier |date=8 October 2015 |title=SHA-1 Freestart Collision |work=Schneier on Security}}</ref>
[[NIST]]는 2011년에 SHA-1의 이용을 구시식화했으며 2013년에 디지털 서명을 위한 이용에 사용을 불허했다. 2020년 기준으로 SHA-1에 대항하는 [[선택 접두어 공격]](chosen-prefix attack)이 현실화되었다.<ref>{{웹 인용|title=Critical flaw demonstrated in common digital security algorithm |url=https://www.ntu.edu.sg/news/detail/critical-flaw-demonstrated-in-common-digital-security-algorithm |website=Nanyang Technological University, Singapore |date=24 January 2020 |language=en-US}}</ref><ref name=leurent-peyrin-sha1-shambles>{{저널 인용|author1=Gaëtan Leurent |author2=Thomas Peyrin |date=2020-01-05 |title=SHA-1 is a Shambles First Chosen-Prefix Collision on SHA-1 and Application to the PGP Web of Trust |journal=Cryptology ePrint Archive, Report 2020/014 |url=https://eprint.iacr.org/2020/014.pdf }}</ref> 이러한 이유로 가능한 조속히 SHA-1를 제거하고 [[SHA-2]] 또는 [[SHA-3]]를 사용할 것이 권고된다. [[디지털 서명]]을 위해 사용되는 환경에서 SHA-1을 대체하는 것은 시급하다.

모든 주요 [[웹 브라우저]] 벤더들은 2017년 SHA-1 [[SSL 인증서]]의 수용을 중단했다.<ref>{{웹 인용|url=https://arstechnica.com/information-technology/2016/05/microsoft-to-retire-support-for-sha1-certificates-in-the-next-4-months/|title=Microsoft to retire support for SHA1 certificates in the next 4 months|last=Goodin|first=Dan|date=2016-05-04|website=Ars Technica|language=en-us|access-date=2019-05-29}}</ref><ref>{{웹 인용|url=https://venturebeat.com/2015/12/18/google-will-drop-sha-1-encryption-from-chrome-by-january-1-2017/|title=Google will drop SHA-1 encryption from Chrome by January 1, 2017|date=2015-12-18|website=VentureBeat|language=en-US|access-date=2019-05-29}}</ref><ref>{{웹 인용|url=https://blog.mozilla.org/security/2017/02/23/the-end-of-sha-1-on-the-public-web/|title=The end of SHA-1 on the Public Web|website=Mozilla Security Blog|language=en-US|access-date=2019-05-29}}</ref>
2017년 2월, [[CWI 암스테르담]]과 [[구글]]은 SHA-1에 대한 [[충돌 공격]]을 수행했다고 발표했으며 동일한 SHA-1 해시를 생성하는 구별된 2개의 PDF 파일들을 출판했다.<ref>{{뉴스 인용|url=https://phys.org/news/2017-02-cwi-google-collision-industry-standard.html|title=CWI, Google announce first collision for Industry Security Standard SHA-1|access-date=2017-02-23}}</ref><ref name="sha1-shattered" /> 그러나 SHA-1은 여전히 [[HMAC]]에 대해서는 안전하다.<ref>{{저널 인용|title=Recommendation for Key Management: Part 1 – General, Table 3.|doi=10.6028/NIST.SP.800-57pt1r5|last1=Barker|first1=Elaine|journal=NIST, Technical Report|date=May 2020|pages=56|doi-access=free}}</ref>

마이크로소프트는 2020년 8월 7일 윈도우 업데이트의 SHA-1 코드 서명 지원을 중단했다.

== 구현체 ==
다음은 SHA-1을 지원하는 암호화 라이브러리 목록이다1:

* [[Botan|Botan]]
* [[Bouncy Castle]]
* [[Cryptlib]]
* [[Crypto++]]
* [[Libgcrypt]]
* [[Mbed TLS]]
* [[Nettle]]
* [[LibreSSL]]
* [[OpenSSL]]
* [[GnuTLS]]

다음의 프로세서 확장에 의해 하드웨어 가속이 제공된다:

* [[인텔 SHA 확장]]: 인텔 및 AMD x86 프로세서에서 이용 가능.
* [[VIA PadLock]]

== 각주 ==
{{각주}}

== 참고 자료 ==
{{참고 자료 시작}}
* [[Eli Biham]], Rafi Chen, Near-Collisions of SHA-0, Cryptology ePrint Archive, Report 2004/146, 2004 (appeared on CRYPTO 2004), [http://eprint.iacr.org/2004/146/ IACR.org]
* [[Xiaoyun Wang]], Hongbo Yu and Yiqun Lisa Yin, [https://web.archive.org/web/20050910132832/http://www.infosec.sdu.edu.cn/paper/sha0-crypto-author-new.pdf Efficient Collision Search Attacks on SHA-0], Crypto 2005
* [[Xiaoyun Wang]], Yiqun Lisa Yin and Hongbo Yu, [https://www.iacr.org/archive/crypto2005/36210017/36210017.pdf Finding Collisions in the Full SHA-1], Crypto 2005
* [[Henri Gilbert]], [[Helena Handschuh]]: [https://link.springer.com/content/pdf/10.1007/978-3-540-24654-1_13.pdf Security Analysis of SHA-256 and Sisters]. [[Selected Areas in Cryptography]] 2003: pp175–193
* [http://www.unixwiz.net/techtips/iguide-crypto-hashes.html An Illustrated Guide to Cryptographic Hashes]
* {{저널 인용|title=Proposed Revision of Federal Information Processing Standard (FIPS) 180, Secure Hash Standard|journal=Federal Register|date=1994-07-11|volume=59|issue=131|pages=35317–35318|url=http://frwebgate1.access.gpo.gov/cgi-bin/waisgate.cgi?WAISdocID=5963452267+0+0+0&WAISaction=retrieve|access-date=2007-04-26}}{{깨진 링크|date=April 2018 |bot=InternetArchiveBot |fix-attempted=yes }}
* A. Cilardo, L. Esposito, A. Veniero, A. Mazzeo, V. Beltran, E. Ayugadé, [https://web.archive.org/web/20170830045350/http://people.ac.upc.edu/vbeltran/papers/HPCC2010.pdf A CellBE-based HPC application for the analysis of vulnerabilities in cryptographic hash functions], High Performance Computing and Communication international conference, August 2010
{{참고 자료 끝}}

== 외부 링크 ==
* [https://web.archive.org/web/20110625054822/http://csrc.nist.gov/groups/ST/toolkit/secure_hashing.html CSRC Cryptographic Toolkit] – Official [[미국 국립표준기술연구소|NIST]] site for the Secure Hash Standard
* [https://web.archive.org/web/20161126003357/http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf FIPS 180-4: Secure Hash Standard (SHS)]
* {{IETF RFC|3174|link=no}} (with sample C implementation)
* [http://www.zdnet.com/news/fixing-a-hole-in-security/141588 Interview with Yiqun Lisa Yin concerning the attack on SHA-1]
* [http://www.heise-online.co.uk/security/Hash-cracked--/features/75686 Explanation of the successful attacks on SHA-1] (3 pages, 2006)
* [http://www.cryptography.com/cnews/hash.html Cryptography Research – Hash Collision Q&amp;A]
* {{curlie|Science/Math/Applications/Communication_Theory/Cryptography/Algorithms/Message_Digests}}
* {{유튜브|5q8q4PhN0cw|Lecture on SHA-1 (1h 18m)}} by [http://www.emsec.rub.de/chair/_staff/christof-paar/ Christof Paar] {{웨이백|url=http://www.emsec.rub.de/chair/_staff/christof-paar/ |date=20170424134012 }}

[[분류:암호화 해시 함수]]
[[분류:체크섬 알고리즘]]