AES یا استاندارد رمزنگاری پیشرفته، الگویی است که جهت رمزنگاری دادهها و حفظ ماهیت خصوصی آنها بهکار گرفته میشود. این استاندارد، ابزاری محبوب است که با اهداف بسیاری شامل طبقهبندی ایمن دادهها توسط دولت ایالاتمتحده مورد استفاده قرار میگیرد.
AES یک بلوک رمزنگاری متقارن است؛ بدان معنا که بلوکهای متنی با اندازههای مشخص (128 بیتی) رمزگذاری میشوند. این روش برخلاف الگوی رمزنگاری جاری است که در آن هر کاراکتر در یک لحظه رمزنگاری میشد. واژه “متقارن” بیانگر کلید مشابهی است که برای فرآیند رمزنگاری و همچنین رمزگشایی یک پیام بهکارگیری میشود.
تلاش دولت ایالاتمتحده جهت رمزنگاری اعلامیه فوقسری موجب ایمنسازی اینترنت مدرن شد.
تلاش برای بهتر شدن
AES در اواخر دهه 1990 و به منظور جایگزینی با استاندارد رمزنگاری قبلی برای دولت ایالاتمتحده توسعه یافت. الگوی پیشین در اوایل دهه 1970 توسط شرکت IBM ایجاد شد و با نام استاندارد رمزنگاری داده (DES) شناخته شده بود. در سال 1977 این استاندارد جهت استفاده دولت ایالاتمتحده موردپذیرش واقع شد؛ اما بعدها نشان داد که در برابر انواع حملات شامل نیروی مخرب، کشف تفاضلی نوشتههای رمزی و استخراج خطی متون رمزنگاری شده آسیبپذیر است. این مشکلات از ضعف استاندارد DES و الگوریتم 56 بیتی آن ناشی میشد. با افزایش توان پردازشی کامپیوترها، استاندارد مذکور دیگر ایمن بهنظر نمیرسد.
در سال 1998، DES بهعنوان معیاری موقت به 3DES یا “DES سهگانه” تبدیل شد که به منظور رمزنگاری بهتر پیام، الگوریتم DES را در 3 نوبت متوالی و با 3 کلید رمزنگاری متفاوت بر روی یک پیام اعمال میکرد. اصلاحات 3DES نسبت به استاندارد DES موجب افزایش امنیت پیامها در برابر حملات مخرب کامپیوترهای آن دوره شد.
در آغاز یک فرآیند 5 ساله، 15 الگوریتم رمزنگاری مختلف جهت جایگزینی استاندارد DES توسط دولت ایالاتمتحده پیشنهاد داده شد. AES از سوی 2 رمزنگار بلژیکی با اسامی وینسنت ریجمن و خوان دامن ارایه شد و بعدها عنوان “طرح Rijndael” را به خود اختصاص داد. این الگوی نامگذاری از ادغام اسامی 2 شخص توسعهدهنده الهام گرفته شده است.
AES یک استاندارد باز محسوب میشود و بهخودیخود طبقهبندی نشده است. اینکار به منظور تسهیل اظهارنظرعمومی جهت کمک به شفافیت فرآیند توسعه اجرا شد؛ در حالیکه استاندارد مذکور هنوز در مرحله طراحی قرار داشت. الگوریتم AES توسط موسسه ملی استانداردها و فناوری (NIST) و با هدف تسهیل کاربری نرمافزاری و سختافزاری توسعه یافت. در جریان این فرآیند به منظور ارتقاء هرچه بیشتر امنیت، اصلاحاتی شامل تغییرات کلید و طول بلوک بر روی نسخه اولیه Rijndael اعمال شد.
صعود بلژیکیها به صدر
آژانس امنیت ملی (NSA) نیز به بررسی 15 الگوریتم ارایه شده اولیه پرداخت و تا آگوست سال 1999 این طیف به 5 الگوریتم شامل Rijndael، Serpent، RC6، Twofish و MARS محدود شد. در ادامه این الگوریتمها از جنبههایی نظیر توان امنیتی، سهولت پیادهسازی، حق امتیاز رایگان الگوریتم و سرعت و دقت فرآیند رمزنگاری و رمزگشایی مورد تجزیه و تحلیل بیشتر قرار گرفتند. با پایان پروسه تجزیه و تحلیل، الگوریتم رمزنگاری Rijndael بهعنوان برنده برگزیده شد و پس از آن در سال 2002 شاهد عرضه الگوریتم مذکور برای استفاده در دولت ایالاتمتحده، آژانس امنیت ملی و سایر نهادها بودیم.
AES تا به امروز همواره برای طبقهبندی اسناد مورد استفاده قرار گرفته و بهعنوان استاندارد پردازش اطلاعات فدرال (FIPS) در نظر گرفته میشود. در ادامه این الگوریتم توسط بخش خصوصی نیز بهکارگیری شد و AES محبوبترین متد جهت رمزنگاری کلیدی متقارن بهشمار میآید.
چگونگی کارکرد الگوریتم AES
AES بر مبنای رمزنگاری بلوکی عمل میکند و اندازه هر بلوک در آن معادل با 128 بیت است. کلیدها متقارن بوده و در 3 اندازه مختلف 128، 192 یا 256 بیتی قابلدسترس هستند. اسناد ایالاتمتحده که با بالاترین سطح امنیتی موسوم به “فوقسری” شناخته میشوند از کلیدهای 192 و 256 بیتی بهره میگیرند. الگوی رمزنگاری اولیه Rijndael دارای گزینههایی برای اندازههای بلوک و طول کلید بود؛ اما به منظور استانداردسازی اندازه 128 بیتی بلوک و طول 128، 192 و 256 بیتی کلید، این ویژگیها کنار گذاشته شدند.
AES تنها الگوریتم رمزنگاری قابلدسترس برای عموم است که جهت حفاظت از اطلاعات دولتی در بالاترین سطوح امنیتی موردتائید NSA قرار گرفته است. AES از الگوریتم رمزنگاری بلوکی بر مبنای یک شبکه جایگشتی تعویضی (SPN) استفاده میکند. پیام باز در طی چندین مرحله به یک پیام ایمن تبدیل خواهد شد. اینکار با هر بلوک متنی ساده و دارای اندازهای استاندارد آغاز میشود. پیام در قالب یک آرایه قرار گرفته و سپس فرآیند رمزنگاری بر روی پیام اجرا میشود. در هر دور از رمزنگاری، اعمال جایگزینی، انتقال و ترکیب پیادهسازی خواهند شد.
همانند کد 3DES که دارای 3 مرحله رمزگذاری بود؛ AES نیز دارای مراحل رمزنگاری چندگانه است. اگرچه در AES اینکار بسته به طول کلید، بسیار چشمگیرتر از 3DES انجام میشود. فرآیند رمزنگاری برای کلید 128 بیتی شامل 10 مرحله، برای کلید 192 بیتی شامل 12 مرحله و برای کلید 256 بیتی دارای 14 مرحله خواهد بود. با افزایش طول کلید امکان دستیابی به سطوح امنیتی بالاتر فراهم خواهد شد.
طی این فرآیند، یک کلید رمزنگاری ایجاد میشود که جهت رمزگشایی پیام توسط دریافتکننده لازم خواهد بود. بدون وجود کلید رمزنگاری، پیام کاملا گنگ و نامفهوم بهنظر میرسد. بنابراین جهت امکان رمزنگاری و رمزگشایی پیام، هم فرستنده و هم گیرنده بایستی از این کلید مشابه اطلاع داشته باشند.