موضوع مقاله: استاندارد رمزنگاری پیشرفته | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # استاندارد رمزنگاری پیشرفته | مقدمه: استاندارد رمزنگاری پیشرفته یا به اختصار AES مشخصه‌ای برای رمزنگاری داده‌های دیجیتال است که در سال ۲۰۰۱ توسط مؤسسه ملی فناوری و استانداردهای ایالات متحده ایجاد شد. | ## بخش 1: استاندارد رمزنگاری پیشرفته | این رمز که در ابتدا ریندال نامیده می‌شد و توسط دو رمزنگار بلژیکی به نام‌های ژوآن دیمن و وینسنت رینمن توسعه داده شد. استاندارد رمزنگاری پیشرفته توسط دولت ایالات متحده پذیرفته شده و اکنون در سراسر جهان استفاده می‌شود. این الگوریتم رمزنگاری به جای استاندارد رمزنگاری داده‌ها (DES) که در سال ۱۹۷۷ منتشر شده، جایگزین شده‌است. الگوریتم AES یک الگوریتم کلید متقارن است؛ بدین معنی که از یک کلید یکسان برای رمزنگاری و رمزگشایی استفاده می‌شود. این اعلان پس از یک فرایند استانداردسازی پنج ساله بود که در این فرایند ۱۵ طرح، تا پیش از معرفی رمز Rijndael به عنوان گزینه مناسب، ارائه و ارزیابی شد. این رمزنگاری به عنوان استاندارد دولت فدرال در ماه مه ۲۰۰۲ پس از تأیید توسط وزارت بازرگانی ایالات متحده آمریکا به کار گرفته شد. AES در بسته‌های رمزنگاری متفاوتی در دسترس بوده و نخستین سایفر باز و در دسترس عموم است که توسط آژانس امنیت ملی ایالات متحده آمریکا (NSA)، پس از به‌کارگیری در یک ماژول رمزنگاری تأیید شده NSA، برای اطلاعات خیلی محرمانه تصدیق شده‌است(امنیت AES مطالعه گردد). اگر بخواهیم دقیق شویم، استاندارد AES گونه‌ای از ریندال است که اندازه بلاک آن ۱۲۸ بیتی است. استاندارد رمزنگاری پیشرفته گونه‌ای از Rijndael است که اندازه بلاک ثابت ۱۲۸ بیتی و اندازه کلید ۱۲۸، ۱۹۲ و ۲۵۶ بیتی دارد. مجموعه‌ای از چرخه‌های معکوس برای تبدیل متن رمز شده به متن اصلی با استفاده از همان کلید رمزنگاری بکار گرفته می‌شود. | ## بخش 2: استاندارد رمزنگاری پیشرفته | در این مرحله بایت‌های هر سطر به وسیله یک آفست (Offset) معین به صورت چرخشی شیفت می‌یابد. (انواع Rijndael با اندازه بلاک بزرگتر، آفست‌هایی اندکی متفاوت دارند) برای یک بلاک ۲۵۶ بیتی، نخستین سطر بدون تغییر باقی می‌ماند و سطرهای دوم و سوم و چهارم به ترتیب یک، دو و سه بایت شیفت می‌یابد. تابع MixColumns چهار بایت را به عنوان ورودی در نظر می‌گیرد و چهار بایت را به خروجی می‌دهد، که هر بایت ورودی بر هر چهار بایت خروجی تأثیر می‌گذارد. در طول این عمل، هر ستون توسط ماتریس شناخته شده‌ای که برای کلید ۱۲۸ بیتی است ضرب می‌شود. عمل ضرب بدین صورت تعریف می‌شود: ضرب در ۱ به معنی بدون تغییر، ضرب در ۲ به معنای جابجایی به سمت چپ و ضرب در ۳ به معنای جابجایی به سمت چپ و سپس انجام XOR را با مقدار اولیه جابه‌جا نشده. به صورت کلی تر، هر ستون به عنوان یک چند جمله‌ای روی (GF(2^8 تلقی می‌شود و پس از آن پیمانه x4+1 با یک چند جمله‌ای ثابت c(x) = 0x03 · x3 + x2 + x + 0x02 ضرب شده است. ضرایب با معادل مبنای ۱۶ از نمایش دودویی بیت‌های چندجمله‌ای [GF(2 x نمایش داده می‌شود. این امر نیازمند چهار جدول با ۲۵۶ مدخل ۳۲ بیتی و بهره‌گیری از چهار کیلوبایت (۴۰۹۶ کلمه) حافظه (یک کیلوبایت برای هر جدول) است. 2003 اگر اندازه جدول چهار کیلوبایتی برای پلت فرم مقصد بزرگ است، جستجوی جدول می‌تواند با یک جدول با ۲۵۶ مدخل ۳۲ بیتی (یعنی ۱ کیلوبایت) با استفاده از تکرارهای چرخشی انجام گردد. آژانس امنیت ملی امریکا (NSA) همه AESهای فینالیست، از جمله Rijndael را بازبینی کرد، و اظهار داشت که همه آنها برای اطلاعات غیر طبقه‌بندی شده دولت ایالات متحده به اندازه کافی امن است. | ## بخش 3: استاندارد رمزنگاری پیشرفته | در ماه ژوئن سال ۲۰۰۳، دولت ایالات متحده اعلام کرد که AES می‌تواند برای محافظت از اطلاعات طبقه‌بندی شده مورد استفاده قرار گیرد: طراحی و قدرت تمام طول کلیدهای الگوریتم AES (به عنوان مثال ۱۲۸، ۱۹۲ و ۲۵۶) برای محافظت از اطلاعات طبقه‌بندی شده تا سطح محرمانه کافی است. پیاده‌سازی AES در محصولات در نظر گرفته شده برای حفاظت از سیستم‌های امنیت ملی و / یا اطلاعات باید توسط NSA، پیش از استفاده، بازبینی و مجوز داده شود. AES دارای ۱۰ چرخه برای کلیدهای ۱۲۸ بیتی، ۱۲ چرخه برای کلیدهای ۱۹۲ بیتی و ۱۴ چرخه برای کلیدهای ۲۵۶ بیتی می‌باشد. AES 256 بیتی از ۱۴ چرخه استفاده می‌نماید، بنابراین چنین حملاتی روی AES کامل مؤثر نیست. در نوامبر ۲۰۰۹، اولین حمله تشخیص کلید روی نسخه‌ای از AES-128 کاهش یافته به ۸ چرخه، به عنوان یک نسخه پیش از چاپ منتشر شد. این حمله روی نسخه ۸ چرخه‌ای AES-128 با پیچیدگی زمانی ۲48 و یک پیچیدگی حافظه ۲32 عمل می‌کند. حملات غیر مستقیم حملات غیرمستقیم به رمز مورد نظر حمله نمی‌کنند اما به پیاده‌سازی رمز بر روی سیستم‌هایی که سهواً اطلاعات را فاش می‌نمایند، حمله می‌کنند. سرور سفارشی به گونه‌ای طراحی شده بود که تا حد ممکن اطلاعات زمانی را انتشار می‌داد (سرور گزارشی از تعداد چرخه‌های انجام گرفته توسط عملیات رمزگذاری را باز می‌گرداند)؛ با این حال، همانگونه که Bernstein نشان داد، "کاهش دقت مهرهای زمانی (timestamp) سرور، یا حذف آنها را از پاسخ سرور، این حمله را متوقف نمی‌نماید: مشتری به سادگی با استفاده از زمان رفت و برگشت بر اساس ساعت محلی خودش، استفاده نموده و اختلالات افزایش یافته را به وسیله میانگین گیری روی تعداد زیادی از نمونه‌ها جبران می‌نماید. یک حمله قادر به دست آوردن تمام کلید AES پس از ۸۰۰ عمل آغازسازی رمزگذاری، در مجموع ۶۵ میلی ثانیه، بود. این حمله نیازمند آن است که مهاجم قادر به اجرای برنامه‌هایی بر روی همان سیستم یا همان پلت فرمی که AES در حال انجام است، باشد. | ## جمع‌بندی | همانند برخی از حملات قبلی، این حمله نیازمند این قابلیت است که بتواند روی سیستمی که رمزگذاری AES را انجام می‌دهد، اجرا شود، که اینکار می‌تواند توسط آلودگی به تروجان انجام گیرد.