Ushbu takliflarning xilma-xilligi jarayonning ochiqligini va butun dunyo ishtirokini ko'rsatdi


Download 1.5 Mb.
bet1/2
Sana24.12.2022
Hajmi1.5 Mb.
#1061187
  1   2
Bog'liq
kripto


Ushbu takliflarning xilma-xilligi jarayonning ochiqligini va butun dunyo ishtirokini ko'rsatdi.
Rimda bo'lib o'tgan ikkinchi AES nomzod konferentsiyasidan so'ng, NIST 15 nomzoddan 5 nafari - MARS, RC6, Rijndael, Serpent va Twofish finalistlar sifatida tanlanganligini e'lon qildi (1999 yil avgust).
Uchinchi AES nomzod konferentsiyasidan so'ng, NIST belgiyalik tadqiqotchilar Joan Daemen va Vinsent Rijment tomonidan ishlab chiqilgan Rijndael ("Yomg'ir qo'g'irchog'i" kabi talaffuz qilinadi) Kengaytirilgan shifrlash standarti sifatida tanlanganligini e'lon qildi (2000 yil oktyabr).
2001 yil fevral oyida NIST ma'lumotni qayta ishlashning Federal standarti (FIPS) loyihasi jamoatchilik tomonidan ko'rib chiqilishi va sharhlanishi uchun mavjud ekanligini e'lon qildi.
Nihoyat, AES 2001 yil dekabr oyida Federal reestrda FIPS 197 sifatida nashr etildi.
Mezonlar
AESni tanlash uchun NIST tomonidan belgilangan mezonlar uchta sohaga bo'linadi: xavfsizlik, xarajat va amalga oshirish. Yakunda Rijndael ushbu mezonlarning kombinatsiyasiga mos keladigan eng yaxshi deb topildi.

Xavfsizlik


Asosiy e'tibor xavfsizlikka qaratildi. NIST 128 bitli kalitni aniq talab qilganligi sababli, bu mezon qo'pol kuch hujumidan tashqari kriptoanaliz hujumlariga qarshilik ko'rsatishga qaratilgan.
Narxi
Ikkinchi mezon xarajat bo'lib, u apparat, dasturiy ta'minot yoki smart-kartalar kabi turli xil ilovalar uchun hisoblash samaradorligi va saqlash talablarini qoplaydi.

Amalga oshirish


Ushbu mezon algoritmning moslashuvchanligi (har qanday platformada amalga oshirilishi mumkin) va soddaligi talabini o'z ichiga oladi.
7.1-rasmda Nr turlar sonini belgilaydi. Rasmda turlar soni va kalit o'lchami o'rtasidagi bog'liqlik ko'rsatilgan, ya'ni biz ega bo'lishimiz mumkin.
uch xil AES versiyasi; ular AES-128, AES-192 va AES-256 deb nomlanadi. Biroq, kalitlarni kengaytirish algoritmi tomonidan yaratilgan yumaloq tugmalar har doim 128 bit bo'lib, ochiq matn yoki shifrlangan matn bloki bilan bir xil o'lchamda.

___________________________________________


AES 10, 12 va 14 turdan iborat uchta versiyani aniqladi.
Har bir versiyada turli xil shifrlash kalitlari o'lchami (128, 192 yoki 256) ishlatiladi, ammo yumaloq kalitlar har doim 128 bit.
_____________________________________________
7.1-rasm AES shifrlashning umumiy shifr dizayni
Kalitni kengaytirish algoritmi tomonidan yaratilgan dumaloq kalitlar soni har doim turlar sonidan bittaga ko'p bo'ladi. Boshqacha aytganda, bizda bor
Dumaloq tugmalar soni = Nr + 1
Biz yumaloq kalitlarga K0, K1, K2, …, KNr deb murojaat qilamiz.
Ma'lumotlar birliklari
AES ma'lumotlarga murojaat qilish uchun besh o'lchov birligidan foydalanadi: bitlar, baytlar, so'zlar, bloklar va holat. Bit eng kichik va atom birligidir; boshqa birliklar kichikroqlar bilan ifodalanishi mumkin. 7.2-rasmda atom bo'lmagan ma'lumotlar birliklari ko'rsatilgan: bayt, so'z, blok va holat.
Bit
AESda bit 0 yoki 1 qiymatiga ega ikkilik raqamdir. Bitga murojaat qilish uchun biz kichik harfdan foydalanamiz.
Bayt
Bayt - bu bitta ob'ekt sifatida ko'rib chiqilishi mumkin bo'lgan sakkiz bitli guruh, sakkiz bitli satr matritsasi (1 × 8) yoki sakkiz bitli ustun matritsasi (8 × 1). Satr matritsasi sifatida qaralganda, bitlar matritsaga chapdan o'ngga kiritiladi; ustun matritsasi sifatida qaralganda, bitlar matritsaga yuqoridan pastgacha kiritiladi. Baytga murojaat qilish uchun biz kichik qalin harfdan foydalanamiz.
So'z
So'z 32 bitli guruh bo'lib, uni bitta ob'ekt, to'rt baytlik satr matritsasi yoki to'rt baytli ustun matritsasi sifatida ko'rib chiqish mumkin. U satr matritsasi sifatida qaralganda, baytlar bo'ladi
7.2-rasm AESda qo'llaniladigan ma'lumotlar birliklari
matritsaga chapdan o'ngga kiritilgan; ustun matritsasi sifatida qaralganda, baytlar matritsaga yuqoridan pastgacha kiritiladi. So'zni ko'rsatish uchun kichik qalin w harfidan foydalanamiz.
Bloklash
AES ma'lumotlar bloklarini shifrlaydi va shifrlaydi. AES-dagi blok 128 bitli guruhdir. Biroq, blok 16 baytdan iborat qator matritsasi sifatida ko'rsatilishi mumkin.
Davlat
AES har bir raund bir necha bosqichdan iborat bo'lgan bir nechta turlardan foydalanadi. Ma'lumotlar bloki bir bosqichdan ikkinchisiga o'tkaziladi. Shifrning boshida va oxirida AES ma'lumotlar bloki atamasidan foydalanadi; Har bir bosqichdan oldin va keyin ma'lumotlar bloki holat deb ataladi. Davlatga murojaat qilish uchun biz katta harfdan foydalanamiz. Turli bosqichlardagi holatlar odatda S deb atalsa-da, biz vaqti-vaqti bilan vaqtinchalik holatga murojaat qilish uchun T harfidan foydalanamiz. Holatlar, bloklar kabi, 16 baytdan iborat, lekin odatda 4 × 4 bayt matritsalar sifatida ko'rib chiqiladi. Bunday holda, holatning har bir elementi sr,c deb ataladi, bu erda r (0 dan 3 gacha) qatorni va c (0 dan 3 gacha) ustunni belgilaydi. Ba'zida holat so'zlarning qator matritsasi (1 × 4) sifatida ko'rib chiqiladi. Agar so'zni ustun matritsasi deb hisoblasak, bu mantiqiy bo'ladi. Shifrning boshida ma'lumotlar blokidagi baytlar davlat ustuniga ustunlar bo'yicha va har bir ustunda yuqoridan pastgacha kiritiladi. Shifr oxirida holatdagi baytlar 7.3-rasmda ko'rsatilganidek, xuddi shunday tarzda chiqariladi.
7.3-rasm Blokdan holatga va holatdan blokga o'zgartirish

7.1-misol


Keling, 16 belgili blokni 4 × 4 matritsa sifatida qanday ko'rsatish mumkinligini ko'rib chiqaylik. Matn bloki "AES matritsadan foydalanadi" deb faraz qiling. "AESUSESAMATRIXZZ" ni olish uchun oxirida ikkita soxta belgi qo'shamiz. Endi biz har bir belgini 00 dan 25 gacha bo'lgan butun son bilan almashtiramiz. Keyin har bir baytni ikkita o'n oltilik raqamli butun son sifatida ko'rsatamiz. Masalan, “S” belgisi avval 18 ga o'zgartiriladi va keyin o'n oltilik tizimda 1216 sifatida yoziladi. Keyin holat matritsasi 7.4-rasmda ko'rsatilganidek, ustun ustunga to'ldiriladi.
Har bir turning tuzilishi
7.5-rasmda shifrlash tomonidagi har bir turning tuzilishi ko'rsatilgan. Har bir turda, oxirgisidan tashqari, teskari bo'lgan to'rtta transformatsiya qo'llaniladi. Oxirgi turda faqat uchta transformatsiya mavjud.
7.5-rasmda ko'rsatilganidek, har bir transformatsiya o'z holatini oladi va keyingi transformatsiya yoki keyingi tur uchun foydalanish uchun boshqa holatni yaratadi. Oldindan tur bo'limi faqat bitta transformatsiyadan foydalanadi (AddRoundKey); oxirgi tur faqat uchta transformatsiyadan foydalanadi
(MixColumns transformatsiyasi mavjud emas
)
7.5-rasm Shifrlash joyidagi har bir turning tuzilishi

Shifrni ochish saytida teskari o'zgarishlar qo'llaniladi: InvSubByte, InvShiftRows, InvMixColumns va AddRoundKey (bu o'z-o'zidan o'zgartirilmaydi).


7.2 TRANSFORMATSIYALAR
Xavfsizlikni ta'minlash uchun AES to'rt turdagi transformatsiyalardan foydalanadi: almashtirish, almashtirish, aralashtirish va kalitlarni qo'shish. Biz bu erda har birini muhokama qilamiz.
O'zgartirish
AES, DES kabi, almashtirishdan foydalanadi. Biroq, mexanizm boshqacha. Birinchidan, har bir bayt uchun almashtirish amalga oshiriladi. Ikkinchidan, har bir baytni o'zgartirish uchun faqat bitta jadval ishlatiladi, ya'ni agar ikkita bayt bir xil bo'lsa, transformatsiya ham bir xil bo'ladi. Uchinchidan, transformatsiya jadvalni qidirish jarayoni yoki GF(28) maydonida matematik hisob-kitoblar yordamida aniqlanadi. AES ikkita teskari transformatsiyadan foydalanadi.
Subbaytlar
Birinchi transformatsiya SubBytes shifrlash joyida qo'llaniladi. Baytni almashtirish uchun biz baytni ikkita o'n oltilik raqam sifatida izohlaymiz. Chapdagi raqam qatorni belgilaydi
va o'ng raqam almashtirish jadvalining ustunini belgilaydi. Qator va ustunning birlashmasidagi ikkita o'n oltilik raqam yangi baytdir. 7.6-rasmda fikr ko'rsatilgan.
Shakl 7.6 Subbayt o'zgarishlari

SubBytes transformatsiyasida holat 4 × 4 bayt matritsasi sifatida ko'rib chiqiladi. Transformatsiya bir vaqtning o'zida bir bayt amalga oshiriladi. Har bir baytning mazmuni o'zgartiriladi, lekin matritsadagi baytlarning joylashuvi bir xil bo'lib qoladi. Jarayonda har bir bayt mustaqil ravishda o'zgartiriladi. O'n oltita farqli baytdan baytga o'zgartirishlar mavjud.


SubBytes operatsiyasi 16 ta mustaqil baytdan baytga o'zgartirishni o'z ichiga oladi.
7.1-jadvalda SubBytes transformatsiyasi uchun almashtirish jadvali (S-box) ko'rsatilgan. Transformatsiya, shubhasiz, chalkashlik ta'sirini ta'minlaydi. Masalan, ikkita bayt, 5A16 va 5B16, ular faqat bir bitda (eng o'ngda) farqlanadi, ular to'rt bitda farq qiluvchi BE16 va 3916 ga o'zgartiriladi.
7.1-jadval Subbaytlarni o'zgartirish jadvali (davomi)







Download 1.5 Mb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling