رمزنگاری قطعهای و AES
رمزنگاریهای قطعهای (Block ciphers) بلوکهای داده با اندازه ثابت را تحت یک کلید محرمانه رمزگذاری میکنند؛ استاندارد رمزنگاری پیشرفته (AES) رمزنگاری قطعهای غالب مدرن و پایه و اساس بیشتر رمزنگاریهای متقارن مستقر است.
Definition
رمزنگاری قطعهای یک تابع کلیددار و برگشتپذیر است که یک بلوک با طول ثابت از بیتهای متن اصلی را به یک بلوک از بیتهای متن رمز شده با همان طول نگاشت میکند؛ AES رمزنگاری قطعهای استاندارد شده است که بر روی بلوکهای ۱۲۸ بیتی با کلیدهای ۱۲۸، ۱۹۲ یا ۲۵۶ بیتی عمل میکند.
Scope
این موضوع ساختار و امنیت رمزنگاریهای قطعهای، از جمله شبکههای جایگزینی-جایگشتی (substitution-permutation networks) و ساختارهای فایستل (Feistel constructions)، به ویژه الگوریتم AES، و حالتهای عملیاتی (مانند CBC، CTR و GCM) را پوشش میدهد که یک اولیه بلوک ثابت را به طرحی برای پیامهای با طول دلخواه تبدیل میکنند. این موضوع به حملات رمزنگاری (رمزنگاری تفاضلی و خطی) و مفهوم رمزنگاری قطعهای به عنوان یک جایگشت شبهتصادفی میپردازد. این شامل رمزنگاریهای جریانی (stream ciphers) و توابع هش بدون کلید نمیشود که به طور جداگانه مورد بررسی قرار میگیرند.
Core questions
- چگونه یک جایگشت امن بر روی یک بلوک بزرگ از عملیاتهای دور ساده و قابل تحلیل ساخته میشود؟
- چرا AES به عنوان یک شبکه جایگزینی-جایگشتی ساختار یافته است و نه یک شبکه فایستل؟
- چگونه حالتهای عملیاتی یک رمزنگاری قطعهای را به پیامهای با طول دلخواه به طور ایمن گسترش میدهند؟
- رمزنگاری تفاضلی و خطی چه چیزی را در مورد مقاومت یک رمزنگاری در برابر حمله آشکار میکنند؟
- مدلسازی یک رمزنگاری قطعهای به عنوان یک جایگشت شبهتصادفی به چه معناست؟
Key concepts
- اندازه بلوک و اندازه کلید
- شبکه جایگزینی-جایگشتی
- شبکه فایستل
- S-box
- دورها و برنامه کلید
- حالتهای عملیاتی (ECB, CBC, CTR, GCM)
- رمزنگاری تفاضلی و خطی
- جایگشت شبهتصادفی
Key theories
- شبکه جایگزینی-جایگشتی
- AES دورهایی را تکرار میکند که یک جایگزینی بایت غیرخطی (SubBytes)، ترکیب خطی (ShiftRows, MixColumns) و افزودن کلید را ترکیب میکنند؛ جایگزینی و جایگشت متناوب اهداف ابهام و انتشار شانون را با مقاومت قابل اثبات در برابر حملات تفاضلی و خطی محقق میسازد.
- حالتهای عملیاتی
- یک رمزنگاری قطعهای به تنهایی فقط یک بلوک را رمزگذاری میکند؛ حالتهایی مانند CBC، CTR و GCM احراز هویت شده مشخص میکنند که چگونه بلوکها را زنجیرهای یا شمارش کرد تا پیامهای طولانی به طور ایمن رمزگذاری شوند و در حالتهای احراز هویت شده، با یکپارچگی.
Mechanisms
AES یک بلوک ۱۲۸ بیتی را که به صورت یک ماتریس بایت ۴x۴ مرتب شده است، از طریق ۱۰، ۱۲ یا ۱۴ دور (برای کلیدهای ۱۲۸، ۱۹۲، ۲۵۶ بیتی) پردازش میکند. هر دور SubBytes (یک S-box غیرخطی ثابت)، ShiftRows (یک جایگشت بایت)، MixColumns (یک تبدیل خطی بر روی یک میدان متناهی) و AddRoundKey (XOR با یک کلید دور از برنامه کلید) را اعمال میکند. این ترکیب انتشار قوی را در چند دور و مقاومت در برابر رمزنگاریهای شناخته شده را فراهم میکند.
Clinical relevance
AES در سیستمهای مستقر شده فراگیر است: دادههای حجیم ترافیک وب محافظت شده با TLS، رمزگذاری کامل دیسک (BitLocker, FileVault, LUKS)، Wi-Fi (WPA2/WPA3)، VPNها و پیامرسانی رمزگذاری شده را ایمن میکند. دستورالعملهای سختافزاری AES (AES-NI) آن را به اندازهای سریع میکند که پیوندهای با توان عملیاتی بالا را به صورت شفاف رمزگذاری کند.
Evidence & guidelines
AES در NIST FIPS 197 مشخص شده و برای محافظت از اطلاعات طبقهبندی شده تا TOP SECRET (با کلیدهای ۱۹۲ یا ۲۵۶ بیتی) تحت مجموعه الگوریتم امنیت ملی تجاری NSA تأیید شده است. حالتهای رمزنگاری قطعهای در سری NIST SP 800-38 استاندارد شدهاند. DES قدیمیتر منسوخ شده است؛ AES-GCM و AES-CCM حالتهای احراز هویت توصیه شده هستند.
History
پس از اینکه DES (1977) برای کلید ۵۶ بیتی خود بیش از حد ضعیف شد، NIST یک رقابت بینالمللی و آزاد (۱۹۹۷-۲۰۰۰) را برای انتخاب جانشین برگزار کرد. پانزده نامزد به طور عمومی رمزنگاری شدند؛ طراحی Rijndael توسط رمزنگاران بلژیکی Joan Daemen و Vincent Rijmen انتخاب و در FIPS 197 (2001) به عنوان AES استاندارد شد. رمزنگاری تفاضلی (Biham و Shamir) و رمزنگاری خطی (Matsui)، که علیه DES توسعه یافته بودند، معیارهای طراحی برای AES را شکل دادند.
Key figures
- Joan Daemen
- Vincent Rijmen
- Horst Feistel
- Eli Biham
- Adi Shamir
- Mitsuru Matsui
Related topics
Seminal works
- daemen2002
- nist2001aes
- katz2020
Frequently asked questions
- چرا باید از حالت ECB اجتناب کرد؟
- در حالت کتاب کد الکترونیکی (ECB)، بلوکهای متن اصلی یکسان به بلوکهای متن رمز شده یکسان رمزگذاری میشوند که ساختار داده را فاش میکند (که به طور مشهور هنگام رمزگذاری یک تصویر قابل مشاهده است). حالتهای امن مانند CTR، CBC یا GCM از یک بردار اولیه یا شمارنده استفاده میکنند تا تکرار پنهان شود.
- آیا AES-256 به طور معنیداری امنتر از AES-128 است؟
- هر دو در برابر حملات کلاسیک امن در نظر گرفته میشوند؛ AES-128 در حال حاضر از هر جستجوی جامع امکانپذیر فراتر میرود. AES-256 حاشیه امنیتی بزرگتری را ارائه میدهد و برای محرمانگی بلندمدت و پوشش ریسک پساکوانتومی ترجیح داده میشود، زیرا الگوریتم Grover تنها طول کلید مؤثر را نصف میکند.