Vazirligi muhammad al-xorazmiy nomidagi toshkent - bet 28

|
Vazirligi muhammad al-xorazmiy nomidagi toshkent
|
bet | 28/111 | Sana | 20.05.2024 | Hajmi | 2,03 Mb. | | #246571 |
Misol. Faraz qilaylik, 64 bitli kalit 𝐾 ni 𝑋𝑋, 𝑌 va 𝑍 registrlariga bo‘lib yozish natijasi quyidagicha bo‘lsin (3.5 - 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
- rasm. 𝑋𝑋, 𝑌 va 𝑍 registrlarining dastlabki holati
Mazkur holda 𝑚𝑎𝑚𝑚(𝑥8, 𝑦10, 𝑧10) = 𝑚𝑎𝑚𝑚(1,1,0) = 1 va bu 𝑋𝑋 𝑣𝑎 𝑌
registrlar siljishini ko‘rsatadi. Shuning uchun,
𝑡 = 𝑥13⨁𝑥16⨁𝑥17⨁𝑥18 = 0⨁1⨁1⨁1 = 1
𝑆𝑆 = 18,17,16, … ,1 𝑢𝑐ℎ𝑢𝑛 𝑥𝑖𝑖 = 𝑥𝑖𝑖−1
𝑥0 = 1
Shunga o‘xshash, 𝑌 registr uchun ham quyidagilarni yozish mumkin:
𝑡 = 𝑦20⨁𝑦21 = 0⨁0 = 0
𝑆𝑆 = 21,20,19, … ,1 𝑢𝑐ℎ𝑢𝑛 𝑦𝑖𝑖 = 𝑦𝑖𝑖−1
𝑦0 = 0
𝑋𝑋 𝑣𝑎 𝑌 registrlar siljiganidan keyingi holat quyidagicha (3.6 - 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
- rasm. 𝑋𝑋, 𝑌 va 𝑍 registrlarining siljiganidan keyingi holati
Siljigan holatdan so‘nggi registrlar holatidan generatsiyalangan bir bit 𝑠 = 𝑥18⨁𝑦21⨁𝑧22 = 1 ⨁ 0 ⨁0 = 1. Shu tartibda talab etilgan bitlar ketma-ketligi generatsiyalanadi.
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‘plash talab etiladi. Bu esa so‘zlashuvda to‘xtalishlarga olib keladi. Bundan tashqari, ma’lumotni shifrlab uzatish jarayonida
shifrmatnda 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 oshirilishi mumkin.
Blokli simmetrik shifrlash algoritmlari. Takroriy amalga oshiriluvchi blokli shifrlash ochiq matnni cheklangan uzunlikdagi bloklarga ajratadi. Aksariyat blokli simmetrik shifrlarda, shifrmatn ochiq matnni funksiya 𝐹 ning biror miqdordagi raundlar soni davomida takroran bajarilishi 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 yaratishdan asosiy maqsad – 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. Quyidagi tarmoqlar amalda keng qo‘llaniladi:
Feystel tarmog‘i.
SP (Substitution – Permutation network) tarmoq.
Lai-Messey tarmog‘i.
Feystel tarmog‘i - aynan bir blokli shifr hisoblanmay, simmetrik blokli shifrlashning umumiy prinsipi. Feystel tarmog‘iga ko‘ra ochiq matn bloki 𝑃 ikkita teng 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 kalitni generatsiyalash algoritmi yordamida hisoblanadi. Yakuniy, shifrmatn bloki 𝐶 oxirgi raund natijasiga teng bo‘ladi, ya’ni:
𝐶 = (𝐿𝑛, 𝑅𝑛).
Feystel tarmog‘ida rasshifrovkalash XOR amalining “sehrgarligi”ga asoslanadi. Ya’ni, 𝑆𝑆 = 𝑛, 𝑛 − 1, … ,1 lar uchun quyidagi tenglik amalga oshiriladi:
𝑅𝑖𝑖−1 = 𝐿𝑖𝑖
𝐿𝑖𝑖−1 = 𝑅𝑖𝑖⨁𝐹(𝑅𝑖𝑖−1, 𝐾𝑖𝑖 )
Oxirgi raund natijasi, rasshifrovkalangan matnni beradi:
𝑃 = (𝐿0, 𝑅0).
Feystel tarmog‘ida har bir raundda foydalaniluvchi 𝐹 funksiyasining
qaytariluvchi (teskari funksiyasiga ega) bo‘lishi talab etilmaydi. Biroq, olingan har qanday 𝐹 funksiya to‘liq xavfsiz bo‘la olmaydi. Simmetrik blokli shifrlarga AES, DES, GOST R 28147-89, O‘z Dst 1105:2009, IDEA, Blowfish va h. misol bo‘la oladi.
Simmetrik kriptotizimlardagi muammolar. Simmetrik shifrlash tizimlari ma’lumotni shifrlashda va rasshifrovkalashda aynan bir kalitdan foydalanadi. Bu esa tarmoq bo‘ylab shifrlangan ma’lumotni uzatishdan oldin shifrlash kalitini uzatishni taqozo etadi. Boshqacha aytganda, kalitlarni tomonlar orasida xavfsiz uzatish simmetrik kriptotizimlar oldidagi asosiy muammo sanaladi.
Bundan tashqari, bir foydalanuvchining, qolganlari bilan ma’lumot almashishida, ularning har biri bilan alohida kalitlarga ega bo‘lishi talab etiladi. Bu esa foydalanuvchiga ko‘p sonli kalitlarni xavfsiz saqlash zaruriyatini keltirib chiqaradi.
Simmetrik kriptotizimlarda kalit uzunligi. Amalda kriptografik tizimlarning kalit uzunligiga qat’iy talablar qo‘yiladi. Ushbu talablar vaqt o‘tishi bilan hisoblash qurilmalari imkoniyatining o‘zgarishiga bog‘liq holda o‘zgarib boradi. Kriptotizimlarda foydalanilgan kalitni joriy vaqtdagi hisoblash qurilmalari orqali hisoblab topishning imkoniyati bo‘lmasligi zarur. Bu yerda kalitni topish deganda biror uzunlikdagi kalitni bo‘lishi mumkin bo‘lgan barcha variantlarini hisoblab chiqish nazarda tutiladi. Masalan, kalit uzunligi 4 bitga teng bo‘lsa, u holda bo‘lishi mumkin bo‘lgan variantlar soni 24 = 16 ga teng bo‘ladi yoki, umumiy qilib aytganda, 𝑛 bitli kalitlarni bo‘lishi mumkin bo‘lgan variantlari 2𝑛 ga teng bo‘ladi.
Hozirgi kunda simmetrik kriptotizimlarda foydalaniluvchi kalitlarning uzunligi kamida 128 bitli bo‘lishi zarur. 3.3-jadvalda turli uzunlikdagi kalitlarning bo‘lishi mumkin bo‘lgan barcha variantlarini
hisoblash uchun turli qiymatli qurilmalardan foydalanilganida sarflanadigan vaqt ko‘rsatilgan. Ko‘rsatilgan natijalar 2005 yildagi narx asosida keltirilgan.
3.3-jadval Turli uzunlikdagi kalitlarning barcha variantlarini hisoblash
vaqtlari
Kalit uzunligi
Qurilma narxi
|
80 bit
|
112 bit
|
128 bit
|
10 000 $
|
7 000 yil
|
1013 yil
|
1018 yil
|
100 000 $
|
700 yil
|
1012 yil
|
1017 yil
|
1 000 000 $
|
70 yil
|
1011 yil
|
1016 yil
|
10 000 000 $
|
7 yil
|
1010 yil
|
1015 yil
|
100 000 000 $
|
245 kun
|
109 yil
|
1014 yil
|
|
| |