5-amaliy ish
Mavzu:OpenSSL kutubxonasidan foydalangan xolda blokli shifrlar
yordamida ma’lumotlarni shifrlash
Ishdan maqsad:
Zamonaviy blokli shifrlash
algoritmlari asosida
ma’lumotlarni shifrlash ko’nikmalariga ega bo’lish
Nazariy qism
Ushbu algoritm AQSH davlat shifrlash stanlarti DES kriptotahlil hujumiga
uchragandan so’ng ishlab chiqildi va standart sifatida qabul qilindi. Ushbu
standart DES dan farqli o’laroq turli xil kalit uzunliklaridan (128,192 va 256 bit)
foydalanadi. Blokli shifrlashga asoslangan bo’lib, blok uzunligi 128 bitga teng
bo’lib kalitga mos ravishda (10, 12 va 14) raund davomida shifrlanadi.
AES shifrlash algoritmi matematik tomondan ko’phadlar
ustida amal
bajarishga asoslangan bo’lib, ma’lumotlar baytlab kiritiladi. AES shifrlash
algoritmi har bir raundi quyidagi amallardan iborat :
1.
SubBytes bosqichi.
Ushbu bosqichda
kiruvchi matritsa baytlari
o’zgarmas S-box jadvali bo’yicha almashtiriladi.
5.1- rasm. SubBytes bosqichi
2.
ShiftRows qadami.
Ushbu bosqichda birinchi bosqichdan chiqqan
natijaviy matritsa bayotlari suriladi. Bunda 1-satr o’zgarmas, 2-satr 1 bayt
chapga, 3-satr 2 bayt chapga va 4-satr 3 bayt chapga suriladi.
5.2- rasm. ShiftRows qadami
3.
MixColumns qadami.
Ushbu qadamda ShiftRows dan chiqqan matritsa
bilan o’zgarmas matritsa bayti bilan o’zaro ko’paytiriladi.
5.3- rasm. MixColumns qadami
4.
AddRoundKey
qadami.
Raundning
oxirgi
bosqichi
sanalib, 3-bosqichdan chiqqan natija bilan kalit baytlari XOR amalida qo’shiladi.
5.4- rasm. AddRoundKey qadami
Ushbu standart XXI asrning eng kriptobardoshli kriptografik tizimi sanalib,
hozirda amaliy hujumga uchramagan.
AES shifrlash algoritmi kiruvchi blokni butunlay o’zgarishi 2-
raunddan so’ng yuz beradi.
5.5- rasm. Kiruvchi ma’lumotlarning almashinish holati (AES) AES shifrlash
algoritmida
chiziqsiz funksiya sifatida
SubBytes
va
MixColumns
funksiyalaridan foydalanilgan.
Blowfish algoritmi
. Blowfish algoritmi B. Shnayer tomonidan ishlab chiqilgan
bo‘lib, 1993 yilda e’lon qilingan. B. Shnayer algoritmga
quyidagilarni asos qilib
olingan.
1)
Tezlik. 32 razryadli mikroprotsessorlarda Blowfish algoritmi 26 taktda
shifrlaydi.
2)
Kompaktlilik. Blowfish kompyuter xotirasida eng kamida 5
kilobayt joy
egallaydi.
3)
Oddiylik. Blowfish algoritmida qo‘shish, XOR, va tablitsadan o‘rin
almashtirish qo‘llaniladi. Bu esa tahlilni osonlashtiradi.
4)
O‘zgaruvchan bardoshlilik. Blowfish algoritmi kaliti uzunligi
o‘zgaruvchan va 448 bitgacha yetish mumkin.
Bu algoritm Feystel tarmog‘iga asoslangan bo‘lib, blokni uzunligi 64 bitga,
raundlar soni 16 ga va raund kalitlari uzunligi esa 32 bitga teng. Blowfish shifrlash
algoritmi
i
-raundi quyidagi funksional sxemada keltirilgan:
L
i-1
R
i-1