4- mavzu. Simmetrik kriptografik algoritmlar Reja


Misol. Faraz qilamiz, 64 bitli kalit ???????? ni ????????, ???????? va ???????? registorlariga bo’lib, yozish natijasi quyidagicha bo’lsin (13 - rasm). X


Download 253.05 Kb.
bet3/3
Sana11.10.2023
Hajmi253.05 Kb.
#1698226
1   2   3
Bog'liq
4-mavzu

Misol. Faraz qilamiz, 64 bitli kalit 𝐾𝐾 ni 𝑋𝑋, 𝑌𝑌 va 𝑍𝑍 registorlariga bo’lib, yozish natijasi quyidagicha bo’lsin (13 - rasm).
X




1

1

0

0

1

1

0

1

1

0

1

0

1

1

0

1

1

0

0

1

0

0















Y



0

1

1

0

0

1

1

1

1

1

0

1

1

0

0

0

1

1

0

1

0

1

0



Z



  1. - rasm. A5/1 ketma-ketlik generatori



Mazkur holda 𝑆𝑆𝑎𝑎𝑚𝑚(𝑥𝑥8, 𝑦𝑦10, 𝑧𝑧10) = 𝑆𝑆𝑎𝑎𝑚𝑚(1,1,0) = 1 bo’ladi va bu 𝑋𝑋 va 𝑌𝑌
registrlar siljishini ko’rsatadi. Shuning uchun,

𝑆𝑆 = 𝑥𝑥13⨁𝑥𝑥16⨁𝑥𝑥17⨁𝑥𝑥18 = 0⨁1⨁1⨁1 = 1


𝑆𝑆 = 18,17,16, … ,1 uchun 𝑥𝑥𝑖𝑖 = 𝑥𝑥𝑖𝑖1
𝑥𝑥0 = 1
Shunga o’xshash, 𝑌𝑌 registr uchun ham quyidagilar bajariladi:

𝑆𝑆 = 𝑦𝑦20⨁𝑦𝑦21 = 0⨁0 = 0


𝑆𝑆 = 21,20,19, … ,1 uchun 𝑦𝑦𝑖𝑖 = 𝑦𝑦𝑖𝑖1
𝑦𝑦0 = 0
𝑋𝑋 va 𝑌𝑌 registrlari siljiganidan keyingi holat esa quyidagicha bo’ladi (14 - rasm):


1

0

1

1

0

1

0

1

1

1

0

0

1

1

0

0

0

1

1




0

1

1

0

0

1

1

0

1

1

0

1

0

1

1

0

1

1

0

0

1

0















X
Y




0

1

1

0

0

1

1

1

1

1

0

1

1

0

0

0

1

1

0

1

0

1

0



Z


  1. - rasm. A5/1 ketma-ketlik generatori

Siljigan holatdan so’ngi registrlar holatidan generasiyalangan bir bit 𝑠𝑠 =


𝑥𝑥18⨁𝑦𝑦21⨁𝑧𝑧22 = 1 ⨁ 0 ⨁0 = 1 bo’ladi. Shu tartibda, talab etilgan bitlar ketma- ketligi generasiyalanadi.
Hisoblash qurilmalari hozirgi kundagi kabi rivojlanmagan vaqtlarda oqimli shifrlash algoritmlari juda ham mashhur bo’lgan, hozirgi kunda esa ularning o’rnini simmetrik blokli shifrlar egallamoqda. Biroq, shunday holatlar mavjudki, oqimli shifrlar shubhasiz zarur bo’ladi. Masalan, real vaqt tizimlaridan biri GSM tarmog’ida ma’lumotlarni shifrlashda blokli simmetrik shifrlarni qo’llashning imkoni yo’q. Sababi, shifrlash uchun zarur bo’lgan bir blokni (blok uzunligi kamida
64 bit bo’ladi) ma’lum vaqtda to’plashi talab etiladi. Bu esa so’zlashuvda to’xtalishga olib keladi. Bundan tashqari, ma’lumotni shifrlab uzatish jarayonida shifrmatnga bo’lgan o’zgarishga (tashqi ta’sirlar natijasida) simmetrik oqimli shifrlash bardoshli sanaladi. Masalan, oqimli shifrlashda shifrmatndagi bir bitning o’zgarishi ochiq matnning ham bir bitining o’zgarishiga olib keladi. Simmetrik blokli shifrlarda esa bir bitning o’zgarishi bir blokning (masalan, 64 bit) o’zgarishiga olib keladi. Bundan tashqari, simmetrik oqimli shifrlash, blokli shifrlarga qaraganda, kichik qurilmalarda amalga oshirilish imkoniyatiga ega.

Blokli simmetrik shifrlash algoritmlari


Takroriy amalga oshiriluvchi blokli shifrlash ochiq matnni cheklangan uzunlikdagi bloklarga ajratadi va shifrmatnning cheklangan uzunlikdagi bloklarini hosil qiladi. Aksariyat blokli simmetrik shifrlar loyihasida, shifrmatn - ochiq matnni funksiya 𝐹𝐹 orqali biror miqdordagi raundlar soni davomida takroran bajarish natijasida olinadi. Oldingi raunddan chiqqan natija va kalit 𝐾𝐾 ga asoslangan 𝐹𝐹 funksiya – raund funksiyasi deb nomlanadi. Bunday nomlanishiga asosiy sabab, uni ko’plab raundlar davomida bajarilishidir.


Blokli simmetrik shifrlarni yaratishdagi asosiy maqsad – bu xavfsizlik va samaradorlikga erishish. Xavfsiz yoki samarali bo’lgan blokli shifrlarni yaratish murakkab muammo emas. Biroq, ham xavfsiz ham samarali bo’lgan simmetrik blokli shifrlarni yaratish – san’at.
Simmetrik blokli shifrlarni yaratishda ko’plab tarmoqlardan foydalaniladi.
Ular orasida quyidagi tarmoqlar amalda keng qo’llaniladi [19]:

  1. Feystel tarmog’i.

  2. SP (Substitution – Permutation network) tarmoq.

  3. Lai-Messey tarmog’i.

Feystel tarmog’i - bu aynan bir blokli shifr hisoblanmay, simmetrik blokli shifrni loyihalashning umumiy prinsipi sanaladi. Feystel tarmog’iga ko’ra ochiq matn bloki 𝑃𝑃 teng ikki chap va o’ng qismlarga bo’linadi:
𝑃𝑃 = (𝐿𝐿0, 𝑋𝑋0),
va har bir raund 𝑆𝑆 = 1,2, … , 𝑛𝑛, uchun yangi chap va o’ng tomonlar quyidagi qoidaga ko’ra hisoblanadi:
𝐿𝐿𝑖𝑖 = 𝑋𝑋𝑖𝑖−1
𝑋𝑋𝑖𝑖 = 𝐿𝐿𝑖𝑖1⨁𝐹𝐹(𝑋𝑋𝑖𝑖1, 𝐾𝐾𝑖𝑖 )

Bu yerda, 𝐾𝐾𝑖𝑖 kalit 𝑆𝑆 – raund uchun qismkalit (raund kaliti) hisoblanadi. Qismkalitlar esa o’z navbatida kalit 𝐾𝐾 dan biror kalit generatori algoritmi orqali


hisoblanadi. Yakuniy, shifrmatn bloki 𝐶𝐶 esa oxirgi raund natijalariga teng bo’ladi, ya’ni:

𝐶𝐶 = (𝐿𝐿𝑛𝑛, 𝑋𝑋𝑛𝑛).


Feystel tarmog’ida deshifrlash XOR amalining “sehrgarligi”ga asoslanadi.
Ya’ni, 𝑆𝑆 = 𝑛𝑛, 𝑛𝑛 − 1, … ,1 lar uchun quyidagi tenglik amalga oshiriladi:
𝑋𝑋𝑖𝑖−1 = 𝐿𝐿𝑖𝑖
𝐿𝐿𝑖𝑖1 = 𝑋𝑋𝑖𝑖 ⨁𝐹𝐹(𝑋𝑋𝑖𝑖1, 𝐾𝐾𝑖𝑖 )


Oxirgi raund natijasi, deshifrlangan matnni beradi: 𝑃𝑃 = (𝐿𝐿0, 𝑋𝑋0).
Har bir raundda foydalaniluvchi Feystel tarmog’ining 𝐹𝐹 funksiyasi qaytuvchi (teskari funksiyasiga ega) bo’lishi talab etilmaydi. Biroq, olingan har qanday 𝐹𝐹 funksiya to’liq xavfsiz bo’la olmaydi.
Download 253.05 Kb.

Do'stlaringiz bilan baham:
1   2   3




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