استاندارد پیشرفته رمزنگاری یا AES چیست؟

الگوریتم Rijndael انتخاب شد که توسط Joan Daemon و Vincent Rijmen نوشته شده بود. الگوریتم هایی که به فاینال راه پیدا کرده بودند عبارتند از: MARS، RC6، Rijndael، Serpent و Twofish. استاندارد FIPS-197 در همین رابطه تهیه شده است و الگوریتم مذکور را به عنوان یک رمزنگاری متقارن تعریف می کند که سازمان های دولتی آمریکا باید با استفاده از آن، اطلاعات حساس را رمزنگاری کنند. از آنجایی که اثبات قابل اعتماد بودن الگوریتم مذکور کار بسیار دشواری بود، بسیاری از کشورها و ملیت های دیگر نیز به پروژه AES پیوستند و به آزمایش این الگوریتم پرداختند و از آنجایی که مشکلی در این مورد پیدا نشد، الگوریتم مذکور روز به روز قابلیت اعتماد بیشتری را کسب کرد.

طرز کار AES

الگوریتم Rijndael بایت به بایت کار می کند و ورودی اصلی را با کلید رمزنگاری در یک ماتریس ۴×۴ جفت می کند. کلید، به طریقی تقسیم یا برنامه ریزی شده است که بتواند در مراحل مختلف تکرار به تدریج تزریق شود. اولین قسمت کلید قبل از شروع پروسه ۱۰ مرحله ای تزریق می شود. در هر کدام از این مراحل، بایتها جابجا می شوند، ردیف ها شیفت پیدا می کنند و ستونها ترکیب می شوند.

  • SubBytes
    در پروسه جابجایی، بایت های متن ورودی در یک جعبه جابجایی به نام S-box قرار می گیرند که یک ماتریس ۱۶×۱۶ است. هر بایت در یک تقاطع سطر و ستون این ماتریس جا می گیرد. برای پیدا کردن جای هر بایت اولین عدد صحیح مبنای ۱۶ (nibble) در یک بایت متن اصلی گرفته شده و از آن برای مشخص کردن سطر S-box استفاده می شود و سپس از دومین nibble برای مشخص کردن ستون استفاده می شود. کاراکتری که در تقاطع سطر و ستون انتخاب شده ذخیره می گردد به عنوان SubByte برای متن اصلی شناخته می شود. این پروسه برای هر ۱۶ بایت در ماتریس تکرار می شود.
  • شیفت ردیف و ترکیب ستونها
    بایت هایی که باید رمزنگاری شوند، توسط جایگذاری تعویض می شوند وسپس ردیف ها شیفت پیدا می کنند. برای مثال اولین ردیف دست نخورده باقی می ماند، ردیف دوم یک محل به راست جابجا می شود، سومین ردیف دو محل جابجا می شود و آخرین ردیف نیز سه محل جابجا می شود. این پروسه توسط یک فاز ترکیب ستونها دنبال می شود که در آن هر ستون از ماتریس در یک ماتریس دیگر ضرب می شود تا موقعیت ستون تغییر پیدا کند.
  • کلیدهای Round
    در مرحله بعدی یک کلید round به هر ستون اضافه می شود. این کلید در واقع یک تکه کوچک از یک کلید محرمانه است که برای مراحل بعدی رمزنگاری تزریق می شود.
  • تکرار
    این تبدیل ها ۹ بار دیگر تکرار می شوند. در تکرار آخر ترکیب ستون ها وجود ندارد و با اضافه کردن کلید round متن رمزنگاری شده به دست می آید. کلید نیز به نوبه خود شیفت پیدا می کند، گرد می شود و به خودش اضافه می شود.

 

 

دیدگاه‌تان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *