Diffie-Hellman কী এক্সচেঞ্জ।
Alice ও Bob গোপন তথ্য শেয়ার করার জন্য Diffie-Hellman কী এক্সচেঞ্জ ব্যবহার করেন। তারা মৌলিক সংখ্যা দিয়ে শুরু করেন, প্রাইভেট কী বেছে নেন, পাবলিক কী তৈরি করে শেয়ার করেন, এবং তারপর একটি শেয়ার করা সিক্রেট কী তৈরি করেন।
টেস্ট প্রোগ্রামটি মৌলিক সংখ্যা p ও g সরবরাহ করে।
Alice একটি প্রাইভেট কী a বেছে নেন, যা ১-এর চেয়ে বড় এবং 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 শেয়ার করেন।
এই অনুশীলনীর একটি সম্ভাব্য সমাধান হল নিজের হাতে একটি মডুলার এক্সপোনেনশিয়েশন ফাংশন ইমপ্লিমেন্ট করা। এটি সম্পর্কে আরও জানতে নিচের পৃষ্ঠাটি দেখুন।
অনেক ইমপ্লিমেন্টেশন ইনপুটের পুরো ডোমেইনে কাজ করে না। এর জন্য আরও কিছু ঐচ্ছিক টেস্ট দেওয়া আছে, যা নিশ্চিত করতে সাহায্য করে যে সব বৈধ ইনপুট বৈধ ফলাফলই দেয়।
বোনাস টেস্টগুলো চালাতে #[ignore] ফ্ল্যাগটি সরিয়ে ফেলুন এবং big-primes ফিচার দিয়ে টেস্টগুলো এভাবে চালান:
$ cargo test --features big-primes
Exercism-এ সাইন আপ করুন, Rust ট্র্যাকের 99টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।