মধ্যপ্রাচ্যে তৈরি একটি প্রাচীন এনক্রিপশন ব্যবস্থা, অ্যাটবাশ সাইফারের একটি ইমপ্লিমেন্টেশন তৈরি করুন।
অ্যাটবাশ সাইফার হলো একটি সরল সাবস্টিটিউশন সাইফার, যা বর্ণমালার সব অক্ষরের ক্রম উল্টে দেয়, ফলে যে বর্ণমালা পাওয়া যায় সেটি উল্টো হয়ে যায়। প্রথম অক্ষরের জায়গায় বসে শেষ অক্ষর, দ্বিতীয়টির জায়গায় শেষ থেকে দ্বিতীয়টি, আর এভাবেই চলতে থাকে।
লাতিন বর্ণমালার জন্য অ্যাটবাশ সাইফারটি হবে এমন:
Plain: abcdefghijklmnopqrstuvwxyz
Cipher: zyxwvutsrqponmlkjihgfedcba
এটি খুবই দুর্বল একটি সাইফার, কারণ এর সম্ভাব্য কী (key) মাত্র একটিই, আর এটি একটি সরল মনো-অ্যালফাবেটিক সাবস্টিটিউশন সাইফার। তবে সাইফারটির সময়ে হয়তো এটি কোনো সমস্যাই ছিল না।
সাইফারটেক্সট নির্দিষ্ট দৈর্ঘ্যের দলে দলে লেখা হয়, যেখানে প্রচলিত দলের আকার ৫ অক্ষর; সংখ্যাগুলো অপরিবর্তিত থাকে এবং যতিচিহ্ন বাদ দেওয়া হয়। এটি করা হয় যাতে শব্দের সীমানা দেখে অনুমান করা আরও কঠিন হয়। সমস্ত টেক্সট ছোট হাতের অক্ষরে এনকোড করা হবে।
test এনকোড করলে পাওয়া যায় gvhg
x123 yes এনকোড করলে পাওয়া যায় c123b vh
gvhg ডিকোড করলে পাওয়া যায় test
gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt ডিকোড করলে পাওয়া যায় thequickbrownfoxjumpsoverthelazydog
এটি একটি মজার ছোট অনুশীলনী, শুধু টেস্টগুলো অনুসরণ করলেই হবে।
Exercism-এ সাইন আপ করুন, Pharo ট্র্যাকের 50টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।