Diffie-Hellman

Diffie-Hellman

صعب

التعليمات

تبادل مفاتيح Diffie-Hellman.

Alice وBob يستخدمان تبادل مفاتيح Diffie-Hellman لمشاركة الأسرار. يبدآن بأعداد أولية، ويختاران مفاتيح خاصة، ويولّدان مفاتيح عامة ويتبادلانها، ثم يولّدان مفتاحًا سريًا مشتركًا.

الخطوة 0

يزوّد برنامج الاختبار بعددين أوليين p وg.

الخطوة 1

تختار Alice مفتاحًا خاصًا a أكبر من 1 وأقل من p. ويختار Bob بالمثل مفتاحًا خاصًا b.

الخطوة 2

تحسب Alice مفتاحًا عامًا A.

A = gᵃ mod p

وباستخدام نفس p وg، يحسب Bob بالمثل مفتاحًا عامًا B من مفتاحه الخاص b.

الخطوة 3

Alice وBob يتبادلان المفاتيح العامة. تحسب Alice المفتاح السري s.

s = Bᵃ mod p

ويحسب Bob

s = Aᵇ mod p

الحسابات تُنتج النتيجة نفسها! Alice وBob يتشاركان الآن السر s.

تلميحات

يتطلب هذا التمرين منك إجراء حسابات على أعداد كبيرة. ولتمثيل الأعداد الكبيرة على نحو صحيح، استخدم BigInteger.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Visual Basic Exercism

مستعد لبدء Diffie-Hellman؟

سجّل في Exercism لتتعلّم وتتقن Visual Basic عبر 113 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.