NodeCrypto 도움말

ChaCha20-Poly1305 Decrypt

카테고리: 대칭키 암호 · 노드 타입 ID: symmetric-chacha20-poly1305-decrypt

RFC 8439 부가 데이터 인증 복호화 (AEAD)

개요

IETF RFC 8439 표준 ChaCha20-Poly1305 AEAD 암호문과 추가 인증 데이터(AAD)에 대해 16바이트 Poly1305 인증 태그를 먼저 검증한 뒤, 검증이 통과하면 원본 평문을 복호화하여 내보낸다.

사용 시점

파라미터 설정

파라미터 (ID)타입 및 기본값노출 조건설명 및 옵션
오류 단일화
errorUnify
boolean
기본값: false
변수 참조 지원 ($var: bool)
항상 노출 활성화하면 내장 오류를 지정한 단일 오류 코드·메시지로 대체한다.
단일화 오류 코드
errorUnifyCode
text
기본값: "" (비움)
변수 참조 지원 ($var: string)
errorUnify가 true 일 때 오류 통합 활성화 시 사용할 오류 코드이다.
단일화 오류 메시지
errorUnifyMessage
text
기본값: "" (비움)
변수 참조 지원 ($var: string)
errorUnify가 true 일 때 오류 통합 활성화 시 사용할 오류 메시지이다.

포트 입출력 명세

포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.

입력 포트

포트 성격: 고정 입력 포트 (총 5개).

포트 이름포트 ID데이터 타입필수 여부노출 조건설명
Key key Bytes (32B) 필수 항상 노출 32바이트(256비트) ChaCha20-Poly1305 비밀 키이다.
Ciphertext ciphertext Bytes 필수 항상 노출 복호화할 암호문 바이트 배열(Uint8Array)이다.
Nonce nonce Bytes (12B) 필수 항상 노출 암호화 시 사용한 12바이트(96비트) IETF Nonce이다.
Auth Tag tag Bytes (16B) 필수 항상 노출 검증할 16바이트(128비트) Poly1305 인증 태그(필수)이다.
AAD aad Bytes 선택 항상 노출 암호화 시 사용한 것과 동일한 추가 인증 데이터(AAD)이다.

출력 포트

포트 성격: 고정 출력 포트 (총 1개).

포트 이름포트 ID데이터 타입노출 조건설명
Plaintext plaintext Bytes 항상 노출 인증 검증 및 복호화가 완료된 평문 바이트 배열(Uint8Array)이다.

오류 케이스

실행 중 아래 조건이 발생하면 이 노드는 ERROR 상태가 되며, 출력 포트에 연결된 하위 노드는 실행되지 않는다. 오류 통합(errorUnify)을 활성화하면 아래의 모든 오류 코드가 사용자가 지정한 단일 오류 코드와 메시지로 대체된다.

오류 코드기본 엔진 메시지발생 조건
INVALID_KEY_LENGTH 키 길이가 올바르지 않는다 Key가 정확히 32바이트가 아닐 때 발생한다.
INVALID_NONCE_LENGTH Nonce 길이가 올바르지 않는다 연결된 Nonce가 정확히 12바이트가 아닐 때 발생한다.
INVALID_TAG_LENGTH 인증 태그 길이가 올바르지 않는다 연결된 Auth Tag가 정확히 16바이트가 아닐 때 발생한다.
AUTH_TAG_MISMATCH 인증 태그가 일치하지 않는다 Poly1305 인증 태그 검증에 실패했을 때(키, Nonce, AAD, 암호문, 태그 중 하나라도 변조되었을 때) 발생한다.

활용 예시

ChaCha20-Poly1305 암호문 검증 및 복호화하기

태그를 검증하고 평문을 복원한다.

  1. ChaCha20-Poly1305 Encrypt의 Ciphertext와 Auth Tag를 동일한 Key, Nonce, AAD와 함께 ChaCha20-Poly1305 Decrypt에 연결한다.