ট্র্যাক
/
AWK
AWK
/
অনুশীলনী
/
রোটেশনাল সাইফার
রোটেশনাল সাইফার

রোটেশনাল সাইফার

সহজ

নির্দেশনা

রোটেশনাল সাইফার, যাকে মাঝে মাঝে সিজার সাইফারও বলা হয়, তার একটি ইমপ্লিমেন্টেশন তৈরি করুন।

সিজার সাইফার হলো একটি সরল শিফট সাইফার, যা 0 থেকে 26-এর মধ্যে থাকা একটি ইন্টিজার কী ব্যবহার করে বর্ণমালার সব অক্ষর স্থানান্তরের উপর নির্ভর করে। মডুলার অ্যারিথমেটিকের কারণে 0 বা 26 কী ব্যবহার করলে সবসময় একই আউটপুট পাওয়া যায়। কী-এর মান যত, অক্ষরটি ঠিক ততবার শিফট করা হয়।

রোটেশনাল সাইফারের সাধারণ নোটেশন হলো ROT + <key>। সবচেয়ে বেশি ব্যবহৃত রোটেশনাল সাইফারটি হলো ROT13।

ল্যাটিন বর্ণমালায় একটি ROT13 হলে তা দাঁড়াবে এমন:

Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: nopqrstuvwxyzabcdefghijklm

এটি অ্যাটবাশ সাইফারের চেয়ে শক্তিশালী, কারণ এতে সম্ভাব্য কী ২৭টি, আর ব্যবহারযোগ্য কী ২৫টি।

সাইফারটেক্সট ইনপুটের মতো একই ফরম্যাটিংয়ে লেখা হয়, যার মধ্যে স্পেস ও যতিচিহ্নও থাকে।

উদাহরণ

  • ROT5-এ omg থেকে trl পাওয়া যায়
  • ROT0-এ c থেকে c পাওয়া যায়
  • ROT26-এ Cool থেকে Cool পাওয়া যায়
  • ROT13-এ The quick brown fox jumps over the lazy dog. থেকে Gur dhvpx oebja sbk whzcf bire gur ynml qbt. পাওয়া যায়
  • ROT13-এ Gur dhvpx oebja sbk whzcf bire gur ynml qbt. থেকে The quick brown fox jumps over the lazy dog. পাওয়া যায়

ASCII মান

এই অনুশীলনীর জন্য ASCII ক্যারেক্টারকে তার সংখ্যাগত মানে এবং সেই মান থেকে আবার ক্যারেক্টারে রূপান্তর করা প্রয়োজন। GNU awk-এর ordchr এক্সটেনশন এই সুবিধাটি দেয়। ord() এবং chr() ফাংশন দুটি যোগ করতে, আপনার ফাইলের একেবারে উপরে একটি @load ডিরেক্টিভ যোগ করে ordchr এক্সটেনশনটি লোড করুন:

@load "ordchr"

সূত্র

Wikipediaলিংকটি নতুন উইন্ডো বা ট্যাবে খোলে
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
AWK Exercism

রোটেশনাল সাইফার শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, AWK ট্র্যাকের 3টি কনসেপ্ট92টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।