نمايش پست تنها
قديمي ۰۳-۱۹-۱۳۹۳, ۰۷:۰۹ بعد از ظهر   #17 (لینک دائم)
zeyton Female
عضو فوق فعال
 
آواتار zeyton
 
تاريخ عضويت: تير ۱۳۹۰
محل سكونت: همه جای ایران سرای من است..
پست ها: 26
تشكرها: 4
21 تشكر در 17 پست
My Mood: Mehrabon
Post مبانی رمزنگاری (قسمت هفدهم)

توصيف رياضی روش 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:

__________________

هرگاه خداوند تو را به لبه پرتگاه هدایت کرد به او اعتماد کن،
زیرا یا تو را از پشت میگیرد
یا به تو پرواز را می آموزد.

zeyton آفلاين است   پاسخ با نقل قول
از zeyton تشكر كرده است:
امین 58 (۰۱-۳۰-۱۳۹۵)