100
Milliy Xavfsizlik Agentligining mutaxasislari tomonidan tekshirilgandan so‘ng
davlat standarti maqomini olgan. DES standartidan nafaqat federal departamentlar,
balki nodavlat tashkilotlar,
nafaqat AQShda, balki butun dunyoda foydalanib
kelingan.
DES standartida dastlabki axborot 64 bitli bloklarga ajratiladi va 56 yoki 64
bitli kalit yordamida kriptografik o‘zgartiriladi.
Dastlabki axborot bloklari o‘rin almashtirish va shifrlash funksiyalari
yordamida iterasion ishlanadi. Shifrlash funksiyasini hisoblash uchun 64 bitli
kalitdan 48 bitligini olish, 32-bitli kodni 48 bitli kodga kengaytirish, 6-bitli kodni
4-bitli kodga o‘zgartirish va 32-bitli ketma-ketlikning o‘rnini almashtirish ko‘zda
tutilgan.
DES algoritmidagi shifrlash jarayonining blok-sxemasi 5.11–rasmda
keltirilgan. Rasshifrovka jarayoni shifrlash jarayoniga invers bo‘lib, shifrlashda
ishlatiladigan kalit yordamida amalga oshiriladi.
Hozirda bu standart quyidagi ikkita sababga ko‘ra foydalanishga butunlay
yaroqsiz hisoblanadi:
kalitning uzunligi 56
bitni tashkil etadi, bu kompyuterlarning
zamonaviy rivoji uchun juda kam;
algoritm yaratilayotganida uning apparat usulda amalga oshirilishi
48-bitli
kalitlar
Dastlabki blok
Bitlarning o’rnini almashtirish
Shifrlash
Bitlarning o’rnini almashtirish
Shifrlash
16 marta
5.11- rasm. DES algoritmida shifrlash jarayonining blok-sxemasi
101
ko‘zda tutilgan edi, ya’ni algoritmda mikroprotsessorlarda bajarilishida ko‘p vaqt
talab qiluvchi amallar bor edi (masalan, mashina so‘zida ma’lum sxema bo‘yicha
bitlarning o‘rnini almashtirish kabi).
Bu sabablar AQSh standartlash institutining 1997 yilda simmetrik
algoritmning yangi standartiga tanlov e’lon qilishigaolib keldi. Tanlov shartlariga
binoan algoritmga quyidagi talablar qo‘yilgan edi:
algoritm simmetrik bo‘lishi kerak;
algoritm blokli shifr bo‘lishi kerak;
blok uzunligi 128 bit bo‘lib, 128, 192, va 256 bitli kalit uzunliklarini
ta’minlashi lozim.
Undan tashqari tanlovda ishtirok etuvchilar
uchun quyidagi tavsiyalar
berilgan edi:
ham apparat usulda ham programm usulda osongina amalga oshiriluvchi
amallardan foydalanish;
32 xonali protsessorlardan foydalanish;
iloji boricha shifr strukturasini murakkablashtirmaslik. Bu o‘z navbatida
barcha qiziquvchilarning algoritmni mustaqil tarzda kriptotahlil qilib, unda
qandaydir xujjatsiz imkoniyatlar yo‘qligiga ishonch hosil qilishlari uchun zarur
hisoblanadi.
2000 yil 2 oktyabrda tanlov natijasi e’lon qilindi. Tanlov g‘olibi deb Belgiya
algoritmi RIJNDAEL topildi va shu ondan boshlab algoritm-g‘olibdan barcha
patent chegaralanishlari olib tashlandi.
Hozirda AES (Advanced Encryption Standard) deb ataluvchi ushbu algoritm
Dj.Deymen (J. Daemen) va V. Raydjmen (V.Rijmen) tomonidan yaratilgan. Bu
algoritm noan’anaviy blokli shifr bo‘lib, kodlanuvchi ma’lumotlarning
har bir
bloki qabul qilingan blok uzunligiga qarab 4x4, 4x6 yoki 4x8 o‘lchamdagi
baytlarning ikki o‘lchamli massivlari ko‘rinishiga ega.
Shifrdagi barcha o‘zgartirishlar qat’iy matematik asosga ega. Amallarning
strukturasi
va
ketma-ketligi
algoritmning
ham
8-bitli,
ham
32-bitli
mikroprotsessorlarda samarali bajarilishiga imkon beradi. Algoritm strukturasida
102
ba’zi amallarning parallel ishlanishi ishchi stansiyalarida shifrlash tezligining 4
marta oshishiga olib keladi.
Ushbu algoritmning shifrlash jarayoni quyidagi blok sxema orqali
ifodalangan (5.12-rasm).
ExpandKey
AddRoundKey
round: = 1
ShiftRows
Sub Bytes
AddRoundKey
MixColumns
AddRoundKey
round ++
[round=Nr]
Акс ҳолда
5.12-rasm. Shifrlash jarayoni
Shifrlash jarayonining har bir raund shifrlash jarayonlari quyida keltirilgan
to‘rtta akslantirishlardan foydalanilgan holda amalga oshiriladi:
- Sub Bytes – algoritmda jadval asosida baytlarni almashtiradi, ya’ni S-blok
akslantirishlarini amalga oshiradi;
- ShiftRows – algoritmda berilgan jadvalga ko‘ra
holat baytlarini siklik
surish;
- MixColumns – ustun elementlarini aralashtiradi, ya’ni algoritmda berilgan
103
matritsa bo‘yicha akslantirishni amalga oshiradi;
- AddRoundKey – raund kalitlarini qo‘shish, ya’ni bloklar mos bitlarini
XOR
amali bilan qo‘shish.
Deshifrlash jarayonida shifrlash jarayonidagi
Sub Bytes, ShiftRows,
MixColumns va
AddRoundKey funksiyalari o‘rniga mos ravishda
invSub Bytes,
invShiftRows, invMixColumns va
AddRoundKey teskari
almashtirish funksiyalari
qo‘llaniladi (5.13-rasm).
ExpandKey
AddRoundKey
round: = 1
InvSub Bytes
InvShiftRows
AddRoundKey
AddRoundKey
InvMixColumns
round ++
[round=Nr]
Акс ҳолда
5.13-rasm. Deshifrlash jarayoni