Chosen Plaintext Combined Attack against sm4 Algorithm


Download 124.2 Kb.
bet4/8
Sana24.06.2023
Hajmi124.2 Kb.
#1653039
1   2   3   4   5   6   7   8
Bog'liq
SM4

Z8. j ∈ {0 uchun, . . . , 4} va i ∈ {0, . . . , 31}, F(Daj,i, Dbj,i) to‘plam qanoatlantirish uchun aniqlanadi: P( aj,i, bj,i) = xj,i Z Sbox xj,i Sbox xj,i aj,i = bj, i , ya'ni S-qutining kirish qiymatlari to'plami, i davrada S-qutining kirish va chiqishi o'rtasidagi farq mos ravishda Daj,i va Dbj,i bo'lsa. Bundan tashqari, L ning teskari o'zgarishi L−1 bo'lsin. Agar DAi va DCi maʼlum boʻlsa, DBi ni DBi = L−1(DCi) orqali olish mumkin va PH(Daj,i, Dbj,i) ni ham qurish mumkin. Malumot [11]da aytib o'tilganidek, agar P(Daj,i, Dbj,i) bo'sh bo'lmagan to'plam bo'lsa va hujumchi aj,i va bj,i ni bilsa, xj,i ning ko'pi bilan 4 ta ma'lum nomzod qiymati bo'ladi.

  • Bundan tashqari, 2 ta nomzod qiymat mavjud bo'lganda, ehtimollik 99,2% ni, 4 bo'lganda esa 0,8% ni tashkil qiladi. Yuqoridagi differensial xarakteristikalar asosida, har xil bo'lgan ikki juftlikning kirish farqi va chiqish farqi qiymatlari ekanligini ko'rish mumkin. Differensial xarakteristikalar yordamida SM4 algoritmining yumaloq kalitini tiklash uchun S-qutilari ma'lum bo'lishi kerak.


    • 5. Metodologiyalar

    • 2.2-bo'limdan ko'rinib turibdiki, tanlangan ochiq matn quvvat tahlili tahlilning har bir bosqichida faqat bitta dumaloq kalitni olishi mumkin. SM4 ning dastlabki kalitini tiklash uchun to'rtta davra kalitini olish uchun to'rtta tahlil qilish kerak. Tanlangan ochiq matn quvvat tahlilini yaxshilash uchun biz SM4 ning differentsial xarakteristikasidan foydalanamiz (batafsil ma'lumot uchun 2.3-bo'limga qarang). Shunday qilib, butun boshlang'ich kalitni tiklash uchun SM4 shifrlashning 2 va 4-bosqichlarini tahlil qilish kifoya. Butun birlashgan hujumni ikki qismga bo'lish mumkin. Birinchidan, ikkinchi va to'rtinchi raundning oraliq qiymati yumaloq qisqartirish orqali tanlangan ochiq matn quvvatini tahlil qilish orqali olinadi. Keyin S-box differensial xarakteristikalari yordamida differensial tahlil orqali dastlabki kalit aniqlanadi. Birlashtirilgan hujumning quyidagi ikki qismi navbat bilan kiritiladi.

  • 4.3. SM4 da yumaloq qisqartirish asosida tanlangan ochiq matn

  • 1-qadam: tanlangan ochiq matn

  • N shifrlash operatsiyalari uchun har bir shifrlash operatsiyasida ochiq matn kiritish X0 tasodifiy qiymat va X1 X2 X3 = M0 (M0 - belgilangan qiymat) talabiga javob berishi kerak. Ya'ni, har bir shifrlash operatsiyasida ochiq matnni guruhlashning dastlabki to'rt bayti tasodifiy, oxirgi 12 bayt esa uchta guruhga bo'linadi va XOR natijasi o'zgarmasdir.

  • SM4 ning dumaloq ishlashiga ko'ra, dumaloq kirish A1 = (a0,1, a1,1, a2,1, a3,1)

  • va birinchi turning dumaloq chiqishi quyidagi shartlarga javob beradi:

  • A1 = M0 ⊕ rk0 (4)

  • X4 = X0 ⊕ T(A1) (5)

  • Ikkinchi davra iteratsiyasi uchun dumaloq kirish A2 = (a0,2, a1,2,

  • a2,2, a3,2) va ikkinchi turning S-box chiqishi B2 quyidagi shartlarga javob beradi:

  • A2 = X2 ⊕ X3 ⊕ X0 ⊕ T(A1) ⊕ rk1 (6)

  • B2 = t(A2) (7)

  • 2-qadam: quvvat tahlili

  • V1 = T(A1) rk1 bo'lsin, u holda V1 belgilangan qiymatdir. N guruhini shifrlash operatsiyasining ikkinchi bosqichida S-boxning B2 chiqishi CPA o'tkazish uchun hujum ob'ekti (oraliq qiymat) sifatida tanlanadi (bu erda N qiymati, ya'ni shifrlash operatsiyalari soni CPA tahlilini muvaffaqiyatli qilishi kerak. ). V1 qiymatini olish mumkin, keyin rk0 va rk1 uchun tenglama quyidagicha ifodalanadi.

  • V1 = T(M0 ⊕ rk0) ⊕ rk1 (8)

  • V1 da ikkita noma'lum bo'lgani uchun kalit baytni aniqlab bo'lmaydi. 3-qadam: 1 va 2-bosqichlarni ikki marta takrorla

  • 16. Birinchi marta takrorlang.


    • Shifrlash uchun ochiq matnning N guruhini qayta tanlang, X0′ (

    • ochiq matnning dastlabki 4 bayti) tasodifiy qiymatdir, M0′(M0′ = X1′ ⊕ X2′ ⊕ X3′ ) hali ham sobit va M0′ /= M0. 1-va 2-turning S-qutisi A1′ (A1′ = (a′0,1, a′1,1, a′2,1, a′3,1)) va A2′ , X4 boʻlsin. ‘ 1-turning dumaloq chiqishi, B2’ 2-turning S-qutining dumaloq chiqishi, keyin

    • A1′ = M0′ ⊕ rk0 (9)

    • X4′ = X0′ ⊕ T(A1′ ) (10)

    • A2′ = X2′ ⊕ X3′ ⊕ X0′ ⊕ T(A1′ ) ⊕ rk1 (11)

    • B2′ = t(A2′ ) (12)

    • V2 = T(A1′ ) rk1 (belgilangan qiymat) va X2′ X3′ X0′ tasodifiy maʼlum qiymat boʻlsin, hujum obyekti sifatida S-box chiqishini tanlang va yuqoridagi N maʼlumotlar guruhi boʻyicha CPA ni oʻtkazing. V2 qiymatini tiklang.

    • 17. Ikkinchi marta takrorlang.

    • Xuddi shunday, oddiy matn kiritishni tanlash orqali quyidagi formulani olish mumkin:

    • A′′ = M0′′ ⊕ rk0 (13)

    • X′′ = X′′ ⊕ T(A′′ ) (14)

    • A′′ = X′′ ⊕ X′′ ⊕ X′′ ⊕ T(A′′ ) ⊕ rk1 (15)

    • B′′ = t(A′′ ) (16)

    • 2 2

    • bu erda M0′′ (M0′′ = X′′ ⊕ X′′ ⊕ X′′) hali ham sobit va M0′′ /= M0′ /= M0. A′′ va A′′ bular

    • 1 va 2-turdagi S-qutining kirish qiymatlari va B′′ 2-turdagi S-qutining chiqishi. Keyin V3 = T(M0′′ rk0) rk1 tanlangan ochiq matnli CPA orqali tiklanishi mumkin.

    • Xulosa qilib aytadigan bo'lsak, tanlangan ochiq matn quvvatini tahlil qilish uchun turli xil ochiq matn kiritishlarini yig'ish orqali rk0 va rk1 haqida uchta tenglamani olish mumkin.





    • V1 = T(M0 rk0) rk1

    • V = T(M ′ rk ) rk

    •  V3 = T(M0′′ ⊕ rk0) ⊕ rk1




  • Yuqoridagi tanlangan ochiq matn ma'lumotlarining differentsial tahlili uchta turli xil ochiq matn kiritishni o'z ichiga oladi. Ma'lumki, birinchi davradagi S-box kirish farqi (birinchi ochiq matn kiritish va ikkinchi ochiq matn kiritish o'rtasidagi XORdan olingan S-box kirish XOR qiymati) DA1 quyidagi formulani qondiradi:



    • D A1 = M0 ⊕ rk0 ⊕ M′ ⊕ rk0 = M0 ⊕ M′




    • (18)




    • Xuddi shunday, birinchi ochiq matn kiritishning XOR tomonidan olingan birinchi davra S-box kiritishining A1' farqi va uchinchi ochiq matn kiritish A1' = M0 M'ni qanoatlantiradi.

    • Shunga ko'ra, (17) tenglama birinchi turning C1 va C1' farqlarini ko'rsatadi

    • ning L transformatsiyasi mos ravishda quyidagi formulaga javob beradi.

    • D C1 = T(A1) ⊕ T(A1' ) = V1 ⊕ V2 (19)

    • D C1′ = T(A1) ⊕ T(A1′′ ) = V1 ⊕ V3 (20)

    • Birinchi turda S-qutining DB1 va DB1' chiqish farqini DF1 va DF1' da L-1 teskari operatsiyani o'tkazish yo'li bilan olinishi mumkin va formula quyidagicha.

    • D B1 = t(A1) ⊕ t(A1 ⊕ DA1) = L−1(V1 ⊕ V2) (21)




    • D B′ = t(A1) ⊕ t(A1 ⊕ DA1′ ) = L−1(V1 ⊕ V3) (22)

    • 2.3-bo'limdagi S-qutilarining differentsial ta'rifiga ko'ra, birinchi turda to'rtta S-qutining kirish va chiqish farqlari (DA1, DB1) va DA', DB' hisobga olingan holda,

    • M0 va M' ma'lum bo'lgan to'rtta S-qutining kirishi (M0 ⊕ rk0) va (M' ⊕ rk0)

    • qiymatlari bo'lsa, har bir baytning nomzod qiymatlari soni rkj,0(j = 0, 1, 2, 3) ikkita bo'lishi mumkin.

    • yoki to'rtta. Ikki qiymat uchun ehtimollik 99,2% va to'rtta qiymat uchun 0,8% ni tashkil qiladi. Keyingi tahlilda aylanma kalitning ikkita nomzod qiymati bor deb faraz qilaylik. Agar to'rtta nomzod qiymat mavjud bo'lsa (juda past ehtimollik), hujum muvaffaqiyatsizlikka uchraganligi ko'rinadi va yana turli xil kirishlar bilan amalga oshiriladi. Yuqoridagi ikki marta differentsial tahlil natijalari uchun to'g'ri kalit ikkalasining kesishishi hisoblanadi, ya'ni ikkita tahlil orqali mos ravishda ikkita asosiy nomzod qiymatlari to'plami (99,2% ehtimollik) olinadi va bir xil qiymat mavjud. ikki to'plamda, ya'ni to'g'ri dumaloq kalit bayt rkj,0. Keyingi qadam tahlil qilish va tiklashdir

    • o'z navbatida to'rt bayt rk0 va keyin V1 dan rk1 ni tiklang. Nihoyat, rk0 ning to'g'riligi va

    • rk1 ni rk0 va rk1 ni tenglamalar to'plamiga (17) almashtirish orqali qo'shimcha tekshirish mumkin.

    • rk0 va rk1 tiklangandan so'ng, uchinchi turdan keyingi 12 bayt (3 so'z) XOR sobit bo'lishi uchun ochiq matn kiritishni tanlash uchun yuqoridagi usul qo'llaniladi, ya'ni M = X3 X4 X5 sobit qiymatdir, va birinchi 4 bayt X2 tasodifiy qiymatlar bo'lib, bu erda X3 va X4 quyidagi formulalarga mos keladi.
    1   2   3   4   5   6   7   8




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