توصيف رياضی روش AES:
کوچکترين واحد اطلاعات در الگوريتم AES يک بايت است. نمايش رياضی آن در ميدان GF(2) بصورت زير است:
پياده سازی عمل جمع دو بايت که در ميدان GF(2) مدل شده اند، همان عمل xor است.
میدان گالوای GF(2):
مجموعه Z2 یعنی{1،0} به همراه عملگرهای جمع و ضرب پیمانه ای به پیمانه 2 یک میدان محدود است.
چندجمله ایهای روی این میدان خود یک حلقه را تشکیل می دهند. ضرایب هر جمله یا صفر یا یک است ومحاسبات در پیمانه 2 می باشد.
یکی از کاربردهای آن در CRC میباشد.
جمع بایتها:
ضرب بایتها:
حال باید حاصلضرب را به پیمانه m(x) کاهش داد تا در هشت بیت قابل نمایش باشد:
مجموعه چند جمله ايها با دو عملگر xor و «ضرب پيمانه ای به پيمانه m(x) » يک ميدان را تشکيل می دهد.
تبدیل Mix Columens در رمزنگاری AES:
این تابع هر ستون از آرایه State را به طور مستقل از دیگر ستون ها، تلفیق و درهم سازی می کند. عمل تلفیق به این نحو است که هر ستون در یک ماتریس ثابت ضرب می شود تا ستون جدید بدست آید.
درجه ستونی مانریس ثابت حداکثر 3 می باشد.
الگوریتم رمزگشایی AES:
الگوریتم رمزگشایی AES فقط در ثابت ها و کلید های دور با الگوریتم رمزگذاری تفاوت دارد.
تفاوت های الگوریتم رمز گشای AES با رمز گذار آن:
1) وارون عمل AddRoundKey (یا همان XOR) تکرار آن است. زیرا:
a XOR k XOR k = a
2) برای عمل وارون جانشینی بایت ها، کافی است جدول جانشینی با مقادیر مناسب پر شود و از لحاظ ماهیت پیاده سازی تفاوتی ندارد.
3) وارون عمل شیفت چرخشی، باز هم شیفت چرخشی است.
4) برای وارون سازی MixColumens کافی است همین عمل با مقادیر «ماتریس وارون» یا a^-1 از نو تکرار شود. پس برای رمز گشایی AES فقط باید در ثابت های الگوریتم تغییر داد، نه در ماهیت عمل.
تصویری از پیاده سازی سخت افزاری AES: