رمز آتباش

رمز آتباش

آسان

دستورالعمل‌ها

یک پیاده‌سازی از «رمز آتباش» بسازید، یک سیستم رمزنگاری باستانی که در خاورمیانه ابداع شد.

رمز آتباش یک «رمز جانشینی» ساده است که بر جابه‌جایی همه‌ی حروف الفبا تکیه دارد، به‌گونه‌ای که الفبای حاصل وارونه می‌شود. حرف اول با حرف آخر جایگزین می‌شود، حرف دوم با حرف یکی‌به‌آخر و به همین ترتیب تا پایان الفبا.

رمز آتباش برای الفبای لاتین به این صورت خواهد بود:

Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: zyxwvutsrqponmlkjihgfedcba

این رمز بسیار ضعیف است، چون فقط یک کلید ممکن دارد و یک رمز جانشینی تک‌الفبایی ساده است. البته این موضوع در زمان ابداع رمز شاید مشکلی به شمار نمی‌آمد.

متن رمزشده در گروه‌هایی با طول ثابت نوشته می‌شود؛ اندازه‌ی سنتی هر گروه ۵ حرف است. اعداد بدون تغییر می‌مانند و نشانه‌گذاری‌ها حذف می‌شوند. این کار حدس‌زدن بر پایه‌ی مرزهای کلمه را سخت‌تر می‌کند. همه‌ی متن به‌صورت حروف کوچک رمزگذاری می‌شود.

مثال‌ها

  • رمزگذاری test خروجی gvhg می‌دهد
  • رمزگذاری x123 yes خروجی c123b vh می‌دهد
  • رمزگشایی gvhg خروجی test می‌دهد
  • رمزگشایی gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt خروجی thequickbrownfoxjumpsoverthelazydog می‌دهد

نکته

این تمرین کوچک و سرگرم‌کننده‌ای است؛ فقط Testها را دنبال کنید.


منبع

Wikipediaاین لینک در پنجره یا تب جدیدی باز می‌شود.
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Pharo Exercism

آماده‌اید رمز آتباش را شروع کنید؟

در Exercism ثبت‌نام کنید تا Pharo را همراه با 50 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.