تبادل مفاتيح Diffie-Hellman.
Alice وBob يستخدمان تبادل مفاتيح Diffie-Hellman لمشاركة الأسرار. يبدآن بأعداد أولية، ويختاران مفاتيح خاصة، ويولّدان مفاتيح عامة ويتبادلانها، ثم يولّدان مفتاحًا سريًا مشتركًا.
يزوّد برنامج الاختبار بعددين أوليين p وg.
تختار Alice مفتاحًا خاصًا a أكبر من 1 وأقل من p.
ويختار Bob بالمثل مفتاحًا خاصًا b.
تحسب Alice مفتاحًا عامًا A.
A = gᵃ mod p
وباستخدام نفس p وg، يحسب Bob بالمثل مفتاحًا عامًا B من مفتاحه الخاص b.
Alice وBob يتبادلان المفاتيح العامة.
تحسب Alice المفتاح السري s.
s = Bᵃ mod p
ويحسب Bob
s = Aᵇ mod p
الحسابات تُنتج النتيجة نفسها!
Alice وBob يتشاركان الآن السر s.
يتطلب هذا التمرين منك إجراء حسابات على أعداد كبيرة. ولتمثيل الأعداد الكبيرة على نحو صحيح، استخدم BigInteger.
سجّل في Exercism لتتعلّم وتتقن Visual Basic عبر 113 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.