AES teskari S-box
Teskari S-qutisi ec da ko'rsatilgan afin transformatsiyasining teskarisini qo'llash orqali olinadi. 3 dan keyin GF(2 8 ) da ko'paytma teskarisini olish. (3) ning teskarisi (4) da ifodalanadi ( Daemen & Rijmen, 2002 ).
(4)
2.1.2. ShiftRows
ShiftRows-da holat satrlari tsiklik ravishda chapga har xil nisbatda siljiydi. 0-qator o'zgarmaydi, ammo qolgan qatorlar mos ravishda C 1 , C 2 va C 3 baytlarning ofsetini kuzatib boradi, bu nisbat faqat blok uzunligi Nb ga bog'liq ( Daemen & Rijmen, 2002 ). InvShiftRows deb ataladigan teskari operatsiya uchta pastki qatorni mos ravishda N b - C 1 , N b - C 2 y N b - C 3 bayt bo'ylab tsikli siljishidan iborat. 2 - jadvalda C n pereach mumkin bo'lgan N b qiymati ko'rsatilgan .
2-jadval.
Har bir blok uzunligi bo'yicha Shiftrowlarda o'tkazilgan baytlar
2.1.3. MixUstunlar
MixColumns bosqichi - bu ustunlar bo'ylab davlat ustunida ishlaydigan g'isht teruvchi almashtirish. Mixcolumns'da holat ustunlari GF (2 8 ) va ko'paytiriladigan modul x 4 + 1 c(x) = (03 16 )x 3 + (01 16 )x 2 bilan berilgan c(x) ko'paytmali ko'phadlar sifatida qabul qilinadi. + (01 16 )x + 02 16 . Bu amalni matritsani ko‘paytirish sifatida yozish mumkin, (5) da ko‘rsatilganidek, b(x) = c(x) a(x) mod x 4 +1 bo‘lsin.
(5)
MixColumns ning teskarisi InvMixColumns deb ataladi. Bu MixColumns-ga o'xshaydi. O'zgartirish har bir ustunni d(x) = (0B 16 )x 3 + (0D 16 )x 2 + (09 16 )x + 0E 16 polinomiga ko'paytirish orqali amalga oshiriladi, bu (6) da matritsani ko'paytirish ( Daemen ) & Rijmen, 1999 ), ( Daemen & Rijmen, 2002 ), ( Parikh & Narkhede, 2016 ).
(6)
2.1.4. AddRoundKey
Ushbu transformatsiyada holat shifrlash tugmachasi va Key Schedule funksiyasidan olingan dumaloq kalit bilan bitli XOR operatsiyasi bilan o'zgartiriladi. Dumaloq kalitning uzunligi blok uzunligi N b ga teng ( Daemen & Rijmen, 1999 ). AddRoundKey-ning teskarisi InvAddRoundKey deb ataladi va AddRoundKey tugmachalarni teskari tartibda qo'llash bilan bir xil tarzda qo'llaniladi ( Rodriguez-Henriquez va boshq., 2007 ).
2.2. Asosiy jadval
Kalitni kengaytirish va kalitni tanlash bosqichida ( Daemen & Rijmen, 2002 ) iborat. Kalitni kengaytirish kengaytirilgan kalitni shifrlash kalitidan qanday hisoblashni belgilaydi. Kengaytirilgan kalitdagi bitlar soni blok uzunligining N r plyus bitta davr soniga ko'paytirilganiga teng bo'lib, jami N b × (N r + 1) so'z yoki har biriga bittadan N r + 1 pastki kalit hosil qiladi. davra (Bonadero, Liberatori, Bria & Villagarcia, 2005).
Shifrlash kaliti kengaytirilgan kalit ichida kengaytirilgan. Dumaloq kalitlar Kengaytirilgan kalitdan quyidagicha olinadi: birinchi davra kaliti boshlang'ich N b so'zlardan, ikkinchisi keyingi N b so'zlardan va boshqalardan iborat ( Daemen & Rijmen, 1999 ).
2.2.1 KeyExpansion.
Kengaytirilgan kalit to'rt baytli chiziqli massiv bo'lib, W [N b × (N r + 1)] bilan belgilanadi. Birinchi Nk so'zlari shifrlash kalitini o'z ichiga oladi, qolgan barcha so'zlar esa rekursiv tarzda aniqlanadi. KeyExpansion N k qiymatiga bog'liq va rasmdagi kabi hisoblanadi . 5 , subBytes, Rotbyte va Rcon funktsiyalaridan foydalanish ( Daemen & Rijmen, 1999 ), ( Daemen & Rijmen, 2002 ).
RotByte kirish so'zidan tsiklik almashtirish natijasida hosil bo'lgan so'zni qaytaradi, masalan, {a,b,c,d} kirish uchun chiqish {b,c,d,a} bo'ladi.
Rcon doimiysi N k ga bog'liq emas va (7) da quyidagicha aniqlanadi:
(7)
bu yerda RC[i] GF (2 8 ) dagi x(i-1) qiymatiga ega elementni ifodalaydi, shundayki :
(8)(9)(10)
Rasm 5.
Do'stlaringiz bilan baham: |