آشنایی با الگوریتم رمز نگاری Rot-13

Rot-13 (Rotate by 13) یک الگوریتم ساده جایگزینی حروف است که هر حرف با حرف ۱۳ ام بعد خود در الفبای انگلیسی جابجا می شود.

Rot-13 نوعی از رمزگذاری سزار هست. رمز گذاری سزار (Caesar)  نوعی رمز گذاری اطلاعات است که توسط جولیوس سزار طراحی شد و هر حرف توسط یک حرف دیگر جایگزین میشد.

چون در زبان انگلیسی ۲۶ حرف یا ۱۳ ضربدر ۲ حرف وجود دارد، برای بازگشایی رمز عبارت کافی است که هر حرف را با ۱۳ حرف قبل خود جایگزینی کنید. با جستجویی ساده در اینترنت ابزار هایی را پیدا می کنید که این کار را به سرعت برای شما انجام می دهند.

Rot-13 به هیچ وجه یک روش رمزگذاری با امنیت حساب نمی شود. و فقط نوعی تکنیک محاوره ای استفاده شده در اینترنت هست که در زیر برخی کاربرد های آن را برای شما شرح می دهیم:

  • مخفی کردن افشاساز ها ( اسپویلر ها)
  • مخفی کردن جواب جداول و پازل ها
  • مخفی کردن عبارات عامیانه ولی بی ادبی

یک مثال برای استفاده از روش رمز نگاری در مجلات هست که پاسخ جداول را به جای اینکه کج و معوج چاپ کنند، با این روش به صورت رمز شده  مینویسند تا شما اگر واقعا از پیدا کردن پاسخ ناتوان بودید، سراغ کامپیوتر تان بروید و یا دستی جواب را رمز گشایی کنید.

*نکته : در Rot-13 فقط ۲۶ حرف الفبای لاتین دچار تغییر شده و عبارات دیگر شامل علامت ها و … ثابت می مانند.

چند مثال :

معمای جوک مانند زیر جواب را با این روش در خود پنهان کرده است. با رمز گشایی کل عبارت، سوال مبهم می شود و جواب ظاهر می شود.

قبل از تبدیل

Why did the chicken cross the road?

Gb trg gb gur bgure fvqr!

بعد از تبدیل

Jul qvq gur puvpxra pebff gur ebnq?To get to the other side!

 

الفبای انگلیسی و معادل ان ها در سیستم Rot-13 :

Input ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Output NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm

* با دو بار تبدیل عبارت ، عبارت اولیه بدست می آید.

 

ریشه همگانی شدن و شروع استفاده از این الگوریتم بسیار ساده:

هنوز مشخص نیست که این تکنیک چه زمانی اختراع شد. ولی میتوانیم زمان استفاده از آن را بررسی کنیم.

اولین استفاده از Rot-13 بر میگردد به سال ۱۹۸۰ که در آن گروه خبری  net.jokes از آن برای پوشاندن جوک های غیر اخلاقی و جواب جداول استفاده می کردند.

آدرس های ایمیل هم که در محیط اینترنت پخش می شوند، قدیم تر ها توسط این روش رمزگذاری می شدند تا به راحتی به دست روبات های اسپمر و تبلیغاتی نیفتند.

در ادامه دلایل اصلی ضعیف این روش را از دیدگاه یک نرم افزار بررسی می کنیم.

اگر نرم افزار از اول بداند ورودی با این الگوریتم رمزگذاری شده است، به راحتی میتواند آن را باز کند.

همچنین فرض کنیم نرم افزار، این الگوریتم برای آن ناشناخته است، در این صورت با آنالیز چند نمونه به الگویی پی می برد و باز هم به راحتی می توان، داده را رمزگشایی کرد. روش ذکر شده آنالیز فرکانسی نام دارد.

Rot-13 همچنین در محیط بازی های کامپیوتری هم برای توضیح اصطلاحات استفاده می شود. دلیل این امر این است که بعضی کلمات بعد از رمزگذاری معنی جدیدی خواهند داشت و این برای مردم جالب است.

abcdefghijklmnopqrstuvwxyz
NOPQRSTUVWXYZABCDEFGHIJKLM
aha ↔ nun ant ↔ nag
balk ↔ onyx bar ↔ one
barf ↔ ones be ↔ or
bin ↔ ova ebbs ↔ roof
envy ↔ rail er ↔ re
errs ↔ reef flap ↔ sync
fur ↔ she gel ↔ try
gnat ↔ tang irk ↔ vex
clerk ↔ pyrex purely ↔ cheryl
PNG ↔ cat SHA ↔ fun
furby ↔ sheol terra ↔ green
what ↔ Jung URL ↔ hey
purpura ↔ Chechen shone ↔ FUBAR
Ares ↔ Nerf abjurer ↔ nowhere

این جدول شامل چند اصطلاح قبل و بعد از تبدیل به Rot-13 هست که هر دو شکل دارای معنی هستند و بیشتر در محیط بازی های رایانه ای استفاده می شوند. جالب است که بدانید در سال ۱۹۸۹ کامپایلر استاندارد زبان C به عنوان یک لایه محافظتی ساده، اجازه داد که سورس برنامه به Rot-13 تبدیل شود و سپس کامپایل شود.

نمونه های دیگری از این روش رمزنگاری:

در کنار Rot-13 میتوان از مکمل Rot-5 استفاده کرد که مخصوص اعداد است. در این صورت میتوانیم علاوه بر ۲۶ حرف الفبای لاتین، ۹ حرف عددی را هم رمزگذاری کنیم. نسخه کامل تری از Rot-13 که طیف بیشتری را پوشش می دهد و تغییراتی جزئی نیز دارد،Rot-47 نام دارد.

درباره نویسنده

امیررضا هاشمیه

‌کد نویس بک اند (PHP , MySQL) / فرانت اند و سی شارپ دات نت --- علاقه مند به انگلیسی،گیتار،ساخت موزیک،شعر --- مشهدی , متولد 1999 -- amirreza.h@yandex.com

پاسخ دهید