এনিগমা – এনক্রিপশন জগতের একটি বিস্ময়

Now Reading
এনিগমা – এনক্রিপশন জগতের একটি বিস্ময়

এনিগমা কি?

*enigma

দ্বিতীয় বিশ্বযুদ্ধের সময় রেডিও এর মাধ্যমে যোগাযোগ খুবই দুর্বল হয়ে পড়ে। শত্রুপক্ষ সহজেই ট্রান্সমিশন হ্যাক করে ফেলত। যার ফলে জার্মান বিজ্ঞানী আর্থার শ্যাবিয়াস এনিগমা নামক ডিভাইসটি তৈরী করেন। এই এনিগমার এনক্রিপশন আগের যেকোন ডিভাইসের চাইতে অনেক জটিল ছিল। এর কারণ হচ্ছে আগে যেধরণের এনক্রিপশন ব্যবহার করা হত তার তুলনায় এটা ভিন্ন ছিল।

এনিগমা মেশিনে তাহলে কি থাকে?
একটা কিবোর্ড লেখার জন্য, প্রত্যেকটা অ্যালফাবেটের জন্য একটা করে কী, প্রত্যেকটা কী এর উপর একটা করে লাইট আর ৩ টা রোটর থাকে। তবে ট্রান্সমিশন আরো জটিল করার জন্য কোন কোনটায় ৪টা বা ৫টা করেও রোটর ছিল।

কিভাবে কাজ করে এই এনিগমা মেশিন?
আপনি যে লেখাটা এনক্রিপ্ট করে পাঠাতে চাইবেন সেটি আপনাকে কিবোর্ডে লিখতে হবে। প্রত্যেকটা অক্ষর লেখার পরে রোটর ঘুরতে থাকবে। জটিলতা আনার জন্য রোটর প্রত্যেকটা অক্ষরকেই একটা মেসেজ হিসেবে গ্রহণ করবে যার ফলে আপনাকে পুরো লেখাটাই আলাদা আলাদাভাবে এনক্রিপ্ট করতে হবে। প্রত্যেকটি অক্ষর টাইপের পরেই এনিগমার রোটর ঘুরে যেত। ভিন্ন আরেকটি সেট আসত। সাংকেতিক ম্যাসেজের কাজ হচ্ছে একটা অক্ষরের পরিবর্তে আরেকটি অক্ষর আসা।  এনিগমার একটি বিশেষ বৈশিষ্ট্য হচ্ছে এতে আপনি যদি একই অক্ষর দুইবার টাইপ করেন তাহলে আপনি দুধরণের ইনপুট পাবেন। ধরে নেয়া যাক আপনি ‘KILL’ শব্দটি এনক্রিপ্ট করে পাঠাতে চাইলেন। সেক্ষেত্রে আপনার এনিগমায় আউটপুট আসতে পারে ‘ZQPJ’. খেয়াল করে দেখুন এখানে প্রথম L এর জন্য আউটপুট এসেছে P আর দ্বিতীয় L এর জন্য আউটপুট এসেছে J. আরেকটি L থাকলে ভিন্ন আরেকটি আসত। আপনি পুরো লেখায় একই অক্ষর টাইপ করলেও ভিন্ন ভিন্ন সংকেত হিসেবেই এনিগমা সেটাকে পাঠাবে। এখানেই অন্যান্য এনক্রিপশন যন্ত্রের সাথে এনিগমার পার্থক্য। যার জন্য কোড ভাঙ্গা কঠিন হয়ে পড়ে। একমাত্র সঠিক সেটিংস টি আপনার যদি জানা থাকে তাহলেই আপনি কোডটি ভাংতে পারবেন। এবার দেখে নেয়া যাক একটি এনিগমায় কয়টি সেটিংস থাকতে পারে।
৩,৪ ও ৫ টি রোটরের জন্য = ৫x৪x৩ = ৬০
প্রত্যেকটি রোটরেই ২৬ টা করে অ্যালফাবেট থাকে। তাহলে ২৬x২৬x২৬ = ১৭৫৭৬

এখানেই শেষ নয়। এই প্রত্যেকটি লেখাই প্লাগবোর্ডে আবার ২৬ ভাবে সাজিয়ে লেখা যায়। যেহেতু এটি ফ্যাক্টোরিয়াল আকারে বাড়তে থাকে তাহলে লেখা যায় ২৬!। ব্রিটিশরা এটা বুঝতে পেরেছিল যে জার্মানরা সকল প্লাগ ব্যবহার করে না বরং ১০ টা ব্যবহার করে। সুতরাং ১০!। যেহেতু প্রতিটা একই ধরণের শব্দজোড় তাই এই ১০ টা সংখ্যাকে ২০ টা অক্ষরে লেখা যেত। তাহলে বাকি থাকে ৬ টা শব্দ। সুতরাং ৬!। আবার প্লাগগুলো জোড়া শব্দের ক্ষেত্রে দুইভাবে থাকত। এখান থেকে পাওয়া যায় ২^১০. এখন তাহলে কি দাঁড়ায়ঃ
26/ (10!*6!*2^10)

আর ফলাফল দাঁড়ায় 150738274937250. এর সাথে পূর্বের সেটিংস গুলি গুণ করলে পাওয়া যাবে 158,962,555,217,826,360,000. দ্য ইমিটেশন গেম মুভিটায় বলা হয় ব্লেচলির এই টিম যদি প্রত্যেকটা সেটিংস একবার করেও পরীক্ষা করে দেখে তাহলে তাদের লেগে যাবে ২ মিলিয়ন বছর। ভেবে দেখুন একবার!

প্রত্যেকটা কি চাপার পরেই সকল প্রক্রিয়া শেষে একটা অক্ষর পাওয়া যেত। এটাই হচ্ছে সেই সেটিংসের মধ্যে দিয়ে যাওয়া এনক্রিপ্টেড অক্ষরটা। এরপর সেই অক্ষরটা মোর্স কোড এর মাধ্যমে পাঠিয়ে দেয়া হত। অন্যান্য যাদের কাছে এই এনিগমা কোডটি আছে তারা সংকেতটি রিসিভ করত এবং এনিগমা মেশিনে ইনপুট দিত। যে সেটিংসে লেখাটি এনক্রিপ্ট করা হয়েছিল সে সেটিংস এ ইনপুট দিলে লুকোন মেসেজটা পাওয়া যেত। জার্মানরা সাবধানতার জন্য ভিন্ন ভিন্ন সেটিংস ব্যবহার করত। একমাসের সেটিংস এর একটি তালিকা যেসব জার্মানদের কাছে মেশিনটি আছে তাদের কাছে পাঠিয়ে দেয়া হত। আর এই সেটিংসটির তালিকা প্রতিমাসে পরিবর্তন করা হত। যেহেতু প্রতিদিন ই সেটিংস পরিবর্তন করা হত তাই ব্রিটিশদের হাতে নতুন সেটিংস খুঁজে বের করার জন্য ১ দিন সময় থাকত। এরপরেও তারা কিন্তু এনিগমা এর কোডটি ভেঙ্গেছিল।

কিভাবে এনিগমার কোড ভাঙ্গা হয়েছিল?

bombe
এনিগমার কোড ভাঙ্গা প্রায় অসম্ভব হলেও এতে একটা খুঁত ধরতে পারেন ব্লেচলির বিজ্ঞানীরা (এদের উপরেই এনিগমার কোড ভাঙ্গার দায়িত্ব দেয়া হয়)। তারা বুঝতে পারেন যে স্বাভাবিকভাবে এর কোড ভাঙ্গা যাবে না। এজন্য তারা একটি মেশিন তৈরী করে যার নাম দেয়া হয় ‘বম্ব’। এনিগমায় ৩-৫ টা রোটর থাকলেও এই বম্ব এর রোটর এর সংখ্যা ছিল শতাধিক। বম্ব মেশিনটি ২৪ ঘন্টা কাজ করতে থাকে আর সম্ভাব্য সেটিংসটি খুঁজে বের করার চেষ্টা করে। কিভাবে কোডটি ভাঙ্গা হয়েছিল সেই বিষয়টি ‘দ্য ইমিটেশন গেম’ মুভি থেকে পাওয়া তথ্য দিয়ে আমি উপস্থাপন করব।

ব্লেচলির বিজ্ঞানীরা খেয়াল করে যে জার্মানরা প্রতিদিন ঠিক ছয়টার সময় একটা আবহাওয়া রিপোর্ট পাঠায়। ব্যাপারটি ধরতে পেরে তারা সম্ভাব্য কিছু কিওয়ার্ড (ওয়েদার, ৬ টা, হেইল হিটলার) প্রবেশ করায়। এবারেই কাজ হয়ে যায়। এভাবে তারা প্রতিদিনের সেটিংস বের করে ফেলে। তাদের এ সাফল্যের পর বিভিন্ন যায়গায় তারা ১৫০ টি ‘বম্ব’ স্থাপন করে। বলা হয় যে, এই এনিগমার জন্যই দ্বিতীয় বিশ্বযুদ্ধ ৪ বছর আগে শেষ হয়েছে আর ২ কোটি মানুষের প্রাণ রক্ষা করেছে।

বিঃদ্রঃ মুভিতে ‘বম্ব’ এর নাম ‘ক্রিস্টোফার’।
আর্টিকেলটি আপনার কাছে ভালো লেগে থাকলে লাইক দিন এবং কমেন্ট করুন। ধন্যবাদ

Reference:
https://en.wikipedia.org/wiki/Enigma_machine
https://learncryptography.com/history/the-enigma-machine
https://bigganjatra.org/