হাজার বছর ধরে ক্রিপ্টোগ্রাফির সবচেয়ে বড় দুর্বলতা ছিল কী আদান-প্রদান সমস্যা (Key Distribution Problem)। দুজন দূরবর্তী ব্যক্তি গোপনে কথা বলতে চাইলে পূর্বে তাঁদেরকে গোপনে সাক্ষাৎ করে একটি সিমেট্রিক কী বিনিময় করতে হতো। যদি সেই চ্যানেলটি নিরাপদ না হতো, তবে এনক্রিপশন চালানো অসম্ভব ছিল। ১৯৭৬ সালে হুইটফিল্ড ডিফি এবং মার্টিন হেলম্যান এই ঐতিহাসিক সীমাবদ্ধতা চূর্ণ করে উন্মোচন করেন পাবলিক-কী (অ্যাসিমেট্রিক) ক্রিপ্টোগ্রাফি। তাঁরা প্রমাণ করেন যে দুজন অচেনা ব্যক্তি উন্মুক্ত ও অনিরাপদ চ্যানেলে যেখানে সমগ্র পৃথিবী আড়ি পাতছে, সেখানেও নিরাপদে একটি যৌথ গোপন কোড তৈরি করতে পারে। এই আবিষ্কার আধুনিক ই-কমার্স, অনলাইন ব্যাংকিং ও ডিজিটাল সভ্যতার জন্ম দিয়েছিল।
১. একমুখী ট্র্যাপডোর ফাংশন (Trapdoor Permutations)
অ্যাসিমেট্রিক ক্রিপ্টোগ্রাফির ভিত্তি হলো এমন এক গাণিতিক ফাংশন $f(x)$ যা একমুখী: ইনপুট $x$ থেকে আউটপুট $y = f(x)$ বের করা অত্যন্ত সহজ, কিন্তু আউটপুট $y$ থেকে মূল $x$ উদ্ধার করা অসম্ভব কঠিন। তবে কোনো ব্যক্তির কাছে যদি একটি গোপন “ট্র্যাপডোর” থাকে, তবে সে অতি সহজে বিপরীত মান নির্ণয় করতে পারে। পাবলিক-কী দিয়ে বার্তা লক করা যায়, কিন্তু তা খুলতে প্রয়োজন একমাত্র প্রাইভেট ট্র্যাপডোর কী।
২. ডিফি-হেলম্যান প্রোটোকল: উন্মুক্ত চ্যানেলে গোপনীয়তা
একটি বৃহৎ মৌলিক সংখ্যা $p$ এবং তার জেনারেটর $g$ নির্বাচন করে অ্যালিস ও বব কীভাবে কী নির্ধারণ করে:
- অ্যালিস একটি গোপন সংখ্যা $a$ বেছে নেয় এবং পাঠায় $A = g^a bmod p$।
- বব একটি গোপন সংখ্যা $b$ বেছে নেয় এবং পাঠায় $B = g^b bmod p$।
- অ্যালিস গণনা করে: $s = B^a = (g^b)^a = g^{ab} bmod p$।
- বব গণনা করে: $s = A^b = (g^a)^b = g^{ab} bmod p$।
উভয়েই একই শেয়ার্ড সিক্রেট $s = g^{ab} bmod p$ পেয়ে গেল! চ্যানেলে আড়ি পাতা কোনো গুপ্তচর কেবল $A$ ও $B$ দেখে, যা থেকে $a$ বা $b$ বের করা ডিসক্রিট লগারিদম সমস্যা (DLP)-র কারণে ক্লাসিক্যাল কম্পিউটারে অসম্ভব কঠিন।
৩. আরএসএ (RSA) ক্রিপ্টোসিস্টেম: মৌলিক সংখ্যার ট্র্যাপডোর
১৯৭৭ সালে রন রিভেস্ট, আদি শামির এবং লিওনার্ড অ্যাডেলম্যান উদ্ভাবন করেন বিশ্বের সবচেয়ে জনপ্রিয় পাবলিক-কী অ্যালগরিদম RSA।
কী তৈরির ধাপ:
- দুটি বৃহৎ মৌলিক সংখ্যা $p$ এবং $q$ গুণ করে মোডুলাস তৈরি করা হয়: $n = p cdot q$।
- অয়লারের টশেন্ট মান নির্ণয়: $phi(n) = (p-1)(q-1)$।
- পাবলিক এক্সপোনেন্ট $e$ নির্বাচন এবং ইউক্লিডীয় অ্যালগরিদম দিয়ে প্রাইভেট এক্সপোনেন্ট $d$ বের করা:
[
e cdot d equiv 1 pmod{phi(n)}
]
এনক্রিপশন ও ডিক্রিপশন:
বার্তা এনক্রিপশন: $c = m^e bmod n$ এবং ডিক্রিপশন: $m = c^d bmod n$।
অয়লারের উপপাদ্য অনুযায়ী $(m^e)^d equiv m^{1 + kphi(n)} equiv m pmod n$ নিখুঁতভাবে সত্য হয়। RSA-এর নিরাপত্তা সম্পূর্ণরূপে নির্ভর করে বৃহৎ সংখ্যা $n$-কে মৌলিক উৎপাদক $p$ ও $q$-এ ভেঙে ফেলার ক্লাসিক্যাল অসম্ভবতার ওপর।