2-rasm.
X31(X35) ichki holatini olish uchun C da shifrni ochish
(X32 X33 X34 RK 31)). Keyinchalik, biz xuddi shunday tarzda RK 30 dan X31 X32 X33 va fp dumaloq kalitini ochishimiz mumkin.
Agar xato 30-turda sodir bo'lsa, biz shifrlangan matn juftlarini (C, Cr) yig'amiz, bu ikkita shifrlangan matn faqat oxirgi X32 so'zida bir xil bo'ladi. Shundan so'ng, biz X30 ichki holatini olish uchun C da teskari transformatsiya va ikki davrali shifrlashni amalga oshiramiz va RK 29 dumaloq kalitini xuddi shunday tarzda tiklaymiz.
Nihoyat, agar xato 29-turda sodir bo'lsa, biz ularni to'g'ridan-to'g'ri shifrlangan matn juftlari (C, Cr) orqali ajrata olmaymiz. Shunday qilib, biz ichki ma'lumotlarni olish uchun avval C va Cr-da teskari transformatsiyani va bir martalik shifrni hal qilishni amalga oshiramiz.
X31 va X3r 1 holatlari. Agar X31 X3r 1 mos kelsa, biz xatoni bilamiz
29-turda sodir bo'ladi. Shunday qilib, biz ikki turni bajaramiz
X29 olish va RK 28 dumaloq kalitini ochish uchun (X34, X33, X32, X31) da shifrni hal qilish.
Izoh 1: Xato sodir bo'lgan bayt-pozitsiyani qanday topish mumkin, chunki chiziqli transformatsiyaning diffuziya effekti oson emas. SM4 S-box bilan amalga oshirilganda, biz ikkita ichki holat o'rtasidagi farqni hisoblash uchun L-1 teskari chiziqli transformatsiyadan foydalanamiz.
S-box qidiruvi. Keyinchalik, farqning nolga teng bo'lmagan bayt indeksi xato pozitsiyasiga mos keladi. Masalan, birinchi so'z bo'lgan ma'lum bir shifrlangan matn juftligi uchun (C, Cr).
farqlanadi, ya'ni X35 /= X3r 5, biz L−1 X35 ⊕ X3r 5 = hisoblaymiz.
t r X3r 2 ⊕ X3r 3 ⊕ X3r 4 ⊕ RK31. Binobarin, agar i-bayt
vaqt, har bir shifrlangan matn juftligi (C, Cr) C Cr ni qondiradi, bu erda C va Cr mos ravishda oddiy shifrlangan matn va bir xil ochiq matn P ga mos keladigan noto'g'ri shifrlangan matndir.
Boshqacha qilib aytadigan bo'lsak, C = Cr bo'lishi uchun kamida bitta uchta (P, C, Cr) aniqlangandan so'ng, kalit jadvalida hech qanday xatolik paydo bo'lmaydi, degan xulosaga kelishimiz mumkin.
Do'stlaringiz bilan baham: |