Ed25519Sign
암호학, 디지털 서명
설명
edwards25519에서 PureEdDSA 서명을 생성합니다(RFC 8032)
구문
Delphi
Function Ed25519Sign(Const Message, Seed: AnsiString; Out Signature: AnsiString): Boolean;반환 값
| False | Seed가 32바이트가 아니며 Signature가 빈 문자열로 설정됩니다 |
|---|---|
| True | Signature가 64바이트 R||S 인코딩을 담습니다 |
비고
비밀은 h = SHA-512(seed)로 확장됩니다. 비밀 스칼라 s는 클램프된 h의 앞 절반이고 논스 접두어는 나머지 절반입니다. 논스 r = SHA-512(prefix||M)는 군 위수 L로 축소되고, R = r*B, 챌린지 k = SHA-512(R||A||M)는 L로 축소되며 S = (r + k*s) mod L이므로 서명은 각 32바이트인 R 뒤에 S가 따라오는 형태입니다. 검증은 Ed25519Verify로 사용할 수 있으며, 해시는 도메인 분리 접두어 없이 SHA-512와 빈 컨텍스트입니다
예제
Ed25519Sign(Msg, Seed, Sig);
OK:= Ed25519Verify(Msg, PubKey, Sig);참고 항목
Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity