
تنفيذ منخفض المستوى بلغة Go لمنحنى edwards25519 البيضاوي، يوفر واجهات برمجة تطبيقات (APIs) لبناء أوليات تشفير عالية المستوى مثل التوقيعات وDiffie-Hellman.
import "filippo.io/edwards25519"
تطبق هذه المكتبة منحنى Edwards25519 البيضاوي، كاشفةً عن واجهات برمجة التطبيقات اللازمة لبناء مجموعة واسعة من العناصر الأولية عالية المستوى. اقرأ الوثائق على pkg.go.dev/filippo.io/edwards25519.
تتبع الحزمة إصدار المكتبة المعيارية العليا crypto/internal/fips140/edwards25519 وتوسعها بوظائف إضافية.
الكود مشتق أصلاً من تنفيذ آدم لانغلي الداخلي في مكتبة Go المعيارية، ويتضمن تحسينات الأداء لجورج تانكرسلي. ثم تم تطويره لاحقاً بواسطة هنري دي فالنس لاستخدامه في ristretto255، وتم دمجه في النهاية مرة أخرى في مكتبة Go المعيارية اعتباراً من Go 1.17.
معظم المستخدمين لا يحتاجون هذه الحزمة، وينبغي عليهم بدلاً من ذلك استخدام crypto/ed25519 للتوقيعات، أو crypto/ecdh لـDiffie-Hellman، أو github.com/gtank/ristretto255 لمنطق المجموعة من الرتبة الأولية. ومع ذلك، لأي شخص يستخدم حالياً نسخة متفرعة من الحزمة الداخلية edwards25519 أو من github.com/agl/edwards25519، تمثل هذه الحزمة بديلاً أكثر أماناً وسرعة وقوة.
نظراً لأن هذه الحزمة تهدف إلى كبح انتشار تطبيقات edwards25519 في نظام Go البيئي، فهي ترحب بطلبات إضافة واجهات برمجة تطبيقات جديدة أو تحسينات أداء قابلة للمراجعة.