روت۱۶

پیاده سازی یک شیوه‌ی ساده از رمزنوشتار ضعیف برای زبان فارسی با الهام گرفته از روت۱۳

در زمان ژولیوس سزار بزرگ، در زمان جنگ انتقال پیام ها سخت بود و همیشه راه های دشواری امتحان می‌شد که امنیتشان بطور کامل قابل تامین نبود. مثلا یکی از خلاقانه‌ترین روش‌های انتقال پیام این بود که پیام را روی سر پیام‌رسان تتو می‌کردند و تا پیام رسان پیام را به مقصد برساند موهایش رشد می کرد و پیام از دید نگهبانان مخفی میماند. روش‌هایی که همگی امکان کشف داشت و در صورت کشف، متن پیام هویدا بود. یعنی مشکل اصلی وقتی پیش می آمد که در صورت کشف پیام، دشمن متوجه محتوای آن می‌شد.

سزار ( یا کسی در دستگاه حکومتی او) ابتکاری به خرج داد و به جای هر کاراکتر، سه کاراکتر بعدش را جایگزین کرد. مثلا اگر زبانشان فارسی بود بجای ب می‌نوشتند ث. روشی که کشف محتوای پیام ها را لااقل در آن زمان سخت می‌کرد. شیوه‌ای که بسیاری از کتابهای رمزنگاری از آن به عنوان شروع رمزنگاری یاد می‌کنند.

این روش در عصر کامپیوترها برای رمزنگاری متون سری دیگر استفاده نمی‌شود اما کاربردی جالبی به خود گرفته است. انجمن‌ها، گروه‌های گفت و گو، شبکه‌های اجتماعی و بسیاری از محیط هایی که افراد در آن با متون زیادی سر و کار دارند، شروع به استفاده از این روش سزار برای مخفی کردن متونی کردند که انتظار میرفت پیش چشم گذرا، قابل کشف نباشد. برای مثال اگر متنی حاوی اسپویل یک قسمت از یک سریال نوشتید، آن را دوستتان ناخواسته نخواند.

روت۱۳

استفاده از این روش در بین کامپیوتری‌های ابتدای عصر کامپیوترهای مدرن رواج یافت، اما نه با روش ۳ تایی سزار، بلکه با روشی که یک الگوریتم تغییر کلمات، هم الگوریتم رمزنگار بود و هم الگوریتم رمز گشا: ROT13. این روش بسیار ساده و خلاقانه بود، در این شیوه، هر کاراکتر با کاراکتر ۱۳ تا جلوتر از آن کاراکتر جایگزین می شود (مثلا a میشود n) و به این دلیل که انگلیسی از ۲۶ کاراکتر اصلی تشکیل شده است، اگر یکبار دیگر این الگوریتم روی متن خروجی اعمال شود به همان نوشته‌ی اصلی که رمز شده میرسیم ( یعنی n میشود a). این الگوریتم فقط روی کاراکترهای معمولی زبان انگلیسی تغییر ایجاد می‌کند و مابقی کاراکترهای متن را تغییر نمی‌دهد.

روت۱۶ برای فارسی

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

به همین سادگی :)