علم به همه ثابت کرد که می توان با ریاضی و برنامه نویسی دنیا را تغیر داد و زمینه را برای تحولات بزرگ فراهم ساخت. انیگما ماشین کدینگی بود که در جنگ جهانی دوم تحولات گستردهای در زمینه رمزنگاری رقم زد، که تاثیر زیادی بر نتیجه جنگ جهانی دوم گذاشت. در این مقاله ما به بررسی ماشین انیگما – دستگاه رمزگذاری که در زمان جنگ جهانی دوم ارتش آلمان نازی از آن استفاده میکرد می پردازیم.
ماشین انیگما – دستگاه رمزگذاری:
انیگما (Enigma) یک ماشین رمزگذاری و رمزخانی برای محافظت از ارتباطات تجاری، نظامی و دیپلماتیک است. ماشین انیگما (Enigma) کاملا مشابه با ماشین تایپ و یا صفحه نمایشگر کامپیوتر است. در ماشین انیگما با فشردن هر حرف روی صفحه کلید، حرفی روی صفحه حروف روشن میشود که حرف ورودی با خروحی آن متفاوت است. ماشین انیگما حروف های یکسان را به حروف متفاوت کد میکند. این دستگاه تعداد بیشماری از حروف و نمادها را برای رمزنگاری ترکیب میکند.
تاریخچه ماشین انیگما:
در سال 1918 توسط آرتور شریبوس (Arthur scherbius) مخترع و مهندس آلمانی در جنگ جهانی اول اختراع شد. انیگما دو ویژگی خاص دارد: حرف ورودی را همانند خودش کد نمیکند و دو حروف یکسان در یک کلمه را به حروف متفاوت کد میکند. شریبوس اوایل موفقیت چندانی در فروختن انیگما به دولت برای استفاده گسترده نظامی نداشت. چون دولت دارای دستگاه های رمزگذاری قوی بود و تمایلی به استفاده از دستگاههای گران قیمت شریبوس را نداشت. بعد از پایان جنگ جهانی اول شریبوس با نوشتن کتابی تحت عنوان بحران جهانی که در آن به جنگ جهانی اول پرداختهبود، توضیح داده بود از دلایل موفقیت در برابر دولت آلمان رمزگشایی ارتباطات دولتی است. دولت آلمان با انتشار این خبر برای امنیت ارتباط نازی ها، رمزگذاری فرمان های جنگی و جلوگیری از پیغام های قابل شنود ترغیب شد که از ماشین های رمزگذاری انیگما در جنگ جهانی دوم استفاده کند.
قسمت جلویی این دستگاه مخصوص ارتش بود که به آن پلاگ برد (plag board) میگویند که یک سطح اضافه از رمز گذاری بود. یعنی به طور تقریبی 158 کوآنتیلیون* احتمال وجود داشت که کد ها نوشته شود. برای اطلاع از وضعیت پلاگ و چرخنده ها باید هر دو دستگاه گیرنده و فرستنده بر روی یک ستینگ تنظیم شوند. در این کاغذ برای هر روز ماه یک جدول ماهیانه تعیینشده بود که نحوه تنظیم دستگاه را بیان میکرد. به دلیل اینکه دفترچه های تنظیمات ماشین انیگما هر ماه عوض میشود اگر کاغذ تنظیمات مفقود یا از بین می رفت امکان ستینگ کردن آن روز یا آن ماه وجود نداشت.
*کوآنتیلیون -> کوآدریلیون -> تریلیون -> بیلیون -> میلیون -> هزار -> صد -> ده -> یک
آلن تورینگ ریاضیدان انگلیسی یک دستگاه الکترومکانیکی برای کمک به رمزگشایی سیگنال های رمزگذاریشده (Enigma) در دوران جنگ جهانی دوم طراحی کردند. با فاش شدن رمزگذاری ماشین انیگما زمان جنگ جهانی دوم کاهش یافت و تاثیر زیادی بر نتیجه آن داشت.
عملکرد ماشین انیگما – دستگاه رمزگذاری:
در ماشین انیگما سه چرخنده وجود دارد و عامل لرزاننده ای هستند که همگی باهم کار میکنند.اگریک حرف را تایپ کنیم چرخنده ها به حرکت در می آیند. هنگامی که چرخنده سمت راست یک دور کامل بچرخد، چرخنده وسط به حرکت در میآید و هنگامی که چرخنده وسط یک دور کامل بچرخد چرخنده سمت چپ به حرکت درمیآید. سرعت حرکت چرخنده ها از به ترتیب از راست به چپ مانند سرعت عقربه های ساعت، دقیقه و ثانیه است. این دستگاه دارای یک مدار است که توسط یک باتری شارژ میشود. باتری به لامپ متصل است و با هربار تایپ کردن لامپ یکی از حروف و چرخنده ها روشن میشود.
نحوه رمزگشایی و نحوه خواندن کدها در ماشین انگیما:
هنگامی که ما کلمه ای را تایپ می کنیم در کنار هر چرخنده کدی عددی وجود دارد. چون دستگاه پیام را مخابره نمیکند باید آن را بر روی کاغذ یادداشت کرد. در زمان جنگ جهانی دوم پیغام های کد گذاریشده را به اپراتور انتقال میدادند و اپراتور از طریق مورس به شخص گیرنده پبام را ارسال میکرد. گیرنده پیام همانند فرستنده پیام دارای یک ماشین انیگما بود. هنگام دریافت پیام کد را یادداشت و چرخنده ها را بر روی آن کد تنظیم میکرد و پیام ارسالی را تایپ و رمزگشایی میکرد.
سخن پایانی
تا اینجا ما به بررسی ماشین انیگما دستگاه رمزگذاری که در زمان جنگ جهانی دوم ارتش آلمان نازی از آن استفاده میکرد پرداختیم. اگر به شبیه سازی ماشین انیگما از طریق پایتون علاقه دارید، لیموناد ویدیو آموزش شبیه سازی ماشین انیگما را در لینک زیر قرار دادهاست