مقدمه ای بر الگوریتم رمزنگاری AES یا Advanced Encryption Standard
یکی از متدهای رمزنگاری مشهور در دنیا AES یا Advanced Encryption Standard است. این متد از نوع الگوریتم های Block Cipher متقارن است که توسط دولت آمریکا به منظور حفظ امنیت اسناد طبقه بندی شده از بین الگوریتم های رمزنگاری برگزیده شده است. همچنین AES بر روی بسیاری از سخت افزارها و نرم افزارهای دنیا به منظور رمزنگاری اطلاعات حساس استفاده می شود.
موسسه NIST یا National Institute of Standards and Technology در سال ۱۹۹۷ توسعه AES را در واکنش به کشف آسیب پذیری الگوریتم DES که اختصار Data Encryption Standard است را آغاز کرد. آسیب پذیری DES در مقابل حملات Brute-Force Attacks بود.
ویژگی های AES یا Advanced Encryption Standard
مهم ترین ویژگی AES این است که کد آن برای بررسی به طور کامل منتشر شده است و بنابراین قابل آنالیز و تست توسط تمام کاربران است. این الگوریتم توسط NIST با پشتیبانی از بلوک های رمز ۱۲۸ ، ۱۹۲ و ۲۵۶ بیتی ارائه می شود که مسلما قوی ترین آن ها نوع ۲۵۶ بیتی است که برای رمزگشایی از آن توسط حملات بروت فورس به میلیون ها سال زمان با استفاده از کامپیوتر های امروزی نیاز است.
جالب است بدانید که در ادامه تحقیقات موسسه NIST در آگوست ۱۹۹۹ ، تصمیم گرفت AES را با ۵ الگوریتم رمزنگاری کلید متقارن بهینه کند. این الگوریتم ها عبارت بودند از :
- الگوریتم MARS که توسط یک گروه تحقیقاتی از شرکت IBM ارائه شده بود.
- الگوریتم RC6 که توسط RSA Security ثبت شد.
- Rijndael که توسط دو پژوهشگر بلژیکی طراحی شد.
- الگوریتم Serpent
- الگوریتم Twofish
پیاده سازی تمام الگوریتم های نام برده در زبان هایANSI ، C و جاوا از لحاظ سرعت و پایداری در Decryption و Encryption ، مدت زمان مورد نیاز برپایی کلید و الگوریتم و در پایان مقاومت در برابر حملات مختلف چه از لحاظ سخت افزاری و چه نرم افزاری بررسی شد. بعد از روزها کارشناسی و اتفاق نظر تمام محققین و تست های بسیار در اکتبر سال ۲۰۰۰ الگوریتم Rijndael به عنوان الگوریتم اصلی رمزنگاری AES تعیین شد.
در مقاله های آینده تک تیک به این موضوع خواهیم پرداخت که الگوریتم AES چگونه کار می کند.