NodeCrypto 도움말

X25519 Key Exchange (ECDH)

카테고리: 비대칭키 & 타원곡선 · 노드 타입 ID: asymmetric-x25519-ecdh

몽고메리 곡선 디피-헬만 공유 비밀 (RFC 7748)

개요

RFC 7748 표준 X25519 몽고메리 곡선 디피-헬만 함수로 내 32바이트 개인키와 상대방의 32바이트 공개키로부터 32바이트 공유 비밀(Shared Secret)을 계산한다. 산출된 32바이트 Shared Secret은 대칭 암호화 키로 사용하기 전에 HKDF Key Derivation에 통과시키는 것이 표준이다.

사용 시점

파라미터 설정

X25519 Key Exchange (ECDH)는 설정 가능한 정적 파라미터가 없다.

포트 입출력 명세

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

입력 포트

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

포트 이름포트 ID데이터 타입필수 여부노출 조건설명
My Private Key privateKey Bytes (32B) 필수 항상 노출 내 32바이트 X25519 개인키이다.
Peer Public Key peerPublicKey Bytes (32B) 필수 항상 노출 상대방의 32바이트 X25519 공개키이다.

출력 포트

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

포트 이름포트 ID데이터 타입노출 조건설명
Shared Secret sharedSecret Bytes (32B) 항상 노출 계산된 32바이트 X25519 공유 비밀(Uint8Array)이다.

오류 케이스

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

오류 코드기본 엔진 메시지발생 조건
INVALID_KEY_MATERIAL 키 길이 또는 형식이 올바르지 않는다 Private Key 또는 Peer Public Key가 정확히 32바이트가 아니거나 저차수(Low-order) 점이어서 공유 비밀이 모두 0이 될 때 발생한다.

활용 예시

X25519 공유 비밀 계산 후 HKDF로 대칭키 파생하기

32바이트 X25519 공유 비밀을 계산하여 HKDF에 전달한다.

  1. 내 Private Key와 상대방의 Peer Public Key를 X25519 Key Exchange (ECDH)에 연결한다.
  2. 32바이트 Shared Secret 출력을 HKDF Key Derivation의 IKM (Input Key)에 연결한다.