NodeCrypto 도움말

Block Unpadding

카테고리: 유틸리티 · 노드 타입 ID: padding-block-unpad

암호학적 블록 패딩을 제거한다 (PKCS#7, ANSI X9.23, ISO/IEC 9797-1 방법 2/3, 없음)

개요

블록 정렬된 바이트 배열(Uint8Array)에서 말미(또는 선두 길이 블록) 패딩 바이트를 검증하고 제거하여 원본 페이로드를 복원한다.

결정론적 패딩 복원이 가능한 스킴(PKCS7, ANSI_X923, ISO9797_M2, ISO9797_M3, None)을 지원하며, 패딩 구조가 손상되었을 때 즉시 INVALID_PADDING 오류를 발생시킨다. 자세한 규칙은 패딩 스킴을 참고한다.

사용 시점

파라미터 설정

파라미터 (ID)타입 및 기본값노출 조건설명 및 옵션
패딩 표준
paddingType
select
기본값: None
항상 노출 이 노드의 패딩 표준 설정을 지정한다. 자세한 내용은 패딩 스킴을 참고한다.
블록 크기 (바이트)
blockSize
select
기본값: 16
항상 노출 패딩 시 사용한 블록 크기(16바이트 또는 8바이트)이다.
  • 8: 8바이트 (64비트 - DES/3DES)
  • 16: 16바이트 (128비트 - AES/SEED/ARIA/Camellia/SM4)
  • 32: 32바이트 (256비트)
오류 단일화
errorUnify
boolean
기본값: false
변수 참조 지원 ($var: bool)
항상 노출 활성화하면 내장 오류를 지정한 단일 오류 코드·메시지로 대체한다.
단일화 오류 코드
errorUnifyCode
text
기본값: "" (비움)
변수 참조 지원 ($var: string)
errorUnify가 true 일 때 오류 통합 활성화 시 사용할 오류 코드이다.
단일화 오류 메시지
errorUnifyMessage
text
기본값: "" (비움)
변수 참조 지원 ($var: string)
errorUnify가 true 일 때 오류 통합 활성화 시 사용할 오류 메시지이다.

포트 입출력 명세

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

입력 포트

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

포트 이름포트 ID데이터 타입필수 여부노출 조건설명
Padded Data data Bytes 필수 항상 노출 패딩이 제거된 원본 바이트 배열(Uint8Array)이다.

출력 포트

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

포트 이름포트 ID데이터 타입노출 조건설명
Data result Bytes 항상 노출

오류 케이스

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

오류 코드기본 엔진 메시지발생 조건
INVALID_PADDING 패딩이 올바르지 않는다 말미 패딩 바이트(또는 ISO9797_M3의 선두 길이 블록)가 선택한 패딩 규격을 위배할 때 발생한다.

활용 예시

PKCS#7 패딩 검증 및 제거하기

16바이트 패딩 블록에서 패딩 바이트를 제거해 원본 5바이트를 복원한다.

  1. Block Padding의 Padded Data 출력을 Block Unpadding(PKCS7, 16)에 연결하면 원본 바이트가 그대로 복원된다.