Ed25519Sign
التشفير، التواقيع الرقمية
الوصف
تنتج توقيع PureEdDSA على edwards25519 (RFC 8032)
الصيغة
Delphi
Function Ed25519Sign(Const Message, Seed: AnsiString; Out Signature: AnsiString): Boolean;القيم المُرجعة
| False | البذرة ليست 32 بايت ويُضبط Signature إلى سلسلة فارغة |
|---|---|
| True | يحمل Signature ترميز R||S بطول 64 بايت |
ملاحظات
يُوسَّع السر بوصفه 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، فيكون التوقيع R يليه S بواقع 32 بايت لكل منهما. التحقق متاح عبر Ed25519Verify؛ والتجزئة SHA-512 بلا بادئة فصل نطاق وبسياق فارغ
مثال
Ed25519Sign(Msg, Seed, Sig);
OK:= Ed25519Verify(Msg, PubKey, Sig);انظر أيضًا
Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity