মূল বিষয়বস্তু
কম্পিউটার বিজ্ঞান
Course: কম্পিউটার বিজ্ঞান > Unit 2
Lesson 2: সাইফার সমূহXOR এবং ওয়ান-টাইম প্যাড
আমাদের কেন অবশ্যই XOR ব্যবহার করতে হবে?
আমরা যদি ওয়ান-টাইম প্যাডে AND, OR অথবা XOR ব্যবহার করি তাহলে এগুলো কি কোন প্রভাব ফেলবে? উত্তর হল হ্যাঁ এবং কেন প্রভাব ফেলবে তা বোঝা খুবই গুরুত্বপূর্ণ। আগের প্রবন্ধ থেকে মনে করার চেষ্টা কর AND এর ক্ষেত্রে 75% সম্ভাবনা আছে 0 আউটপুট হিসেবে প্রদর্শন করার এবং 25% সম্ভাবনা আছে একটি 1 আউটপুট হিসেবে প্রদর্শন করার। যেখানে OR এর ক্ষেত্রে 25% সম্ভাবনা আছে 0 আউটপুট হিসেবে প্রদর্শন করার এবং 75% সম্ভাবনা আছে 1 আউটপুট হিসেবে প্রদর্শন করার। যেখানে XOR অপারেশনের 50% সম্ভাবনা আছে 0 অথবা 1আউটপুট হিসেবে প্রদর্শন করার।
এখন একটি ছবি এনক্রিপ্ট করার মাধ্যমে AND vs. OR vs. XOR এর বিভিন্ন প্রভাবের উদাহরণ দেখা যাক। চার্লস ব্যাবেজের একটি ছবি এখানে দেওয়া হল:
এই ছবিটির ভিতরে বিভিন্ন রঙের হাজার হাজার ছোট ছোট বর্গ আছে যাকে আমরা পিক্সেল বলে থাকি। এই ছবিতে থাকা প্রতিটি পিক্সেলকে, পূর্বের প্রবন্ধে উল্লেখ করা 24 বিট সিকুয়েন্সে দিয়ে প্রকাশ করা সম্ভব। এটাকে আমরা প্লেইনটেক্সট ছবি (বা বার্তা) বলতে পারি।
প্রথমে চল দেখি কি ঘটছে যখন আমরা চিত্রের ফাইলে থাকা প্রত্যেক বিটের সাথে একটি * দৈব বিটের প্রবাহ AND অপারেশন দিয়ে যুক্ত করি।
AND
খেয়াল করলে দেখা যাচ্ছে যে, এটার বেশিরভাগ মূল বার্তায় এখানে প্রকাশ পাচ্ছে। এটা তখনই হয় যখন র্যান্ডম শিফটে 1 প্রয়োগ করা হয় অথবা যখন প্লেইনটেক্সটটি 0 হয়ে থাকে:
পরবর্তীতে চল দেখি কি ঘটছে যখন আমরা চিত্রের ফাইলে থাকা প্রত্যেক বিটের সাথে একটি দৈব বিটের প্রবাহ OR অপারেশন দিয়ে যুক্ত করি।
OR
খেয়াল করলে দেখা যাচ্ছে যে, এটার বেশিরভাগ মূল বার্তায় এখানে প্রকাশ পাচ্ছে। এটা তখনই হয় যখন র্যান্ডম শিফটে 0 প্রয়োগ করা হয় অথবা যখন প্লেইনটেক্সটটি 1 হয়ে থাকে:
সবশেষে চল দেখি কি ঘটছে যখন আমরা চিত্রের ফাইলে থাকা প্রত্যেক বিটের সাথে একটি * দৈব বিটের প্রবাহ XOR অপারেশন দিয়ে যুক্ত করি।
(ঢোল বাজাও...)
XOR
আরে চার্লস কোথায় গেল?
এখানে খেয়াল করলে দেখা যাচ্ছে যে, প্লেইনটেক্সট ছবিতে শুধুমাত্র 50% প্রকাশ পেয়েছে, যার ফলশ্রুতিতে নয়েজ এ থাকা পিক্সেলগুলো 0 অথবা 1 এর সমান হতে পারে
এই ইমেজটিতে, আসল ইমেজটির কোন তথ্যই নেই। আমরা যদি এই শিফট ক্রমটি প্রয়োগ না করি, তাহলে বিপরীতক্রমে আসল ইমেজে ফিরে যাওয়াটা অসম্ভব হয়ে পড়বে। তুমি সম্ভাব্য সকল ক্রমগুলোই চেষ্টা করে দেখতে পার কিন্তু এর ফলাফলটি যেকোনো ইমেজে তৈরি করে ফেলতে পারে! তাহলে তুমি কীভাবে জানবে যে এটা ব্যাবেজ ছিল? এটা তোমার ছবি হতে পারে কিংবা তোমার চিন্তা করা যেকোনো ছবি হতে পারে।
এখানে খেয়াল করলে দেখা যাচ্ছে যে, প্লেইনটেক্সট ছবিতে শুধুমাত্র 50% প্রকাশ পেয়েছে, যার ফলশ্রুতিতে নয়েজ এ থাকা পিক্সেলগুলো 0 অথবা 1 এর সমান হতে পারে
এই ইমেজটিতে, আসল ইমেজটির কোন তথ্যই নেই। আমরা যদি এই শিফট ক্রমটি প্রয়োগ না করি, তাহলে বিপরীতক্রমে আসল ইমেজে ফিরে যাওয়াটা অসম্ভব হয়ে পড়বে। তুমি সম্ভাব্য সকল ক্রমগুলোই চেষ্টা করে দেখতে পার কিন্তু এর ফলাফলটি যেকোনো ইমেজে তৈরি করে ফেলতে পারে! তাহলে তুমি কীভাবে জানবে যে এটা ব্যাবেজ ছিল? এটা তোমার ছবি হতে পারে কিংবা তোমার চিন্তা করা যেকোনো ছবি হতে পারে।
এটা মজার তাই না? প্রতিবার এটা দেখলেই আমার হাসি পাচ্ছে!
পরবর্তীতে আমরা XOR, OR এবং AND অপারেটরগুলো ব্যবহার করব এবং ব্যবহার করার সময় মজার মজার আরও অনেক বৈশিষ্ট্য খুঁজে বের করব।
আলোচনায় অংশ নিতে চাও?
কোন আলাপচারিতা নেই।