بخشی از مقاله
پیاده سازی سخت افزاری الگوریتم رمز بلوکی SIMON
چکیده
در این مقاله، نتایج پیادهسازی الگوریتم رمزنگاری بلوکی SIMON ارائه گردیده و مورد بحث و بررسی قرار گرفته است. این الگوریتم از دسته الگوریتمهای بلوکی سبک میباشد که علاوه بر امنیت بالا و مقاومت در برابر روشهای حمله شناخته شده، بطور همزمان عملکرد سختافزاری و نرمافزاری بهینهای داشته و همچنین برای تمام کاربریهای سبک قابل استفاده میباشد. پیادهسازی این الگوریتم رمزنگاری در تراشه SOC شرکت Xilinx از خانواده Zynq انجام شده است. سطح مصرفی این الگوریتم معادل 1178 عدد Slice و بازدهی این پیادهسازی بیش از 46Gbps نتیجهگیری شده است.
کلمات کلیدی
الگوریتم رمز SIMON، پیادهسازی، .SOC
.1 مقدمه
موسسه امنیت ملی ایالات متحده آمریکا (NSA) در سال 2013 یک خانواده جدید رمز بلـوکی سـبک بـه نـام SIMON را ارائه نمود .[1] هدف از طراحی این الگوریتم، در درجه اول امنیت بالا و مقاومت در برابر روشهای حملـه شناخته شده بوده و بطور همزمان عملکرد سختافزاری و نرمافزاری بهینهای از این الگوریتم انتظار مـیرفـت. از طـرف دیگر، لازم بود که این الگوریتم برای تمام کاربریهای سبک قابل استفاده باشد. این خانواده شـامل ده نسـخه مختلـف میباشد که در ادامه به بررسی آنها خواهیم پرداخت.
تراشه های [2] Zynq، از جمله ادوات سیستم بر روی تراشه (SOC) تولیدی شرکت Xilinx هستند که قابلیت برنامهریزی نرمافزاری پردازندههای مبتنی بر معماری ARM را با قابلیت پیکربنـدی سـختافـزاری بخـش FPGA بـا یکدیگر تجمیع میکنند. در همین حال این تراشهها قابلیت بکارگیری پردازنـدههـا، پردازنـدههـای سـیگنال دیجیتـال، عملکردهای سیگنال مختلط و ... را روی یک تراشه در اختیار قرار میدهند. از طرف دیگر این تراشهها امکان استفاده از سیستمهای نهفته را با ارائه بستری انعطافپذیر ایجاد میکنند. این تراشه در واقع اولین سیستم بـر روی تراشـه کـاملاً قابل برنامهریزی از طرف صنعت بوده و در کلاس کاربری خود، گزینه پیشرو در بازار میباشـد. بنـا دلایـل فـوق، بـر آن
شدیم تا الگوریتم رمزنگاری بلوکی SIMON را در این بستر پیادهسازی نموده و نتایج پیاده سازی و شبیهسازی مربوطه را مورد بررسی و تحلیل قرار دهیم.
با توجه به جدید بودن نسبی الگوریتم، پیادهسازیهای اندکی در این ارتباط گزارش شده است که با بررسی این پیادهسازیهای این الگوریتم رمزنگاری بلوکی [3-7] میبینیم که بهترین بـازدهی مربـوط بـه مرجـع [7] و در حـدود 33Gbps میباشد. این نتیجه با بکارگیری معماری خط لولهای برای نسخه SIMON64/128 بدست آمده است.
.2 الگوریتم رمز بلوکی SIMON
در سال 2013 تعدادی از محققان موسسه امنیت ملی ایالات متحده آمریکا (NSA) یـک خـانواده جدیـد رمـز بلوکی سبک به نام SIMON را ارائه کردند. طراحـان ایـن الگـوریتم هـدف از طراحـی آن را برطـرف نمـودن نیـاز بـه الگوریتمی میدانند که علاوه بر امنیت بالا و مقاومت در برابر روشهای حمله شـناخته شـده، بطـور همزمـان عملکـرد سختافزاری و نرمافزاری بهینهای داشته باشد و همچنین برای تمام کاربریهای سبک قابل استفاده باشد. این خـانواده شامل ده نسخه مختلف با طول بلوک 2n و طول کلید k است که با نماد SIMON2n/k نمایش داده میشـود (جـدول .(1
جدول : 1 ویژگیهای خانواده الگوریتم رمزنگاری بلوکی SIMON
این تنوع در اندازه بلوک و طول کلید، سبب میشود که کاربران بسته به نوع کاربری خود، امنیت مـورد نیـاز را بدون از دست دادن کارایی براورده سازند. به عبارت دیگر، این الگوریتم برای طیف وسـیعی از کاربردهـای سـبک قابـل استفاده است. بررسیها نشان میدهد که خانواده الگوریتم SIMON از لحاظ نرمافزاری و سختافزاری عملکرد بهتری نسبت به برخی از رمزهای بلوکی دارند. الگوریتمهای خانواده SIMON از تعداد دور نسبتا زیاد تشکیل شدهاند و تـابع دور بسیار سادهای دارند که دارای ساختار فیستلی میباشد.
.1 .2 تابع هر دور الگوریتم رمز
عمل رمزنگاری و رمزگشایی در SIMON2n/k از عملگرهای زیر روی کلمات n بیتی استفاده میکند.