ارائه یک روش برای پیاده‌سازی ماتریس‌های دودویی و کاربرد آن در پیاده‌سازی ماتریس‌های MDS

نویسندگان

1 مجتمع علوم کاربردی، دانشگاه صنعتی مالک اشتر، اصفهان، ایران

doi
10.30486/teeges.2022.1958154.1007
چکیده

ماتریس‌های MDS نقش مهمی در رمزنگاری و کدگذاری دارند. ماتریس‌های MDS به‌عنوان لایه انتشار در سیستم‌های رمزنگاری و همچنین در ساخت کدهایی با بیشترین میزان تصحیح خطا استفاده می‌شوند. ازیک‌طرف، درایه‌های ماتریس‌های MDS عناصر میدان‌های متناهی هستند. از طرف دیگر، پیاده‌سازی میدان‌های متناهی در رمزنگاری سبک‌وزن مشکل است. بنابراین برای بکار بردن ماتریس‌های MDS در رمزنگاری سبک‌وزن، در ابتدا این دسته از ماتریس‌ها را به ماتریس‌های دودویی تبدیل نموده و در ادامه با استفاده از الگوریتم‌های ابتکاری، پیاده‌سازی می‌شوند. در این مقاله، یک روش برای پیاده‌سازی ماتریس‌های دودویی با هزینه XOR کم پیشنهادشده و در ادامه با استفاده از روش پیشنهادی، یک الگوریتم ابتکاری برای پیاده‌سازی ماتریس‌های MDS معرفی می‌گردد. عملکرد الگوریتم ابتکاری معرفی‌شده بر این اساس است که فرض کنید A یک ماتریس دودویی (یا شکل دودویی یک ماتریس MDS) باشد. در ابتدا با استفاده از یک روش تکراری-تصادفی یک لیست S از ماتریس دودویی A به دست می‌آید. سپس، با استفاده از لیست S یک ماتریس دودویی به نام B تشکیل می‌گردد. در ادامه یک ارتباط بین پیاده‌سازی ماتریس‌های A و B پیدا می‌شود. به‌عبارت‌دیگر با استفاده از پیاده‌سازی ماتریس B یک پیاده‌سازی کم‌هزینه برای ماتریس A ارائه می‌گردد. در ساختار الگوریتم ابتکاری پیشنهادشده از یکی از الگوریتم‌های متداول SLP به نام Paar استفاده‌شده است.