Guruh talabasi G’ulomov G’olibjonning “Kiberxavfsizlik asoslari” fanidan mustaqil ishi
Download 1.62 Mb. Pdf ko'rish
|
kiber 2
delta = 0 𝑥9𝑒3779𝑎9 for I=1 dan 32 gacha sum = sum + delta L = L + (((R<<4) + K[0])⨁(R + sum)⨁((R>>5) + K[1])) R = R + (((L<<4) + K[2]) ⨁(L + sum)⨁((L>>5) + K[1])) Keyingi I Shifrmatn = (L,R). Bu yerda “≪” amali sonni chapga surish amali va “≫” amali uni o’nga surish amali hisoblanadi. Masalan, ikkilik ko’rinishdagi bir baytli son “10110101” ga teng bo’lsa, u holda ushbu sonni chapga 4 birlik surish natijasi “01010000” ga teng bo’ladi. Ushbu sonni 5 birlik o’nga surish natijasi esa “00000101” ga teng bo’ladi. TEA algoritmi Feystel tarmog’iga asoslanmagan bo’lsada (Feystel tarmog’ida shifrlash va deshifrlash funksiyalari bir xil bo’ladi), deshifrlashda XOR amali o’rniga qo’shish yoki bo’lish amallaridan foydalanilmaydi. TEA algoritmining deshifrlash funksiyasi quyida keltirilgan. ( 𝐾[0], 𝐾[1], 𝐾[2], 𝐾[3]) = 128 bitli kalit ( 𝐿, R) = ochiq matn bloki (64 bit) delta = 0 𝑥9𝑒3779𝑎9 for I=1 dan 32 gacha R = R - (((L<<4) + K[2])⨁(L + sum)⨁((L>>5) + K[3])) L = L - (((R<<4) + K[0] )⨁(R + sum)⨁((R<<5 + K[1])) sum = sum - delta keyingi I ochiq matn = (L,R) Blokli shifrlar rejimlari: Oqimli shifrlardan foydalanish juda ham sodda – ochiq matn (yoki shifrmatn) uzunligiga teng bo’lgan kalitlar ketma-ketligi generasiya qilinadi va XOR amalida bajariladi. Blokli shifrlardan foydalanish faqat bir blokni shifrlashda oson. Biroq, bir nechta (ko’plab) bloklarni shifrlash qanday amalga oshiriladi? Javob esa, bir qaraganda oson emas. Faraz qilaylik, quyidagi ochiq matn bloklari berilgan bo’lsin: P 0 , P 1 , P 2 , … O’zgarmas kalit K blokli shifr kodlar kitobi hisoblanadi. Sababi, blokli shifrlar ochiq matn bloki va shifrmatn bloki o’rtasida o’zgarmas bog’lanishni yaratadi. Kodlar kitobi kabi foydalaniluvchi blokli shifrlash rejimi bu – elektron kodlar kitobi (Electronic codebook mode, ECB) rejimi. ECB rejimida quyidagi formuladan foydalangan holda ma’lumotlar shifrlanadi: i = 0,1,2, … lar uchun Ci = E(Pi, K) Deshifrlash uchun esa quyidagi formuladan foydalaniladi: i = 0,1,2, … lar uchun Pi = D(Ci, K) Ushbu yondashuv asosida blokli shifrlarni samarali amalga oshirsa bo’ladi. Biroq, mazkur yondashuvda jiddiy xavfsizlik muammosi mavjud. Faraz qilaylik, ECB rejimdan foydalangan holda ma’lumot shifrlandi va bloklari orasidan ikkitasining bir-biriga tengligini ( 𝐶i = 𝐶j) aniqladi. Natijada tarmoq orqali uzatildi. Uzatish davomida hujumchi ularni tutib oldi va shifrmatn hujumchi aniqlagan shifrmatn bloklariga mos ochiq matn bloklari ham bir-biriga teng bo’ladi 𝑃 i = 𝑃 j . Albatta ushbu holat shifrmatnni topish uchun yetarli bo’lmasada, bir shifrmatn blokiga mos kelgan qolgan bloklarni aniqlash imkoniyatini beradi. Bunday hollarda hujumchi haqiqatan 𝑃 i yoki 𝑃 j ochiq matn bloklarini aniqlay olmasada, unga aloqador ba’zi ma’lumotni oshkor etadi. Mazkur holat grafik orqali tasvirlanganda 6-rasmda ko’rsatilganidek bo’ladi. Boshqacha aytganda, rasmning chap tomonidagi tasvirning o’xshash har bir bloki o’ng qismida ham bir xil shifrmatn blokiga almashgan. Mazkur holda hujumchining shifrmatndan foydalangan holda ochiq matnni bashorat qilishi murakkab vazifa emas. 6 -rasm. ECB rejimida ma’lumotni shifrlash natijasi Biroq, ECB rejimida shifrlash va deshifrlash amallarini paralellashtirish imkoniyati mavjud va bu tezkorlikni oshiradi. Bundan tashqari agar shifrmatnni uzatish davomida bloklardan birining o’zgarishi faqat shu blokni natijasiga ta’sir qiladi. Ya’ni, faqat shu blokni o’zi zararlanadi ECB rejimida mavjud muammolarni bartaraf etgan rejimlardan biri bu - cipher block chaining (CBC) rejimi. CBC rejimida bir blokdan chiqqan shifrmatn keyingi ochiq matnni yashirish uchun foydalaniladi va shundan so’ng shifrlash amalga oshiriladi. Mazkur rejimda shifrlash formulasi quyidagicha: i = 0,1,2, … lar uchun Ci = E(Pi⨁Ci-1, K) Deshifrlash funksiyasi esa quyidagicha bo’ladi: i = 0,1,2, … lar uchun Pi = D(Ci,K)⨁Ci-1 Birinchi blokni shifrlash uchun undan oldingi shifrmatn bloki bo’lmagani uchun, boshlang’ich vektor deb ataluvchi (initialization vector, IV) IV dan foydalaniladi va u mantiqiy tomondan 𝐶 −1 ga teng bo’ladi. Shifrmatn bloklari maxfiy saqlanmagani bois unga analog bo’lgan IV ham maxfiy saqlanmaydi. Biroq, IV tasodifiy ravishda generasiya qilinishi shart. IV dan foydalangan holda, birinchi blokni shifrlash quyidagicha amalga oshadi: C 0 = E(P 0 ⨁IV,K ) Mos holda birinchi blokni deshifrlash esa quyidagi chaamalga oshiriladi: 𝑃 0 = D(C 0 ,K)⨁IV, 𝐾𝐾)⨁𝐿𝐿𝐼𝐼. CBC rejimida ma’lumotlarni shifrlash ECB rejimidan farqli ravishda bir xil ochiq matn bloklari turli shifr matn bloklariga almashinadi. Mazkur holat grafik orqali tasvirlanganda 7-rasmda ko’rsatilgandek bo’ladi. 16-rasm. CBC rejimida shifrlash natijasi |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling