شفرة أتبش

شفرة أتبش

متوسط

التعليمات

أنشئ تطبيقًا لشفرة أتباش، وهي نظام تشفير قديم نشأ في الشرق الأوسط.

شفرة أتباش هي شفرة استبدال بسيطة تعتمد على عكس ترتيب جميع حروف الأبجدية بحيث تصبح الأبجدية الناتجة معكوسة. يُستبدل الحرف الأول بالحرف الأخير، والثاني بثاني حرف من الآخر، وهكذا.

تبدو شفرة أتباش للأبجدية اللاتينية كما يلي:

Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: zyxwvutsrqponmlkjihgfedcba

إنها شفرة ضعيفة جدًا لأن لها مفتاحًا واحدًا ممكنًا فقط، وهي شفرة استبدال بسيطة أحادية الأبجدية. لكن هذا ربما لم يكن مشكلة في زمن هذه الشفرة.

يُكتب النص المشفَّر في مجموعات ذات طول ثابت، والحجم التقليدي للمجموعة هو 5 أحرف، مع ترك الأرقام كما هي، واستبعاد علامات الترقيم. والهدف من ذلك هو جعل تخمين المحتوى بناءً على حدود الكلمات أصعب. ستُشفَّر جميع النصوص بأحرف صغيرة.

الأمثلة

  • تشفير test يعطي gvhg
  • تشفير x123 yes يعطي c123b vh
  • فك تشفير gvhg يعطي test
  • فك تشفير gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt يعطي thequickbrownfoxjumpsoverthelazydog

السجلات

السجل الاستخدام النوع الوصف
$a0 إدخال عنوان سلسلة نصية مدخلة منتهية بـ null
$a1 إدخال/إخراج عنوان سلسلة نصية مخرجة منتهية بـ null
$t0-9 مؤقت أي تُستخدم للتخزين المؤقت

المصدر

ويكيبيديايفتح الرابط في نافذة أو علامة تبويب جديدة
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
MIPS Assembly Exercism

مستعد لبدء شفرة أتبش؟

سجّل في Exercism لتتعلّم وتتقن MIPS Assembly عبر 70 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.