بالاترین سوالات
زمانبندی
چت
دیدگاه
مجموعه دستورالعمل استاندارد رمزگذاری پیشرفته
از ویکیپدیا، دانشنامه آزاد
Remove ads
مجموعه دستورالعمل استاندارد رمزگذاری پیشرفته در حال حاضر با پردازندههای بسیاری اجماع شدهاست. هدف از این مجموعه دستورالعمل، افزایش سرعت و همچنین مقاومت در برابر حملات جانبی کانال میباشد، برنامهها برای انجام رمزگذاری و رمزگشایی از استاندارد رمزگذاری پیشرفته (AES) استفاده میکنند. آنها اغلب به عنوان دستورالعملهایی برای اجرا در یک دور AES میباشند همراه با یک نسخه خاص برای آخرین دور اجرا که روش دور آخر کمی متفاوت است .[۱][۲]
Remove ads
پردازندههای معماری x86
خلاصه
دیدگاه
AES-NI (یا دستورالعمل جدید استاندارد رمزگذاری پیشرفته Intel یا به صورت خلاصه AES-NI) اولین پیادهسازی اساسی مجموعه بود. AES-NI یک فرمت معماری مجموعه دستورالعمل x86 برای ریزپردازندههای اینتل و ایامدی است که توسط اینتل در مارس ۲۰۰۸ پیشنهاد شدهاست.[۳]
دستورالعمل ها
اینتل
پردازندههای اینتل زیر از دستورالعمل AES-NI پشتیبانی میکنند: [۶]
- پردازنده مبتنی بر westmere بهطور خاص :
- پردازنده سری westmere-EP(xeon 56xx) با نام مستعار gulftown سری DP سرور
- پردازندههای clarkdale(به استثنای core i3,pentium,celeron)
- پردازنده arrandale (به جز celeron,pentium,core i3,core i5-4XXm)
- پردازندههای sandy bridge:
- مخصوص کامپیوترهای رومیزی: همه به جز پنتیوم، سلرون و core i3
- موبایل : تمام پردازندههای core i7 و core i5. چندین فروشنده بزرگ پردازندههایی با تنظیمات بایوس غیر فعال پخش کردند که با بروز رسانی فعال میشدند.
- پردازندههای Ivy bridge.
- تمام i5,i7,Xeon و تنها i3-2115c
- پردازندههای هاسول (به جز i3-4000m,pentium , celeron)
- پردازندههای broad well (همه به جز پنتیوم و سلرون)
- پردازندههای silvermont/airmont(همه به جز bay trail-D و bay trail-M)
- پردازندههای goldmont
- پردازندههای skylake
- پردازندههای kaby lake
- پردازندههای coffee lake
AMD
چند پردازنده AMD از دستورالعمل AES پشتیبانی میکند:
- پردازندههای مبتنی بر Jaguar و جدیدتر
- پردازندههای مبتنی بر Puma و جدیدتر
- پردازنده "تجهیزات سنگین"
- پردازندههای مبتنی بر بولدوزر [۷]
- پردازندههای مبتنی بر Piledriver
- پردازندههای مبتنی بر Steamroller
- پردازندههای بر پایه بیل و جدیدتر
- پردازندههای مبتنی بر ذن
- پردازندههای مبتنی بر Zen +
Remove ads
شتابدهنده سختافزاری در سایر معماریها
خلاصه
دیدگاه
پشتیبانی از AES با دستورالعملهای پردازنده غیرمجاز نیز در آخرین پردازندههای SPARC (T3، T4، T5، M5 و به جلو) و در آخرین پردازندههای ARM در دسترس است. پردازنده SPARC T4، که در سال ۲۰۱۱ معرفی شدهاست، دارای دستورالعملهای سطح_کاربر میباشد در مراحل AES را پشتیبانی میکند.[۸] این دستورالعملها علاوه بر دستورهای رمزنگاری سطح بالاتر میباشد. معماری پردازنده ARMv8-A، که در سال ۲۰۱۱ معرفی شد، از جمله ARM Cortex-A53 و A57 (اما پردازندههای قبلی v7 مانند Cortex A5، ۷، ۸، ۹، ۱۱، ۱۵ [۹] را شامل نمیشود) نیز دستورالعملهای سطح کاربر که مراحل AES را اجرا میکنند را دارند.[۱۰] در آگوست ۲۰۱۲، IBM اعلام کرد[۱۱] که معماری آینده Power7 + از AES پشتیبانی خواهد کرد. دستورها در این معماری با دستورهای AES-NI یکسان نیستند، اما قابلیتهای مشابهی را در اختیار مصرفکننده میگذارند.
IBM Z9 یا هستههای اصلی پردازنده بعدی AES را به عنوان تک دستور العمل AES ECB / CBC AES ECB / CBC از طریق سختافزار CryptoExpress IBM اجرا میکنند.[۱۲] اجرای این نسخه AES تک دستورالعمل، از اجرای Intel NIها راحتتر میباشد، اما ممکن است برای اجرای الگوریتمهای دیگر که بر اساس توابع مرحله ای AES میباشد گسترش نیابد (مانند تابع رمزگذاری گرداب (whirlpool)).
پشتیبانی از پردازندههای x86
پردازندههای VIA x86، AMD Geode و Marvell Kirkwood (که در لینوکسARM, mv_cesa) از شتابدهندههای درایوری به جای AES استفاده میکنند. (نگاه کنید به API Crypto (لینوکس).)
تراشههای زیر، در حالی که از سختافزار شتابدهندههای AES پشتیبانی میکنند، از دستورالعمل AES پشتیبانی نمیکنند:
ARM معماری
اطلاعات برنامهنویسی در ARM Architecture Reference Manual ARMv8 برای مشخصات معماری ARMv8-A موجود است.[۱۸]
- معماری ARMv8-A
- فرمتهای رمزنگاری ARM بهطور اختیاری بر روی هستههای ARM Cortex-A30 / 50/70 پشتیبانی میشوند
- شتابدهندههای سختافزاری رمزنگاری / موتورهای
معماری دیگر
- ریزکنترلگر ایویآر[۲۴] (شتابدهنده در تراشه با اجرای موازی، دستورالعمل نیست)
- SPARC T3 و پردازندههای بعدی پشتیبانی سختافزاری برای چند الگوریتم رمزنگاری، از جمله AES دارند.
- Cavium Octeon MIPS[۲۵] تمامی پردازندههای مبتنی بر MIPS مبتنی بر Cavium Octeon دارای پشتیبانی سختافزاری برای چند الگوریتم رمزنگاری هستند، از جمله AES با استفاده از دستورالعملهای خاص coprocessor 3.
Remove ads
کارایی
پاتریک اشمیت و اکیم راس در تحلیل عملکرد AES-NI، نتایج قابل توجهی از تعداد زیادی از برنامههای کاربردی که در حال حاضر بهینه سازی شدهاند تا از مزایای قابلیت AES-NI اینتل بهره مند شوند، بدست اوردهاند. [۲۶] تجزیه و تحلیل عملکرد با استفاده از کتابخانه امنیت ++Crypto افزایش بهره را از حدود 28.0 سیکل در بایت به 3.5 سیکل در هر بایت با AES / GCM به نسبت پنتیوم 4 بدون شتاب دهنده نشان داد. [۲۷] [۲۸]
پشتیبانی از نرمافزار
بیشتر کامپایلرهای مدرن میتوانند دستورالعمل AES را منتشر کنند.
نرمافزار امنیتی و رمزنگاری زیادی از مجموعه دستورالعمل AES پشتیبانی میکند . از جمله زیرساخت اصلی زیر:
- رمزنگاری API: نسل بعدی (CNG) (نیاز به ویندوز) [۲۹]
- API Crypto لینوکس
- جاوا 7 HotSpot هاتاسپات
- خدمات امنیت شبکه (NSS) نسخه 3.13 و بالاتر [۳۰] (استفاده شده توسط فایرفاکس و گوگل کروم )
- Solaris Cryptographic Framework [۳۱] در Solaris 10 به بعد
- در فریبیاسدی را (OpenCrypto API (aesni (4) driver [۳۲]
- اپناساسال 1.0.1 و بالاتر [۳۳]
- FLAM / FLUC 5.1.08 (منتشر شد 2015-08-24) و بالاتر [۳۴]
- Bloombase[۳۵]
Remove ads
همچنین نگاه کنید
- پسوند پیشرفته Vector (AVX)
- دستور CLMUL مجموعه
- مجموعه دستورالعمل FMA (FMA3، FMA4)
- RdRand
منابع
لینک های خارج
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads