تحلیل رمز
تحلیل رمز مطالعه تجزیه و تحلیل سیستم‌های اطلاعاتی به منظور مطالعه جنبه‌های پنهان سیستم‌ها است، تحلیل رمز برای نقض سیستم‌های امنیتی رمزنگاری و دستیابی به محتوای پیام‌های رمزگذاری شده استفاده می‌شود، حتی اگر کلید رمزنگاری ناشناخته باشد. علاوه بر تجزیه و تحلیل ریاضی الگوریتم‌های رمزنگاری، تحلیل رمز شامل مطالعه حملات کانال جانبی است که نقاط ضعف در الگوریتم‌های رمزنگاری را هدف نمی‌گیرند، بلکه در عوض از ضعف‌ها در اجرای آنها سوء استفاده می‌کنند. اگرچه هدف یکسان بوده‌است، روش‌ها و تکنیک‌های تحلیل رمز در طول تاریخ رمزنگاری به طرز چشمگیری تغییر کرده‌است، سازگار با افزایش پیچیدگی رمزنگاری، از روش‌های قلم و کاغذ، از طریق ماشین‌هایی مانند بمب‌های انگلیس و رایانه‌های کولئوس در بلوکلی پارک در جنگ جهانی دوم، به طرح‌های رایانه ای پیشرفته رایانه ای حاضر. روشهای شکستن رمزنگاری‌های مدرن اغلب شامل حل مسائل با دقت ساخته شده در ریاضیات خالص است که شناخته شده‌ترین عامل عدد صحیح است.
هدف از تحلیل رمز این است که با توجه به برخی از متون رمزنگاری شده، تا حد امکان اطلاعات اصلی را در مورد داده‌های رمزگذاری نشده (متن آشکار) کسب کند.
حملات را می‌توان براساس نوع اطلاعاتی که مهاجم در اختیار دارد طبقه‌بندی کرد. به عنوان یک نقطه شروع اصلی، معمولاً فرض بر این است که، برای اهداف تجزیه و تحلیل، الگوریتم کلی شناخته شده‌است، که نامش Maxim s'Shannon است (دشمن سیستم را می‌شناسد) به نوبه خود، معادل اصل Kerckhoffs. این یک فرض معقول در عمل است. در طول تاریخ، نمونه‌های بی شماری از الگوریتم‌های مخفی وجود دارد که در معرض دانش گسترده‌تری قرار می‌گیرند، از جمله با جاسوسی، خیانت و مهندسی معکوس (و بسته به موقعیت، رمزنگاری‌ها از طریق کسر خالص شکسته شده‌اند؛ برای مثال رمزهای آلمانی لورنز و کد ژاپنی Purple و انواع طرح‌های کلاسیک)
حملات را می‌توان با منابع مورد نیاز آنها نیز توصیف کرد. این منابع عبارتند از:
پیش‌بینی دقیق این مقادیر، گاهی اوقات دشوار است، به خصوص وقتی که برای انجام آزمایش حمله عملی نیست. اما تحلیل کنندگان رمز دانشگاهی تمایل دارند حداقل میزان تخمین بزرگی از مشکلات حملات خود را ارائه دهند، به عنوان مثال، SHA-1 collisions now 252.
نتایج تحلیل رمز همچنین می‌تواند در سودمندی متفاوت باشد. به عنوان مثال، رمزنگار الرس نودسن (۱۹۸۹) انواع مختلف حمله به رمزهای بلوک را با توجه به میزان و کیفیت اطلاعات مخفی که کشف شد طبقه‌بندی کرد:
حمالت آکادمیک اغلب در برابر نسخه‌های ضعیف از یک رمزنگاری، مانند رمزنگاری بلوک یا عملکرد هش با برخی rounds حذف شده‌است. بسیاری با افزودن rounds به سیستم رمزنگاری، حملات را از نظر ظاهری دشوارتر می‌کنند؛ بنابراین ممکن است سیستم رمزنگاری کاملاً قوی باشد حتی اگر انواع rounds ضعیف باشد. با این وجود، شکستهای جزئی که نزدیک به شکستن رمزنگاری اصلی است ممکن است به معنای وقوع یک شکست کامل باشد. حملات موفقیت‌آمیز به DES , MD5 و 1-SHA قبل از حمله به نسخه‌های ضعیف انجام شده‌است.
در رمزنگاری دانشگاهی، ضعف یا شکست در یک طرح معمولاً کاملا محافظه کارانه تعریف می‌شود: ممکن است نیاز به مقادیر غیر عملی از زمان، حافظه یا پیام‌های شناخته شده باشد. همچنین ممکن است مهاجمان بتواند کارهایی را انجام دهد که بسیاری از مهاجمین در دنیای واقعی قادر به انجام آن نیستند: برای مثال، ممکن است مهاجمی نیاز به انتخاب موارد خاص برای رمزگذاری داشته باشد یا حتی بخواهد رمزنگاری‌های ساده را با استفاده از چندین کلید مربوط به رمز رمزگذاری کند. کلید علاوه بر این، فقط می‌تواند اطلاعات کمی را نشان دهد، به اندازه کافی برای اثبات ناقص سیستم رمزنگاری اما بسیار کم برای مهاجمین در دنیای واقعی. سرانجام، حمله فقط به یک نسخه ضعیف از ابزارهای رمزنگاری، مانند رمزنگاری بلوک کاهش یافته، می‌تواند به عنوان گامی به سوی شکستن سیستم کامل اعمال شود.
تحلیل رمز و رمزنگاری همگام شده‌اند و این رقابت را می‌توان از طریق تاریخ رمزنگاری ردیابی کرد. رمزهای جدید برای جایگزینی طرح‌های قدیمی شکسته، و تکنیک‌های جدید تحلیل رمز برای شکستن طرح‌های بهبود یافته ردیابی شده‌اند. در عمل، آنها مانند دو روی یک سکه هستند: رمزنگاری امن نیاز به طراحی در برابر تحلیل رمز احتمالی دارد.
اگرچه خود کلمه "cryptanalysis" نسبتاً جدید است (در سال ۱۹۲۰ توسط ویلیام فریدمن ابداع شده‌است)، اما روش‌های شکستن رمزها بسیار قدیمی‌تر هستند. دیوید کان در The Codebreakers بیان می‌کند که دانشمندان عرب نخستین کسانی بودند که روشهای رمزنگاری را به شکل اصولی مستند کرده‌اند.
اولین توضیح ضبط شده رمزنگاری شده توسط الکندی (درگذشته ۱۱۰–۱۷۸، همچنین به عنوان «آلکیندوس» در اروپا نیز شناخته شده‌است)، یک polymath عرب قرن ۲، در amma 'Mu-al Istikhraj fi Risalah نسخه خطی در رمزگشایی پیام‌های رمزنگاری. این رساله شامل اولین توصیف روش تحلیل فرکانس است. بدین ترتیب الکندی به عنوان نخستین رمزگذار در تاریخ در نظر گرفته می‌شود. کار گشایشی او تحت تأثیر آل خلیل (۷۸۶–۷۱۷) قرار گرفت، که کتاب پیام‌های رمزنگاری را نوشت، که شامل اولین استفاده از ترکیب‌ها برای لیست تمام کلمات ممکن عربی با و بدون مصوت‌ها است.
تجزیه و تحلیل فرکانس، ابزاری اساسی برای شکستن بسیاری از رمزهای رمزنگاری است. در زبانهای طبیعی، حروف خاصی از الفبا بیشتر از دیگران ظاهر می‌شوند. در انگلیسی، "E" احتمالاً رایج‌ترین حرف در هر نمونه از متن ساده است. به همین ترتیب، دیگراف "TH" محتمل‌ترین جفت حروف به انگلیسی و غیره است. تجزیه و تحلیل فرکانس به یک رمزگذار متکی است که نتواند این آمار را مخفی کند. به عنوان مثال، در یک رمزگذاری جایگزینی ساده (جایی که هر حرف به سادگی با حرف دیگری جایگزین می‌شود)، بیشترین حرف در متن "E" خواهد بود. تجزیه و تحلیل فرکانس چنین رمزگذاری نسبتاً آسان است، مشروط بر اینکه متن به اندازه کافی طولانی باشد تا یک تعداد معقول نمایانگر حروف الفباء موجود در آن را ارائه دهد.
اختراع آل کندی از روش آنالیز فراوانی برای شکستن رمزهای جایگزینی monoalphabetic مهمترین پیشرفت رمزنگاری تا زمان جنگ جهانی دوم بود، اولین تکنیک‌های رمزنگاری را توصیف کرد، از جمله بعضی از آنها برای رمزهای چند کلمه ای، طبقه‌بندی رمزها، آواشناسی عربی و نحو و از همه مهمتر، اولین توصیف‌ها را در مورد تجزیه و تحلیل فرکانس ارائه داد. وی همچنین روش‌های رمزگذاری، رمزنگاری برخی رمزگذاری‌ها و تجزیه و تحلیل آماری ترکیب نامه‌ها و نامه‌ها را به زبان عربی پوشش داد. سهم مهمی از ابن عدلان (۱۲۸۷–۱۱۸۷) در اندازه نمونه برای استفاده از تجزیه و تحلیل فرکانس بود.
در اروپا، محقق ایتالیایی (1535-1615) Porta della Giambattista نویسنده یک اثر اصلی در زمینه تحلیل رمز، De Furtivis Literarum Notis، بود.
تحلیل رمزهای موفقیت‌آمیز بدون شک تاریخ را تحت تأثیر قرار داده‌است. توانایی خواندن افکار پنهانی و برنامه‌های دیگران می‌تواند یک مزیت تعیین‌کننده باشد. به عنوان مثال، در انگلستان در سال ۱۵۸۷، مری، ملکه اسکاتلند به دلیل درگیری در سه توطئه برای ترور الیزابت اول انگلیس به جرم خیانت محاکمه و اعدام شد. این نقشه‌ها پس از کشف مکاتبات رمزگذاری شده وی با توطئه کنندگان دیگر توسط توماس فلیپس کشف شد.
در اروپا طی سده‌های ۱۵ و ۱۶، ایده رمزگذاری جایگزینی چند حلقه ای، از جمله دیگران توسط دیپلمات فرانسوی، بلیز د ویگنر (۱۵۲۳–۹۶) ایجاد شد. برای حدود سه قرن، رمزنگاری Vigenère، که از کلید تکرارکننده برای انتخاب حروف مختلف رمزنگاری در چرخش استفاده می‌کند، کاملاً ایمن در نظر گرفته شده بود. با این وجود، چارلز بابیج (۱۷۹۱–۱۸۷۱) و بعداً، به‌طور مستقل، فردریش کازسکی (۱۸۰۵–۸۱) موفق به شکستن این رمزگذاری شدند. در طول جنگ جهانی اول، مخترعین در بسیاری از کشورها ماشین‌های رمزنگاری روتور مانند Scherbius Arthur Enigma را به منظور به حداقل رساندن تکرارهایی که برای شکستن سیستم Vigenère مورد سوء استفاده قرار گرفته بودند، توسعه دادند.
در جنگ جهانی اول شکستن تلگرام زیمرمن نقش مهمی در وارد کردن ایالات متحده به جنگ داشت. در جنگ جهانی دوم، متفقین از رمزنگاری موفقیت مشترک رمزهای آلمانی - از جمله دستگاه انیگما و رمزنگاری لورنز - و رمزهای ژاپنی، به ویژه «بنفش» و 25-JN بهره‌مند شدند. اطالعات «فوق العاده» به تعیین همه چیز بین کوتاه شدن پایان جنگ اروپا تا دو سال و تعیین نتیجه نهایی رسیده‌است. جنگ اقیانوس آرام نیز به همین ترتیب توسط اطالعات «جادو» کمک گرفت.
رمزنگاری پیامهای دشمن نقش مهمی در پیروزی متفقین در جنگ جهانی دوم داشت. Winterbotham FW، به نقل از فرمانده متفقین غربی، دوایت .D آیزنهاور، در پایان جنگ توصیف اطلاعات فوق‌العاده را «تعیین کننده» برای پیروزی متفقین دانست. سر هری هینسلی، مورخ رسمی اطالعات بریتانیا در جنگ جهانی دوم، ارزیابی مشابهی را دربارهٔ اولترا انجام داد و گفت که این جنگ «را نه کمتر از دو سال و احتمالا چهار سال» کوتاه کرد. علاوه بر این، وی گفت که در غیاب اولترا، بلاتکلیف جنگ چگونه به پایان می‌رسد.
در عمل، تجزیه و تحلیل فرکانس همان اندازه که به آمار وابسته است، به زبان‌شناسی متکی است. اما با پیچیده‌تر شدن رمزگذاری، ریاضیات در رمزنگاری اهمیت بیشتری پیدا کردند. این تغییر به ویژه قبل و در طول جنگ جهانی دوم مشهود بود، جایی که تلاش برای شکستن رمزهای محوری به سطوح جدیدی از پیچیدگی ریاضی نیاز داشت. علاوه بر این، اتوماسیون برای اولین بار در آن دوران با دستگاه Bomba لهستانی، Bombe بریتانیایی، استفاده از تجهیزات کارت پانچ شده و در رایانه‌های Colossus برای اولین بار در رمزنگاریز در آن دوره مورد استفاده قرار گرفت.
با رمزهای دستگاه‌های متقابل مانند رمزنگاری لورنز و دستگاه انیگما که در طول جنگ جهانی دوم توسط آلمان نازی مورد استفاده قرار گرفت، هر پیام دارای کلید مخصوص به خود بود. معمولاً، اپراتور انتقال دهنده با انتقال مقداری متن ساده و/یا متن رمزگذاری شده قبل از پیام رمزگذاری شده، اپراتور گیرنده را از این کلید پیام مطلع می‌کند. این شاخص نامیده می‌شود، زیرا به اپراتور گیرنده نشان می‌دهد که چگونه دستگاه خود را برای رمزگشایی پیام تنظیم کند. سیستم‌های نشانگر طراحی و اجرا شده ضعیف اجازه می‌دهد تا ابتدا رمزنگاران لهستانی و سپس رمزنگاران انگلیسی در بلوکتلی پارک به شکستن سیستم رمزگذاری. Enigma سیستم‌های شاخص ضعیف مشابه، به انگلیسی‌ها اجازه می‌دهد عمقاتی را که منجر به تشخیص سیستم رمزنگاری 42 / SZ40 Lorenz و تشخیص کامل پیام‌های آن شده‌است بدون اینکه رمزنگاران بتوانند دستگاه رمزنگاری را ببینند، شناسایی کنند.
ارسال دو یا چند پیام با همان کلید یک فرایند ناامن است. گفته می‌شود که پیام‌ها «به عمق» به یک رمزنگار منتقل می‌شوند. این ممکن است توسط پیام‌هایی که دارای همان علامت هستند که توسط آن اپراتور ارسال کننده به اپراتور گیرنده در مورد تنظیمات اولیه ژنراتور کلیدی این پیام اطلاع می‌دهد.
به‌طور کلی، رمزپایان ممکن است از تنظیم عملیات رمزگذاری یکسان در میان مجموعه ای از پیام‌ها بهره‌مند شود. به عنوان مثال، رمزنگارهای رمزگذاری Vernam با ترکیب بیت برای بیت با کلمه بلند با استفاده از اپراتور "xor"، که به عنوان "باقی مانده بر ۲" نیز شناخته می‌شود (نماد ⊕).
Plaintext ⊕ Key = Ciphertext
رمزگشایی همان بیت‌های کلیدی را با متن رمزگذاری شده برای بازسازی متن ساده ترکیب می‌کند:
Ciphertext ⊕ Key = Plaintext
در محاسبات باقی مانده بر ۲، هنگامی که دو متن رمز شده که در عمق تراز شده‌اند، ترکیب آنها کلید مشترک را از بین می‌برد و فقط ترکیبی از دو متن ساده را باقی می‌گذارد.
Ciphertext1 ⊕ Ciphertext2 = Plaintext1 ⊕ Plaintext2
سپس با استفاده از کلمات (عبارات یا احتمالات) احتمالی، می‌توانید از طریق زبانی به صورت زبانی به کار گرفته شوید. حدس صحیح، وقتی با جریان متن ساده ادغام شده ترکیب شود، متنی قابل فهم را از مؤلفه دیگر متن ساده تولید می‌کند:
Plaintext1 ⊕ Plaintext2) ⊕ Plaintext1 = Plaintext2)
قطعه کشف شده از متن ساده اغلب می‌تواند در یک یا هر دو جهت گسترش یابد، و شخصیت‌های اضافی را می‌توان با جریان ساده متن ادغام شده برای گسترش متن اول ترکیب کرد. با استفاده از معیار قابل فهم برای بررسی حدس‌ها، ممکن است تحلیلگر بتواند بخش عمده ای از این مطالب را بدست آورد). تنها با دو عمق عمق فقط یک تحلیلگر ممکن است بداند کدام یک با متن متن مطابقت دارد، اما در عمل این یک مشکل بزرگ نیست. (وقتی یک متن ساده کشف شده با متن متن آن ترکیب می‌شود، کلید فاش می‌شود:
Plaintext1 ⊕ Ciphertext1 = Key
دانستن یک کلید البته به تحلیلگر امکان می‌دهد پیام‌های دیگر رمزگذاری شده با همان کلید را بخواند، و دانش در مورد مجموعه ای از کلیدهای مرتبط ممکن است اجازه دهد تا رمزنگاران بتوانند سیستم مورد استفاده برای ساخت آنها را تشخیص دهند.
دولت‌ها مدتهاست که مزایای احتمالی رمزنگاری را برای اطلاعات، اعم از نظامی و دیپلماتیک و سازمانهای اختصاصی مستقر در زمینه شکستن رمزها و رمزهای سایر ملل، به عنوان مثال، GCHQ و NSA، سازمانهایی که هنوز هم بسیار فعال هستند، تأسیس کرده‌اند.
اگرچه در زمان جنگ جهانی دوم از محاسبات برای تأثیرگذاری در رمزنگاری رمزنگاری لورنز و سایر سیستمها استفاده شده‌است، اما همچنین روشهای جدید دستورات رمزنگاری از بزرگی را پیچیده‌تر از گذشته کرده‌است. به‌طور کلی، رمزنگاری مدرن نسبت به سیستم‌های قلم و کاغذ گذشته، نسبت به سیستم رمزنگاری و کاغذ گذشته بسیار غیرقابل نفوذ است، و حالا به نظر می‌رسد که دست بالایی در برابر رمزنگاری خالص دارد. مورخ دیوید کان یادداشت می‌کند: کان در ادامه به افزایش فرصت‌ها برای رهگیری، رفع اشکال، حمالت کانال جانبی و رایانه‌های کوانتومی به عنوان جایگزینی برای وسایل سنتی رمزنگاری اشاره می‌کند. در سال ۲۰۱۰، برایان اسنو، مدیر فنی سابق NSA گفت که هم رمزنگارهای دانشگاهی و هم دولتی «در یک زمینه بالغ» خیلی آهسته به جلو می‌روند.
با این حال، ممکن است هرگونه پس از مرگ برای رمزنگاری زودرس باشد. در حالی که اثربخشی روشهای رمزنگاری به کار رفته در سازمانهای اطالعاتی ناشناخته است، بسیاری از حمالت جدی علیه نخستین رمزنگاری دانشگاهی و عملی در دوره مدرن رمزنگاری رایانه منتشر شده‌اند.
بنابراین، در حالی که بهترین رمزگذارهای مدرن ممکن است نسبت به انیگما در برابر رمزنگاری بسیار مقاوم باشند، رمزنگاری و زمینه گسترده‌تر امنیت اطالعات کاملاً فعال هستند.
در سال ۲۰۰۴ گزارش شد که آمریکا رمزهای ایران را خراب کرده‌است. با این وجود مشخص نیست که آیا این یک رمزنگاری خالص بود یا اینکه عوامل دیگری در این امر دخیل بوده‌اند یا خیر.رمزنگاری کلید عمومی رمزنگاری است که به استفاده از دو کلید (مربوط به ریاضی) وابسته است. یکی خصوصی و دیگری عمومی. چنین رمزهایی همواره به مسائل ریاضی «سخت» مبنای امنیت آنها تکیه می‌کنند، بنابراین نکته مشهود حمله ایجاد روشهایی برای حل مسئله است. امنیت رمزنگاری دو کلیدی به پرسش‌های ریاضی بستگی دارد به گونه ای که رمزنگاری تک کلیدی به‌طور کلی آن را انجام نمی‌دهد، و برعکس تحلیل رمز را به روشی جدید به تحقیقات ریاضی گسترده‌تر پیوند می‌دهد.
طرح‌های نامتقارن بر پایه دشواری (گمانه زنی) برای حل مشکلات مختلف ریاضی طراحی شده‌اند. اگر یک الگوریتم بهبود یافته پیدا کرد تا مشکل را حل کند، سیستم ضعیف می‌شود. به عنوان مثال، امنیت طرح تبادل کلیدHellman-Diffie به سختی محاسبه لگاریتم گسسته بستگی دارد. در سال ۱۹۸۳، دون کوپرزمیتیت راهی سریعتر برای یافتن لگاریتم‌های گسسته (در گروه‌های خاص) پیدا کرد و از این طریق نیاز به رمزنگاران برای استفاده از گروه‌های بزرگتر (یا انواع مختلفی از گروه‌ها) داشت. امنیت RSA (تا حدودی) به دشواری تجزیه اعداد صحیح بستگی دارد - دستیابی به موفقیتی چشمگیر در تجزیه اعداد صحیح باعث کاهش امنیت RSA می‌شود.
در سال ۱۹۸۰ می‌شد یک عدد ۵۰ رقمی دشوار را با هزینه 10 عملیات تجزیه کرد. در سال ۱۹۸۴ هنر الگوریتم‌های تجزیه اعداد صحیح چنان پیشرفت کرد که می‌شد یک عدد ۷۵ رقمی دشوار را با هزینه 10 عملیات تجزیه کرد پیشرفت‌های فن آوری محاسبات همچنین بدان معنی است که می‌توان عملیات را خیلی سریعتر انجام داد. قانون مور پیش‌بینی می‌کند که سرعت کامپیوتر همچنان در حال افزایش است. تکنیک‌های تجزیه ممکن است همچنان به این کار ادامه دهند، اما به احتمال زیاد به بینش و خلاقیت ریاضی بستگی دارد، که هیچ‌یک از آنها تاکنون با موفقیت قابل پیش‌بینی نبوده‌اند. اعداد ۱۵۰رقمی که قبلاً در RSA مورد استفاده قرار گرفته‌است. تلاش بیشتر از حد بود، اما در رایانه‌های مدرن سریع منطقی نبود. با شروع قرن بیست و یکم، شماره‌های ۱۵۰رقمی دیگر اندازه کلیدی کافی برای RSA محسوب نمی‌شدند. در سال ۲۰۰۵ شماره‌هایی با چند صد رقم هنوز هم برای تجزیه کردن بسیار سخت به نظر می‌رسید، اگرچه روش‌ها به مرور زمان بهبود می‌یابند و برای حفظ سرعت یا روش‌های دیگر مانند رمزنگاری منحنی بیضوی نیاز به اندازه کلیدی دارند.
یک الگوریتم رمزنگاری در صورتی به صورت مطلق امن است که متن رمز شده بدون داشتن کلید هیچ اطلاعاتی را در مورد متن رمزنشده فاش نکند. اگر E تابع دارای امنیت مطلق باشد، برای هر پیام ثابت m باید حداقل یک کلید مانند برای هر متن رمز شده c وجود داشته باشد. هم چنین نظریه ضعیف تری در مورد امنیت وجود دارد که توسط ای. وینر ارائه شده‌است و توسط بسیاری از افراد در زمینه تئوری اطلاعات اخیراً مورد استفاده قرار گرفته‌است.
در مورد یک سیستم رمز، به دست آوردن بخشی از اطلاعات رایج است اما با این حال خصوصیات امنیتی خود را حتی در مقابل حمله‌کننده‌ای که منابع محاسباتی نامحدود دارد، حفظ می‌کند. چنین سیستم رمزی دارای امنیت از نظر تئوری اطلاعات است اما دارای امنیت مطلق نیست. معنای دقیق امنیت به سیستم رمز بستگی دارد.
امنیت از نظر "تئوری اطلاعات" و نیز از نظر "امنیت نامشروط" اغلب به جای هم به کار می‌روند. هرچند اصطلاح "امنیت نامشروط" همچنین می‌تواند به سیستم‌هایی که به "فرضیات اثبات نشده سختی‌های محاسباتی" بستگی ندارد، اطلاق شود. امروزه این سیستم‌ها اغلب مشابه سیستم‌های دارای امنیت از نظر تئوری اطلاعات هستند. الگوریتم آراس‌ای حتی اگر به عنوان الگوریتمی دارای امنیت نامشروط شناخته شود هرگز از نظر "تئوری اطلاعات" امن در نظر گرفته نمی‌شود.