تعمية بتدوير 13 حرف

شكل خاص من تعمية قيصر يعتمد على تدوير الألفبائية 13 حرفاً
(بالتحويل من روت 13)

التعمية بتدوير 13 حرفاً، (بالإنجليزية: ROT13)‏ هي تعمي بسيطة بالإعاضة تعتمد استبدال أحرف جملة مكتبوبة بالإنجليزية بالحرف الثالث عشر الذي يليه. وهي مثال تعمية قيصر التي استنبطت في عهد الرومان. التعمية بتدوير 13 حرفاً في اللغة اللاتينية

روت 13 تستبدل كل حرف بالحرف الثالث عشر الذي يليه. HELLO تصبح URYYB.
دالة عكسية لذاتها عند فك التعمية، أي أن المعادلة نفسها تستعمل في فك التعمية. وهي من طرق التعمية الضعيفة. تستعمل عادة في ميادين الإنترنت لإخفاء إفسادات الأفلام والألعاب، أو الكلمات المسيئة أو الحلول للألغاز.

المكافئ العربي: التعمية بتدوير 14 حرفاً

عدل

إن السبب الرئيسي وراء اختيار المفتاح 13 في هذه التعمية، هو كون العدد 13 يمثل بالضبط نصف عدد حروف الأبجدية اللاتينية (يوجد 26 حرف). وبالتالي، فإن دالتي تعمية) وفك التعمية ستكونان متطابقتان تمامًا في هذه الحالة، مما يُمَكن من إنجاز التعمية وفكها باستخدام الدالة نفسها دون الحاجة لعمليات إضافية أو تطوير خوارزمية اضافية لفك التعمية.

على هذا المنوال، يمكن تطوير خوارزمية مكافئة التعمية بتدوير 13 حرفاً موجهة للعمل على الأبجدية العربية. لتطوير هذا المكافئ يجب أولا الحصول على أبجدية زوجية (عدد الحروف الأبجدية لابد أن يكون زوجي). فإن عدد أحرف الأبجدية العربية هو 28. وبالتالي فإن المفتاح المناسب للحصول على دالة تعمية عكسية مطابقة للدالة الأصلية هو المفتاح 14. في هذه الحالة فإن حرف الألف سيُعمَّى بحرف الضاد، وحرف الباء بحرف الطاء، وهكذا. الجدول التالي يوضح هذه المقابلة بين أحرف النص المجرد و أحرف النص المشفر، و العكس بالعكس.

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

مثال

عدل

لتعمية العبارة «مرحبا» باستخدام التعمية بتدوير 14 حرفاً، تُستخدم المقابلة الموضحة في الجدول في الأعلى للحصول على النص المُعَمَّى «رمفطض». كما هو منصوص حسب مبدأ التعمية الدوراني فإن إعادة تعمية «رمفطض» سيؤدي ببساطة إلى اسرجاع الكلمة الأصلية «مرحبا».

نص برمجي

عدل

على غرار تعمية قيصر، في ما يلي نص برمجي بلغة بايثون يتيح إمكانية تطبيق التعمية الدورانية بـ 14 حرفاً على النصوص العربية. نذكر أن الدالة rot14 هي في الوقت نفسه دالة تعمية وفك تعمية.

def rot14(message, alphabet):
    output = []
    for letter in message:
        try:
            i = alphabet.index(ord(letter))
        except:
            output.append(letter)
        else:
            output.append(chr(alphabet[(i + 14) % 28]))
            
    return "".join(output)

يجب تعريف alphabet بوصفها مجموعة الأحرف العربية الثمانية والعشرين المعرَّفة في الجدول أعلاه.

مثال

عدل

تشفير الجملة «مرحبا ويكيبيديا» يكون هو «رمفطض شصدصطصكصض». لفك تعمية هذه الرسالة يعاد تطبيق الخوارزمية نفسها مجددًا فتكون النتيجة «مرحبا ويكيبيديا».

مراجع

عدل