ক্রিপ্টোগ্রাফি (তথ্যগুপ্তিবিদ্যা)

0

গত পর্বে ক্রিপ্টোকারেন্সি নিয়ে আলোচনা করেছিলাম। তখন ক্রিপ্টোগ্রাফি নিয়েও কিছু আলোচনা ছিল। তবে আজকে বিস্তারিতভাবে ক্রিপ্টোগ্রাফি নিয়েই আলোচনা হবে। যারা গত পর্বে পড়েন নি, তাদের জন্য আরেকবার একটু আলোচনা করি বেসিক বিষয়গুলো।

ক্রিপ্টোগ্রাফি কি?

ক্রিপ্টো (Crypto) শব্দ থেকে ক্রিপ্টোগ্রাফির (Cryptography) ধারণার উৎপত্তি। আর, ক্রিপ্টো শব্দের অর্থ হচ্ছে গুপ্ত বা লুকানো (Hidden)। তাহলে ক্রিপ্টোগ্রাফির বাংলা করলে দাঁড়ায় ‘তথ্যগুপ্তিবিদ্যা’। নামেই রহস্য নিহীত আছে। অর্থাৎ ক্রিপ্টোগ্রাফি এমন এক ধরণের বিদ্যা যা কিনা তথ্যকে গোপন করা বা লোকানোর জন্য ব্যবহৃত হয়।

গত পর্বের উদাহরণটাই আবার দিই। রফিক সাহেব একটি ওয়েবসাইট বানাবে। যেখানে তার অফিসের সকল কর্মকর্তা লগিন করে সকল কাজ করবে। সেটার জন্য একটা ডেটাবেজ তৈরি করলেন। সেখানে ইউজার নেইম এবং পাসওয়ার্ড থাকবে। সমস্যা হল, ডেটাবেজে ঢুকতে পারলেই তো যে কেউ পাসওয়ার্ড পেয়ে যাবে। তাই তিনি একটা কাজ করলেন। পাসওয়ার্ডগুলো md5 hash ব্যবহার করে গুপ্ত করে দিলেন। ফলে পাসওয়ার্ড এখন দুর্বোধ্য হয়ে গেল এবং নিরাপত্তা রক্ষা হল।

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

ক্রিপ্টোগ্রাফির ব্যবহার

ক্রিপ্টোগ্রাফির ব্যবহার ভার্চুয়াল জগৎ কিংবা বাস্তব জগৎ, উভয় স্থানেই হয়ে থাকে। তবে বর্তমানে বাস্তব জগতে এর ব্যবহার নেই বললেই চলে। কেননা কম্পিউটিংয়ের কারণে বাস্তব জগতে প্রয়োগ ক্ষেত্র কমে গেছে।

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

“ভোরের লাশ”

কিন্তু কিসের লাশ বা কি কেউ বের করতে পারছিলই না। ইমরান অবশেষে বের করতে সক্ষম হল। এখানে দুটো শব্দ। প্রত্যেকটা থেকে প্রথম অক্ষর নিলে দাঁড়ায়,

“ভোলা”

যা একটি জেলার নাম। এভাবেই তারা খুঁজে পায় আসামির বর্তমান অবস্থান। যারা ছোটবেলায় গোয়েন্দা গল্প পড়েছেন, তাদের জন্য বিষয়গুলো জানা থাকার কথা। এই যে তথ্য লুকানোর যে ব্যবস্থা নেয়া হল, এটাই ক্রিপ্টোগ্রাফি।

তবে কম্পিউটিং বা তথ্যবিজ্ঞানে (Data Science) এর ব্যবহার অন্যরকম। মূলত কম্পিউটারের নিজের বুদ্ধি নেই। এবং কম্পিউটারের আর্টিফিসিয়াল ইন্টিলিজেন্সও এতটা আগে নি যে, যেকোনো সঙ্কেত থেকে তথ্য বের করতে পারবে। যেটা কেবল মানুষের পক্ষেই সম্ভব। কম্পিউটিংয়ে বিভিন্ন এনক্রিপশন (Encryption) সিস্টেম ব্যবহার করা হয়। এছাড়াও বিভিন্ন হ্যাশিং (Hashing) সিস্টেম তো আছেই।

টার্মিনোলজি

ক্রিপ্টোগ্রাফি বুঝতে কিছু টার্ম (Term) বুঝে নিতে হবে। নাহলে সামনের আলোচনা বুঝবেন না। সেগুলো একটু আলোকপাত করি:

১. প্লেইন টেক্সট (Plain Text): এনক্রিপশনবিহীন মূল যে লেখা তাকেই প্লেইন টেক্সট বলে। এটা সকলেই পড়তে পারে। এই যে আর্টিকলে আমি যা লিখেছি, এগুলো সবই প্লেইন টেক্সট। এগুলো পড়তে আপনাদের জন্য কোন ব্যবস্থা লাগে নি।

২. সাইফার টেক্সট (Ciphertext): এনক্রিপশন করার পর যে অদ্ভুতুড়ে রূপের লেখা পাওয়া যায়, যেটা কিনা সরাসরি পড়া যায় না, তাকেই সাইফার টেক্সট বলে।

৩. এনক্রিপশন (Encryption): প্লেইন টেক্সটকে সাইফার টেক্সট বানানোর পদ্ধতিকে এনক্রিপশন বলা হয়।

৪. ডিক্রিপশন (Decryption): সাইফার টেক্সটকে প্লেইন টেক্সটে রূপান্তর করার পদ্ধতিকে ডিক্রিপশন বলে।

এবার চলে যাই, গুরুত্বপূর্ণ আলোচনায়।

ক্রিপ্টোগ্রাফির কার্যপ্রণালী

ক্রিপ্টোগ্রাফিতে মূলত এক প্রকার অ্যালগরিদমের উপর ভিত্তি করে সাইফার টেক্সট তৈরি করে। এটা মূলত একটি ম্যাথমেটিকাল ফাংশন। এই অ্যালগরিদম তৈরি হয় একটি পাবলিক ও প্রাইভেট কী (Public and Private Key)-এর উপর নির্ভর করে। এই কী (Key) হতে আরে কোন সংখ্যা কিংবা শব্দ। সাধারণত এলোমেলো (Random) সংখ্যা বা শব্দ কিংবা সংখ্যা শব্দের মিশ্রণে কী তৈরি হয়।

কী কি?

কী (Key) অর্থ যে চাবি, তা তো সবাইই জানি। ঘরকে তালাবদ্ধ বা লক (Lock) করে চলে গেলে তাতে ঢুকতে চাবি লাগে। তেমনি ডেটাকে লক করবেন, চাবি না থাকলে খুলবেন কিভাবে? সেজন্য দরকার হয় অ্যালগরিদমিক চাবি বা কী এর।

ধরুন আপনি A কে D, B কে E, C কে F এরকম করে সাইফার টেক্সট বানাবেন। এগুলোকে বলে সিজার সাইফার (Scissor Cypher)। কিন্তু মোট ইংরেজি অক্ষর তো ২৬ টা। আপনার এনক্রিপশনের রাস্তাটাও ছোট। তাহলে ভাবুন, কম্পিউটারের পক্ষে আপনার এই ছোট অ্যালগরিদম ভাঙা কোন ব্যাপার হবে? অবশ্যই না। এক মুহূর্তে আপনার তালা ভেঙে চোর সব ডেটা নিয়ে যাবে 😰

সেজন্যই দরকার শক্তিশালী কিছু। সেজন্য আবির্ভাব ঘটেছে পাবলিক কী ও প্রাইভেট কী-এর মত দরকারি জিনিসপত্র। এক্ষেত্রে দু’টো কী ব্যবহার করা হয়। কেননা ধরুন, আমেরিকা এবং রাশার যুদ্ধ চলছে। আমেরিকানরা তাদের সৈন্যের কাছে কিছু সাইফার টেক্সট পাঠাবে এখন সমস্যা হল, সেগুলোর কী যদি একটা থাকে এবং আমেরিকানরা সেটা সাইফার টেক্সটের সাথে পাঠায় তবে, রাশানরা তো সেই কী পেয়ে গেল সহজেই সাইফার টেক্সট ভেঙে প্লেইন টেস্ট পাবে! তাহলে উপায়?

সেজন্যই দু’টো কী রাখা হয়েছে। প্রথমে সৈন্যরা পাবলিক এবং প্রাইভেট দু’টো কী তৈরি করবে। প্রাইভেট কী রাখবে নিজের কাছে এবং পাবলিক কী পাঠাবে মার্কিন হেড কোয়ার্টারে। মার্কিন হেড কোয়ার্টার থেকে পাবলিক কী দিয়ে প্লেইন টেক্সটকে সাইফার কোডে রূপান্তর করবে এবং সৈন্যদের কাছে পাঠাবে। সৈন্যরা কিন্তু পাবলিক কী দিয়ে ডিক্রিপ্ট করতে পারবে না। ডিক্রিপ্ট হবে শুধুমায়ের প্রাইভেট কী দিয়ে।

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

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

আপনারা যারা আরো জানতে চান তাদের উদ্দেশ্যে বলি। খেয়াল করবেন, প্রতি লেখায়ই আমি ইংরেজি টার্মগুলো ব্র্যাকেটে লিখে দিই। সেগুলো দিয়ে গুগলে সার্চ করলেই পেয়ে যাবেন সব কিছু। আজ এ পর্যন্তই।

একটি উত্তর লিখুন

আপনার মন্তব্য লিখুন দয়া করে!
খানে আপনার নাম লিখুন দয়া করে