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