Diffie-Hellman

Diffie-Hellman

دشوار

دستورالعمل‌ها

تبادل کلید Diffie-Hellman.

آلیس و باب از تبادل کلید Diffie-Hellman برای به اشتراک گذاشتن رازها استفاده می‌کنند. آن‌ها با اعداد اول شروع می‌کنند، کلیدهای خصوصی انتخاب می‌کنند، کلیدهای عمومی می‌سازند و با هم مبادله می‌کنند و سپس یک کلید مخفی مشترک تولید می‌کنند.

گام ۰

برنامه‌ی آزمون اعداد اول p و g را در اختیار می‌گذارد.

گام ۱

آلیس یک کلید خصوصی a انتخاب می‌کند که بزرگ‌تر از ۱ و کوچک‌تر از p است. باب هم به همین شکل یک کلید خصوصی b انتخاب می‌کند.

گام ۲

آلیس کلید عمومی A را محاسبه می‌کند.

A = gᵃ mod p

باب هم با استفاده از همان p و g، به همین ترتیب کلید عمومی B را از کلید خصوصی b خود محاسبه می‌کند.

گام ۳

آلیس و باب کلیدهای عمومی را با هم مبادله می‌کنند. آلیس کلید مخفی s را محاسبه می‌کند.

s = Bᵃ mod p

باب محاسبه می‌کند

s = Aᵇ mod p

این محاسبات به یک نتیجه‌ی یکسان می‌رسند! اکنون آلیس و باب راز مشترک s را در اختیار دارند.

راهنمایی‌ها

این تمرین از شما می‌خواهد که محاسباتی را روی اعداد بزرگ انجام دهید. برای نمایش درست اعداد بزرگ، از BigInteger استفاده کنید.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Visual Basic Exercism

آماده‌اید Diffie-Hellman را شروع کنید؟

در Exercism ثبت‌نام کنید تا Visual Basic را همراه با 113 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.