موضوع مقاله: روت۱۳ | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # روت۱۳ | مقدمه: انگشتی|320px|چپ|ROT13 هر حرف را با سیزدهمین حرف بعد از خود در حروف الفبای انگلیسی جایگزین می‌کند. | ## بخش 1: روت۱۳ | به این معنی که برای برگرداندن متن رمزشده به حالت اولیه، از همان الگوریتم استفاده می‌شود و به این ترتیب می‌توان از یک عمل یکسان هم برای رمزنگاری و هم برای رمزگشایی استفاده کرد. این الگوریتم عملاً هیچ نوع امنیتی ندارد و اغلب از آن به عنوان مثالی از یک روش رمزنگاری ضعیف و بدون امنیت یاد می‌شود. در تالارهای گفتگوی اینترنتی، از ROT13 به عنوان وسیله‌ای برای پنهان کردن افشاسازها، شاه‌بیت‌ها، راه‌حل مسائل و معماها و مطالب تعرض‌آمیز استفاده می‌شود تا جلوی دید اتفاقی را بگیرد. در نشریات و مجلات، عموماً برای پنهان کردن پاسخ معماها، آن‌ها را به صورت وارون چاپ می‌کنند تا خواننده در حالت عادی قادر به خواندن پاسخ نباشد و مجبور باشد برای دیدن پاسخ، کاغذ را بچرخاند. ROT13 الهام‌بخش انواع گوناگونی از بازی‌های نامه‌ای آنلاین بوده‌است و در گفتگوهای گروه‌های خبری به‌طور مکرر به آن اشاره می‌شود. شرح برای اعمال کردن الگوریتم ROT13 بر روی یک متن انگلیسی، کافیست هر یک از حروف با سیزدهمین حرف مابعد خود در الفبای انگلیسی جایگزین شود و در صورت نیاز، عمل جایگزینی از ابتدای فهرست صورت گیرد. برای راحتی کار، می‌توان کلیهٔ حروف الفبای زبان انگلیسی را به صورت ساعت‌گرد و دایره‌وار بر روی یک تکه کاغذ نوشت و سپس برای جایگزین کردن هر حرف، انگشت دست را بر روی آن حرف گذاشته و ۱۳ مکان به صورت ساعت‌گرد حرکت کرده و سپس حرفی که انگشت دست بر روی آن قرار گرفته را بنویسیم. با این کار، حرف A به حرف N تبدیل می‌شود، B به حرف Oاین حرف اُ است، نه عدد صفر تبدیل می‌شود و به همین ترتیب تا حرف M که به Z تبدیل می‌شود. سپس این دنباله از ابتدای حروف الفبا آغاز می‌شود، حرف N به A تبدیل می‌شود، O به B تبدیل می‌شود و به همین ترتیب تا حرف Z که به M تبدیل می‌شود. تنها حروفی که در الفبای انگلیسی قرار دارند تحت تأثیر قرار می‌گیرند، اعداد، نمادها و علائم، حروف فاصله و تمام حروف‌های دیگر، بدون تغییر رها می‌شوند. از آنجا که حروف الفبای انگلیسی بیست و شش حرف دارد و ۲۶ = ۲ × ۱۳، تابع ROT13 یک تابع خودوارون است. به عبارتی دیگر، برای هر متن x که با الفبای لاتین ساده نوشته شده‌است، داریم: به عبارت دیگر، اگر دو بار پشت سر هم ROT13 را بر روی یک متن بکار ببریم، نتیجه همان متن اولیه خواهد بود (در ریاضیات معمولاً به آن «رجعت» و در رمزنگاری به آن رمزنگاری دوجانبه می‌گویند) عمل تبدیل متن می‌تواند به وسیلهٔ یک جدول جستجو صورت پذیرد. اگر بار دیگر بر روی متن نتیجه، الگوریتم ROT13 را اجرا کنیم، متن اولیه بدست خواهد آمد. از ROT13 برای پنهان کردن لطیفه‌های اهانت‌آمیز یا برای مخفی کردن پاسخ یک معما یا مسئله یا هر گونه اسپویلر دیگری استفاده می‌شد. دلیل انتخاب ۱۳ به جای دیگر مقادیر نظیر ۳ که در رمزنگاری سزار اصلی استفاده می‌شود، به این خاطر بود که با تعویض کردن هر دو حرفی که ۱۳ واحد با هم فاصله دارند، می‌توان الگوریتم‌های رمزگذاری و رمزگشایی مشابه و یکسانی داشت؛ در نتیجه می‌توان به راحتی از یک دستور واحد برای انجام هر دو عمل استفاده کرد. | ## بخش 2: روت۱۳ | نرم‌افزارهای خبرخوان، معمولاً از ROT13 به‌صورت توکار پشتیبانی می‌کنند و نیازی به نصب کردن هیچگونه افزونه اضافی نیست. آدرس‌های ایمیل هم گاهی اوقات با ROT13 رمزنگاری می‌شوند تا از ربات‌های جفنگ‌نگاری غیر پیشرفته در امان بمانند. ROT13 نمونه‌ای از یک الگوریتم رمزنگاری است که به نام رمزنگاری سزار شناخته می‌شود. گفته می‌شود ژولیوس سزار در قرن اول پیش از میلاد، الگوریتم سزار را ابداع کرده‌است. در مواردی که محرمانه بودن اطلاعات مد نظر است و اطلاعات نباید بدست افراد غیرمجاز بیفتد، نباید از ROT13 استفاده شود. از آنجایی که در الگوریتم ROT13 هر حرف به تعداد ثابتی (۱۳ تا) جابجا می‌شود – و در واقع می‌توان گفت که از هیچگونه کلیدی برای رمزنگاری استفاده نمی‌شود – اطلاعات به سادگی قابل رمزگشایی هستند. تنها با دانستن اینکه اطلاعات با الگوریتم ROT13 رمزنگاری شده‌اند، می‌توان به آسانی و با همین الگوریتم اطلاعات را رمزگشایی کرده و به حالت اولیه درآورد. حتی اگر دانسته نباشد که اطلاعات به روش ROT13 رمزنگاری شده‌اند، باز هم می‌توان این الگوریتم را به آسانی و به روش تحلیل فراوانی در هم شکست. به خاطر اینکه این الگوریتم مطلقاً برای رمزنگاری نامناسب است، تبدیل به یک کنایه برای تمسخر کردن دیگر الگوریتم‌های ضعیف رمزنگاری شده‌است. مثلاً شخصی می‌تواند بگوید که «الگوریتم ۵۶-بیتی DES تنها کمی از ROT13 قویتر هست» که اشاره به ضعیف بودن این الگوریتم دارد. همچنین برای شوخی با اصطلاحاتی حقیقی در دنیای واقعی مانند «DES دوگانه»، اصطلاحات تمسخرآمیزی مانند «ROT13 دوگانه»، «ROT26» یا «2ROT13» مورد استفاده قرار می‌گیرند که یک نمونه از استفاده این کلمات، یک مقالهٔ دانشگاهی جعلی به نام «در مورد الگوریتم رمزنگاری 2ROT13» است. از آنجایی که اگر الگوریتم ROT13 را بر روی متنی که خود قبلاً با ROT13 رمزنگاری شده، اعمال کنیم، متن اصلی و اولیه بدست می‌آید، اصطلاح ROT26 یا 2ROT13 معادل «بدون هر گونه رمزنگاری» است. در ماه دسامبر ۱۹۹۹ (میلادی)، کشف شد که نت‌اسکیپ کامیونیکیتور از ROT-13 برای رمزنگاری پسورد ایمیل‌ها استفاده می‌کند. در این میان، دو کلمهٔ gnatپشه و tangمزه تند یک نمونه جالب توجه است که هم اجرای ROT13 بر روی یکی، دیگری را نتیجه می‌دهد و هم اینکه اگر یکی را به صورت وارونه بخوانیم، نتیجه دیگری خواهد بود. Brian Westley در مسابقهٔ بین‌المللی کدنویسی مبهم به زبان سی در سال ۱۹۸۹ میلادی، یک برنامهٔ رایانه‌ای نوشته بود که کد منبع آن این قابلیت را داشت که با استفاده از ROT13 کدگذاری یا وارون شود، به طوریکه همچنان بتوان آن را به‌درستی کامپایل کرد. | ## بخش 3: روت۱۳ | این برنامه هنوز هم با گذشت سال‌ها، بر روی کامپایلرهای امروزی به‌درستی کامپایل می‌شود. کار این برنامه این بود که متنی که به عنوان ورودی به آن داده می‌شد را با استفاده از ROT13 رمزنگاری یا معکوس کند. این واژه به این خاطر به وجود آمد که برخی از کاربران این گروه خبری، فکر می‌کردند که واژهٔ sheesh بیش از حد مورد استفاده قرار می‌گیرد و در صدد جایگزین کردن آن برآمدند. واژهٔ sheesh در این گروه خبری، به عنوان پاسخی برای ارسال‌های تکراری تازه‌ واردین در مورد افسانه‌های محلی مورد استفاده قرار می‌گرفت. گونه‌ها ROT5 الگوریتمی مشابه ROT13 است که بر روی ارقام عددی (۰ تا ۹) اعمال می‌شود. ROT13 و ROT5 می‌توانند به صورت همزمان برای رمزنگاری یک پیام مورد استفاده قرار گیرند. ROT47 یکی از مشتقات ROT13 است که علاوه بر حروف ساده الفبای انگلیسی، می‌تواند اعداد و علائم را هم رمز کند. ROT47 به جای استفاده کردن از دنباله A–Z به عنوان حروف الفبا، از مجموعه کاراکترهای بزرگتری از یک کدبندی نویسه رایج به نام ASCII استفاده می‌کند. در این روش، کاراکترهای ۷-بیتی چاپ‌شدنی، به استثنای فضای خالی (space)، از بازهٔ ۳۳ تا ۱۲۶کاراکترهای «!» تا «~» که در مجموع ۹۴ کاراکتر می‌شود با چهل و هفتمین کاراکتر بعد از خود جایگزین می‌شوند. به عنوان مثال، کاراکتر A با p جایگزین می‌شود،به کوچک و بزرگ بودن حروف دقت کنید کاراکتر a به ۲ تبدیل می‌شود و به همین ترتیب. این روش هم مشابه ROT13 خودوارون است و اجرای مجدد ROT47 بر روی متنی که قبلاً با همین روش رمز شده، متن اولیه و اصلی را دربرخواهد داشت. برای مثال، یک شمارهٔ تلفن همانند به شکل رمز می‌شود که در نگاه اول خیلی واضح و مشخص نیست. از سوی دیگر، از آنجایی که ROT47 هم حروف، هم اعداد و هم نشانه‌ها را بدون فرق گذاشتن بین آن‌ها در هم می‌آمیزد، با یک نگاه به متن می‌توان به سرعت پی برد که این یک متن رمزشده‌ است، نه یک جمله معمولی. هرچند که این تابع به جای حروف الفبا، با داده‌های باینری دلخواه کار می‌کند و از این حیث با ROT13 متفاوت است. این تابع هر بایت را با عدد باینری 00101010عدد ۴۲ به دهدهی XOR می‌کند که نتیجه آن یک رمز XOR ساده است. | ## جمع‌بندی | پیاده‌سازی‌ها tr دستوری به نام tr در سیستم‌عامل‌های شبه یونیکس وجود دارد که به وسیله آن به راحتی می‌توان ROT13 و ROT47 را پیاده‌سازی کرد.