5-amaliy ish Mavzu: Openssl kutubxonasidan foydalangan xolda blokli shifrlar yordamida ma’lumotlarni shifrlash


Download 491.8 Kb.
Pdf ko'rish
Sana04.12.2020
Hajmi491.8 Kb.

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


S

1

S

2

S

3

S

4

L

i



=F(L

i-1


 XOR K

i

)     R



i-1

R

i



=L

i-1


     K

i

K



i

32 bit


8 bit

8 bit


8 bit

8 bit


32 bit

32 bit


32 bit

32 bit


32 bit

32 Bit


32 bit



F(L

i-1


 XOR K

i



 

5.6-rasm. Blowfish kriptoalgoritmining i-raundi 

Blowfish kriptoalgoritmi raundilari F funksiyasi quyidagicha: 

1)  32 bitli 

1



i



L

chap qism 8 bitli 

)

,

,



,

(

d



c

b

a

 qismlarga bo‘linadi. 

2) 

)

,



,

,

(



d

c

b

a

  8  bitli  qismlar 



S

bloklar  yordamida  o‘rin  almashtiriladi.  O‘rin 

almashtirish formulasi quyidagicha: 

.

2



mod

)

)



)

2

mod



)

((((


)

(

32



,

4

,



3

32

,



2

,

1



1

d

c

b

a

i

S

S

XOR

S

S

L

F



 



Bu yerda har bir 

S

-blok 256 ta 32 bitli elementga ega, ya’ni 8 bitli sonni 32 

bitli songa akslantirib beradi. Masalan, birinchi 

S

-blok keltirilgan. 

Bu 

S

-blokka kiruvchi qiymat 85 ga teng bo‘lsin, u holda 



S

-blokdan chiquvchi 

qiymat 

sifatida 



S

-blokning 

85-o‘rnida 

joylashgan 

0x21c66842

16

=566650946



10

=00100001110001100110100001000010

2  

olinadi.  



Bu  algoritm  asosida  yotadigan  tamoyil  qo‘llanish  konstruksiyasining 

oddiyligidadir.  Kriptoalgoritmda  qo‘llanilgan:  MOV,  ADD  va  XOR  amallari 

zamonaviy  mikroprotsessor  arxitekturalarida  effektiv  qo‘llaniladi.  Blowfish 

algoritmida chap yarim blokning o‘zgarishi o‘ng yarim blok o‘zgarishiga olib keladi. 

Bundan  tashqari  kalitning  o‘zgarishi  har  bir  raunddan  so‘ng  chap  va  o‘ng  yarim 

bloklarga  ham  ta’sir  etadi.  Algoritmda  to‘rtta 



S

-blok  qo‘llanilgan  bo‘lib,  bu 



S

bloklarning  kirishi  8  bitga  va  chiqishi  32  bitga  teng,  ya’ni  har  bir 



S

-blokda  32 

razradli  256  ta  bir-birini  takrorlamaydigan  sonlar  qatnashgan. 

S

-bloklar  maxfiy 

bo‘lgan holatda bitta S-blokni to‘liq tanlash 256!  ni tashkil etadi. Bu algoritm S-

bloklar ma’lum bo‘lgan holatda kalitlar generatsiyasida ishtirok etgan R -massivni 

differensial  kriptotahlil  usulida 

1

8



2



r

  ta  tanlab  olingan  ochiq  ma’lumot  va 

shifrma’lumot yordamida kalitni topish mumkin. 

16



r



 da bu qiymat 

129


2

ga teng. 

Akslantirishlarning 

keltirilgan 

xususiyatlari 

algoritmning 

samaradorligini 

oshirishga qaratilgan. 

Amaliy qism 

Openssl  kutubxonasidan  foydalanish  uchun  cmd  buyrug’idan  foydalaniladi 

(pusk va R teng bosiladi): 

 

5.7-rasm. Cmd buyrug’ini ishga tushiriladi 

 

 


Cmd  oynasidagi  joriy  papkasidan  chiqish  uchun  cd..  buyrug’idan 

foydalaniladi: 



 

5.7.1-rasm. cd.. buyrug’idan foydalanish 

Openssl  kutubxonasi  uchun  foydalanadigan  certificate  papkasiga  quyidagi 

buyrug’ orqali ochiq ma’lumotni xosil qilib olamiz: 

 

5.7.2-rasm. Ochiq ma’lumotni yaratib olish 



Certificate papkasida xosil bo’lgan butun.txt fayl: 

 

 



 

5.7.3-rasm. Ochiq ma’lumot 



Openssl kutubxonasini aktiv holatga o’tkazishimiz uchun quydagi buyrug’dan 

foydalanamiz: 

 

5.7.4-rasm. Opensslni aktiv holati 



Help  buyrug’i  orqali  kerakli  bo’lgan  shifrlash  algoritmlarini  va  ulardan 

foydalanish tartibini ko’rish mumkin bo’ladi:  



 

5.7.5-rasm. Opensslda help buyrug’i 

Ochiq  ma’lumotni  shifrlash  uchun  AES  shifrlash  algoritmidan  foydalanish  

aes-256-cbc -e -in butun.txt -out butun.txt.enc  buyrug’i orqali amalga oshiriladi. Bu 

yerda  –e  =  encryption(shifrlash),  -in=  faylni  nomi  va  formati,  -out=shifr  fayl. 

Shiflash davomida parol qo’yish talab etiladi va ko’rinmagan holda kiritamiz: 

 

5.7.6-rasm. Opensslda ma’lumotni shifrlash 



Shifrlangan ma’lumotni ko’rish quydagicha: 

 

 



 

5.7.7-rasm. AES-256 shifrlash algoritmida shifrlash 

Shifr  ma’lumotni  deshifrlash  uchun  aes-256-cbc  -d  -in  butun.txt.enc  -out 

butun.txt.dec    buyrug’i  orqali  amalga  oshiriladi.  Bu  yerda  –d  =  decryption 

(deshifrlash),  -in=  faylni  nomi  va  formati,  -out=ochiq  matn  fayl.  Deshiflash 

davomida parolga oldingi kiritgan paroldan foydaniladi: 

 

 


 

 

5.7.8-rasm. AES-256 shifrlash algoritmida deshifrlash 

 

Ishni bajarlish tartibi va qo’yilgan vazifa 

Asosiy matn shifrlash usullaridan birida shifrlansin va qadamma – qadam 

izohlansin. Shuningdek Openssl kutibxonasidan foydalangan holda shifrlash va 

deshifrlash amalga oshirilsin. 



Nazorat savollari 

1. AES  shirflash  algoritmida  shifrlash  va  deshifrlash  jarayoni  ketma  - 

ketligini keltiring. 

2. Blowfish algoritmi qaysi tarmoqqa asoslangan. 

3. Blowfish  algoritmi  kompyuter  xotirasida  eng  kamida  qancha  joy 

egallaydi. 



 

 

 

Download 491.8 Kb.

Do'stlaringiz bilan baham:




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