تجزیه و تحلیل رمز یا شکستن رمز، به کلیه اقدامات مبتنی بر اصول ریاضی و علمی اطلاق میگردد که هدف آن از بین بردن امنیت رمزنگاری و در نهایت باز کردن رمز و دستیابی به اطلاعات اصلی باشد. در تجزیه و تحلیل رمز، سعی میشود تا با بررسی جزئیات مربوط به الگوریتم رمز و یا پروتکل رمزنگاری مورد استفاده و به کار گرفتن هرگونه اطلاعات جانبی موجود، ضعفهای امنیتی احتمالی موجود در سیستم رمزنگاری یافته شود و از این طریق به نحوی کلید رمز به دست آمده و یا محتوای اطلاعات رمزشده استخراج گردد.
تجزیه و تحلیل رمز، گاهی به منظور شکستن امنیت یک سیستم رمزنگاری و به عنوان خرابکاری و یک فعالیت ضد امنیتی انجام میشود و گاهی هم به منظور ارزیابی یک پروتکل یا الگوریتم رمزنگاری و برای کشف ضعفها و آسیبپذیریهای احتمالی آن صورت میپذیرد. به همین دلیل، تجزیه و تحلیل رمز، ذاتاً یک فعالیت خصومتآمیز به حساب نمیآید؛ اما معمولاً قسمت ارزیابی و کشف آسیبپذیری را به عنوان جزئی از عملیات لازم و ضروری در هنگام طراحی الگوریتمها و پروتکلهای جدید به حساب میآورند و در نتیجه تجزیه و تحلیل رمز بیشتر فعالیتهای خرابکارانه و ضد امنیتی را به ذهن متبادر میسازد. با توجه به همین مطلب از اصطلاح حملات تحلیل رمز برای اشاره به چنین فعالیتهایی استفاده میشود.
تحلیل رمز، در اصل اشاره به بررسی ریاضی الگوریتم (یا پروتکل) و کشف ضعفهای احتمالی آن دارد؛ اما در خیلی از موارد فعالیت خرابکارانه، به جای اصول و مبنای ریاضی، به بررسی یک پیادهسازی خاص آن الگوریتم (یا پروتکل) در یک کاربرد خاص میپردازد و با استفاده از امکانات مختلف سعی در شکستن رمز و یافتن کلید رمز مینماید. به این دسته از اقدامات خرابکارانه، حملات جانبی گفته میشود.
به طور کلی دسته بندی های مختلفی برای طبقه بندی حملات تحلیل سیستم های رمزنگاری قابل ارائه است. در ادامه به سه نوع طبقه بندی حملات تحلیل رمز اشاره می شود:
تجزیه و تحلیل رمز یا شکستن رمز، به کلیه اقدامات مبتنی بر اصول ریاضی و علمی اطلاق میگردد که هدف آن از بین بردن امنیت رمزنگاری و در نهایت باز کردن رمز و دستیابی به اطلاعات اصلی باشد. در تجزیه و تحلیل رمز، سعی میشود تا با بررسی جزئیات مربوط به الگوریتم رمز و یا پروتکل رمزنگاری مورد استفاده و به کار گرفتن هرگونه اطلاعات جانبی موجود، ضعفهای امنیتی احتمالی موجود در سیستم رمزنگاری یافته شود و از این طریق به نحوی کلید رمز به دست آمده و یا محتوای اطلاعات رمزشده استخراج گردد.
تجزیه و تحلیل رمز، گاهی به منظور شکستن امنیت یک سیستم رمزنگاری و به عنوان خرابکاری و یک فعالیت ضد امنیتی انجام میشود و گاهی هم به منظور ارزیابی یک پروتکل یا الگوریتم رمزنگاری و برای کشف ضعفها و آسیبپذیریهای احتمالی آن صورت میپذیرد. به همین دلیل، تجزیه و تحلیل رمز، ذاتاً یک فعالیت خصومتآمیز به حساب نمیآید؛ اما معمولاً قسمت ارزیابی و کشف آسیبپذیری را به عنوان جزئی از عملیات لازم و ضروری در هنگام طراحی الگوریتمها و پروتکلهای جدید به حساب میآورند و در نتیجه تجزیه و تحلیل رمز بیشتر فعالیتهای خرابکارانه و ضد امنیتی را به ذهن متبادر میسازد. با توجه به همین مطلب از اصطلاح حملات تحلیل رمز برای اشاره به چنین فعالیتهایی استفاده میشود.
تحلیل رمز، در اصل اشاره به بررسی ریاضی الگوریتم (یا پروتکل) و کشف ضعفهای احتمالی آن دارد؛ اما در خیلی از موارد فعالیت خرابکارانه، به جای اصول و مبنای ریاضی، به بررسی یک پیادهسازی خاص آن الگوریتم (یا پروتکل) در یک کاربرد خاص میپردازد و با استفاده از امکانات مختلف سعی در شکستن رمز و یافتن کلید رمز مینماید. به این دسته از اقدامات خرابکارانه، حملات جانبی گفته میشود.
به طور کلی دسته بندی های مختلفی برای طبقه بندی حملات تحلیل سیستم های رمزنگاری قابل ارائه است. در ادامه به سه نوع طبقه بندی حملات تحلیل رمز اشاره می شود:
1- طبقهبندی حملههای تحلیل رمز بر مبنای نتایج بهدست آمده
• جعل متن رمزشده : دست یابی به یک متن رمزشده جعلی بدون در دسترس بودن کلید به-نحوی که در هنگام رمزگشایی یک متن پیام معنی دار تولید نماید.
• بازیابی متن اصلی : دست یابی به متن اصلی بدون در دسترس بودن کلید
• بازیابی کلید : دست یابی به مقدار کلید
2- طبقهبندی حملههای تحلیل رمز بر مبنای تواناییهای تحلیلگر
• حمله بر اساس فقط متن رمز : در این حمله، مهاجم تلاش میکند فقط با داشتن تعدادی متون رمزشده، کلید را به دست آورد. اگرچه ممکن است مهاجم، اطلاعات اولیه ای نظیر زبان متن اصلی، موضوع متن اصلی و احتمالا تعدادی از لغات بکار بردهشده در متن اصلی را نیز داشته باشد. این حمله، ضعیف ترین نوع حمله است. به این نوع حمله، حمله نوع اول گویند.
• حمله بر اساس متن اصلی معلوم : در این حمله، مهاجم به یک یا چند متن اصلی و متن رمزشده متناظر دسترسی دارد و تلاش میکند تا به کلید دست یابد. به این نوع حمله، حمله نوع دوم گویند.
• حمله بر اساس متن اصلی انتخابی : در این حمله، مهاجم قادر است متن رمزشده متناظر با هر متن اصلی را به دست آورد (مثلا با در اختیار داشتن رمزکننده برای یک زمان محدود). به این نوع حمله، حمله نوع سوم گویند.
• حمله بر اساس متن اصلی انتخابی تطبیقی : یک حمله نوع سوم است که در آن متون اصلی انتخابی در هر مرحله بر اساس نتایج تحلیل زوجهای متن اصلی و متن رمزشده قبلی تعیین می-شود (مثلا با در اختیار داشتن رمزکننده برای یک زمان طولانی).
• حمله بر اساس متن رمز انتخابی : در این حمله، مهاجم قادر است متن اصلی متناظر با هر متن رمزشده انتخابی را به دست آورد (مثلا با در اختیار داشتن رمزگشا برای یک زمان محدود). این حمله، قوی ترین نوع حمله است. به این نوع حمله، حمله نوع چهارم گویند.
• حمله بر اساس متن رمز انتخابی تطبیقی : یک حمله نوع چهارم است که در آن متون رمزشده انتخابی در هر مرحله بر اساس نتایج تحلیل زوجهای متن اصلی و متن رمزشده قبلی تعیین می شود (مثلا با در اختیار داشتن رمزگشا برای یک زمان طولانی).
3- طبقهبندی حملههای تحلیل رمز بر مبنای میزان موفقیت
• شکست کامل : استخراج کامل کلید
• شکست عمومی : دستیابی به الگوریتم رمزگشایی معادل بدون نیاز به کلید
• شکست موردی : دستیابی به الگوریتم رمزگشایی معادلی که فقط به ازای برخی متون رمزشده درست عمل میکند.
• شکست اطلاعاتی : چند بیت از کلید یا متن اصلی معلوم می شود.
برای مطالعه بیشتر در مورد رمزنگاری روی تصویر زیر کلیک کنید.