למפתחות בגודל 128 ו-192 סיביות, החומר של תת
המפתח, שמורכב מכל מפתחות המחזור על פי הסדר, מורכב ממפתח מקורי, אחריו מתיחות של
המפתח, כל אחת מהמתיחות באורך של המפתח המקורי, כל אחת מהמתיחות מורכבת ממילים
באורך 4 בית כך שכל מילה זה XOR בין המילה הקודמת ו: או
המילה המתאימה במתיחה הקודמת או פונקציה ממנה. למילה הראשונה במתיחה, מילה שסובבה
בית אחד שמאלה (כלומר, לוקחים את הבית השמאלי ושמים אותו מימין), ואז הביתים שלו
עוברים שינוי על ידי שימוש ב-S-box
מהצד של ה-Byte Sub ואז לבית
הראשון עושים XOR עם הקבוע התלוי במחזור.
הקבועים של המחזור הם:
1 2 4 8 16 32 64 128
27 54 108 216 171 77 154 47
94 188 99 198 151 53 106 212
179 125 250 239 197 145 57 114
228 211 189 97...
שזה בבינארי:
00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000
00011011 00110110 01101100 11011000 10101011 01001101 10011010 00101111
01011110 10111100 01100011 11000110 10010111 00110101 01101010 11010100
10110011 01111101 11111010 11101111 11000101 10010001 00111001 01110010
11100100 11010011 10111101 01100001...
משתמשים בחזקות הרצופות של 2 בייצוג של
שדה גלואה
( 28
). חזקות רצופות של 3, לעומת 2, כוללות את כל הערכים מ-1 עד 255, ולכן
מספר יישומים של Rijndael
משתמשים בטבלאות של חזקות של 3, וטבלה הפוכה נותנת לוגריתם דיסקרטי בשדה הזה, כדי
להקל על החישובים, אבל הקבועים של המחזור עדיין חזקות של 2.
עבור מפתחות בגודל 256 סיביות, בנוסף, ה-S-box
משלב ה-Byte Sub מופעל על המילה מהמתיחה
הקודמת על המילה החמישית במתיחה.
|