বিজ্ঞান পত্রিকা

গোপনবার্তার আদ্যপান্ত

১৫৮৭ সালে স্কটল্যান্ডের রানী মেরিকে রানী এলিজাবেথ-১ এর নির্দেশে তাঁর টাওয়ার অফ লন্ডনের কক্ষ থেকে ধরে নিয়ে গিয়ে মৃত্যুদন্ড দেয়া হয়েছিল। রানী মেরী প্রোটেস্ট্যান্টের দেশে একজন রোমান ক্যাথলিক ছিলেন। এটা অবশ্য তাঁর মৃত্যুদন্ডের মূল কারন নয়। তিনি আসলে সিংহাসাহন দখলের একটি ষড়যন্ত্রের শিকার হয়েছিলেন। এটা একটা বড় কারন হলেও তিনি মৃত্যুদন্ড উপেক্ষা করতে পারতেন। আসল কারনটি হচ্ছে রানী মেরি গোপনীয়তা রক্ষা করতে পারতেন না। যদিও রানী মেরি সর্বদাই গোপনীয়তা অবলম্বন করার চেষ্টা করতেন। তিনি তাঁর সব গোপনবার্তা সাংকেতিক ভাষায় আদান-প্রদান করতেন, কিন্তু শত্রু পক্ষের হাতে তাঁর সেসব সাংকেতিক বার্তার অর্থ ফাঁস হয়ে যেতো।

গোপন বার্তা বানানো বেশ সহজ। এমনকি গোপনবার্তার পাঠোদ্ধার করাও খুব কঠিন কিছু নয়। সবচেয়ে কঠিন হলো গোপনবার্তা গোপনীতার মধ্যে রাখা। গোপনবার্তার ইতিহাস পর্যালোচনা করলে দেখা যায়, প্রথমদিকের বার্তাগুলো বেশ সাধারণ এবং সেগুলোর পাঠোদ্ধার করাটাও বর্তমান সময়ের খুব সহজ একটা কাজ। যতই দিন এগিয়েছে ততই গোপনবার্তার রহস্যও উদ্ঘটিত হয়েছে এবং গোপনবার্তা লেখার বিদ্যাও ততোই জটিল থেকে জটিলতর হয়েছে। গোপন বার্তার অর্থ গোপন রাখার চেষ্টার ইতিহাস অত্যন্ত প্রাচীন। রানী মেরির সময়কালের কয়েক হাজার বছর পূর্বেও সাংকেতিক ভাষায় গোপন বার্তা প্রেরণের ঘটনা ইতিহাসে পাওয়া যায়। খ্রীষ্টপূর্ব দুইহাজার সালে মিশরে গোপনবার্তার অস্তিত্ব আবিষ্কৃত হয়েছ। তবে হায়ারোগ্লিফিক্স পদ্ধতিতে লিখিত এই বার্তাগুলো তথ্য গোপন করার উদ্দেশ্যে ব্যবহৃত হয় নি বরং এগুলো ধর্মীয় আনুসঙ্গিকতার অংশ ছিল এবং সাধারণত রাজবংশীয় কারো মৃত্যু হলে তার সামাধিতে দেওয়া হতো। খ্রীষ্টপূর্ব সপ্তম শতকে গ্রীক কবি আর্কিলোকাস (Archilochus) এর বর্ননায় স্কাইটেল (scytale) নামক একধরনের সাংকেতিক বার্তার উল্যেখ পাওয়া যায়। যেখানে একটি ফিতাকে একটি নির্দিষ্ট ব্যাসের লাঠির উপরে পেঁচিয়ে পাশাপাশি বার্তাটি লেখা হতো। ফিতাটিকে লাঠির উপর থেকে খুলে নিলে অক্ষরগুলো পরস্পর অসংলগ্ন হয়ে যেত।  বার্তাটির পাঠোদ্ধারের জন্য পুনরায় একটি সমান ব্যাসের লাঠির উপরে পেঁছিয়ে নেওয়া হতো। নিচের ছবিটি প্রাচীন স্পার্টা নগর থেকে উদ্ধারকৃত স্কাইটেলের একটি নমুনা।

গ্রীক ইতিহাসবিদ পলিবিয়াস খ্রীষ্টপূর্ব ২০০ বছর পূর্বে একটি গোপন-বার্তা পদ্ধতি আবিষ্কার করেন। তিনি একটি ৫X৫ ঘর বিশিষ্ট বর্গের বিভিন্ন ঘরে ক্রমান্বয়ে A থেকে Z পর্যন্ত লিখেন। যেহেতু ৫X৫ = ২৫ ঘর অথচ ইংরেজিতে বর্ণ আছে ২৬ টি, তাই i এবং j বর্ণ দুটিকে একই ঘরে রাখা হয়। কোন বর্ণ প্রকাশের জন্য সেই বর্ণ যেই কলাম এবং সারিতে পড়েছে সেই সংখ্যা দুটি ব্যাবহার করা হয়। যেমন ২২ দ্বারা g বোঝানো হয় কিংবা s বোঝানোর জন্য প্রয়োজন হয় 43। এই পদ্ধতির একটা বড় সুবিধা ছিল শুধু লিখে নয় বরং যুদ্ধক্ষেত্রে কিংবা অন্য কোনো কাজে এই তালিকা অনুযায়ী একদল মানুষের সজ্জা কিংবা আগুন প্রজ্জ্বলনের মাধ্যমেও সংকেত প্রকাশ করা সম্ভব হতো।

প্রাচীন গ্রীসে আরেকধরনের গোপন বার্তা পদ্ধতির প্রচলন ছিলো, আর তা হলো স্টেগানোগ্রাফি (steganography)। এই পদ্ধতিতে গোপনবার্তা এমন ভাবে পাঠানো হয় যাতে প্রেরক এবং গ্রাহক ছাড়া আর কেউ সেই বার্তার উপস্থিতি ধরতে না পারে। অর্থাৎ কেউ যেন বুঝতেই না পারে যে কোন বার্তা প্রেরন করা হয়েছে। এই পদ্ধতির বড় সুবিধা হলো প্রেরক আর গ্রাহক ছাড়া আর কেউ বার্তা সম্পর্কে আগ্রহই দেখাতে পারবে না। প্রাচীন গ্রীসে প্রচলিত এমন কয়েকটি বার্তা পদ্ধতি হল:

১. কাঠে খোদাই করে লেখা এবং পরে মোম দিয়ে আবৃত করে দেয়া। কাঠের টুকরোটিকে আগুনের উপর ধরলে মূল লেখাটি বের হয়ে আসবে।

২. মাথা মুড়িয়ে ন্যাড়া মাথায় লেখা। চুল গজিয়ে গেলে আর লেখা বোঝা যাবে না। পুনরায় মাথা ন্যাড়া করে লেখা পড়া হবে।

রোমান সম্রাট জুলিয়াস সিজার একধরনের গোপনবার্তা পদ্ধতির প্রচলন করেন। এই ক্ষেত্রে প্রতিটি বর্ণকে একটি নির্দিষ্ট সংখ্যায় এগিয়ে লেখা হতো। সাধারণত প্রতি বর্ণকে তিন ঘর এগিয়ে লেখা হতো। ফলে A এর বদলে D, B এর বদলে E এভাবে বার্তাটি তৈরি হতো। যার কাছে বার্তা পৌঁছাতো সে একই সংখ্যক ঘর পিছিয়ে বার্তাটির পাঠোদ্ধার করত। বোঝাই যাচ্ছে এই পদ্ধতিতে বার্তার পাঠোদ্ধার করা খুবই সহজ এবং যে কেউ কিছুটা মাথা খাটালেই খুব সহজেই এর পাঠোদ্ধার করে ফেলতে পারবে। এই ধরনের বার্তার সূত্রটি বের করার একটি পদ্ধতি হলো মূল বার্তা থেকে একটি পরিচিত শব্দ বের করা এবং সেই শব্দটির বিভিন্ন বর্ণকে অন্য বর্ণের মাধ্যমে প্রতিস্থাপিত করে মূল সূত্রটি বের করা। এরপর এই সূত্রের আলোকে মূল বার্তাটির পাঠোদ্ধার করা। যেমন: জুলিয়াস সিজারের বার্তার শেষের প্রেরকের নামটি দেখা হতো। প্রেরকের নাম জুলিয়াস সিজার হলে লেখা থাকত Mxolxv Fdhvcu. এই বর্ণগুলোকে Julius Caesar এর নামের বর্ণগুলো দিয়ে প্রতিস্থাপিত করে খুব সহজেই বুঝে ফেলা যায় তিনঘর এগিয়ে বার্তাটি পড়ে ফেললেই মূল বার্তাটি পাওয়া যাবে।

জুলিয়াস সিজারের গোপনবার্তা লেখার সূত্রটিকে গাণিতিকভাবে প্রকাশ করা যায় এভাবে:

পরিবর্তিত বর্ণ = মূল বর্ণ + 3

অর্থাৎ A থেকে Z পর্যন্ত বর্ণকে আমরার যদি ১ থেকে ২৬ পর্যন্ত নম্বর দিই তাহলে পরিবর্তিত বর্ণটি পাওয়া যাবে মূল বর্ণের সংখ্যার সাথে ৩ যোগ করে। এটা W পর্যন্ত সত্য। কেননা X, Y এবং Z এর সংখ্যার সাথে ৩ যোগ করলে যোগফল হয় যথাক্রমে ২৭, ২৮, ২৯ যা বর্ণমালায় অনুপস্থিত। সেই ক্ষেত্রে সঠিকভাবে সূত্রটি লেখা যায় এভাবে:

পরিবর্তিত বর্ণ = (মূল বর্ণ + ৩) mod 26। (অর্থাৎ ২৬ এর বেশী হয়ে গেলে ২৬ দিয়ে ভাগ করে ভাগশেষ গ্রহণ করতে হবে। এভাবে ভাগশেষ গ্রহণ করার গণিতকে মডিউলো পাটীগণিত বলা হয়)।

যদিও প্রথমবারেই সূত্রটি পাওয়ার সম্ভবণা কম বরং অনেকবারের চেষ্টায় সূত্র বের করা হতো। ক্রমশঃ এই ধরনের সূত্র যতই আবিষ্কৃত হতে লাগলো ততোই আরো কঠিন কোনো সূত্র প্রয়োগ করে বার্তা লেখার প্রয়োজনীয়তা তীব্র হতে লাগল। এর মধ্যে একটি সূত্র হচ্ছে এরকম, প্রথমে একটি নির্দষ্ট গ্যাপ দিয়ে বার্তাটি লেখা শুরু করা হতো কিন্তু একটি নির্দিষ্ট বর্ণ এলে সূত্রে গ্যাপের সংখ্যা একটি বেড়ে যেতো। এভাবে দেখা গেলো শুরুতে যেই বর্ণের বদলে যে বর্ণ ব্যবহার করা হচ্ছে শেষের দিকে আর সেটা থাকছে না বরং মাঝ পথে বেশ কয়েকবার পরিবর্তিত হয়ে যাচ্ছে।

রানী মেরীর বার্তা পদ্ধতিটি আরেকটু জটিল ছিলো। তাঁর বার্তায় এই ধরনের নির্দিষ্ট কোনো সূত্র ছিলো না বরং তিনি বিক্ষিপ্তভাবে একটি বর্ণের জন্য বিপরীত একটি বর্ণ নিতেন। এবং কোন বর্ণের বিপরীতে কোন বর্ণ হবে সেটা বার্তাবাহককে অবহিত করে দিতেন। যেমন: e এর বদল যদি t হয় তাহলে t এর বদলে হতে পারে c। আবার c এর বদলে হতে পারে g। অর্থাৎ বর্ণগুলোর মধ্যে নির্দিষ্ট কোনো পার্থক্য নেই। শুরুর দিকে এই পদ্ধতিতে সফলতা এলেও এর একটা বড় ধরনের ত্রুটি আছে। সেটা হলো এই পদ্ধতিতে একটি বার্তায় সর্বদাই একটি নির্দিষ্ট বর্ণের বদলে অপর একটি নির্দিষ্ট বর্ণ বসবে এবং এই তথ্যটি এই ধরনের গোপনবার্তার কোডটি ভেঙ্গে ফেলার জন্য যথেষ্ট! তাহলে দেখা যাক কীভাবে সেটা সম্ভব।

ইংরেজী বর্ণমালার প্রতিটি বর্ণ ইংরেজি ভাষায় একই হারে ব্যাবহৃত হয় না, কোনটা কম আর কোনোটা বেশী ব্যবহৃত হয়। কোনটা কত বেশীবার ব্যাবহৃত হয় সেটা পাওয়া যাবে এ্ই চার্ট থেকে।

উপরের চার্ট থেকে দেখা যাচ্ছে ইংরেজি লেখায় সবচেয়ে বেশী ব্যবহৃত হয় e, তারপর t, তারপর a, o …. ইত্যাদি। কাজেই কোনো লেখায় যদি বদলি বর্ণ দিয়ে লেখা হয় তাহলে সবচেয়ে বেশী ব্যবহৃত বর্ণটি e, তারপরেরটি t এভাবে ধরে নিয়ে মুল বার্তাটি পড়ে ফেলা সম্ভব। তবে এই পদ্ধতিটি সবসময় নির্ভুলভাবে কাজ করবে তা নয়। বিশেষ করে ছোটোখাটো বার্তায় এই ধারায় বর্ণ পাওয়ার সম্ভবনা কম। বার্তা যতো বেশী দীর্ঘ হবে ততোই বর্ণগুলোর ব্যবহার এই চার্টের সাথে মিলে যা্ওয়ার সম্ভবনা বেশী থাকবে। এমনো বার্তা হতে পারে যেখানে হয়তো t এর চেয়ে a কিছুটা বেশী আসবে অথবা u এর চেয়ে m এর ব্যবহার কিঞ্চিৎ বেশী করা হবে। সেই ক্ষত্রে ‘trial এবং error’ পদ্ধতিতে বার্তার কোড খন্ডন করা যায়। যেমন: t যদি a চেয়ে বেশী ব্যবহার না-ও করা হয় তবুও এর ব্যবহার a এর কাছাকাছিই থাকবে এবং কয়েকবারের চেষ্টায় সফল না হলেও এক সময় না এক সময় অবশ্যই সফল হওয়া যাবে। এই পদ্ধতিটি ব্যবহার করেই রানী মেরির গোপনবার্তা সবসময়ই শত্রুপক্ষ পড়ে ফেলতে পারত।

সময়ের প্রয়োজনে এবং বার্তার পাঠোদ্ধার করার বিভিন্ন কৌশল আবিষ্কৃত হতে থাকায় বার্তা লেখকগণ নতুন নতুন কৌশল উদ্ভাবন করতে থাকেন। দ্বিতীয় বিশ্বযুদ্ধের সময় বিশেষ বিশেষ অভিনব কৌশল অবলম্বন করে বার্তা লেখার প্রয়োজন অবশ্যম্ভাবী হয়ে উঠল।

দ্বিতীয় বিশ্বযুদ্ধের সময়ের কিছু পদ্ধতি হল:

১. অদৃশ্য কালি দিয়ে লেখা যেটা তাপে বা অন্যকোনো ভাবে দৃশ্যমান হয়।

২. সাধারন কোনো লেখার ফাঁকে ফাঁকে অদৃশ্য কালিতে লেখা।

৩. মোর্স কোডের আকারে কাপড়ের বুনন তৈরি করে পাঠানো। সেই কাপড়ের পোশাক তৈরি করে বার্তা-বাহক পরিধান করে নিয়ে যেতো।

৪. ভিয়েতনাম যুদ্ধের সময় ধরা পড়া একজন আমেরিকান স্পাইকে টেলিভিশনের সামনে আনা হলে তিনি চোখ টিপে মোর্স কোডের মাধ্যমে “tortured” প্রকাশ করেছিলেন।

৫. এনিগমা (Enigma) মেশিন।

এনিগমা মেশিন সম্বন্ধে আলাদাভাবে না বললেই নয়। এটি ব্যাটারিচালিত একটি মেশিন। এই মেশিনে একটা কীবোর্ড থাকে। প্রতিটি বর্ণের জন্য রয়েছে একটি করে কী (key)। এবং প্রতিটি কী এর পেছনে রয়েছে একটি করে ছোট বৈদ্যুতিক বাল্ব। যখন কোনেো কী চাপা হয় তখন অন্য কোনো একটি কী এর বাতি জ্বলে ওঠে। অর্থাৎ মূল বর্ণটি চাপা হলে গোপনবার্তার কী এর বাতি জ্বলে উঠবে। কিন্তু কোন কী চাপলে কোন কী এর বাতি জ্বলে উঠবে সেটা কেউ জানবে না এবং একই বর্ণের জন্য কখনো একই অক্ষর পরপর ব্যবহৃত হবে না। অর্থাৎ প্রতিটি বর্ণের কোড করার সাথে সাথে লেখার সূত্র পরিবর্তিত হয়ে যেতো যার ফলে একক সূত্র প্রয়োগ করে এই লেখার পাঠোদ্ধার করা সম্ভব হতো না। এই মেশিনের ভিতরে স্থাপিত বিভিন্ন গীয়ার (gear) এবং চাকতি (disc) সম্বলিত কলকব্জা প্রতিটি কী চাপার সাথে সাথে একটি নির্দিষ্ট প্যাটার্ন অনুযায়ী সূত্রটি বদলে দিত। এই সরঞ্জামটি একত্রে রোটর(rotor) নামে পরিচিত ছিল। পাঠোদ্ধারে জটিলতা তৈরি করার জন্য এই মেশিনে আরো বিভিন্ন ধরনের জটিল সংযোগ তৈরি করে দেওয়া হয়েছিলো যা এই যন্ত্রের পাঠোদ্ধার করাটাকে প্রায় অসম্ভব করে তুলেছিলো। নাৎসি বাহিনী যন্ত্রের মাধ্যমে কোড করা বার্তাকে ‘অভেদ্য’ ঘোষনা দিয়েছিলো। কিন্তু এই যন্ত্রের একটি বড় ত্রুটি ছিলো তা হচ্ছে একই বর্ণের জন্য কখনোই কোড হিসেবে ঔ বর্ণটি পাওয়া যেতো না। যদিও এটাকে নাৎসী বাহিনী হয়তোবা দুর্বলতা হিসবে ধর্তব্য মনে করে নি কিন্তু মিত্রবাহিনীর গোপনবার্তা বিশেষজ্ঞরা এই দূর্বলতা ব্যবহার করে এনিগমা মেশিনের মাধ্যমে কোড করা একটা গোপনবার্তার পাঠোদ্ধার উপযোগী মেশিন তৈরি করে ফেলতে সক্ষম হন যেটা এনিগমা মেশিনের বার্তা মাত্র ২০ মিনিটের মধ্যে পাঠোদ্ধার করে ফেলতে পারে।

এখন আরো দু’টি সেকেলে গোপনবার্তা লেখার পদ্ধতি দেখা যাক:

ম্যাট্রিক্স প্রতিস্থাপন:

গুপ্তবার্তাকে আরো দুর্বোধ্য করে তোলা যায় যদি প্রতিটি বর্ণ আলাদাভাবে প্রতিস্থাপন না করে জোড়ায় জোড়ায় প্রতিস্থাপন করা হয়। নিচের ছকটি দেখুন:

এই ছক থেকে যদি দু’টি বর্ণ নিয়ে একটি জোড়া তৈরি করা হয় তাহলে জোড়ার প্রতিস্থাপকটি ছক থেকে পাওয়া যায়। কোনো বার্তায় AB বর্ণদুটি পরপর আসলে AB কে প্রতিস্থাপন করে লেখা হবে TY (ছক থেকে জোড়ার প্রথমবর্ণ A এবং দ্বিতীয় বর্ণ B হলে দু’য়ে মিলে সংকেত পাওয়া যাচ্ছে TY)। আবার AC বর্ণদুটি পরপর আসলে ছক থেকে এদের প্রতিস্থাপক পাচ্ছি LF। পাঠক লক্ষ্য করুন, দুটি জোড়াতেই শুরুতে A আছে কিন্তু জোড়ার দ্বিতীয় বর্ণটি ভিন্ন হওয়ার কারনে A এর সংকেতিক চিন্হটি সম্পুর্ণ বদলে যাচ্ছে। ফলে এই পদ্ধতিতে আগের অনেকগুলো প্রতিস্থাপন পদ্ধতির চেয়ে অনেক নির্ভরযোগ্যভাবে বার্তা গোপন করা যায়। উদাহরণ হিসেবে আমি যদি BEAD শব্দটিকে সংকেতে পরিণত করতে চাই তাহলে এটাকে দুটি জোড়ায় ভাগ করতে হবে, BE এবং AD।

এখন ছক থেকে পাই, BE জোড়ার প্রতিস্থাপক হচ্ছে HD এবং AD জোড়ার প্রতিস্থাপক হচ্ছে NR। তাহলে BEAD এর প্রতিস্থাপক হবে HDNR।

মূল ছকটি হাতের কাছে না থাকলে এই পদ্ধতিতে লিখিত গোপন বার্তাটি উদ্ধার করা সত্যিই দুষ্কর।

ট্রান্সপোজিশন (transposition) বার্তা:

আমেরিকার গৃহযুদ্ধকালীন সময়ে গোপনবার্তা প্রেরণের জন্য এই পদ্ধতি বহুল ব্যবহৃত হয়েছিলো। এই পদ্ধতিতে বার্তা লেখার সময় পুরো বার্তাটিকে কয়েকটি ভাগে ভেঙ্গে ফেলা হয়। অতঃপর প্রতিটি ভাগকে বিভিন্ন সজ্জায় সজ্জিত করে বিভিন্ন বর্ণের ক্রম পরিবর্তন করে নেওয়া যায়। যেমন: We ARE OUT OF AMMO এই বার্তাটিকে চারভাগে ভেঙ্গে আয়তাকারে সাজিয়ে লেখা যায়:

W E A R
E O U T
O F A M
M O

এবার কলামগুলো থেকে বর্ণ নিয়ে নতুন সজ্জা তৈরি করা যায় এভাবে: WEOMEOFOAUARTM

আয়তক্ষেত্রটির মাত্রা বার্তার শুরুতে ইঙ্গিতে বুঝিয়ে দেয়া হয়। যেমন: “Dear Aunt” দিয়ে শুরু করে বোঝানো যেতে পারে এটি একটি ৪ X ৪ মাত্রার আয়তক্ষেত্র।

আধুনিক সংকেতবার্তা:

উপরে যতগুলো গোপনবার্তা লেখার পদ্ধতি আলোচনা করা হলো তার প্রতিটিতেই কিছু না কিছু খুঁত আছে এবং ‘গোপনবার্তা শিকারিরা’ দিনের পর দিন লেগে থেকে একসময় সেগুলোর পাঠোদ্ধার করে ফেলতে পারতেন। আধুনিক সময়ে এর কোনটাই আর সংকেত লেখার জন্য ব্যবহৃত হয় না। বরং আধুনিক সংকেতগুলো হয় মাত্রাতিরিক্ত রকমের দুর্বোধ্য যা আগের বর্ণনাকৃত যেকোন পদ্ধতির চেয়ে লক্ষ-লক্ষগুণ বেশী অখন্ডনীয়। সাম্প্রতিক সময়ে গোপনবার্তা লেখার পদ্ধতি জটিল হওয়ায় প্রায় সবক্ষেত্রে কম্পিউটারের সাহায্যে বার্তা লেখা হয় এবং সেসব বার্তার পাঠোদ্ধারের জন্য কম্পিউটারই ব্যবহার করা হয়, কিন্তু সূত্র না জানলে সেই বার্তা উদ্ধার করা মোটামুটি অসম্ভব একটি কাজ।

বহুবছর ধরে গণিতবিদগণ “নম্বর তত্ত্ব (number theory)” নিয়ে কাজ করছেন। এই বিষয়টি কিছুদিন আগে পর্যন্ত পুরোপুরি একটি তাত্ত্বিক বিষয় ছিল। অর্থাৎ দীর্ঘদিন ধরে নাম্বার থিওরির কোনো বাস্তবিক প্রয়োগ ছিল না। কিন্তু ১৯৭৬ সালে কয়েকজন “নম্বর তত্ত্ববিদ” ডিফি (Deffie), হেলম্যান (Hellman) এবং মের্কল (Merkle) ঘোষনা করেন তাঁরা একটি ট্র্যাপডোর (trapdoor) ফাংশন আবিষ্কার করেছেন যা গুপ্তবার্তাবিদ্যার ইতিহাসকেই পাল্টে দেবে। (ট্র্যাপডোর সম্বন্ধে আপনারা নিশ্চয়ই জানেন, যেগুলো সাধারণত ফ্লোরে বা সিলিংএ গুপ্ত দরজা হিসেবে অবস্থিত থাকে)। এই ফাংশনগুলোকে একমুখী ফাংশনও বলা হয়ে থাকে। সাধারণ ফাংশনগুলোর অধিকাংশ ক্ষেত্রেই একটি বিপরীত ফাংশন নির্ণয় করা যায় কিন্তু এই ধরনের ফাংশনের বিপরীত ফাংশনটি সহজে নির্ণয় করা যায় না। অর্থাৎ এইধরনের ফাংশনে সামনের দিকে এগিয়ে যাওয়া সহজ কিন্তু উল্টো দিক থেকে শুরু করে বিপরীত দিকে এগিয়ে আসা কঠিন।

পুরো বিষয়টি বোঝার জন্য প্রথম থেকে ধীরে ধীরে বর্ণনা করা যাক। যেমন আপনাকে যদি দু’টি প্রশ্ন করা হয় নিচের মত:

১. ১৭ এবং ২৯ এর গুণফল কত?

২. কোন দু’টি সংখ্যার গুণফল ৮৫১?

প্রথম প্রশ্নটির উত্তর খুব সহজেই দিয়ে দিতে পারবেন এমনকি ক্যালকুলেটরেরও সাহয্য নিতে হবে না। উত্তর হচ্ছে ৪৯৩। কিন্তু দ্বিতীয় প্রশ্নের উত্তর দিতে গেলে ‘জীবন বেরিয়ে যাবে’! এই প্রশ্নের উত্তর নির্ণয় করতে হবে ‘Trial এবং error’ পদ্ধতিতে। অর্থাৎ, একটির পর একটি করে সংখ্যা নিয়ে চেষ্টা (trial) করে যেতে হবে যতক্ষণ না ভুল (error) দূর হচ্ছে। দ্বিতীয় প্রশ্নটির উত্তর হ্চ্ছে 23 X 37 এবং এর একটি মাত্রই উত্তর আছে কেননা এর উৎপাদক দু’টি হচ্ছে প্রাইম সংখ্যা এবং এই উত্তরটি নির্ণয় করতে হলে আপনাকে 23 পর্যন্ত বিভিন্ন সংখ্যা দিয়ে ৮৫১ কে ভাগ করে যেতে হবে যতক্ষণ পর্যন্ত ভাগফল পূর্ণসংখ্যায় না আসে। উৎপাদক প্রাইম হওয়ায় উৎপাদনে বিশ্লেষণের সহজ পদ্ধতিটিও প্রয়োগ করতে পারবেন না।

এখন এই দ্বিতীয় প্রশ্নটিকে যদি একটু বড় সংখ্যার মাধ্যমে করা হয় তখন তার উত্তর এমনকি কম্পিউটারের মাধ্যমেও বের করতে গেলে বছরের পর বছর লেগে যাবে। আর গণিতবিদগণ গোপনবার্তার সূত্র হিসেবে দুটি প্রাইম উৎপাদক বিশিষ্ট সংখ্যার এই জটিলতাটিকেই কাজে লাগিয়েছেন। এবার মূল প্রসঙ্গে আসা যাক।

এই পদ্ধতিতে সাংকেতিক বার্তা লেখার জন্য ‘গুপ্তবার্তাবিদ’ প্রথমে দু’টি বড় প্রাইম (যেমন: ১০০ অংক বিশিষ্ট) নির্বাচন করেন। এই দু’টি সংখ্যাকে গুণ করে আরো বড় একটি সংখ্যা তৈরি করা হয় (যা হবে ২০০ অংকের কাছাকাছি)। শেষ পর্যায়ে গুপ্তবার্তাবিদ তৃতীয় আরেকটি মৌলিক সংখ্যা বাছাই করেন সেটাও মোটামুটি ১০০ অংক বিশিষ্ট।

মূল মেসেজটি প্রথমে সংখ্যায় রূপান্তর করা হয়। উদাহরণ স্বরূপ: আমরা ‘SEND MORE MONEY’ বাক্যটিকে সাংখ্যিক সংকেতের মাধ্যমে প্রকাশ করতে চাই। প্রথমে ধরে নিই, A = 01, B = 02, C = 03 এভাবে যেতে যেতে Z = 26 হলে, “SEND MORE MONEY” এর সাংখ্যিক মান হবে ‘১৯০৫১৪০৪১৩১৫১৮০৫১৩১৫১৪০৫২৫’ এবং এখান থেকেই শুরু হচ্ছে জটিলতা। বিভিন্ন বর্ণের জন্য যে সাংখ্যিক মান ধরা হয় সেটাকে তৃতীয় প্রাইম সংখ্যাটির পাওয়ার হিসেবে প্রকাশ করা হয় এবং এই সংখ্যাটিকে ২০০ অংক বিশিষ্ট প্রাইমের গুণফলটির মডিউলাস (modulus) রূপে প্রকাশ করা হয়। মডিউলো ফর্ম নিয়ে এর আগে খুব হালকা আলোচনা করা হয়েছে, এখানে আবার ব্যাখ্যা করছি। কোন সংখ্যার মডিউলো ফর্মটি হচ্ছে একটি নির্দিষ্ট সংখ্যা দিয়ে ভাগ করে পাওয়া ভাগশেষ। যেমন: ২৮MOD26 = 2

54MOD26 = 2
56MOD26 = 4
২৬MOD26 = 0

অর্থাৎ, একটি সংখ্যার মডিউলো২৬ হচ্ছে কোনো সংখ্যাকে ২৬ দিয়ে ভাগ করলে যেই ভাগশেষ থাকবে।

এভাবে ২০০ অংকবিশিষ্ট সংখ্যার মডিউলাস যেটা পাওয়া যায় সেটাই হচ্ছে কোনো বর্ণের সংকেত হিসেবে লেখা সাংখ্যিক রূপটি। এখন এই সংকেতটির পাঠোদ্ধার করার জন্য সেই ২০০ অংক বিশিষ্ট্ প্রাইমের গুণফলটির উৎপাদক দু’টি জানা থাকতে হবে। আর কোনো সংখ্যা যদি দু’টি প্রাইমের গুণফল হয়, তাহলে গুণফল থেকে সংখ্যাদু’টি বের করা কতটা দুষ্কর সেটা শুরুতেই দেখানো হয়েছে। বর্তমান বিশ্বের সবচেয়ে শক্তিশালী কম্পিউটার ব্যাবহার করেও যদি ২০০ অংক বিশিষ্ট কোনো সংখ্যার প্রাইম গুণফল দু’টি বের করতে হয় তাহলেও লক্ষ্যাধিক বছর সময় লেগে যাবে!

-ইমতিয়াজ আহমেদ
সম্পাদক, বিজ্ঞান পত্রিকা
[লেখকের ফেসবুক প্রোফাইল]

Exit mobile version