ماشین رمزنگاری خفن !

MTUEKX ZHKMGC FVQOXI IFBDBH KHZURE LQKYCV VPADOT GBJODL QNOMUR NHUBMF UYCEXG AEOFMO AHNNLL SWTRZF PHMVZM HIMOTQ XDPYHJ UWJPHA CMBVSX UVMPSA ROWFPI KMZQHI ECAZUH LUFGLB RGAXFS JJIQSF IUFKEQ LQ

ویرایش : چه جالب (: درباره‌ی تورینگ و انیگما یه فیلم ساختن به این نام :the imitation game ! با بازی Benedict Cumberbatch ! همون بازیگر مینی سریال شرلوک ( خیلی باحاله ببینین!). تازه فهمیدم که صدای سائرون توی ارباب حلقه ها و صدای اسماگ اون اژدهاهه توی هابیت هم واسه  benedict بوده، چه باحال (: اصن به قیافش نمی‌خوره.

تاریخچه‌ی کریپتاگرافی و مخفی کردن اطلاعات خیلی جالبه. داستان معروف کچل کردن برده‌ها رو شاید شنیده باشین. (استگانوگرافی!!) هرودوت یکی از اولین موارد استفاده از استگانوگرافی یا پنهان‌کاری رو تعریف کرده، داستانی درباره‌ی قدیم قدیما در یونان، که کله‌ی برده‌هارو می‌تراشیدن و روش اطلاعات مهمی درباره‌ی نقشه‌ی ایرانی‌ها برای حمله به یونان! می‌نوشتن. وقتی موی برده‌‌ها به اندازه کافی بلند میشد میفرستادنشون به سمت یونان!
از نمونه‌های سوپر باحال استگانوگرافی، حرکت جرمیا دنتون در یک کنفرانس مطبوعاتی در سال ۱۹۶۶ ! وقتی که مجبورش کرده بودن به عنوان “اسیر جنگی” تو کنفرانس حاضر بشه، برای اولین بار تونست با آمریکایی‌ها صحبت کنه! حین مصاحبه بار‌ها به روش “کد مورس” پلک زد تا تونست این کلمه رو برسونه : T-O-R-T-U-R-E ( شکنجه !!)


چیزی که دوس دارم دربارش بگم، ماشین Enigma ساخته‌ی دست آلمان‌ها تو جنگ جهانی دومه ! واقعا جنگ جهانی دوم جالب و عجیبه، خرابی‌های جنگ به کنار، تو اون چند سال جنگ جهانی چقدر آدما پیشرفت کردن!
رمزنگاری مبحث س.ک.سی و پیچیده‌ایه و یک لذت خاصی داره وقتی یه مشت کاراکتر خزعبل می‌فرستی و مطمینی که (فقط) طرفت می‌فهمه داری چی‌میگه 🙂 آلمان‌ها هم به همین خیال Enigma رو ساختن و استفاده کردن.
سایت لوئیز داده!!! یه شبیه‌ساز باحال واسش نوشته که هم روش کار enigma رو توضیح می‌ده هم قابل استفاده است. کسایی که توهم توطئه و یا به بیان دیگر مقادیری خود درگیری دارند (مثل خودم!) می‌تونن از این به بعد حرف‌های مهمشون رو رمز شده بفرستن 🙂

ایده‌ی Enigma یه چیزی شبیه Substitution در رمزنگاریه. یه مدار خیلی ساده داره، هر دکمه رو با سیم به یک چراغ وصل کرده! اما سیم‌ها از وسط سه تا rotor رد میشن! با فشار دادن مثلا کلید A، چراغی که با یک سیم از طریق rotorها به A وصل شده، روشن میشه ! و مثلا اون چراغ نشون دهنده‌ی حرف G هست. پس با زدن A حرف G روشن میشه و ما تونستیم یک حرف رو رمزنگاری کنیم.
چیزی که ماشین رو پیچیده می‌کنه، چرخش rotor با زدن هر کلید است، یعنی وقتی A رو فشار دادیم، rotor اول می‌چرخه و به یک حرف دیگه وصل میشه! rotor اول وقتی یک دور کامل چرخید، rotor دوم رو می‌چرخونه! ( مثل ثانیه شمار ساعت) ، پس اینجا هم یه پیچیدگی دیگه به وجود میاد و حرف‌ها به هم می‌ریزن!

بیاید با هم حروف ENIGMA رو رمز کنیم‌:
اولین مرحله انتخاب تنظیمات درست واسه دستگاهه! منظور از تنظیمات هم همون حالت اولیه‌ی rotor‌هاست ! هر rotor می‌دونیم 26 تا حالت داره ( ۲۶ حرف از حروف انگلیسی ) پس سه تا rotor میشه ۲۶ * ۲۶ * ۲۶ حالت مختلف ! عدد بزرگیه پس نمیشه به راحتی تنظیمات اولیه رو حدس زد. فرض کنیم rotor اول روی حرف J و rotor دوم روی حرف K و rotor سوم روی حرف L باشه !

تنها کاری که می‌مونه، وارد کردن حروفه 🙂 E به حرف X رمز میشه، N به حرف E و … در نهایت :
ENIG MA -> XULH NK

چیزی که enigma رو برای آلمان‌ها خاص می‌کرد تعداد فوق‌العاده زیاد حالت‌های رمزنگاریه این دستگاه بود، به حدی که کد رمز شده رو به راحتی از طریق امواج رادیویی و کد مورس و یا از هر طریق دیگه‌ای منتشر می‌کردن بدون اینکه از خوندن و شنیدن کد رمز توسط دشمناشون ترسی داشته باشن! با یه حساب کتاب این عدد باحال بدست میاد : ۱۵۸,۹۶۲,۵۵۵,۲۱۷,۸۲۶,۳۶۰,۰۰۰ . تعداد حالت‌هایی که میشه رمزنگاری کرد!
تنها نکته‌ای که برای دریافت پیام و رمزگشایی اون می‌موند، تنظیمات اولیه‌اشه ! واسه همین به افسر‌های آلمانی هر ماه، یه کاغذ داده می‌شد که در هر روز تنظیماتی که واسه‌ی رمزگشایی پیام لازم بود توش نوشته شده بود. اون افسر هر روز ۶ صبح دستگاه رو با استفاده از تنظیماتی که مربوط به همون روز بود آماده می‌کرد و پیام‌هایی که از طریق رادیو می‌شنید رو رمزگشایی می‌کرد 🙂 به همین راحتی و به همین شیرینی !

اما آخر کار همین بود ؟ طبیعتا نه چون امنیت هیچوقت اونجور که ما می‌خوایم وجود نداره !!! دانشمند انگلیسی آلن تورینگ با کمک همکاراش تو مرکز کدشکنی انگلیس، ماشین فوق‌العاده‌ای طراحی کرد به نام “بامب” ! که کدهای رمز شده‌ی انیگما رو رمزگشایی می‌کرد.
اما چرا خلاف تصور آلمانی‌ها انیگما با اون تعداد حالاتی که عددی ۲۱ رقمی داشت نتونست جلوی کدشکن‌هایی مثل تورینگ رو بگیره؟ دلیلش هم ویژگی انیگما توی رمزنگاری بود که نسبت به الگوریتم‌های قبلی یک نقطه‌ی قوت به حساب می‌اومد! اما این نقطه‌ی قوت باز هم یک سوراخ! و ضعف داشت و همین یک ضعف برای تورینگ کافی بود تا از یک تناقض هرچیزی رو نتیجه بگیره !!!!

تصور کنید یک نفر خارج از روال عادی، فقط و فقط حرف A رو رمز کنه! چه اتفاقی می‌افته ؟
AAAA AAAA AAAA AAAA AAAA AAAA AAAA -> VCEJ TXON UVZT GFWD VSEM TQOQ SNEI
نتیجه خیلی جالبه نه؟ یک حرف ، هر دفعه به یک چیز جدید تبدیل شده!
اما جالب‌تر از اون؟ توی پیام رمز شده، اثری از خود A نیست! هر چقدر هم می‌خواید امتحان کنید، هیچ وقت حرف A به خودش رمز نمیشه! و همین نکته کافی بود که پیام‌های آلمانی‌ها توسط دستگاه بامب تورینگ تو جنگ جهانی دوم به دست افرادی که نباید، بیفته !

پ . ن : جمله‌ی رمز شده‌ی اول پست ( از ریچارد استالمن) رو با انیگما می‌شه باز کرد 🙂 همه‌ی تنظیمات همونه فقط Ringstellung رو به ترتیب ، JKL بذارین 🙂 بعد از رمزگشایی، بین هر دو کلمه یک حرف X قرار داره پس با حذف کردن X ها میشه به کلمات رسید ( مگر Xهایی که خودشون عضو کلمه ها باشن !) . بین هر دو جمله هم کلمه‌ی END وجود داره 🙂

One thought on “ماشین رمزنگاری خفن !”

  1. باحال بود قبلا در موردش شنیده بودم اما بازم گردآوری مطالب کار جالبی بود. تشکر

Leave a Reply

Your email address will not be published. Required fields are marked *