নির্বাচিত পোস্ট | লগইন | রেজিস্ট্রেশন করুন | রিফ্রেস

মহা হতাশ আমি মহা উন্মাদ

অর্থহীন চিন্তাবিদ

অর্থহীন চিন্তাবিদ › বিস্তারিত পোস্টঃ

ক্রিপ্টোলজিঃ গোপন সংকেতের রহস্য পর্বঃ ০২

২১ শে ডিসেম্বর, ২০১৬ সন্ধ্যা ৭:৫২

গত পর্বে আমরা তিনটা পদ্ধতি নিয়ে খেলাধুলা করেছি। চলুন এবার আরো কয়েকটা পদ্ধতি নিয়ে খেলা যাক...
১. Caesar Shift Cipher:
প্রায় দুইহাজার বছর আগের কথা। জুলিয়াস সিজার একের পর এক রাজ্য জয় করতে লাগলেন! মেতে আছেন বিশ্বজয়ের নেশায়! তার শক্তিশালী বাহিনীর কাছে পাত্তাই পাচ্ছে না কেউ! কিন্তু মারা যাচ্ছে তার অনেক সৈনিক। সেদিকে তার কোন ভ্রুক্ষেপ নেই!
কিন্তু একসময় জুলিয়াস সিজার বুঝতে পারলেন- তার এই বিশ্বজয়ের কাজটি যাতে আরো নিখুঁতভাবে পরিচালনা করা যায়, যাতে শত্রুপক্ষের লোকেরা তার রণকৌশল সম্পর্কে কিছুই বুঝতে না পারে সেজন্য তার আসলে নতুন কোনো পদ্ধতি উদ্ভাবন করা দরকার। যেমন চিন্তা তেমন কাজ। আর তার এই ‘কাজ’ থেকে জন্ম নিলো ‘সিজার শিফট সাইফার’।
জুলিয়াস সিজার কিন্তু এখানে খুব সুন্দর এক কৌশল ব্যবহার করেছিলেন।
ধরা যাক, তিনি যে মেসেজটি লিখবেন তার প্রথম অক্ষর A। তো সিজার এখানে A না লিখে বরং A এর থেকে তিন ঘর দূরে অবস্থিত D লিখলেন। সহজ কথায়, A কে D দিয়ে প্রতিস্থাপন করলেন। একইভাবে B এর জায়গায় E, C এর জায়গায় F এবং এভাবে বাকি অক্ষরগুলোকেও প্রতিস্থাপন করলেন।
এখন প্রশ্ন আসতে পারে, “তাহলে X, Y আর Z কে কিভাবে প্রতিস্থাপন করা হলো? এরা তো একেবারে শেষের তিন বর্ণ”!
চলুন তাহলে উত্তর টা দেখে নেই।
এদের জন্য বর্ণমালার বিন্যাস্টাকে সরলরৈখিক না ধরে বৃত্তাকারে ধরলে কেমন হয়? বুঝা গেল নাতো? চলুন বুঝা যাক।
আমরা জানি ইংরেজীতে বর্ণগুলো A থেকে শুরু হয়ে Z এ গিয়ে শেষ হচ্ছে। এটাকে আমি বললাম সরলরৈখিক বিন্যাস। কিন্তু যদি আমরা মনে করি যে Z-ই শেষ নয়, বরং এর পর আবার ফিরে আসছে A,
তাহলে সেটিকেই আমি বলেছি বৃত্তাকার বিন্যাস।
আরেকটা বিষয় হল, এখানে সিজার বর্ণমালার শিফট ধরেছিলেন ৩। আপনি চাইলে আপনার ইচ্ছেমত শিফট ধরে নিতে পারবেন, মানে ১ থেকে শুরু করে বর্ণমালার সংখ্যা পর্যন্ত!
এবার দেখা যাক এনক্রিপশন- ডিক্রিপশনঃ
এনক্রিপট করার জন্য প্রথমেই ঠিক করে নিতে তার শিফট কত হবে। এরপর
শিফট সংখ্যা অনুযায়ী বর্ণ গুলোকে ঘাড় ধাক্কা দিয়ে জায়গামত বসিয়ে দিবেন। নিচে সিজার এর এনক্রিপশন এর চিত্র টা দেয়া হইলঃ

এবার আসুন, ডিক্রিপশনে। এতো আরো সহজ। বলা যায় পানির মত! যদিও জানিনা পানি সহজ কিনা। :p
ডিক্রিপশন মানে তো হল এনক্রিপ্ট করা মেসেজকে উদ্ধার করবেন! মানে খুব সহজ এনক্রিপশন এর সম্পূর্ণ বিপরীত। যা গত সংখ্যায় করেছিলাম! চলুন একটি ছবি দেখি।
এবার আসা যাক এই ‘শিফট সাইফার’
সিস্টেমকে কীভাবে গাণিতিকভাবে প্রকাশ করা যায় তার কথায়।
প্রথমেই আলোচনা করছি এনক্রিপশন নিয়ে।
এজন্য আমরা ধরে নিচ্ছি A=0, B=1, C=2… এভাবে Z=25। তাহলে শিফট সাইফার এর ফাংশন E(x) কে আমরা নিম্নরূপে প্রকাশ করতে পারি যেখানে x হলো আমরা যে বর্ণকে এনক্রিপ্ট করছি তার নাম্বার (যেমন A হলে 0):
E(x) = (x+k)(mod 26)
এখানে ‘k’ হলো তার ‘Key’ বা ‘Shift’। উপরের সমীকরণ থেকে যে মান পাওয়া যাবে তাকে আবার বর্ণে রুপান্তরিত করলেই আমরা আমাদের কাঙ্ক্ষিত বর্ণের এনক্রিপ্টেড রূপটি পেয়ে যাবো।
একইভাবে ডিক্রিপশনের জন্য ফাংশনটি হলোঃ
E(x) = (x-k)(mod 26)
চেষ্টা করুন নিজে নিজে কোডিং করে সমাধান করার।
২.MixedAlphabet Cipher
Mixed Alphabet Cipher প্রকৃতপক্ষে Monoalphabetic Substitution Cipher গোত্রেরই আরেক সদস্য। তাই এতক্ষণ ধরে আমরা যেসব সাইফার সিস্টেম নিয়ে আলোচনা করলাম তাদের সাথে এর বেশ মিল আছে, অমিল আছে খালি একটি জায়গায়। আর সেটি হলো- এখানে কোনো নাম্বারকে Key হিসেবে ব্যবহার করা হয় না; বরং এখানে থাকে Keyword অথবা Keyphrase।
এই পদ্ধতিতে বর্ণমালার উপর কোন গাণিতিক মারামারি করা হয় না! অর্থাৎ সিজার শিফট এর মত ওরকম কোন শিফট বিষয়ক ঝামেলা নেই। এখানে বর্ণমালাকে ইচ্ছেমত সাজাবেন। শুধু খেয়াল রাখবেন একটা বর্ণ যেন দুইবার না হয়, তাহলে কিন্তু জগাখিচুড়ী পাকিয়ে ফেলবেন। ইচ্ছেমত বলতে বুঝেন নাই তো? নিচের ছবি দেখেন,

এখানেও কিন্তু একটি ঝামেলা থেকেই যাচ্ছে। আর তা হলো, এখন প্রেরক এবং প্রাপক দু’জনকেই বর্ণমালার এর Random Order মাথায় রাখতে হবে, না রাখলেই মেসেজের আয়ু শেষ! আয়ু শেষ না হওয়ার জন্য নিচের "সূত্রটি" প্রয়োগ করলেই হবে।
“যেকোনো বর্ণের পুনরাবৃত্তি পরিহার করে প্রথমে Keyword টি লেখা হয়, তারপর Keyword-এ যেই বর্ণগুলো ছিলো সেগুলো বাদ দিয়ে অন্যগুলো ক্রমান্বয়ে লিখে যাওয়া হয় ”।
‘MONOALPHABETIC’-কে আমাদের Keyword ধরে নিচের উদাহরণটি একটু খেয়াল করুন, তাহলেই সব স্পষ্ট হয়ে যাবেঃ

আমরা দেখতে পাচ্ছি, ‘d’-তে গিয়ে যেখানে আবার ‘O’ আসার কথা সেখানে পুনরাবৃত্তি বাদ দিয়ে পরবর্তী বর্ণ A ব্যবহার করা হয়েছে। এভাবে আমাদের Keyword শেষ হয়েছে ‘l’ এ গিয়ে। তারপর অবশিষ্ট বর্ণগুলো ক্রমান্বয়ে লিখে যাওয়া হয়েছে।
আবারো ঝামেলা হয়ে গেলো! খেয়াল করে দেখুন, একেবারে শেষের দিকে U থেকে শুরু করে Z পর্যন্ত কোনো পরিবর্তনই হয়নি। এই ঝামেলা এড়ানোর জন্য মূল Keyword –এ শেষের দিকের কিছুবর্ণ রাখার পরামর্শও দেয়া হয়।
আর ডিক্রিপশন? আগের মতই এনক্রিপশন এর বিপরীত!
এই Mixed Alphabet ciphar এর Key আসলে কতগুলো হতে পারে? এখানেই এসে যাচ্ছে গণিত তার সৌন্দর্য নিয়ে, যেখানে সে রেখেছে ‘ফ্যাক্টোরিয়াল’ নামক অসাধারণ এক উপাদান।
26! = 403,291,461,126,605,635,584,000,000

হিসেব করে দেখা যায়, বর্তমান পৃথিবীতে যত মানুষ আছে তারা প্রত্যেকে যদি প্রতি সেকেন্ডে একটি করেও Key-ও প্রয়োগ করে তাহলে সময় লেগে যাবে প্রায় 1,598,536,03 বছর!!!
এটা কিন্তু শুধুমাত্র ইংরেজী ভাষায় ব্যবহৃত বর্ণমালার জন্য। অন্য ভাষার জন্য সেই ভাষার মোট বর্ণ সংখ্যার ফ্যাক্টোরিয়াল বের করলেই হবে।
এখানেই শেষ এই পর্বের। নিজে নিজে করে ফেলুন কোডিং। একটু রহস্য করতেই তো পারেন ক্রিপ্টোলজি নিয়ে।
(বিঃদ্রঃ তথ্যসূত্র শেষ পর্বে)

মন্তব্য ২ টি রেটিং +০/-০

মন্তব্য (২) মন্তব্য লিখুন

১| ২১ শে ডিসেম্বর, ২০১৬ রাত ৮:১২

দিমিত্রি বলেছেন: Dan Brown এর Digital Fortress পড়ার পর ক্রিপ্টোগ্রাফি সম্পর্কে আগ্রহী হয়েছিলাম। এক বন্ধুর সাথে মিলে দুজনে নিজেদের মত করে একটা এনক্রিপশন রুল বানিয়েছিলাম, আমাদের ভেতর এনক্রিপ্টেড ইমেইল চালাচালি হতো B-)

২৪ শে ডিসেম্বর, ২০১৬ বিকাল ৩:২০

অর্থহীন চিন্তাবিদ বলেছেন: চলুন আমরাও খেলাধুলা করি,

আপনার মন্তব্য লিখুনঃ

মন্তব্য করতে লগ ইন করুন

আলোচিত ব্লগ


full version

©somewhere in net ltd.