توسيع کليد در AES:
تعداد کليدهای فرعی مورد نياز، به تعداد دورها(Nr) و تعداد دورها نيز به کليد(Nk) وابسته است.
در AES تنها یک (Master key) وجود دارد که کلیه «کلید های دور» (Round key)، طبق یک الگوریتم پیچیده وارون ناپذیر از روی آن ساخته می شود.
در 128 ـ AES طول کلید 128 بیت و تعداد دورها ده تا است لذا باید ده کلید فرعی دیگر از روی شاه کلید ساخته شود.
1) برای تولید اولین کلید فرعی، «شاه کلید» در ستون صفر تا 3 از یک ماتریس (به ابعاد 4 سطر و 44 ستون) قرار می گیرد.
2) ستون چهارم از کلید (یعنی ستون با اندیس 3) را به درون یک آرایه 4×1 منتقل کرده و در اولین گام، به آن یک شیفت چرخشی از پائین به بالا می دهیم. پس از این چرخش یکایک بایتهای ستون طبق یک جدول جانشینی ثابت با مقادیر جدید جایگزین می شوند.
3) پس از عمل جانشینی بایت ها، ستون جدید با ستون اول (ستون شماره صفر) از کلید اصلی XOR می شود.
4) XORمجدد آن با ستون متناظر از جدولی ثابت به نامRcon(round constant) انجام می شود. ستون متناظر از این جدول عبارتست از شماره ستون فعلی (که در حال ساخت آن هستیم یعنی ستون شماره 4) تقسیم بر NK، که در این مرحله برابر [1] Rcon می شود.
5) ستون اول از کلید فرعی حاضر است. سه ستون بعدی راحت تر بدست می آیند: ستون اول از کلید جدید با ستون دوم از کلید قبلی، XOR شده و ستون دوم از کلید جدید را می سازند. ستون جدید مجدداً با ستون سوم از کلید قدیم باز هم XOR شده و ستون سوم از کلید جدید را می سازد. بدین ترتیب چهار ستون از کلید فرعی اول محاسبه می شود.
6) برای محاسبه دومین کلید فرعی کافی است کلید محاسبه شده قبلی را کلید اصلی فرض کرده و همین روال تکرار تا کلید دوم بدست آید.
این روال تا تولید تمام کلیدهای مورد نیاز تکرار می شود.
يک مثال از توسيع کليد: