NodeCrypto 도움말

ML-KEM Encapsulate

카테고리: 양자내성암호 · 노드 타입 ID: pqc-mlkem-encaps

수신자의 공개키로 공유 키를 캡슐화한다

개요

수신자의 NIST FIPS 203 ML-KEM 공개키(ek)를 입력받아 무작위 32바이트(256비트) 공유 비밀(Shared Secret)을 생성하고, 해당 공유 비밀을 수신자만 복원할 수 있도록 감싼 KEM 암호문(Ciphertext)을 함께 내보낸다.

사용 시점

파라미터 설정

파라미터 (ID)타입 및 기본값노출 조건설명 및 옵션
변형
variant
select
기본값: 768
항상 노출 이 노드의 변형 설정을 지정한다.
  • 512: ML-KEM-512
  • 768: ML-KEM-768
  • 1024: ML-KEM-1024

포트 입출력 명세

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

입력 포트

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

포트 이름포트 ID데이터 타입필수 여부노출 조건설명
Recipient Public Key publicKey Bytes 필수 항상 노출 수신자의 ML-KEM 공개키(ML-KEM-512: 800B, ML-KEM-768: 1,184B, ML-KEM-1024: 1,568B)이다.

출력 포트

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

포트 이름포트 ID데이터 타입노출 조건설명
Shared Key sharedSecret Bytes (32B) 항상 노출 발신자 측에서 즉시 얻는 32바이트(256비트) 공유 비밀 키이다.
Ciphertext ciphertext Bytes 항상 노출 수신자에게 전송할 캡슐화된 KEM 암호문(768 / 1,088 / 1,568바이트)이다.

오류 케이스

실행 중 아래 조건이 발생하면 이 노드는 ERROR 상태가 되며, 출력 포트에 연결된 하위 노드는 실행되지 않는다.

오류 코드기본 엔진 메시지발생 조건
INVALID_KEY_MATERIAL 키 길이 또는 형식이 올바르지 않는다 Public Key 바이트 길이가 선택한 paramSet 규격과 일치하지 않거나 모듈러스 계수 범위 검사를 통과하지 못했을 때 발생한다.

활용 예시

ML-KEM-768로 32바이트 공유 비밀 캡슐화하기

수신자 공개키로 1,088바이트 KEM 암호문과 32바이트 공유 비밀을 생성한다.

  1. ML-KEM KeyGen (FIPS 203)의 Public Key를 ML-KEM Encapsulate에 연결하면 Ciphertext와 32바이트 Shared Secret이 출력된다.