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