ভ্যালেন্টাইন্স ডে উপলক্ষ্যে করিম অনেক রাত জেগে আর শরৎচন্দ্রের উপন্যাস গিলে খেয়ে খোদেজার জন্য বিশাল একটা প্রেমপত্র লিখেছে। পাড়াতো ছোট ভাই গনেশের হাত দিয়ে ওটা খোদেজার কাছে পাঠানো দরকার। কিন্তু সমস্যা হলো খোদেজার বড় ভাই পাড়ার মাস্তান কালা শওকত, গনেশকে দেখতে পেলেই মারধোর করে চিঠিটা হাত করে পড়ে করিমকে আর আস্ত রাখবে না। তাহলে উপায়? কীভাবে করিম খোদেজাকে চিঠিটা পাঠাবে, যাতে করে শওকতের হাতে খামটা পড়লেও শওকত কিছুই বুঝতে না পারে?
----
Encryption বা তথ্যগুপ্তিকরণ হলো তথ্যকে দুর্বোধ্য করে রাখা। এরকম তথ্যকে দুর্বোধ্য করে ফেলা, আর পরে সুযোগমত দুর্বোধ্য করা তথ্যকে আবার পাঠযোগ্য করার পদ্ধতিগুলো আলোচনা করা হয় কম্পিউটার বিজ্ঞানের শাখা Cryptography (ক্রিপ্টোগ্রাফি)তে।
আধুনিক কম্পিউটারে এর ব্যবহার হয় গোপন তথ্য শত্রুর কাছে অজানা করে রাখার কাজে। অবশ্য এটা খুব নতুন কোনো সমস্যা না, হাজার বছর ধরেই এই সমস্যার সম্মুখীন হতে হয়েছে। প্রাথমিক ভাবে যুদ্ধক্ষেত্রে বা গুপ্তচরদের তথ্য আদান প্রদানে ব্যবহার করা হলেও ইন্টারনেট যুগে এসে বিভিন্ন বাণিজ্যিক যোগাযোগে এনক্রিপসশন ব্যবহার করা হয়।
তথ্যকে দুর্বোধ্য করে রাখার অনেক কৌশল আছে। ছোটবেলাতে আমরা অনেকেই হয়তো ক-যুক্ত করে কথা বলে মজা করতাম। যেমন, সব শব্দের শুরুর অক্ষরের জায়গায় ক বসিয়ে, শুরুর অক্ষরটিকে শব্দের শেষে নিয়ে যাওয়া। (উদাহরণ - "আমি ভাত খাই" হবে "কামিআ কাতভ কাইখ")। যারা এই কথার পদ্ধতিটা জানবে, তারা অর্থ বের করতে পারবে, অন্যরা কিছুই বুঝবেনা।
আরেকটা এরকম পদ্ধতি হলো Caesar Cipher, যাতে প্রতিটি অক্ষরকে নির্দিষ্ট সংখ্যক পরের আরেকটি অক্ষর দিয়ে প্রতিস্থাপন করা যায়। যেমন ধরা যাক, প্রতি অক্ষরকে পরের পরের অর্থাৎ ২ অক্ষর পরের অক্ষর দিয়ে পালটানো হবে। A এর বদলে C, B এর বদলে D - এরকম। এতে করে I EAT RICE হয়ে যাবে K GCV TKEG। এটা আপাত দৃষ্টিতে দুর্বোধ্য মনে হলেও এটার সংকেত বের করে ফেলা খুব সহজ। ইংরেজিতে সবচেয়ে বেশি ব্যবহার করা হয় E অক্ষরটি, কাজেই কয়েকবার চোখ বুলালেই বেরিয়ে আসবে কোনটা E এর বদলে ব্যবহার করা হচ্ছে।
এনক্রিপশনকে কঠিন করতে ব্যবহার করা হয় Key বা চাবি। চাবি দিয়ে যেমন তালা খোলা যায়, তেমন করে কোনো লেখার অক্ষরের সাথে একটি গোপন চাবি (সাংকেতিক সংখ্যা বা বাক্য) গাণিতিক উপায়ে মিশ্রিত করে গুপ্ত লেখা তৈরী করা যায়। ইন্টারনেটে গেলে প্রায়ই দেখবেন, বিভিন্ন ওয়েবসাইট দাবী করছে তারা ১২৮ বিট এনক্রিপশন ব্যবহার করে। এটা আসলে বোঝায়, ওদের সাইটে ১২৮ বিট দৈর্ঘ্যের কী বা চাবি ব্যবহার করা হয়। "কী" বড় হবে, ততই ভাঙা কঠিন। ১২৮ বিট অবশ্য খুব বেশি শক্ত চাবি না, এখনকার দিনে বেশী গোপনীয় তথ্যের জন্য ১০২৪ বিট বা ২০৪৮ বিট কী ব্যবহার করা হয়।
এই যে কী বা চাবির কথা বললাম, এতো গেলো তথ্য গোপন করার জন্য। গুপ্ত বার্তাটি যার কাছে পাঠানো হচ্ছে, সে বুঝবে কীভাবে? তার কাছেও একই চাবি থাকতে হবে। ব্যাপারটাকে এভাবে চিন্তা করুন - করিম একটা গোপন বার্তা পাঠাবে খোদেজার কাছে, শত্রু শওকত যাতে বুঝতে না পারে এজন্য চিঠিটাকে একটা বাক্সে ভরে তালা মেরে পাঠিয়ে দিলো গনেশের হাত দিয়ে। মাঝপথে শওকতের হাতে যদি বাক্সটা পড়েও যায়, চাবি না থাকলে তো আর শওকত কিছুই করতে পারছেনা। খোদেজার কাছে বাক্স পৌছানোর পরে খোদেজা তার ঐ চাবি দিয়ে বাক্সটা খুলে বার্তাটা পড়তে পারে।
আধুনিক কম্পিউটার যুগেও এরকমই করা হয় ... গোপনীয় বার্তাকে চাবি দিয়ে গাণিতিক প্রক্রিয়ার মাধ্যমে প্রক্রিয়াজাত করে দুর্বোধ্য করে দেয়া হয়, যা বাক্সে ভরার সমতূল্য। আপনার ব্যাংকের ওয়েবসাইটে যখন লগইন করবেন, তখন আপনার কম্পিউটার থেকে যা বার্তা ব্যাংকের সাইটে যাবে, সবই এনক্রিপ্টেড ভাবে, অর্থাৎ বাক্সবন্দী হয়ে ইন্টারনেটে নানা চেনা অচেনা, বিশ্বস্ত অবিশ্বস্ত কম্পিউটার রাউটার ঘুরে পরিশেষে পৌছাবে ব্যাংকের সাইটে। সেখানে ওদের কাছে একই চাবি থাকাতে ওরা বার্তাকে বাক্সমুক্ত করে পড়ে নিতে পারবে।
---
উপরের প্রক্রিয়াটাতে সমস্যাটা কোথায় ধরতে পারছেন? সমস্যাটা হলো, করিম আর খোদেজা একই চাবি পাবে কীভাবে? চাবি যদি দোকানে কিনতে পাওয়া যেতো, তাহলে তো শওকতের আর সমস্যা নেই, দোকান থেকে চাবি কিনে নিয়েই করিমের চিঠিটা বাক্স থেকে খুলে ফেলতে পারবে।
তা, করিম খোদেজার বাড়ি গিয়ে চাবিটা দিয়ে আসলেই তো পারে? তাই কি? বাড়িতেই যদি চাবি দিতে যেতে পারে, তাহলে চিঠিটা সরাসরি দিয়ে আসলেই তো হয়।
এই সমস্যাটা সব গোপন চাবির এনক্রিপশন ব্যবস্থা, অর্থাৎ সিক্রেট কী ক্রিপ্টোগ্রাফিতেই আছে ... তথ্য গোপন করার চাবিটা কীকরে প্রাপকের কাছে যাবে। আর সেই সমস্যাটাই এড়ানোর জন্য বের করা হয়েছে, পাবলিক কী ক্রিপ্টোগ্রাফি।
[চলবে]