بخشی از مقاله
چکیده
برقراری امنیت اطلاعات و ارتباطات اهمیت ویژهای در استفاده از اطلاعات و ارتباطات در هر حوزهای مانند حوزه های نظامی سیاسی و غیره دارد و یکی از مولفههای امنیت پروتکلهای رمزنگاری توابع چکیدهساز بهکار رفته در آنها است. توابع چکیدهساز توابعی هستند یک طرفه که رشته صفر و یک ورودی با طول دلخواه را به یک رشته صفر و یک با طول ثابت تبدیل میکند. توابع چکیدهساز توابعی یک طرفه هستند.
از کاربردهای توابع چکیدهساز میتوان به امضای رقمی4، کد های احراز اصالت5 و غیره اشاره کرد. تحلیل رمز چرخشی یک حمله نسبتا جدیدی است که جزء حملات عمومی بر توابع چکیدهساز محسوب میشود و برروی الگوریتم هایی که در ساختارشان از سه عملگر چرخش6، جمع پیمانهای7 و یای انحصاری8 استفاده میکنند، یعنی ساختاری ARX دارند، موثر است. در این مقاله برای اولین بار برروی دو الگوریتم رمز ARX مسابقه SHA-3 یعنی الگوریتمهای Blender-n و EnRupt با در نظر گرفتن فرض مارکوف9، تحلیل رمز چرخشی انجام دادیم و به پیچیدگی برای کل دور های Blender-n-5 و پیچیدگی برای EnRupt-512رسیدیم.
کلمات کلیدی: توابع چکیدهساز، تحلیل رمز چرخشی، جمع پیمانهای، فرض زنجیره مارکوف،Blender-n,EnRupt
مقدمه
توابع چکیدهساز یکی از مهمترین توابع رمز نگاری میباشند که رشته صفر و یک ورودی با طول دلخواه را به یک رشته صفر و یک با طول ثابت تبدیل میکند. توابع چکیدهساز توابعی یک طرفه هستند که دارای سه شرط امنیتی مقاوم بودن در برابر برخورد، پیش تصویر و پیش تصویر دوم میباشند .از کاربردهای توابع چکیدهساز میتوان به امضای رقمی، کد های احراز اصالت و غیره اشاره کرد. که این توابع چکیدهساز در دو خانواده MD - 1990 - و SHA تقسیم بندی میشوند.
تابع چکیدهساز MD4 در سال 1990 توسط رایوست ارایه گردید ولی در سال 1992 یک نسخه کاملتر از آن یعنی MD5 را پشنهاد داد. تابع چکیدهساز به مدت چهار سال به طور گسترده مورد استفاده قرار گرفت، اما در سال 1996 یک ضعف امنیتی در تابع فشردهساز این تابع چکیدهساز پیدا شد ولی در عین حال باز هم یکی از توابع چکیدهساز پر کاربرد باقی ماند. در سال 2004 یک گروه از محققین چینی به سرپرستی خانم وانگ و همکارانش حمله موثری بر روی MD5 اعمال کردند طوری که باعث شکست خانواده MDها شدند .
بعد از شکست خانواده MDها در حمله های صورت گرفته بروی این دسته از توابع چکیدهساز، الگوریتم چکیده امن 1 توسط موسسه ملی استاندارد و تکنولوژی آمریکا2 گسترش یافت و توسط استاندارد پردازش اطلاعات فدرال3 منتشر شد .[4] برای اقدام مقابل در برابر حملات مهم روی توابع چکیدهساز استاندارد، مانند MD5 و SHA-1، NIST در سال 2007 مسابقهای را برای انتخاب یک تابع چکیدهساز امن به نام SHA-3 آغاز کرد، یک معیار مهم برای انتخاب تابع چکیدهسازSHA-3 ، مقاومت این تابع در برابر حملات شناخته شده روی توابع چکیدهساز و نیز حملات جدید بود .
تجزیه و تحلیل رمز یا شکستن رمز، به کلیه اقدامات مبتنی بر اصول ریاضی و علمی اطلاق میگردد که هدف آن از بین بردن امنیت رمزنگاری و در نهایت بازکردن رمز و دستیابی به اطلاعات اصلی باشد. در تجزیه و تحلیل رمز، سعی میشود تا با بررسی جزئیات مربوط به الگوریتم رمز و یا پروتکل رمزنگاری مورد استفاده و به کار گرفتن هرگونه اطلاعات جانبی موجود، ضعفهای امنیتی احتمالی موجود در سیستم رمزنگاری یافت شود و از این طریق به نحوی کلید رمز به دست آمده و یا محتوای اطلاعات رمز شده استخراج گردد.
تجزیه و تحلیل رمز، گاهی به منظور شکستن امنیت یک سیستم رمزنگاری و به عنوان خرابکاری و یک فعالیت ضد امنیتی انجام میشود و گاهی هم به منظور ارزیابی یک پروتکل یا الگوریتم رمزنگاری و برای کشف ضعفها و آسیبپذیریهای احتمالی آن صورت میپذیرد .تحلیل رمز چرخشی 4 یک حمله نسبتا جدید است که توسط دیمیتری خووراتویچ5 و ایویکا نیکولیچ6 در تحلیل سیستم های ARX به صورت فرمولی به کار رفته شده است .
ایده اصلی تحلیل چرخشی ایناست که برخی تبدیلها روی ورودیهای چرخشیافته، خروجیهای چرخشیافته تولید میکنند - در واقع دشمن انتشار روابط چرخشی را در سرتاسر تبدیلهای الگوریتم بررسی میکند - . در سال 2015 خووراتویچ و نیکولیچ مقاله قبلی خود را که فقط تعداد جمعهای پیمانه را در نظر گرفته بودند و فرض مارکوف بودن در آن رعایت نشده بود را مورد بازبینی قرار دادند و یک احتمال جدید برای محاسبه پیچیدگی حمله چرخشی با توجه به مارکوف بودن آن ارائه کردند .
در این مقاله برای اولین بار با توجه به شرایط و الزامات تحلیل رمز چرخشی در مراجع و بر دو کاندیدای SHA-3 یعنی الگوریتمهای و EnRupt که ساختاری ARX دارند با توجه به فرض زنجیره مارکوف تحلیل رمز چرخشی اعمال میشود. در بخش دوم این مقاله تحلیل رمز چرخشی تشریح و الزامات اجرای تحلیل رمز چرخشی مورد بررسی قرار میگیرد و در بخش سوم به بررسی مختصری از الگوریتمهای Blender-n و EnRupt پرداخته میشود و در بخش چهارم تحلیل رمز چرخشی را بر الگوریتمهایرمز اعمال و در بخش آخر نتیجه بحث را ارائه میشود.
تشریح تحلیل رمز چرخشی
در مرجع روش کلی برای تحلیل سیستم های ARX را داریم، ایده کلی فرض جفت کلمههاست که یکی چرخش دیگری به اندازه بیت میباشد. که عملگرهای چرخشی به وسیله یا و یا به طور معادل و تعریف میشوند. که چرخش به اندازه بیت به سمت راست را نشان میدهد که جفت چرخشی به اندازه بیت مینامیم. به عبارت دیگر برخی تبدیلها روی ورودیهای چرخشیافته، خروجیهای چرخشیافته تولید میکنند در واقع دشمن انتشار روابط چرخشی را در سرتاسر تبدیلهای الگوریتم بررسی میکند.