Mundarija kirish


Download 0.59 Mb.
bet8/13
Sana22.07.2020
Hajmi0.59 Mb.
#124560
1   ...   5   6   7   8   9   10   11   12   13
Bog'liq
2 535752047249588245

AES blokli shifrlash algoritmi o‘zgaruvchan uzunlikdagi kalitlar orqali shifrlanadi. Kalit va blok uzunliklari bir – biriga bog‘liq bo‘lmagan holda 128, 192 yoki 256 bit bo‘ladi. Biz mazkur o‘quv qo‘llanma ishida AES shifrlash algoritmini bloklar uzunligi 128 bit bo‘lgan holi uchun ko‘rib chiqamiz.

Blok o‘lchami 128 bitga teng kirish , bu 16 baytli massiv 4 ta qator va 4 ta ustundan iboratdir (har bir satr va har bir ustun bu holda 32 razryadli (bitli) so‘z deb qaraladi.)

Shifrlash uchun kirayotgan ma'lumot baytlari:



s00 , s10 , s20 , s30 , s01 , s11, s21, s31, s02 , s12 , s22 , s32 , s03 , s13 , s23 , s33 ,

ko‘rinishida belgilanadi.

Kirayotgan ma'lumot quyidagi 1 – jadvaldagi kvadrat massiv ko‘rinishida kiritiladi. Ya'ni, baytlarni tartib bilan ustun bo‘yicha to‘ldirib boriladi. Birinchi to‘rtta bayt (s00 , s10 , s20 , s30) birinchi ustunga mos tushadi, ikkinchi to‘rtta bayt

(s01 , s11, s21, s31) ikkinchi ustunga mos tushadi, uchinchi to‘rtta bayt (s02 , s12 , s22 , s32) uchinchi ustunga mos tushadi, to‘rtinchi to‘rtta bayt (s03 , s13 , s23 , s33) to‘rtinchi ustunga mos tushadi.



s00

s01

s02

s03

s10

s11

s12

S13

s20

s21

s22

s23

s30

s31

s32

s33


1 – jadval. Kirayotgan ma'lumotlarning holat jadvali.

Xuddi shunday tartibda shifrlash kaliti ham kvadrat jadval shaklida kiritiladi. Ular 128 bit = 16 bayt = 4 so‘z (to‘rtta 32 bitlik blok) dan iborat:



k00 ,k10 , k20 , k30 , k01 , k11, k21, k31, k02 , k12 , k22 , k32 , k03 , k13 , k23 , k33 .

K00

k01

k02

k03

K10

k11

k12

k13

K20

k21

k22

k23

K30

k31

k32

k33


2 – jadval. Shifrlash kaliti holat jadvali.
Shuningdek, AES shifrlash algoritmi raundlar soni Nr , kirish bloklar o‘lchami Nb va kalit uzunligi Nk larga bog‘liq holda quyidagi 3-jadvalga mos holda qo‘llaniladi.


Nr

Nb=4

128 бит

Nb=6

192 бит

Nb=8

256 бит

Nk=4

128 бит

10

12

14

Nk=6

192 бит

12

12

14

Nk=8

256 бит

14

14

14


3 – jadval.

Raund akslantirishlari: Har bir raund shifrlash jarayonlari quyida keltirilgan to‘rtta akslantirishlardan foydalanilgan holda amalga oshiriladi:

  1. SubBytes – algoritmda qayd etilgan 16x16 o‘lchamli jadval asosida baytlarni almashtirish, ya'ni S -blok akslantirishlarini amalga oshirish;

2) ShiftRows – algoritmda berilgan jadvalga ko‘ra holat baytlarini

siklik surish;

3) MixColumns – ustun elementlarini aralashtirish, ya'ni algoritmda

berilgan matrisa bo‘yicha akslantirishni amalga oshirish;

4) AddRoundKey – raund kalitlarini qo‘shish, ya'ni bloklar mos

bitlarni XOR amali bilan qo‘shish.



Quyida bu keltirilgan akslantirishlarning matematik modellari va ularning umumiy qo‘llanish sxemalari ko‘rib chiqiladi.

SubBytes (S -blok akslantirishlari jadvali) – akslantirishi har bir holat baytlariga bog‘liqsiz holda baytlarni chiziqli bo‘lmagan amallar asosida o‘rin almashtirishlarni amalga oshiradi. Bu jarayon ikki bosqichdan iborat bo‘lib:

a) har bir sij holat baytini mod (x8+x4+x3+x+1) bo‘yicha = teskarisi topiladi

sij1 mod (x8+x4+x3+x+1);

b) har bir sij ni teskarisi bo‘lgan ni b = , deb belgilab olib, bir baytdan iborat bo‘lgan b sonini uning bitlari orqali ko‘rinishda tasvirlab, uning ustida quyidagi afin akslatirishi bajariladi

Cb +c (mod x8 +1) =b
Bu yerda C = -matritsa va = –vector

algoritmda berilgan o‘zgarmas ifodaga ega bo‘lib, keltirilgan afin akslantirishi



ko‘rinishda amalga oshiriladi.



Natijaviy vektorning koordinatalari

, i=0,1,2,…,7 ; ifoda bilan rasional hisoblanadi.

Yuqoridagi a) va b) qismlarda berilgan barcha mantiqiy va arifmetik amallarni bajarish bilan amalga oshiriladigan o‘rniga qo‘yish akslatirishi


Download 0.59 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   13




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