بخشی از مقاله
چکیده -
مسابقه بینالمللی چندمرحلهای CAESAR به منظور انتخاب یک - یا چند - طرح رمزگذاری توام با احراز اصالت، با قابلیت و کارآیی بالا در حال برگزاری است. در هر مرحلهی این مسابقه، تعدادی از الگوریتمهای پذیرفته شده به دلیل نقص امنیتی یا ضعف در کارآمدی کنار گذاشته شدهاند و اکنون این مسابقه به مرحله نهایی رسیده. الگوریتم Deoxys یکی از الگوریتمهای نهایی است که از یک رمز قالبی tweakable به نام Deoxys-BC استفاده میکند که علاوه بر کلید و متن اصلی، از یک ورودی دیگر با عنوان توئیک بهره میبرد.
برای اولین بار است که امنیت رمز قالبی کاهش یافته هشت دوری Deoxys-BC-256، توسط تحلیل تفاضل ناممکن بررسی شده. تحلیل ارائه شده، از نوع کلید مرتبط با پیچیدگی حافظه 248 بایت، پیچیدگی داده 2116.5 متن منتخب و پیچیدگی زمانی 2116.5 است.
با توجه به ادعای طراحان Deoxys که اعمال تحلیل تفاضلی به هشت دور Deoxys-BC-256 را غیرممکن میخوانند، نتایج ارائه شده در این مقاله به منظور فهم کران امنیتی دقیق این رمز قالبی میتواند مفید باشد. تحلیل ارائه شده در مقایسه با بهترین تحلیل ارائه شده تا به امروز، با وجود اعمال حمله به یک دور کمتر، پیچیدگی حافظه 273 برابر کمتر دارد و از این حیث نیز حائز اهمیت است.
-1 مقدمه
حفظ محرمانگی و احراز اصالت پیام دو شرط اساسی در انتقال امن اطلاعات است. در طول فرایند انتقال، پیام باید محرمانه باقی بماند بدین معنا که اطلاعات سری پیام تنها برای افراد مجاز قابل حصول باشد. اصالت پیام باید مورد تایید قرار گیرد بدین معنا که، گیرنده پیام بتواند هویت فرستنده را تشخیص دهد.
عموما الگوریتمهای رمزنگاری برای حفظ محرمانگی و کدهای احراز اصالت برای احراز اصالت پیام، استفاده میشود. یکی از روشهای مرسوم برای تامین توامان محرمانگی و احراز اصالت پیام، استفاده از یک رمزنگار و سپس بهکارگیری کد احراز اصالت پیام - MAC - به صورت جداگانه است که منجر به بالا رفتن بار محاسباتی و هزینههای دیگر نظیر حافظه و توان میشود که در نهایت به کاهش کارائی سیستم مورد استفاده منجر میشود.
ضعف دیگر این طرحها این است که هر کاربر احتیاج به دو کلید، یکی برای رمزنگار و دیگری برای تولید کد احراز اصالت، دارد. اهمیت این نکته از آنجاست که در دنیای واقعی، توزیع کلید بین فرستنده و گیرنده یکی از مباحث چالش برانگیز است. در نتیجه برای پاسخ به چالش-های ذکر شده، طرحهای رمزگذاری توام با احراز اصالت، با هدف برآورده ساختن هر دو هدف محرمانگی و احراز اصالت به صورت توامان و تنها توسط یک الگوریتم و یک کلید معرفی شدهاند.
عدم وجود یک رمز احراز اصالت شده با کارآیی بالا مشکلی بود که در راستای حل آن، یک مسابقه بین المللی تحت عنوان مسابقه سزار جهت طراحی و تحلیل طرحهای رمزگذاری توام با احراز اصالت، تعریف و اجرا شد. رویکرد اصلی این مسابقه انتخاب و معرفی یک یا چند الگوریتم است که امنیت و کارایی مناسبتری نسبت به الگوریتم استاندارد فعلی - AES-GCM - از خود نشان دهند.
هم اکنون پس از ارزیابیهای صورت گرفته، از میان 58 طرح برگزیده شده ابتدایی مسابقه سزار، هماکنون تنها 7 طرح به دور نهایی مسابقه راه یافتند. جهت ارزیابی بهتر طرحهای باقی-مانده، لازم است امنیت هر طرح در برابر حملات مختلف مورد بررسی قرار گیرد. در نتیجه مسئله بررسی امنیت این طرحها و به خصوص طرحهای دور نهایی جزء مباحث بسیار مهم و بهروز حوزه رمزنگاری متقارن به حساب میآید.
الگوریتم [1] Deoxys، یکی از هفت طرح راه یافته به مرحله نهایی مسابقه سزار است. این الگوریتم از Deoxys-BC که یک رمز قالبی tweakable است، به عنوان اولیه استفاده میکند بدین معنی که Deoxys-BC علاوه بر کلید و متن اصلی، از یک ورودی - غیرمخفی - دیگر با عنوان توئیک، برای اجرای عملیات بهره میبرد که نحوه استفاده از توئیک و کلید در مقاله [9] ارائه شده است. طول توئیک و همچنین طول قالب رمز Deoxys-BC، 128 بیت است. طول کلید اولیه میتواند 128 بیت و یا 256 بیت باشد که براساس اندازهی کلید به کار رفته، رمزهای قالبی به ترتیب Deoxys-BC-256 یا Deoxys-BC-384 نامیده میشوند.
امنیت طرح Deoxys برمبنای رمز قالبی به کار رفته در این طرح استوار است. در این مقاله ما برای اولین بار امنیت الگوریتم کاهش یافته هشت دوری Deoxys-BC-256 را در مقابل تحلیل تفاضل ناممکن بررسی میکنیم.
تحلیل تفاضل ناممکن نخستین بار در [10] و [11] ارائه شد و یک ابزار قوی به منظور ارزیابی امنیت اولیههای رمزنگاری متقارن است. از این تحلیل برای حمله به الگوریتمهای رمز قالبی مانند رمز استاندارد AES استفاده شده است .[4_8] برخلاف تحلیل تفاضلی که بر مبنای یافتن رویدادهای احتمالاتی با احتمال وقوع بالا در یک الگوریتم بنا شده، تحلیل تفاضل ناممکن از مشخصههای تفاضلی استفاده میکند که احتمال وقوع آنها صفر است؛ یعنی رویدادی که مطمئنیم هیچگاه در الگوریتم رخ نمیدهد.
تحلیل تفاضل ناممکن ارائه شده در این مقاله در مدل کلید مرتبط است. در مدل کلید مرتبط فرض بر این است که یک الگوریتم رمزنگاری تحت چند کلید مخفی مختلف در حال اجرای عملیات رمزنگاری است و رابطهی بین کلیدها برای مهاجم آشکار است. هدف مهاجم به دست آوردن مقدار کلید مخفی است.
تا کنون رمز قالبی Deoxys-BC امنیت بسیار خوبی از خود نشان داده است و تنها یک مقاله توسط محققین به منظور اعمال حمله به Deoxys-BC ارائه شده است .[3] مقاله [3] که اخیرا منتشر شده، نشان داده که تحلیل تفاضلی کلید مرتبط و همچنین ملاقات در میانه کارآمدی برای -8دور الگوریتم Deoxys-BC وجود ندارد. همچنین در این مقاله یک حملهی مستطیلی کلید مرتبط به -9دور الگوریتم ، با پیچیدگی کمتر ازجستجوی کامل اعمال شده است.
اما در این مقاله ما توسط تحلیل تفاضل ناممکن کلید مرتبط، -8دور الگوریتم را مورد تحلیل و ارزیابی قرار دادیم. تحلیل ارائه شده، دارای پیچیدگی داده 2116.5 متن منتخب، پیچیدگی حافظه 248 بایت و پیچیدگی زمانی 2116.5 عملیات رمزگذاری -8دوری است. هرچند نتایج تحلیل تفاضل ناممکن ارائه شده تنها قابل اعمال به هشت دور الگوریتم است، اما پیچیدگی حافظه آن 273 برابر کمتر از تحلیل مستطیلی [3] است.
در ادامه، ابتدا در بخش 2 طرح مد - سبک - رمزگذاری توام با احراز اصالت Deoxys و رمز قالبی Deoxys-BC-256 که در این طرح به کار رفته مختصرا شرح داده شده. در بخش 3 یک مشخصه تفاضل ناممکن کلید و توئیک مرتبط برای الگوریتم Deoxys-BC-256 ارائه میشود. براساس مشخصه معرفی شده، یک حمله بازیابی کلید الگوریتم کاهش یافتهی هشت دوری در بخش 4 ارائه شد. و در نهایت بخش 5 به جمعبندی مقاله اختصاص یافته است.
-2 الگوریتم Deoxys
نسخه ابتدائی الگوریتم اولیه Deoxys در سال 2014 ارائه شد. پس از آن چند نسخه دیگر از این الگوریتم چاپ شد اما نسخه جدید و نهایی این الگوریتم تحت عنوان Deoxys v1.41 در سال 2016 و در مقاله [1] ارائه شد. در ادامه به چگونگی اجرای عملیات رمزگذاری و احراز اصالت توسط الگوریتم Deoxys میپردازیم.
الگوریتم Deoxys در دو حالت قابل بهره برداری است. یکی زمانی که بتوانیم از یک توئیک ثابت برای رمز کردن دو متن متفاوت استفاده کنیم و دیگری زمانی که نتوان از یک توئیک مشخص و ثابت، برای رمز کردن دو متن اصلی متفاوت استفاده کرد. با توجه به این موضوع که میتوان از توئیک تکراری استفاده کرد یا خیر، به ترتیب دو مد رمزگذاری متفاوت I و II برای این الگوریتم ارائه شده است. در شکلهای 1 و 2 ، مد رمزگذاری I، نشان داده شده است. همانگونه که اشاره شد، این مد رمزگذاری از یک رمز قالبی tweakable استفاده میکند.
طراحان Deoxys پیشنهاد کردند که از یک رمز قالبی به نام Deoxys-BC به عنوان هسته اصلی رمزنگاری استفاده شود. همانطور که پیشتر ذکر شد دو رمز قالبی Deoxys-BC-256 و Deoxys-BC-384 به عنوان هسته اصلی قابل استفاده هستند. از آنجائیکه هدف از این مقاله بررسی امنیت رمز قالبی Deoxys-BC-256 است، صرفا این رمز را در این بخش توصیف میکنیم. در این رمز قالبی طول قالب، توئیک و کلید 128 بیت است و از تابع دور مشابه AES استفاده میکند. تفاوت عمده این الگوریتم با AES مرحله تولید زیر کلید دور است.
عملیات رمزنگاری شامل دو بخش اصلی پردازش داده-همراه و پردازش متن اصلی و تولید تگ احراز اصالت است. روند اجرای عملیات پردازش داده-همراه در شکل 1 نیز قابل مشاهده است و به شکل خلاصه که در ادامه آمده، قابل بیان است:
شکل :1 پردازش داده-همراه . - AD -
که -Aiها بلوکهای 128 بیتی داده-همراه هستند و la تعداد این بلوکهاست. تابع EK نیز در ادامه توضیح داده میشود.
همچنین عملیات پردازش متن اصلی یا رمزگذاری و تولید تگ احراز اصالت به صورت زیر تعریف میشود و در شکل 2 قابل مشاهده است:
که -Mjها بلوکهای 128 بیتی متن اصلی هستند و l تعداد این بلوکهاست. N معرف پارامتری به نام تکبار - Nonce - است که طولی برابر 60 بیت دارد و با ترکیب با عدد ثابت 0001 و یک مقدار شمارنده 64 بیتی، توئیک را میسازد.
شکل :2 پردازش متن اصلی و تولید متن رمزشده.
رمز قالبی Deoxys-256 در شکل 3 قابل مشاهده است. این الگوریتم به عنوان اولیه EK در الگوریتم Dexoys به کار میرود - شکل . - 2 تابع دور الگوریتم رمزگذاری Deoxys - تابع f در شکل - 3، مشابه تابع دور AES بوده و شامل چهار عمل اصلی زیر است: :AddRoundTweakey افزودن کلید-توئیک دور به حالت میانی. :SubNibbles اجرای عملیات جانشینی بایتهای ماتریس حالت. :ShiftRows اجرای عملیات چرخش بایتی به سمت چپ به نحوی که سطرها به ترتیب 0، 1، 2 و 3 بایت به سمت چپ میچرخند. :MixNibbles ضرب ستونهای ماتریس حالت در ماتریس M، که ماتریس M در ادامه آورده شده است:
تابع f چهارده مرتبه بر روی ماتریس حالت اعمال میشود و برای دستیابی به متن رمزشده نهایی، یک مرحله اضافه کردن زیرکلید-توئیک دور در مرحله نهایی لازم است.
شکل :3 عملیات رمزگذاری .Deoxys
نحوه تولید زیرکلید-توئیک دور: اگر KT نشان دهنده مقدار کلید-توئیک اصلی باشد، 128 بیت پرارزش آن را TK01 و 128 بیت کمارزش را TK02 مینامیم یعنی برای توئیک و کلید 128 بیتی، TK01 معرف توئیک و TK02 معرف کلید است. برای تولید زیرکلید-توئیک دور STKi از معادله - 1 - استفاده میکنیم که -RCiها مقادیر ثابت هستند که در هر مرحله اضافه می-شوند و مورد بحث نیست.