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 را در اختیار دارند.

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

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

در Exercism ثبت‌نام کنید تا Elixir را همراه با 58 مفهوم168 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.