서명 · EdDSA FIPS 186-5 / Edwards25519 RFC 8032 §7.1 검증됨

Ed25519 서명

32바이트 비밀키로 메시지에 결정적 서명을 하며 RFC 8032로 검증했다.

앱에서 열기 .ncw 내려받기

Ed25519 서명

개요 및 암호학적 배경

Ed25519(IETF RFC 8032, NIST FIPS 186-5)는 꼬인 에드워즈 곡선 −x2 + y2 = 1 − (121665/121666)x2y2 (mod 2255 − 19) 위에서 SHA-512와 짝을 이루는 에드워즈 곡선 전자서명 알고리즘(EdDSA)입니다. 전통적인 ECDSA는 서명마다 새 난수 nonce k가 필요하고, nonce를 한 번이라도 재사용하면 개인키가 복구되는 치명적 결함이 있습니다. Ed25519는 비밀키의 SHA-512 상위 절반과 메시지 자체에서 메시지별 nonce r = SHA-512(prefix ‖ M) mod ℓ을 결정적으로 유도하므로 이 문제가 없습니다.

이 워크플로우는 RFC 8032 §7.1(TEST 2)을 재현합니다. 32바이트 비밀키 시드로 1바이트 메시지(0x72)에 서명해 정확히 일치하는 64바이트 서명 R ‖ S를 얻습니다.

파이프라인 배선 구조와 단계별 흐름

Workflow Input (PrivateKey 32B, Message 1B) ──► Ed25519 Sign (PureEdDSA) ──► Workflow Output (Signature 64B)
  1. 시드와 메시지 입력(Workflow Input): 32바이트 Ed25519 비밀키 시드 PrivateKey와 1바이트 Message(0x72)를 공급합니다.
  2. 결정적 서명(Ed25519 Sign): 32바이트 시드를 SHA-512로 확장해 클램핑된 비밀 스칼라 s와 nonce 접두부를 얻고, 공개키 A = [s]B를 유도합니다. 이어서 R = [r]B를 계산하고 S = (r + SHA-512(R ‖ A ‖ M) · s) mod ℓ을 구합니다.
  3. 서명 출력(Workflow Output): 64바이트 서명(R || S)을 내보냅니다.

노드 구성 및 설정

노드역할과 주요 매개변수개수
Workflow InputPrivateKey(32 B)와 Message(1 B) 공급1
Ed25519 Sign결정적 64바이트 RFC 8032 PureEdDSA 서명 계산1
Workflow Output64바이트 Signature 수집1

노드 레퍼런스 →

입출력 명세 및 시험 벡터 검증

검증 출처: RFC 8032 §7.1 (TEST 2, message 0x72)

입력

이름타입값 (Hex)
PrivateKeybytes (32 B)4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb
Messagebytes (1 B)72

기대 출력

이름타입값 (Hex)
Signaturebytes (64 B)92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00