تبادل کلید 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 استفاده کنید.
در Exercism ثبتنام کنید تا Visual Basic را همراه با 113 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.