대칭키 · AEAD NIST SP 800-38D RFC 7714 §16.1.1 검증됨

AES-GCM 암호화

96비트 nonce와 연관 데이터를 쓰는 AES-128-GCM 인증 암호화. 암호문과 128비트 태그를 출력한다.

앱에서 열기 .ncw 내려받기

AES-GCM 암호화

개요 및 암호학적 배경

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)
  1. 매개변수 주입(Workflow Input): bytes 타입 출력 포트 네 개를 노출합니다. Key(AES-128이므로 16B), Nonce(12B, 96비트 AEAD 초기화 값), AAD(12B RTP 헤더), Plaintext(39B 페이로드)입니다. 덕분에 이 그래프를 CLI 시험 실행기로 돌리거나 사용자 정의 노드로 끼워 넣을 수 있습니다.
  2. 인증 암호화(AES Encrypt): Cipher Mode를 GCM으로 두면 노드가 Key, Plaintext와 함께 Nonce, AAD 입력 포트를 동적으로 노출하고 두 번째 출력 포트 Auth Tag를 활성화합니다. GCTR은 스트림 암호처럼 동작하므로 39바이트 페이로드에 블록 패딩이 필요 없습니다.
  3. 결과 수집(Workflow Output): 39바이트 Ciphertext와 16바이트(128비트) Tag를 함께 받아 호출자나 시험 도구가 두 출력을 동시에 확인할 수 있게 합니다.

노드 구성 및 설정

노드역할과 주요 매개변수개수
Workflow InputKey, Nonce, AAD, Plaintext 바이트열을 공급하는 입구1
AES Encryptmode = "GCM", padding = "None"으로 설정(16B 키 입력에서 AES-128로 자동 판별)1
Workflow OutputCiphertext와 Tag를 수집하는 출구1

노드 레퍼런스 → · GCM 모드 설명 →

입출력 명세 및 시험 벡터 검증

검증 출처: RFC 7714 §16.1.1 (AES-128-GCM, SRTP packet)

입력

이름타입값 (Hex)
Keybytes (16 B)000102030405060708090a0b0c0d0e0f
Noncebytes (12 B)51753c6580c2726f20718414
AADbytes (12 B)8040f17b8041f8d35501a0b2
Plaintextbytes (39 B)47616c6c696120657374206f6d6e69732064697669736120696e207061727465732074726573

기대 출력

이름타입값 (Hex)
Ciphertextbytes (39 B)f24de3a3fb34de6cacba861c9d7e4bcabe633bd50d294e6f42a5f47a51c7d19b36de3adf8833
Tagbytes (16 B)899d7f27beb16a9152cf765ee4390cce