رمزنگاری AES چیست
رمزنگاری AES (Advanced Encryption Standard) یک استاندارد رمزنگاری اسامی تعیین شده توسط اداره ملی استانداردها و فناوری (NIST) در سال 2001 است.
پیدایش AES و تاریخچه
رمزنگاری AES (Advanced Encryption Standard) یک استاندارد رمزنگاری اسامی تعیین شده توسط اداره ملی استانداردها و فناوری (NIST) در سال 2001 است. این استاندارد برای جایگزینی رمزنگاری DES (Data Encryption Standard) قدیمی و ضعیف طراحی شده است.
نیاز به توسعه یک استاندارد رمزنگاری جدید به دلیل شناسایی آسیب پذیریهای امنیتی در رمزنگاری DES و پیشرفت سریع تکنولوژی رمزنگاری به وجود آمد. در سال 1997، NIST یک مسابقه رمزنگاری با نام AES را برگزار کرد تا یک الگوریتم قوی و امن برای جایگزینی DES انتخاب کند.
در مسابقه AES، بیش از 15 الگوریتم رمزنگاری ارائه شدند که توسط برخی از بهترین متخصصان رمزنگاری جهان ارزیابی شدند. بعد از چندین مرحله انتخاب و ارزیابی، در سال 2001، الگوریتم رمزنگاری Rijndael ارائه شده توسط Joan Daemen و Vincent Rijmen از بلژیک به عنوان AES انتخاب شد.
AES به عنوان رمزنگاری بلوکی عمل میکند و از ساختار جعبه جایگذاری و جایگزینی (Substitution-Permutation Network) استفاده میکند. این الگوریتم قابلیت رمزگذاری و رمزگشایی سریع را دارد و استفاده گستردهای در امنیت اطلاعات و ارتباطات دارد، از جمله استفاده در پروتکلهای ارتباطی امن، نرمافزارهای رمزنگاری و سیستمهای فایروال.
بعد از انتخاب AES به عنوان استاندارد رمزنگاری، فرآیند توسعه و پذیرش آن به سرعت آغاز شد. استاندارد AES در سه حالت مختلف عمل میکند: AES-128، AES-192 و AES-256. این اعداد نشان دهنده طول کلید استفاده شده در هر حالت هستند، به ترتیب 128 بیت، 192 بیت و 256 بیت.
AES یک الگوریتم جعبه جایگزینی و جایگذاری معکوس (Substitution-Permutation Network) است. در فرآیند رمزگذاری AES، یک بلاک متن ورودی به بلاکهای 128 بیتی تقسیم میشود و بر روی هر بلاک عملیاتهای جعبه جایگزینی و جابهجایی اعمال میشود.
عملیات اصلی در AES شامل جعبه جایگزینی با استفاده از جدول جعبه جایگزینی (S-Box) و جابهجایی ستونی (MixColumns) و جابهجایی سطری (ShiftRows) است. این عملیاتها به صورت مکرر اعمال میشوند تا چندین دور رمزگذاری (10 دور برای AES-128، 12 دور برای AES-192 و 14 دور برای AES-256) به پایان برسند.
استفاده از الگوریتمهای قوی و امن مانند AES برای رمزنگاری اطلاعات حساس و محرمانه در حوزههایی مانند امنیت اینترنت، ارتباطات بیسیم، پرداختهای الکترونیکی و حفظ حریم خصوصی بسیار حائز اهمیت است. AES به دلیل مقاومت بالا در برابر حملات رمزنگاری و سرعت اجرای بالا، به عنوان یک استاندارد بینالمللی و قابل اعتماد شناخته شده است.
رمزنگاری AES چگونه کار می کند؟
AES نقطه انتهایی به نقطه انتهایی است که برای حفاظت از اطلاعات در سیستمهای رمزنگاری استفاده میشود. AES یک الگوریتم بلوکی است، به این معنی که اطلاعات را به صورت بلوکهایی با اندازه ثابت رمزنگاری میکند.
AES از کلیدهای 128 بیت، 192 بیت و 256 بیت برای رمزنگاری استفاده میکند. فرایند رمزنگاری AES در چندین مرحله انجام میشود، که عبارتاند از:
-
افزودن کلید: در ابتدا، کلید رمزنگاری به بلوک اطلاعات اعمال میشود. این کلید به اندازه بلوک اطلاعات است و میتواند 128 بیت، 192 بیت یا 256 بیت باشد. این کلید توسط یک الگوریتم تحویل کلید از کلید اصلی تولید میشود.
-
مرحله ترکیب: در این مرحله، بلوک اطلاعات و کلید رمزنگاری با هم ترکیب میشوند. این عملیات شامل اعمال یک عملگر ترکیبی (معمولاً XOR) بر بیتهای متن و بیتهای کلید است.
-
مرحله تغییر جایگاه: در این مرحله، بیتهای بلوک اطلاعات با استفاده از جدولی به نام جدول جایگشتی AES (AES Substitution Box) تغییر میکنند. این جدول یک جدول جایگشتی جعبهای 16 در 16 است که بیت ورودی را به بیت خروجی متناظر تبدیل میکند.
- مرحله شیفت: در این مرحله، بیتهای بلوک اطلاعات به صورت مرحله به مرحله به سمت چپ شیفت مییابند. تعداد شیفتها و الگوی شیفت توسط طول کلید تعیین میشود. در AES-128، هشت شیفت انجام میشود، در AES-192 ده شیفت و در AES-256 چهارزده شیفت.
-
مرحله مخلوط کننده: در این مرحله، بلوک اطلاعات به چندین مرحله ترکیبی یا مخلوط کننده (MixColumns) میگذرد. این مرحله شامل عملیات خطی روی ستونهای بلوک اطلاعات است که باعث تغییر ساختار داده و تشدید رندومی آنها میشود.
-
مرحله افزودن کلید زیرکتی: در این مرحله، کلید رمزنگاری تکرار میشود و با بلوک اطلاعات اصلی جمع میشود. این عملیات مشابه با مرحله اول است، با این تفاوت که از کلیدهایی استفاده میشود که در مرحله اول ایجاد شدند. این عملیات باعث تشدید امنیت و تعمیق مقاومت در برابر حملات مختلف میشود.
این مراحل برای هر بلوک اطلاعات اعمال میشوند و معمولاً به صورت پشت سر هم بر روی بلوکهای متوالی اعمال میشوند. بلوکهای بعدی به عنوان ورودی مرحله ترکیب استفاده میشوند.
با تکرار این مراحل بر روی تمام بلوکهای اطلاعات، رمزنگاری AES انجام میشود. همانطور که میبینید، این الگوریتم بر اساس ترکیبی از مراحل ترکیبی، جابجایی باعث ایجاد پیچیدگی و تعمیق امنیت میشود. استفاده از ترکیبی از جابهجایی، تغییر جایگاه، شیفت و مخلوط کننده در AES، باعث میشود که الگوریتم مقاومت قوی در برابر حملات مختلفی مانند تحلیل فراگیر، تحلیل تفریقی و تحلیل توان باشد.
در انتهای فرآیند رمزنگاری AES، بلوکهای رمزنگاری شده به صورت جداگانه ارسال میشوند. در صورت نیاز، از پدیانهگذاری (Padding) استفاده میشود تا اندازه بلوک اطلاعات قابل رمزنگاری باشد.
برای رمزگشایی، عملیات معکوس با استفاده از همان مراحل با الگوریتم برعکس انجام میشود. در هر مرحله، عملیات معکوس اعمال میشود تا به حالت اولیه برگردیم و اطلاعات اصلی بازیابی شود.
مراحل رمزنگاری و رمزگشایی AES بر اساس الگوریتمهای تعریف شده با دقت و دقت بسیار بالا انجام میشوند، و به دلیل پیچیدگی عملیات و تعداد مراحل، حملاتی مانند تحلیل تفریقی و تحلیل توان بر روی AES بسیار دشوار است.
در کل، AES به عنوان یک استاندارد رمزنگاری قوی در سیستمهای امنیت اطلاعات استفاده میشود و توسط سازمانها و صنعتهای مختلف در سراسر جهان برای حفاظت از اطلاعات محرمانه استفاده میشود.
دیدگاه های مربوط به این مقاله (برای ارسال دیدگاه در سایت حتما باید عضو باشید و پروفایل کاربری شما تکمیل شده باشد)