ML-KEM Encapsulate
수신자의 공개키로 공유 키를 캡슐화한다
개요
수신자의 NIST FIPS 203 ML-KEM 공개키(ek)를 입력받아 무작위 32바이트(256비트) 공유 비밀(Shared Secret)을 생성하고, 해당 공유 비밀을 수신자만 복원할 수 있도록 감싼 KEM 암호문(Ciphertext)을 함께 내보낸다.
사용 시점
- 수신자의 ML-KEM 공개키를 사용해 양자 컴퓨터 공격에 안전한 32바이트 대칭 세션 키를 캡슐화해 전달할 때 사용한다.
파라미터 설정
| 파라미터 (ID) | 타입 및 기본값 | 노출 조건 | 설명 및 옵션 |
|---|---|---|---|
변형variant |
select기본값: 768 |
항상 노출 | 이 노드의 변형 설정을 지정한다.
|
포트 입출력 명세
포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.
입력 포트
포트 성격: 고정 입력 포트 (총 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 |
항상 노출 | 발신자 측에서 즉시 얻는 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바이트 공유 비밀을 생성한다.
- ML-KEM KeyGen (FIPS 203)의
Public Key를 ML-KEM Encapsulate에 연결하면Ciphertext와 32바이트Shared Secret이 출력된다.