প্রযুক্তি

এনক্রিপশনঃ ক্ল্যাসিক এনক্রিপশন – পর্ব ১

এনক্রিপশন

এনক্রিপশন হচ্ছে ক্রিপ্টোগ্রাফির একটি অংশ। এনক্রিপশনে কোন একটি মেসেজ এমনভাবে পাঠানো হয় যেটা একমাত্র যিনি যার কাছে পাঠাচ্ছেন সেই বুঝতে পারে। মেসেজটাকে প্লেইন টেক্সট বলা হয়। এরপর কোন একটি পদ্ধতি/অ্যালগোরিদম ব্যবহার করে সেটাকে সাইফারে রূপান্তর করা হয়। কোন গোপন ম্যাসেজ পাঠানোর কাজে এনক্রিপশন ব্যবহার করা হয়। আমরা যে পাসওয়ার্ড ব্যবহার করি সেটিও কিন্তু একধরণের এনক্রিপশন। তবে এগুলো আধুনিক যুগের এনক্রিপশন। আজকে আমি মধ্যজুগের এনক্রিপশন ব্যবস্থা গুলো নিয়ে আলোচনা করব। আজকের আলোচনায় থাকছে ১. সিজার সাইফার এবং ২. ভিজিনেয়ার সাইফার।

সিজার সাইফার

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

সিজার সাইফার এনক্রিপশনের সময় যেকোন একটি রাইট শিফট নম্বর বা লেফট শিফট নম্বর ধরে নেয়া হয়। আমি রাইট শিফট ২ ধরলাম। তাহলে আমি যদি “A” লিখি তাহলে এর সাইফার হবে “C”. অর্থাৎ ডানদিকে দুই নম্বরে যে অক্ষরটি আছে সেটি হবে। লেফট শিফট এর ক্ষেত্রেও তাই। লেফটি শিফট ২ ধরলে “A” এর সাইফার হবে “Y”. এবার তাহলে লেফট শিফট ৩ ধরে একটি শব্দ লেখা যাকঃ
Plain Text: Blog
Cipher Text: YILD

হঠাৎ করে যদি YILD দেখেন তাহলে বুঝে ওঠা কঠিনই হবে মূল শব্দটা কি। আপনাকে যদি YILD ডিক্রিপ্ট করতে দেয়া হয় তাহলে আপনার জানা থাকতে হবে কত শিফট ব্যবহার করা হয়েছে। যদি লেফট শিফট ৩ ব্যবহার করে এনক্রিপ্ট করে সাইফার করা হয় তাহলে রাইট শিফট ৩ ব্যবহার করে ডিসাইফার করতে হবে। তবে যদি জানা নাও থাকে তাহলেও কোন সমস্যা নেই। মাত্র ২৫ টা সম্ভাবনা রয়েছে Blog থেকে YILD আসার। অর্থাৎ Blog কে ২৫ ভাবে সাজালে এর কোন একটায় YILD অবশ্যই পাবেন।

এবার গণিতের ভাষায় আসা যাক। সিজার সাইফারকে গাণিতিক ভাবে প্রকাশ করলে এনক্রিপশনের সমীকরণটা হবে এরকমঃ
Ec(x) = (x + n)  (mod 26)

এখানে x হচ্ছে সেই অক্ষরটা যেটাকে এনক্রিপ্ট করা হবে। এবং n হচ্ছে কত শিফট হবে সেই সংখ্যাটা। যেমনঃ ১,২,৩। ডিক্রিপশনের পদ্ধতিটাও অনেকটা একইরকম।

Dc(x) = (x – n)  (mod 26)
এরপরেই মডিউলার ব্যবহার করা হয়েছে। অর্থাৎ অক্ষরগুলি যদি শেষ পর্যায়ে চলে যায় তাহলে আবার শুরু থেকে শুরু হবে।
যোগাযোগের জন্য এটি নিরাপদ না হলেও বর্তমানে প্রোগ্রামিং ও ক্রিপ্টোনালাইসিস এর কাজে সিজার সাইফার ব্যবহার করা হচ্ছে।
আশা করি বুঝাতে পেরেছি সিজার সাইফার কি। তাহলে আপনাদের একটা সিজার সাইফার দেই। কমেন্ট বক্সে সাইফারের উত্তর দিন।
Cipher Text: jssxtvmrx
Plain Text: ?
ভিজিনেয়ার সাইফার

১৬র শতকে গনিতবিদ Blaise de Vigenère এই সাইফারটি আবিষ্কার করেন।  ভিজিনেয়ার সাইফার কিছুটা সিজার সাইফারের মতই। তবে আরো অনেক জটিল। প্রায় তিন শতাব্দী ধরে ভিজিনেয়ার সাইফার কিভাবে কাজ করে সেটা কেউ বের করতে পারে নি। ভিজিনেয়ার সাইফারটি জটিল হলেও কম্পিউটারে সফটওয়্যার দ্বারা ব্রুট ফোর্স অ্যাটাক এর মাধ্যমে ভেঙ্গে ফেলা সম্ভব।

ভিজিনেয়ার সাইফারে যে মেসেজটি এনক্রিপ্ট করে পাঠানো হবে সেটির পরিবর্তে অন্য একটি শব্দ বা কী ব্যবহার করা হয়। এরপর মূল মেসেজ এবং কী থেকে ভিজিনেয়ার টেবিল থেকে মিলিয়ে সাইফার টেক্সটটি বের করা হয়। আমি নিচে ভিজিনেয়ার টেবিল এর ছবি দিয়ে দিচ্ছি।

ধরি, আমি COASTISCLEAR এই লেখাটি ভিজিনেয়ার সাইফার করে পাঠাব। তাহলে আমাকে একটি কি-ওয়ার্ড ব্যবহার করতে হবে COASTISCLEAR এর পরিবর্তে। এই কি ওয়ার্ড এর আকার অবশ্যই COASTISCLEAR এর চেয়ে ছোট হতে হবে। আমি তাহলে Forest এই কিওয়ার্ড টি ধরে নিলাম। তাহলে কি টেক্সটটি হবেঃ FORESTFOREST. খেয়াল করে দেখুন, প্লেইন টেক্সট এবং কি টেক্সট উভয় তেই সমান সংখ্যক অক্ষর রয়েছে। এখন ভিজিনেয়ার টেবিল এর সাথে মিলিয়ে সাইফার টেক্সট টি পাওয়া যাবে। কিওয়ার্ড এর প্রথম অক্ষর F এবং প্লেইন টেক্সট এর প্রথম অক্ষর C নেই। ভিজিনেয়ার টেবিল এর F রো এর C কলাম হতে H অক্ষর পাওয়া যাবে। বাকি অক্ষরগুলোও একই ভাবে সাইফার করতে হবে।

Plain Text: COASTISCLEAR

Key Text: FORESTFOREST

Cipher Text: HCRWLBXQCISK

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

বীজগাণিতিক আকারে ভিজিনেয়ার সাইফারকে এভাবে প্রকাশ করা যায়,
এনক্রিপশনের ক্ষেত্রে, Ec (Mi)= (Mi + Ki) mod26

ডিক্রিপশনের ক্ষেত্রে, Dc (Ci)= (Ci – Ki) mod26

আশা করি বুঝাতে পেরেছি। আমি আপনাদের একটি সাইফার দিচ্ছি। সাইফার টেক্সট টি বের করে ফেলুন। উত্তর টি কমেন্ট বক্সে জানান।

Plain Text: BUYADOG

Key Text: TEALTEA
Cipher Text:?

পরবর্তী পর্বে আরো দুইটি আর্টিকেল নিয়ে কথা বলব। এই আর্টিকেলটি ভালো লেগে থাকলে শেয়ার দিন এবং কমেন্ট করুন। ভালো থাকুন। ধন্যবাদ।

Reference: https://en.wikipedia.org/wiki/Caesar_cipher
https://en.wikipedia.org/wiki/Vigenère_cipher

একই রকম আরো কিছু ফুটপ্রিন্ট

অবশেষে সমাধান মিলেছে কঠিন ভাইরাসের ! ! !

Ashraful Kabir

আপনি ফেসবুক ব্যবহারে সতর্ক হবেন কেন?

Ashraful Kabir

পৃথিবীর সেরা ১০টি দৃষ্টিনন্দন ফ্লাইওভার

MP Comrade

2 comments


Warning: trim() expects parameter 1 to be string, object given in /nfs/c12/h08/mnt/215533/domains/footprint.press/html/wp-includes/class-wp-user.php on line 208

Warning: trim() expects parameter 1 to be string, object given in /nfs/c12/h08/mnt/215533/domains/footprint.press/html/wp-includes/class-wp-user.php on line 208

Warning: trim() expects parameter 1 to be string, object given in /nfs/c12/h08/mnt/215533/domains/footprint.press/html/wp-includes/class-wp-user.php on line 208

Warning: trim() expects parameter 1 to be string, object given in /nfs/c12/h08/mnt/215533/domains/footprint.press/html/wp-includes/class-wp-user.php on line 208
Mohammad Johirul Islam June 28, 2017 at 9:06 pm

aita koto tuku sotto


Warning: trim() expects parameter 1 to be string, object given in /nfs/c12/h08/mnt/215533/domains/footprint.press/html/wp-includes/class-wp-user.php on line 208

Warning: trim() expects parameter 1 to be string, object given in /nfs/c12/h08/mnt/215533/domains/footprint.press/html/wp-includes/class-wp-user.php on line 208

Warning: trim() expects parameter 1 to be string, object given in /nfs/c12/h08/mnt/215533/domains/footprint.press/html/wp-includes/class-wp-user.php on line 208

Warning: trim() expects parameter 1 to be string, object given in /nfs/c12/h08/mnt/215533/domains/footprint.press/html/wp-includes/class-wp-user.php on line 208
Shahed Hasan June 28, 2017 at 9:51 pm

Apnar comment tar boktobbo thik bujhte parlam na. Ektu clear korun.

Login

Do not have an account ? Register here
X

Register

%d bloggers like this: