نیاز به رمزگذاری مکاتبات در دنیای باستان بوجود آمد و رمزهای جایگزین ساده ظاهر شدند. پیام های رمزگذاری شده سرنوشت بسیاری از نبردها را تعیین کردند و بر روند تاریخ تأثیر گذاشتند. با گذشت زمان، مردم روشهای رمزگذاری پیشرفتهتری را اختراع کردند.
کد و رمز، به هر حال، مفاهیم متفاوتی هستند. اولی به معنای جایگزینی هر کلمه در پیام با یک کلمه رمز است. دوم این است که هر نماد اطلاعات را با استفاده از یک الگوریتم خاص رمزگذاری کنید.
بعد از اینکه ریاضیات شروع به رمزگذاری اطلاعات کرد و نظریه رمزنگاری توسعه یافت، دانشمندان بسیاری از خواص مفید این علم کاربردی را کشف کردند. برای مثال، الگوریتمهای رمزگشایی به کشف زبانهای مرده مانند مصری باستان یا لاتین کمک کردهاند.
Steganography
Steganography قدیمی تر از کدگذاری و رمزگذاری است. این هنر از دیرباز وجود داشته است. این در لغت به معنای "نوشتن پنهان" یا "نوشتن رمزی" است. اگرچه استگانوگرافی کاملاً با تعاریف یک کد یا رمز مطابقت ندارد، اما قصد دارد اطلاعات را از غریبه ها پنهان کند.چشم.
Steganography ساده ترین رمز است. یادداشت های بلعیده شده پوشیده شده با موم نمونه های معمولی هستند، یا پیامی روی سر تراشیده شده که زیر موهای رشد یافته پنهان می شود. واضحترین مثال از استگانوگرافی، روشی است که در بسیاری از کتابهای کارآگاهی انگلیسی (و نه تنها) توصیف شده است، زمانی که پیامها از طریق روزنامه مخابره میشوند، جایی که حروف بهطور نامحسوس علامتگذاری میشوند.
عیب اصلی استگانوگرافی این است که یک غریبه توجه می تواند متوجه آن شود. بنابراین، برای جلوگیری از خواندن آسان پیام مخفی، از روشهای رمزگذاری و کدگذاری همراه با استگانوگرافی استفاده میشود.
ROT1 و رمز سزار
نام این رمز ROTate 1 حرف جلو است و برای بسیاری از دانش آموزان مدرسه ای شناخته شده است. این یک رمز جایگزین ساده است. ماهیت آن در این واقعیت نهفته است که هر حرف با جابجایی حروف الفبا 1 حرف به جلو رمزگذاری می شود. A -> B, B -> C, …, Z -> A. به عنوان مثال، عبارت "ناستیا ما با صدای بلند گریه می کند" را رمزگذاری می کنیم و "عمومی Obtua dspnlp rmbsheu" را دریافت می کنیم.
رمز ROT1 را می توان به تعداد دلخواه تعمیم داد، سپس ROTN نامیده می شود، که در آن N عددی است که رمزگذاری حروف باید توسط آن جابجا شود. به این شکل رمز از قدیم الایام شناخته شده است و به آن «رمز سزار» می گویند.
رمز سزار بسیار ساده و سریع است، اما یک رمز ساده تک جایگشتی است و بنابراین به راحتی شکسته می شود. با داشتن چنین عیب، فقط برای شوخی های کودکانه مناسب است.
رمزهای جابجایی یا جایگشت
این نوع رمزهای جایگشت ساده جدیتر هستند و نه چندان دور به طور فعال مورد استفاده قرار میگرفتند. در طول جنگ داخلی آمریکا و جنگ جهانی اول از آن برای ارسال پیام استفاده می شد. الگوریتم او شامل مرتب کردن مجدد حروف در مکان ها است - پیام را به ترتیب معکوس بنویسید یا حروف را به صورت جفت مرتب کنید. به عنوان مثال، اجازه دهید عبارت "کد مورس نیز یک رمز است" -> "akubza ezrom - hedgehog rfish" را رمزگذاری کنیم.
با یک الگوریتم خوب که جایگشت های دلخواه را برای هر کاراکتر یا گروهی از آنها تعیین می کرد، رمز در برابر شکستن ساده مقاوم شد. ولی! فقط در زمان مقرر از آنجایی که رمز به راحتی با نیروی ساده یا تطبیق فرهنگ لغت شکسته می شود، امروزه هر گوشی هوشمندی می تواند رمزگشایی آن را انجام دهد. بنابراین با ظهور رایانه، این رمز به دسته کودکان نیز رفت.
کد مورس
ABC وسیله ای برای تبادل اطلاعات است و وظیفه اصلی آن آسان تر و قابل فهم تر کردن پیام ها برای انتقال است. اگرچه این برخلاف آنچه رمزگذاری برای آن در نظر گرفته شده است. با این وجود، مانند ساده ترین رمزها کار می کند. در سیستم مورس، هر حرف، عدد و علامت نگارشی کد مخصوص به خود را دارد که از گروهی از خط تیره و نقطه تشکیل شده است. هنگام ارسال پیام با استفاده از تلگراف، خط تیره و نقطه نشان دهنده سیگنال های بلند و کوتاه هستند.
تلگراف و کد مورس… مورس کسی بود که اولین اختراع "خود" را در سال 1840 به ثبت رساند، اگرچه دستگاه های مشابهی قبل از او در روسیه و انگلیس اختراع شده بود. اما حالا چه کسی اهمیت می دهد … تلگراف و الفباکد مورس تأثیر بسیار زیادی بر جهان داشت و امکان انتقال تقریباً آنی پیامها را در فواصل قارهای فراهم کرد.
جایگزینی تک الفبایی
کد ROTN و مورس که در بالا توضیح داده شد نمونه هایی از فونت های جایگزین تک الفبایی هستند. پیشوند "مونو" به این معنی است که در طول رمزگذاری، هر حرف از پیام اصلی با حرف یا کد دیگری از تنها الفبای رمزگذاری جایگزین می شود.
رمزگشایی رمزهای جایگزین ساده کار دشواری نیست و این اشکال اصلی آنهاست. آنها با شمارش ساده یا تجزیه و تحلیل فرکانس حل می شوند. به عنوان مثال، مشخص است که پرکاربردترین حروف زبان روسی عبارتند از "o"، "a"، "i". بنابراین، می توان فرض کرد که در متن رمزی حروفی که اغلب به معنای "o" یا "a" یا "and" هستند. بر اساس این ملاحظات، پیام را می توان حتی بدون جستجوی رایانه ای رمزگشایی کرد.
مشخص است که مری اول، ملکه اسکاتلند از ۱۵۶۱ تا ۱۵۶۷، از رمز جایگزینی تک الفبایی بسیار پیچیده با چندین ترکیب استفاده کرد. با این حال، دشمنان او توانستند پیامها را رمزگشایی کنند و اطلاعات کافی بود تا ملکه را به اعدام محکوم کنند.
رمز گرونسفلد، یا جایگزینی چندالفبایی
رمزهای ساده توسط رمزنگاری بی فایده اعلام می شوند. بنابراین، بسیاری از آنها بهبود یافته اند. رمز گرونسفلد اصلاحی از رمز سزار است. این روش در برابر هک بسیار مقاومتر است و در این واقعیت نهفته است که هر کاراکتر اطلاعات رمزگذاری شده با استفاده از یکی از الفبای مختلف رمزگذاری میشود که به صورت چرخهای تکرار میشوند. می توان گفت که این یک برنامه چند بعدی استساده ترین رمز جایگزین در واقع، رمز گرونسفلد بسیار شبیه به رمز ویژنر است که در زیر مورد بحث قرار گرفته است.
الگوریتم رمزگذاری ADFGX
این معروف ترین رمز جنگ جهانی اول است که توسط آلمانی ها استفاده می شود. رمز نام خود را به این دلیل گرفت که الگوریتم رمزگذاری همه رمزنگارها را به تناوب این حروف هدایت کرد. انتخاب خود حروف به دلیل راحتی آنها هنگام ارسال از طریق خطوط تلگراف تعیین می شد. هر حرف در رمز با دو نشان داده می شود. بیایید به نسخه جالبتری از مربع ADFGX نگاه کنیم که شامل اعداد است و ADFGVX نام دارد.
A | D | F | G | V | X | |
A | J | Q | A | 5 | H | D |
D | 2 | E | R | V | 9 | Z |
F | 8 | Y | I | N | K | V |
G | U | P | B | F | 6 | O |
V | 4 | G | X | S | 3 | T |
X | W | L | Q | 7 | C | 0 |
الگوریتم تربیع ADFGX به شرح زیر است:
- N حرف تصادفی برای ستونها و ردیفها انتخاب کنید.
- ساخت یک ماتریس N x N.
- الفبا، اعداد، کاراکترها را که به طور تصادفی در سلول ها پراکنده شده اند در ماتریس وارد کنید.
بیایید یک مربع مشابه برای زبان روسی درست کنیم. به عنوان مثال، بیایید یک مربع ABCD ایجاد کنیم:
A | B | B | G | D | |
A | E/E | N | b/b | A | I/Y |
B | W | V/F | G/R | З | D |
B | Sh/Sh | B | L | X | I |
G | R | M | O | Yu | P |
D | F | T | T | S | U |
این ماتریس عجیب به نظر می رسد زیرا یک ردیف از سلول ها شامل دو حرف است. این قابل قبول است، معنای پیام گم نمی شود. به راحتی قابل بازیابی است. عبارت "Compact cipher" را با استفاده از این جدول رمزگذاری کنید:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
عبارت | K | O | M | P | A | K | T | N | S | Y | Ш | & | F | R |
رمز | bw | gv | gb | جایی | ag | bw | db | ab | dg | جهنم | wa | جهنم | bb | ha |
بنابراین، پیام رمزگذاری شده نهایی به این صورت است: "bvgvgbgdagbvdbabdgvdvaadbbga". البته آلمانی ها خط مشابهی را از طریق چندین رمز دیگر انجام دادند. و در پایان معلوم شد که بسیار پایدار استبرای شکستن پیام رمزگذاری شده.
رمز ویژنر
این رمز نسبت به رمزهای تک الفبایی نسبت به ترک خوردن مقاومت بیشتری دارد، اگرچه یک رمز جایگزین متن ساده است. با این حال، به دلیل الگوریتم قوی، برای مدت طولانی هک غیرممکن به نظر می رسید. اولین ذکر آن به قرن شانزدهم باز می گردد. ویژنر (دیپلمات فرانسوی) به اشتباه مخترع آن شناخته می شود. برای درک بهتر آنچه در خطر است، جدول Vigenère (مربع Vigenère، Tabula recta) را برای زبان روسی در نظر بگیرید.
بیایید رمزگذاری عبارت "کاسپروویچ می خندد" را شروع کنیم. اما برای موفقیت رمزگذاری، یک کلمه کلیدی مورد نیاز است - بگذارید "رمز عبور" باشد. حالا بیایید رمزگذاری را شروع کنیم. برای انجام این کار، کلید را آنقدر می نویسیم که تعداد حروف آن با تعداد حروف عبارت رمزگذاری شده مطابقت داشته باشد، با تکرار کلید یا برش:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
عبارت: | K | A | С | P | E | R | O | B | & | W | С | M | E | E | T | С | I |
کلید | P | A | R | O | L | b | P | A | R | O | L | b | P | A | R | O | L |
اکنون با استفاده از جدول ویژنر، مانند صفحه مختصات، به دنبال سلولی هستیم که محل تلاقی جفت حروف باشد، و به دست می آید: K + P=b، A + A=B، C. + P=C و غیره.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
رمز: | b | B | B | Yu | С | N | Yu | G | Sch | F | E | Y | X | F | G | A | L |
می فهمیم که "کاسپروویچ می خندد"="bvusnyugschzh eykhzhgal".
شکستن رمز Vigenère بسیار دشوار است زیرا تجزیه و تحلیل فرکانس برای کار کردن نیاز به دانستن طول کلمه کلیدی دارد. بنابراین هک این است که به طور تصادفی طول کلمه کلیدی را پرتاب کنید و سعی کنید پیام مخفی را بشکنید.
همچنین لازم به ذکر است که علاوه بر کلید کاملا تصادفی می توان از جدول ویژنر کاملاً متفاوت استفاده کرد. در این مورد، مربع ویژنر از یک الفبای روسی خط به خط با جابجایی یک تشکیل شده است. که ما را به رمز ROT1 ارجاع می دهد. و درست مانند رمز سزار، افست می تواند هر چیزی باشد. علاوه بر این، ترتیب حروف لازم نیست بر اساس حروف الفبا باشد. در این مورد، خود جدول می تواند کلید باشد، بدون دانستن آن، خواندن پیام، حتی با دانستن کلید، غیرممکن خواهد بود.
کد
کدهای واقعی از موارد مشابه برای هر کدام تشکیل شده استکلمات یک کد جداگانه برای کار با آنها، به اصطلاح کتاب های کد مورد نیاز است. در واقع، این همان فرهنگ لغت است که فقط شامل ترجمه کلمات به کد است. یک مثال معمولی و ساده شده از کدها، جدول ASCII است - یک رمز بین المللی از کاراکترهای ساده.
مزیت اصلی کدها این است که رمزگشایی آنها بسیار دشوار است. تجزیه و تحلیل فرکانس زمانی که آنها هک می شوند تقریباً کار نمی کند. نقطه ضعف کدها در واقع خود کتاب هاست. اولاً، تهیه آنها یک فرآیند پیچیده و پرهزینه است. ثانیاً، برای دشمنان آنها به یک شی مورد نظر تبدیل می شوند و رهگیری حتی بخشی از کتاب شما را مجبور می کند همه کدها را کاملاً تغییر دهید.
در قرن بیستم، بسیاری از ایالتها از کدهایی برای انتقال دادههای مخفی استفاده میکردند و پس از مدتی کتاب کد را تغییر میدادند. و همچنین فعالانه به دنبال کتابهای همسایگان و مخالفان بودند.
Enigma
همه می دانند که انیگما ماشین رمز اصلی نازی ها در طول جنگ جهانی دوم بود. ساختار Enigma شامل ترکیبی از مدارهای الکتریکی و مکانیکی است. نحوه تبدیل رمز به پیکربندی اولیه Enigma بستگی دارد. در همان زمان، Enigma به طور خودکار پیکربندی خود را در طول عملیات تغییر می دهد، و یک پیام را به چندین روش در طول کل آن رمزگذاری می کند.
بر خلاف ساده ترین رمزها، "Enigma" تریلیون ها ترکیب ممکن را ارائه داد، که شکستن اطلاعات رمزگذاری شده را تقریبا غیرممکن می کرد. به نوبه خود، نازی ها ترکیب خاصی را برای هر روز آماده کرده بودند که آنها را تهیه کردنددر یک روز خاص برای ارسال پیام استفاده می شود. بنابراین، حتی اگر انیگما به دست دشمن بیفتد، هیچ کاری برای رمزگشایی پیامها بدون وارد کردن پیکربندی صحیح هر روز انجام نمیدهد.
هک "Enigma" به طور فعال در طول کل مبارزات نظامی هیتلر آزمایش شد. در انگلستان در سال 1936 یکی از اولین دستگاه های محاسباتی (ماشین تورینگ) برای این کار ساخته شد که در آینده به نمونه اولیه کامپیوترها تبدیل شد. وظیفه او شبیه سازی عملیات چند ده انیگما به طور همزمان و اجرای پیام های رهگیری شده نازی ها از طریق آنها بود. اما حتی ماشین تورینگ فقط گاهی اوقات قادر به شکستن پیام بود.
رمزگذاری کلید عمومی
محبوب ترین الگوریتم رمزگذاری است که در همه جا در فناوری و سیستم های رایانه ای استفاده می شود. ماهیت آن، به عنوان یک قاعده، در حضور دو کلید است که یکی از آنها به طور عمومی منتقل می شود و دومی مخفی (خصوصی) است. کلید عمومی برای رمزگذاری پیام و کلید خصوصی برای رمزگشایی آن استفاده می شود.
کلید عمومی اغلب یک عدد بسیار بزرگ است که فقط دو مقسوم علیه دارد، بدون شمارش یکی و خود عدد. این دو مقسومکننده با هم یک کلید مخفی تشکیل میدهند.
بیایید یک مثال ساده را در نظر بگیریم. بگذارید کلید عمومی 905 باشد. مقسومکنندههای آن اعداد 1، 5، 181 و 905 هستند. سپس کلید مخفی مثلاً عدد 5181 خواهد بود. خیلی راحت میگی؟ چه می شود اگر در نقششماره عمومی عددی با 60 رقم خواهد بود؟ محاسبه مقسوم علیه اعداد بزرگ از نظر ریاضی دشوار است.
برای مثال واضح تر، تصور کنید که در حال برداشت پول از دستگاه خودپرداز هستید. هنگام خواندن کارت، اطلاعات شخصی با یک کلید عمومی خاص رمزگذاری می شود و در سمت بانک، اطلاعات با یک کلید مخفی رمزگشایی می شود. و این کلید عمومی را می توان برای هر عملیات تغییر داد. و هیچ راهی برای یافتن سریع مقسومگیرندههای کلیدی هنگام قطع کردن آن وجود ندارد.
دوام فونت
قدرت رمزنگاری یک الگوریتم رمزگذاری توانایی مقاومت در برابر هک است. این پارامتر برای هر رمزگذاری مهم ترین است. بدیهی است که رمز جایگزین ساده، که می تواند توسط هر وسیله الکترونیکی رمزگشایی شود، یکی از ناپایدارترین هاست.
امروزه، استانداردهای یکسانی وجود ندارد که بتوان بر اساس آن قدرت رمز را ارزیابی کرد. این یک فرآیند پر زحمت و طولانی است. با این حال، تعدادی از کمیسیون ها هستند که استانداردهایی در این زمینه تولید کرده اند. برای مثال، حداقل الزامات برای استاندارد رمزگذاری پیشرفته یا الگوریتم رمزگذاری AES که توسط NIST USA توسعه یافته است.
برای مرجع: رمز Vernam به عنوان مقاوم ترین رمز در برابر شکستن شناخته می شود. در عین حال، مزیت آن این است که طبق الگوریتم آن، ساده ترین رمز است.