
ধরা যাক,প্রেম করছ তুমি। ধরা
পরে গেলে তো!!! বাসা থেকে তখন
প্রেমিকের সাথে যোগাযোগের উপায় বন্ধ করে দিলো। কিন্তু তুমি তোমার প্রেমিক কে শেষবারের মতো একটি
জরুরী চিঠি পাঠাতে চাও । বার্তাবাহক হিসেবে রাখলে কোনও বিশ্বস্ত বন্ধুকে। কিন্তু তুমি তার উপর ভরসা পাচ্ছ না, যদি সে
তোমার বার্তাটি তোমার বাসার কাউকে দেখিয়ে ফেলে ? তাই তুমি
তোমার চিঠিতে লিখলে-
"Nffu Jo Tdippm bu uif
Bgufsoppo"
যেহেতু তোমার প্রেমিকের সাথে তোমার গভীর ভাব/ভালোবাসা আছে,তাই সে তোমার এই বার্তাটার
অর্থ উদ্ধার করতে পারবে। এতে বার্তা বাহক যদি বার্তাটি পড়েও ফেলে অথবা তোমার বাসাতেও দেখায়,তারপরেও তোমার গোপন চিঠিটির
অর্থ বুঝতে পারবে না কেউ। এই যে
তুমি তোমার নিরাপত্তার জন্যে বার্তাটিকে অন্য একটি রুপ দিলে, প্রুযুক্তির ভাষায় একেই ক্রিপ্টোলজি
অথবা ক্রিপ্টোগ্রাফি বলা হয়।
আর আমরা যদি বই এর ভাষায়
সংজ্ঞায়িত করতে চাই,তাহলে, ক্রিপ্টোগ্রাফি বা ক্রিপ্টোলজি হল বিরোধীদলের
তৃতীয় পক্ষের উপস্থিতিতে সুরক্ষিত যোগাযোগের জন্য কৌশলগুলির অনুশীলন এবং অধ্যয়ন।
এখন তোমার প্রেমিক অনেক চিন্তা ভাবনা বা অনেক প্যাটার্ন
মিলানোর পরে তোমার বার্তাটার অর্থ বুঝতে পারবে। সে তোমার চিঠির প্রতিটা ইংরেজি বর্ণের পূর্ববর্তী বর্ণ লিখে ফেললো, তাহলে তোমার মেসেজটা হবে-
“Meet in School at the Afternoon.”
এই আসল বার্তা "Meet in school at the afternoon."
এখানে কোনও গোপনীয়তা নেই। সরাসরি অর্থটি বুঝা যায়,একে বলা
হয় প্লেইন টেক্সট বা ক্লিয়ার টেক্সট। আর তুমি গোপনীয়তার কারনে টেক্টটি "Nffu Jo Tdippm Bu uif Bgufsoppo"
এ রুপান্তর করলে। এই বার্তাটিকে বলা হয় সাইফার টেক্সট।
এইযে তুমি বার্তাটির প্রতিটি ইংরেজি বর্ণের পূর্ববর্তী বর্ণ লিখে ফেললো, এখানে এই প্রক্রিয়াটিকেই বলে এনক্রিপশন।
তাহলে সাহিত্য বা বই এর ভাষায়
আমরা এনক্রিপশনের সংজ্ঞায়ন করতে পারি এভাবে-
এনক্রিপশন হল কোনও বার্তা বা তথ্যকে এমনভাবে রুপান্তরিত করার প্রক্রিয়া
যাতে কেবল অনুমোদিত পক্ষগুলি এটিকে উপলব্ধি করতে পারে এবং যারা অনুমোদিত নয় তারা তা করতে পারে
না। এনক্রিপশন নিজেই হস্তক্ষেপ রোধ করে না তবে আটক কারীর
কাছে বিষয়বস্তু অস্বীকার করে।
তাহলে আমরা বলতে পারি তুমি যে চিঠিটা অন্য রুপান্তর
করলে এটা এনক্রিপশন বলে, আর তোমার
প্রেমিক চিঠির অর্থ উদ্ধার করলো একে বলা হয়া ডিক্রিপশন।
এখন তোমার প্রেমিক চিঠিটির উত্তর দিবে,এবং তাকেও
তোমার মতো গোপনীয় রাখতে হবে,সে তোমাকে
বার্তা পাঠালো
"nj cdza"
তুমি প্রথমে চিঠিটির উত্তর বুঝতে না পারলেও কিছুক্ষন পর ঠিকই ধরতে পারবে ।
তুমি বাক্যটির প্রতিটি বর্ণকে তার
পরবর্তী বর্ণানুসারে সাজালে দাঁড়াবে-
"Ok Dear"
তোমার প্রেমিক তো পারতো তোমার এনক্রিপশন পদ্ধতি ব্যবহার করে চিঠিদিতে,কিন্তু সে দেয়নি?
কারন,সেও যদি এই পদ্ধতি ব্যবহার করে চিঠি
দিতো,তাহলে তোমার বন্ধুটি হয়তো তোমাদের
চিঠিটির প্যাটার্নটি ধরে ফেলতে পারতো। তাই সে তার এনক্রিপশন
পদ্ধতি পরিবর্তন করে ফেলেছে।
এখানে তুমি কিন্তু তোমার চিঠির প্রতিটি বাক্যকে তার পরবর্তী এলফাবেট এ পরবির্তন করেছো,তাহলে আমরা যদি বলি তুমি একটা ভ্যারিয়েবল নিয়েছো, যার সাহায্যে তোমার সম্পুর্ণ বার্তাটির প্রতিটি অংশকে অন্য একটি অংশে ডিক্রেপশন করেছে, এই ভ্যারিয়েবলকে
আমরা এনক্রিপশনে বা ক্রিপটোগ্রাফিতে Key বলি।
তাহলে আমরা দেখলাম,
তোমাদের দুজনের চিঠির এনক্রিপশন Key টি আলাদা।
ক্রিপ্টোলজিতে মুলত এমনটাই হয়ে থাকে, আমরা বিভিন্ন
পদ্ধতির সাহায্যে আমাদের বার্তাটি রুপান্তর করতে পারি। এমনো হতে পারো তোমার প্রেমিক খু্ব গণিতপ্রিয়,তুমি তাকে
মুগ্ধ করতে চাও,তাই তুমি
তোমার বার্তাটির Alphabet গুলোকে বাইনারী নাম্বারে প্রকাশ করে ফেললে,আর সে
ডিক্রেপশন করে তোমার মেসেজটা পড়ে ফেললো।
এরকম আরো অনেক পদ্ধতি অবলম্বন করা হয়ে থাকে ডাটা এনক্রিপশনে।
তাহলে,ক্রিপটোগ্রাফিতে, Key হচ্ছে একটা তথ্যের
অংশ যা প্লেন টেক্সটের ফাংশনাল আউটপুট নির্দেশ করবে। Key(Cryptographic
key) এর দুটি অংশ হচ্ছে প্রাইভেট কী(private key) এবং পাবলিক কী(public key).
Private key(Symmetric Key) তে,একটাই
key থাকে, যে key এর সাহায্যে
তুমি প্লেইন টেক্সট কে সাইফার, আবার
সেই key এর সাহায্যেই
সাইফার টেক্সটে পরিবর্তন করতে পারবে,যেমনটা তোমার প্রেমিককে বার্তা পাঠাতে ব্যবহার করলে।
আর public key(asymmetric
key) তে দুই ধরনের key
ব্যবহৃত হয়,প্রথম
key টি তোমার প্লেনার টেক্সটিকে সাইফার টেক্সটে রুপান্তর করবে,আর অন্য
একটি key তোমার সাইফার টেক্সটিকে ডিক্রেট করবে।
এই ক্রিপটোলজির ব্যবহার যে শুধুপ্রেম ভালোবাসা পর্যন্ত সীমাবদ্ধ, তা
কিন্তু নয়,এর ব্যবহার
বহুকাল আগেই থেকেই রয়েছে, প্রাচীন যুগে যুদ্ধ বা যুদ্ধের পরিকল্পনার সময় যোদ্ধারা
এভাবে তাদের বার্তা এনক্রিপশন করে নিতো এবং শত্রুদের কাছে বাতার্টি ধরা পড়লেও তারা অর্থ উদ্ধার করতে না। আমাদের দৈনন্দিন জীবনের অনেকক্ষত্রেই কিন্তু ক্রিপ্টোলজির ব্যবহার আছে।
আমাদের বোর্ড পরীক্ষার প্রশ্ন ফাস হচ্ছে,প্রশ্ন মেসেন্জারে ফাস না
হয়ে whatsapp এ হচ্ছে কেনো? আমরা কি লক্ষ্য করেছি?
কারন Whatsapp এ
আমাদের তথ্য নিরাপদ থাকে, whatsapp এর কনভারসশেন শুরুর আগে উপরের
মেসেজটা হয়ত সবাই লক্ষ্য করেছি,
Messages to this chat and
calls are now secured with end-to-end encryption.
এই এনক্রিপশনে শুধুমাত্র তথ্য(ডেটা)
এনক্রিপ্ট থাকবে,শিরোনাম বা রাউটিং
সম্পর্কিত কোনো তথ্য এনক্রিপ্ট করা হয় না।
End-to-End Encryption নিশ্চিত করে যে প্রেরিত বার্তাটি কেবলমাত্র উদ্দেশ্যপ্রাপ্ত প্রাপকের কাছে যাবে,এবং
তৃতীয় পক্ষ তথ্যটি আক্রমন করতে পারবে না। Whatsapp এ end-to-end
encryption,Asymmetric Cryptography এর মাধ্যমে বাস্তবায়ন করা হয়। Aysmmetric Cryptography তে
একটি Key( কী)
ডাটা এনক্রিপ করে আরো অন্য key (কী)
ডিক্রিট করে।
ধরা যাক প্রথম ক্লায়েন্ট, দ্বিতীয় ক্লায়েন্টকে মেসেজ পাঠালো,whatsapp সার্ভার
থেকে দ্বিতীয় ক্লাইন্ট এর Key
উদ্ধার করা হবে,এবং এই Key বার্তাটিকে এনক্রিট করে দ্বিতীয় ক্লায়েন্ট এর কাছে পাঠাবে।
আর দ্বিতীয় ক্লায়েন্ট অন্য আরেকটি Key এর সাহায্যে
বার্তাটি ডিক্রিপ্ট করে পড়বে।
বিশ্ব এখন প্রযুক্তিগতভাবে জুড়ে আছে,কোন ডকুমেন্ট
হাতে করে এক স্থান থেকে অন্য
স্থান বহন করা অনেক সময় সাপেক্ষও ব্যাপার, তারউপর যদি ডকুমেন্টে সিগনাচারের
কোনও কাজ থাকে। কিন্তু প্রযুক্তির যুগে আমরা অবশ্যই ডিজিটাল সিগনাচারের সাহায্য আমরা আমাদের সময় ক্ষেপন করতে পারি।অথবা ধরা যাক লেনদেনের ক্ষেত্রে দুই পক্ষ একে অপরকে বিশ্বাস নাও করতে পারে,সেক্ষত্রে ডিজিটাল সিগনেচার আমাদের সত্যতা নিশ্চিত করবে।
এই ডিজিটাল সিগনেচার একটা পাবলিক কী এনক্রিপশন, আমি
যদি আমার বন্ধুকে "ডিজিটাল সিগনেচার" স্বাক্ষরিত তথ্য পাঠাতে চাই,সেক্ষত্রে আমাদের দুই ক্লায়েন্টের
কাছে পাবলিক-প্রাইভেট কে থাকবে
এবং একটি এনক্রিপশন এলগরিদম থাকেবে.।
আপনি যখন "ডিজিটাল সিগনাচার" এর মাধ্যমে সাইন করবেন, ডিজিটাল ফিঙ্গারপ্রিন্টটি (হ্যাশ ফাংশন)
একটি গাণিতীক এলগরিদম তৈরি করবে। যে ব্যক্তিটি "ডিজিটাল
সিগনেচার" এর সাহায্যে স্বাক্ষর করে,সে তার নিজস্ব "Private Key" এর সাহায্যে সিগনেচার এনক্রিপ্ট করবে। আর এই সিগনেচারটি
শুধুমাত্র "Public Key" ডিক্রিপ্ট করবে। এই হ্যাশ ফাংশন ডকুমেন্টে নির্দিষ্ট থাকবে,সামান্যতম হ্যাশ ফাংশনের পরিবর্তনও ডকুমেন্টে প্রভাব ফেলবে। অর্থাৎ ডিজিটাল সিগনেচারও আমাদের ক্রিপ্টোগ্রাফির একটি অংশ।
এবার ক্রিপটোলজির ব্যবহার জানবো ইন্টারনেটে সিকিউরিটি সম্পর্কে। HTTP(Hypertext transfer protocol) একটি পরিচিত প্রটোকল। এই প্রটোকলের উদ্দেশ্য হলো ওয়েব
ব্রাউজার এবং সার্ভারগুলির একে অপরের সাথে যোগাযাগের জন্যে উপায় সরবারহ করা। এই প্রটোকলটির সাহায্যে যেকোন ধরনের ফাইল আদানপ্রদান করা যেতে পারে,আর এরপর http
সার্ভার ক্লায়েন্টিকে ভুলে যায়,তাই একে
stateless ও বলা হয়।
দৈনন্দিনের লেনদেন আমরা আমাদের শপিং বা অন্যান্য বিল অনলাইনে
পেমেন্ট করে থাকি, যারফলে ক্রেডিটকার্ড বা ব্যাংক
একাউন্ট অনলাইনে সেন্ড(send) হয়ে থাকে। আর এসব গুরুত্বপূর্ণ
তথ্য(ডেটা)
অন্য কেউ চুরি করতে পারে,তাই ক্লায়েন্ট
এবং সার্ভারের যোগাযোগ নিশ্চিতে তথ্য নিরাপদ রাখা উচিত।
SSL(Secure Sockets Layer) হচ্ছে এমন একটি প্রযুক্তি/প্রটোকল যার সাহায্যে
এইরকম ইন্টারনেট কানেকশনকের মাধ্যমে কোনও সেনসেটিভ তথ্য(ডেটা)কে নিরাপদ রাখতে পারে,যে তথ্য
দুটি সিস্টেমের মধ্যে আদান প্রদান হবে,যেমন সার্ভার
টু সার্ভার হতে পারে অথবা সার্ভার টু ক্লায়েন্ট হতে পারে। আর
এই SSL হচ্ছে ক্রিপটোলজির ব্যবহারিক প্রয়োগ। SSL এ এনক্রিপশনের
"Symmetric session key" ব্যবহার
করা হয়,এখানে
Session Key হচ্ছে Symmetric Key এর একাকালীন(one-time) ব্যবহার।
এছাড়াও আমাদের দৈনন্দিন জীবনে ক্রিপটোগ্রাফির ব্যবহার রয়েছে, যেমন এটিএম
থেকে টাকা উত্তোলন, গুপ্তচর, সামরিক
নেতাদের যোগাযোগ, কূটনীতিকদের মাধ্যমে যোগাযোগ ব্যবস্থা, মিশরীয়
হায়ারোগ্লাইফস, গ্রিসের স্পার্টনদের দ্বারা ব্যবহৃত সাইফার, মোমযুক্ত
মোহর ইত্যাদিতে।
লেখক
জান্নাতুন্নাহের তুলি
কম্পিউটার সায়েন্স এন্ড ইঞ্জিনিয়ারিং(সি এস ই)
বেগম রোকেয়া বিশ্ববিদ্যালয়, রংপুর
তথ্য ও যোগাযোগ বিষয়ক সম্পাদক, ব্যাসেট
0 মন্তব্যসমূহ