대칭키 · AEAD
NIST SP 800-38D
RFC 7714 §16.1.1 검증됨
AES-GCM 암호화
96비트 nonce와 연관 데이터를 쓰는 AES-128-GCM 인증 암호화. 암호문과 128비트 태그를 출력한다.

개요 및 암호학적 배경
Galois/Counter Mode(GCM)는 NIST SP 800-38D에 규정된 연관 데이터 포함 인증 암호화(AEAD) 방식으로, TLS 1.3, QUIC, IPsec, 보안 실시간 전송 프로토콜(SRTP, RFC 7714) 등 현대 프로토콜에서 가장 널리 쓰입니다. 카운터 모드 암호화(GCTR)와 이진체 GF(2128) 위의 다항식 보편 해시(GHASH)를 결합해 기밀성과 무결성을 한 번의 처리로 보장합니다.
이 워크플로우는 RFC 7714 §16.1.1의 SRTP 패킷 암호화 규범 벡터를 재현합니다. SRTP는 12바이트 RTP 헤더를 추가 인증 데이터(AAD)로 전달하므로 중간 네트워크 장비가 시퀀스 번호와 타임스탬프를 평문으로 읽을 수 있습니다. 반면 헤더나 39바이트 라틴어 페이로드("Gallia est omnis divisa in partes tres")를 조금이라도 변조하면 16바이트 인증 태그 검증이 즉시 실패합니다.
파이프라인 배선 구조와 단계별 흐름
Workflow Input (Key, Nonce, AAD, Plaintext)
──►
AES Encrypt (mode = GCM)
──►
Workflow Output (Ciphertext, Tag)
- 매개변수 주입(
Workflow Input):bytes타입 출력 포트 네 개를 노출합니다.Key(AES-128이므로 16B),Nonce(12B, 96비트 AEAD 초기화 값),AAD(12B RTP 헤더),Plaintext(39B 페이로드)입니다. 덕분에 이 그래프를 CLI 시험 실행기로 돌리거나 사용자 정의 노드로 끼워 넣을 수 있습니다. - 인증 암호화(
AES Encrypt): Cipher Mode를GCM으로 두면 노드가Key,Plaintext와 함께Nonce,AAD입력 포트를 동적으로 노출하고 두 번째 출력 포트Auth Tag를 활성화합니다. GCTR은 스트림 암호처럼 동작하므로 39바이트 페이로드에 블록 패딩이 필요 없습니다. - 결과 수집(
Workflow Output): 39바이트Ciphertext와 16바이트(128비트)Tag를 함께 받아 호출자나 시험 도구가 두 출력을 동시에 확인할 수 있게 합니다.
노드 구성 및 설정
| 노드 | 역할과 주요 매개변수 | 개수 |
|---|---|---|
| Workflow Input | Key, Nonce, AAD, Plaintext 바이트열을 공급하는 입구 | 1 |
| AES Encrypt | mode = "GCM", padding = "None"으로 설정(16B 키 입력에서 AES-128로 자동 판별) | 1 |
| Workflow Output | Ciphertext와 Tag를 수집하는 출구 | 1 |
입출력 명세 및 시험 벡터 검증
검증 출처: RFC 7714 §16.1.1 (AES-128-GCM, SRTP packet)
입력
| 이름 | 타입 | 값 (Hex) |
|---|---|---|
Key | bytes (16 B) | 000102030405060708090a0b0c0d0e0f |
Nonce | bytes (12 B) | 51753c6580c2726f20718414 |
AAD | bytes (12 B) | 8040f17b8041f8d35501a0b2 |
Plaintext | bytes (39 B) | 47616c6c696120657374206f6d6e69732064697669736120696e207061727465732074726573 |
기대 출력
| 이름 | 타입 | 값 (Hex) |
|---|---|---|
Ciphertext | bytes (39 B) | f24de3a3fb34de6cacba861c9d7e4bcabe633bd50d294e6f42a5f47a51c7d19b36de3adf8833 |
Tag | bytes (16 B) | 899d7f27beb16a9152cf765ee4390cce |