{{위키데이터 속성 추적}}
'''인증된 암호 방식'''(Authenticated encryption, '''AE''')과 '''관련 데이터로 인증된 암호 방식'''(authenticated encryption with associated data, '''AEAD''')은 데이터의 [[기밀성(confident)]], [[데이터 무결성|무결성]](integrity)및 [[진정성]](authenticity)을 보장하는 암호화 형식이다. 이러한 [[정보 보안|속성]]들은 사용하기 쉬운 단일 [[API|프로그래밍 인터페이스]]로 제공된다.

AE에 대한 필요성은 별도의 기밀 유지 [[블록 암호 운용 방식]]과 인증 [[블록 암호 운용 방식]]을 안전하게 결합하는 것이 어렵고 오류가 발생하기 쉽다는 시각으로부터 나타났다.<ref>''"people had been doing rather poorly when they tried to glue together a traditional (privacy-only) encryption scheme and a message authentication code (MAC)"'', in: {{웹 인용|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/eax/eax-spec.pdf |title=A Conventional Authenticated-Encryption Mode |publisher=NIST |accessdate=March 12, 2013 |author1=M. Bellare |author2=P. Rogaway |author3=D. Wagner }}</ref><ref>''"it is very easy to accidentally combine secure encryption schemes with secure MACs and still get insecure authenticated encryption schemes"'', in: {{웹 인용|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/cwc/cwc-spec.pdf |title=The CWC Authenticated Encryption (Associated Data) Mode |publisher=NIST |accessdate=March 12, 2013 |author1=T. Kohno |author2=J. Viega |author3=D. Whiting  |last-author-amp=yes }}</ref> 이는 잘못된 구현 또는 (SSL / TLS를 포함한) 인증 결함을 이용한 많은 제품 프로토콜 공격 및 응용 프로그램 공격으로 확인되었다.<ref>{{웹 인용|url=https://cr.yp.to/talks/2013.03.12/slides.pdf|title=Failures of secret-key cryptography|last=|first=|date=|website=|publisher=Daniel J. Bernstein|archive-url=https://web.archive.org/web/20130418063008/http://cr.yp.to/talks/2013.03.12/slides.pdf|archive-date=2013-04-18|url-status=dead|accessdate=March 12, 2013}}</ref>

2000년경, 해당 개념에 대한 많은 발전이 있었다. 2000년에는 Charanjit Jutla의 IACBC와 IAPM 모드들<ref>{{웹 인용|url=https://eprint.iacr.org/2000/039|제목=Encryption Modes with Almost Free Message Integrity|성=Jutl|이름=Charanjit S.|날짜=2000-08-01|웹사이트=Cryptology ePrint Archive: Report 2000/039|출판사=[[International Association for Cryptologic Research|IACR]]|확인날짜=2013-03-16}}</ref> 발표에 의해 큰 관심이 모였다. 여섯가지 다른 인증된 암호 방식들 (OCB&nbsp;2.0, [[키 싸기|Key Wrap]], CCM, EAX, Encrypt-then-MAC (EtM), and GCM)은 ISO/IEC 19772:2009.<ref name="ISO19772">{{웹 인용|url=https://www.iso.org/iso/catalogue_detail.htm?csnumber=46345|제목=Information technology -- Security techniques -- Authenticated encryption|웹사이트=19772:2009|출판사=ISO/IEC|확인날짜=March 12, 2013}}</ref>에서 표준화되었고 더 많은 것들이 [[미국 국립표준기술연구소|NIST]]의 요청으로 개발되었다.<ref>{{웹 인용|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/modes_development.html|제목=Encryption modes development|출판사=NIST|확인날짜=April 17, 2013}}</ref> 스펀지 함수(Sponge function)는 중첩된 모드에서 인증된 암호화를 제공하는데 사용될 수 있다.<ref>{{웹 인용|url=http://sponge.noekeon.org/SpongeDuplex.pdf|제목=Duplexing The Sponge|성=The Keccak Team}}</ref>

AE 모드 구현을 위한 일반적인 [[API|프로그래밍 인터페이스]]는 다음과 같은 함수를 제공한다.

* 암호화
** 입력: ''평문'', ''암호화 키'', 그리고 암호화하진 않지만 인증으로 보호받을 평문의 ''헤더 ''(선택적)
** 출력: ''암호문'' 과 ''인증 태그'' ([[메시지 인증 코드]])
* 복호화
** 입력: ''암호문'', ''핵심'', ''인증 태그, 헤더 ''(선택적)
** 출력: ''평문'' 또는 ''인증 태그''가 제공된 ''암호문'' 또는 ''헤더''와 매칭되지 않는 경우 에러

''헤더'' 부분은 기밀성이 불필요하지만 진정성(authenticity)이 요구되는 네트워킹 또는 저장소 메타 데이터에 대한 진정성 및 무결성(integrity) 보호를 제공하기 위한 것이다.

== 관련 데이터로 인증된 암호 방식 (Authenticated Encryption with Associated Data) ==
이것은 AE의 변형으로, 암호화 될 데이터는 인증 및 무결성을 모두 필요로 한다. AEAD는 관련 데이터(Associated Data,AD)를 암호문 및 표시될 컨텍스트에 결합하므로, 유효한 암호문을 다른 컨텍스트로 잘라내어 붙여넣기 하려는 시도(Cut-and-Paste Attack)를 방지한다.

이것은 네트워크 패킷과 같은 것에서 요구되며, 헤더는 [[데이터 무결성]]과 기밀성을 요구하는 대신 데이터 무결성과 가시성을 요구한다(패킷 크기 등). 또한 [[진정성]]도 필요하다.

== 같이 보기 ==
* [[블록 암호 운용 방식]]
* CCM mode
* CWC mode
* OCB mode
* EAX mode
* GCM
* SGCM
* Signcryption

== 출처 ==
{{각주}}

{{암호화 해시}}

[[분류:메시지 인증 코드]]
[[분류:대칭 키 암호]]