مطلبی درباره رمزنگاری رو برای انجمن نوشته بودم خواستم که مطلب رو هم اینجا هم بزارم
در این مطلب به بررسی رمزنگاری و تحلیل رمز میپردازم البته فعلا فقط تاریخچه رو بررسی میکنم و سپس در پست های آینده که هم برای انجمن خواهم نوشت در اینجا هم قرار خواهم داد به بررسی دقیق تر و مسائل پیرامون خواهم پرداخت پس با بخش اول آشنایی با تاریخچه رمزنگاری شروع میکنیم. :)
رمزنگاری (Cryptography) چیست ؟ میتوان گفت که رمزنگاری به تغییر کلی اطلاعات مربوط به پیام اصلی (plaintext) به اطلاعاتی که قابل تشخص نباشد میگوییم یا به عبارتی پیام اصلی که اگر رمز گذاری شده باشد اصولاً متن اصلی را ناخوانا و نامفهوم میکند. اگر با دنیای رمزنگاری آشنایی جزئی داشته باشید میدانید که کلمه Cryptography از واژههای یونانی kryptos و graphica گرفته شده است اولی به معنی پنهان و دومین واژه به معنی نوشتن میباشد.
اگر بخواهیم نگاهی به تاریخچه رمزنگاری داشته باشیم و با توجه به اسناد موجود رمزنگاری به 2000 سال پیش در مصر باستان برمیگردد که از کلمات هیروگلیف مصری (Hieroglyph) برای این منظور استفاده میشده است. (هیروگلیف به حروفی گفته میشود که شامل تصویرهایی از جانوران و اشیا میباشد) در آن زمان آن را در دیوار آرامگاهها، ستونها، تندیسها و … استفاده میکردن.
اگر دقت کنید رمزنگاری در طول تاریخ همواره جزئی از جنگ و سیاستهای مربوط به دولت ها و حکومت ها بوده است اگر نگاهی به رمزنگاری سزار در 500 یا 400 سال بعد از مصر باستان داشته باشیم درمیابیم که ژولیوس سزار نامههای خود را برای مکاتبات دولتی رمزنگاری میکرد هرچند در نگاه اول این نوع رمزنگاری که مربوط به رمزنگاری جانشینی میشود ساده بوده است اما در آن زمان متن ها قابل فهم نبود. رمزنگاری سزار یا کد سزار به این شکل بود که برای ناخوانا کردن متن اصلی از جابه جایی حروف الفبا استفاده میکرد.
قبل از اینکه درباره رمزنگاری سزار حرف بزنیم به این نکته توجه داشته باشید همینطور که گفته شد این رمز اولین رمز در تاریخ نبوده است ولی می توان رمزنگاری سزار را اولین رمزی شناخت که ساختار آن از رمزهای کلاسیک پیروی میکند.
اگر نگاهی دقیقتری به رمزنگاری سزار داشته باشیم و اینکه اینکار چطوری انجام میشد میتوانید به تصویر زیر توجه کنید :
همینطور که در تصویر مشاهده میکنید رمزنگاری سزار یک رمزنگاری جانشینی بوده است. مثلاً شما حروف الفبای انگلیسی را در نظر بگیرید که 26 تا میباشند اگر مقدار جابه جایی را 4 در نظر بگیرم حروف به این شکل در میآیند :
Plaintext : ABCDEFGHIGKLMNOPQRSTUWXYZ
ROT = 4
Ciphertext : EFGHIJKLMNOPQRSTUVWXYABCD
با توجه به قسمت بالا میتوانیم حال رمزنگاری مربوطه را ایجاد کنیم مثلاً
کلمه Cryptography را قرار خواهیم داد که شکل کلی مربوطه اینطوری خواهد شد :
Plaintext : Cryptography
ROT = 4
Ciphertext : GVCTXSKVETLC
اگر بخواهیم شکل کلی این قسمت را به صورت ریاضی بنویسم اینطوری حساب میکنیم حرف الفبای زبان انگلیسی 26 میباشد حرف A=0 تا حرف آخر که برابر با Z=25 خواهد بود اگر این مقدار را g در نظر بگیرم و n را مقدار جابه جایی حروف معادله زیرا میتوانیم شکل دهیم :
F(g) = (g+n) mod 26
در مطالب آینده درباره این سیستم به عنوان یک رمزنگاری ساده و به بررسی آن به صورت کلی خواهیم پرداخت .
ماشین رمزنگاری Enigma
همینطور که درجریان هستید
همیشه محافظت از اطلاعات بخش مهم و حیاطی در جنگها و سیاستهای دولت ها به
شمار می آید و البته باید این نکته را در نظر داشت که گسترش رمزنگاری و
تحقیقاتی که در این حوضه انجام شد و باعث گسترش رمزنگاری مدرن بوده است تا
حد زیادی بخاطر تحقیقاتی بود که دولت ها در جنگ جهانی دوم برای شکستن متن
رمزنگاری شده توسط ماشین Enigma انجام دادن.
ماشین Enigma توسط یک
مهندس آلمانی آرتور شربیوس در خلال جنگ جهانی اول اختراع شد. مدلهای مختلفی
از ماشین Enigma ساخته شد ولی مدل Enigma که در ارتش آلمان مورد استفاده
قرار گرفت Wehrmacht Enigma بود. این ماشین دارای چند چرخ دنده است که
حروف الفبا را به حروف دیگری نگاشت میکرد مثلاً حرف B به حرف W نگاشت
میشود و یا حرف A به G و … . ماشین اینطوری است که ابتدا باید اپراتور یک
سروی تنظیمات را برروی دستگاه اعمال کند و طرف گیرنده نیز باید همان
تنظیمات را برروی دستگاه اعمال کند برای جلوگیری از کشف نگاشت ها در
هر بار تکرار یک حرف چرخ دنده یک بار میچرخد و جای حروف تغییر میکرد مثلاً
این بار به جای اینکه B به حرف W اشاره کند به D اشاره میکرد. همینطور که
گفته شد برای رمزگشایی باید طرف گیرنده نیز همان ماشین با همان تنظیمات را
در اختیار داشته باشد. میتوانید ماشین Enigma را در تصویر زیر مشاهده کنید
اولین
اقدام برای شکستن کد Enigma در اواخر سال 1920 در لهستان صورت گرفت. گروهی
توسط دولت مامور شدن تا با توجه به مهارتی که در شکستن رمز داشتن جهت
شکستن رمزنگاری ماشین Enigma شروع به کار کنند. نتیجه آن شکست برخی از
پیامهای اولیه ماشین Enigma بود . در اواخر جنگ یک پروژه فوق سری به نام
Ultra زیر نظر آقای Alan Turing شروع شد که هدف آن رمزگشایی پیغام های
نیروی دریایی آلمان بود.
در آینده قسمت های بعدی رو مینویسم :)
منتظر بقیه مطالبت هستیم میلاد جان