ChaCha20-Poly1305는 ChaCha20 암호화와 Poly1305 인증을 결합한 AEAD 구성이다.
원리
암호문과 부가 인증 데이터에 대한 인증 태그를 만들며, 수신자는 키와 nonce 및 부가 데이터로 검증한다. RFC 8439에 구성과 테스트 벡터가 제시된다.
예시
본문을 숨기면서 요청 종류나 프로토콜 버전 같은 공개 헤더를 인증 대상에 포함하는 방식으로 사용할 수 있다.
주의할 점
같은 키에서 nonce를 재사용하지 않아야 한다. 직접 조합한 유사 구현보다 검증된 라이브러리의 AEAD 인터페이스를 사용하고 태그 실패를 정상 데이터로 처리하지 않는다.