4.3. 2-bosqich
Biz 2-bosqich algoritmini tasvirlaymiz, asosiy tamoyillarni tasvirlash uchun sodda va qimmat yondashuvdan boshlab, algoritmni qanday qilib sezilarli darajada optimallashtirish mumkinligini tavsiflaymiz. 2-bosqichning maqsadi 1-bosqich nomzodlarini amalga oshirish mumkin yoki yo'qligini sinab ko'rishdir, ya'ni Cipher rotor bosqichma-bosqich ketma-ketliklarini joriy Boshqarish va Indeks sozlamalari bilan qayta qurish mumkin.
4.3.1. Oddiy 2-bosqich algoritmi
Biz amalga oshirmagan sodda va qimmat yondashuvdan boshlaymiz, lekin keyingi bo'limlarda taqdim etiladigan keyingi takomillashtirish va optimallashtirish uchun asos bo'lib xizmat qiladi.
Nomzod Cipher rotor sozlamalarini tekshirishning bir usuli - 2 va undan yuqori yo'llar va qatlamlarga e'tibor bermasdan, subgrafdagi 1-qavatdan barcha aniq boshlang'ich pozitsiyalarni ajratib olish va ularni birma-bir sinab ko'rishdir. Biz har bir mumkin bo'lgan Boshqaruv va Indeks rotor sozlamalari bilan shifrlangan matnni shifrlash orqali shifrlash sozlamasining har bir nomzodini sinab ko'ramiz. Beshta Cipher rotor sozlamalarini tanlagandan so'ng, Boshqaruv rotorini faqat 26 ta kirish va 26 chiqishga ega qolgan beshta rotordan tanlash mumkin. Ularning teskari konfiguratsiyasini, shuningdek, boshlang'ich pozitsiyalarini hisobga olgan holda, bizda mavjud5!⋅25⋅265= 120 ⋅ 32 ⋅265=235.45!·25·265=120·32·265=235.4variantlari. Bor ekan223.5223.5Indeks rotorlarini sozlash usullari faqat mavjud216.8216.8 distinct Index rotor configurations. So with this naive approach, testing each candidate Cipher rotor setting requires 235,4 + 16,8=252.2235.4+16.8=252.2shifrlarni hal qilish. Shifrni ochishning bu soni nafaqat juda yuqori, balki 1-bosqichda aniqlangan har bir subgrafning har bir boshlang'ich pozitsiyasi uchun testni takrorlash kerak.
1-bosqichda baholash usuli va sek.da tavsiflangan chegaralar . 4.2 Sinovdan o'tkaziladigan Cipher rotor nomzodlari sonini sezilarli darajada kamaytirish,252.2252.2qolgan minglab (kamida) nomzodlarning har biri uchun (eshik chegaralariga qarab) shifrni ochish talab qilinadi. Shunday qilib, umumiy ish omili, ayniqsa, iste'molchi shaxsiy kompyuter tomonidan qayta ishlash uchun hali ham taqiqlangan. Bu keyingi bo'limlarda tasvirlangan optimallashtirish uchun motivatsiya.
4.3.2. Birinchi optimallashtirish - oxirigacha yo'llarni sinovdan o'tkazish va indeks rotorlarini chetlab o'tish
Bu yerda ta'riflanganidek, Cipher rotorining boshlang'ich pozitsiyalari o'rniga (Cipher rotorini tanlash, tartib va teskari konfiguratsiya bilan birgalikda) uchdan-uchgacha yo'llarni baholash orqali 2-bosqichning ish faktorini kamaytirishimiz mumkin. Sek ichida . 4.3.1 , biz sodda algoritm shifrlash rotorini sozlash nomzodlarini (to'liq shifr rotor sozlamalari, shu jumladan boshlang'ich pozitsiyasi) qanday sinovdan o'tkazishini tasvirlab berdik.252.2252.2har bir nomzod uchun shifrni ochish. Sodda algoritm faqat boshlang'ich pozitsiyalaridan foydalanadi va subgrafdagi qolgan ma'lumotlarni, ya'ni qolgan tugunlar va qirralarni e'tiborsiz qoldiradi.
Buning o'rniga, bu erda tasvirlangan optimallashtirish bilan, biz barcha mumkin bo'lgan uchdan-uchgacha yo'llarni , ya'ni har qanday boshlang'ich pozitsiyadan har qanday yakuniy pozitsiyaga, har qanday pastki chiziqdagi har bir aniq yo'lni chiqaramiz. Biz bu erda bunday yo'lni faqat tegishlisini tekshirish orqali tasdiqlash mumkinligini ko'rsatamiz235.4235.4Indeks rotorlarining sozlamalarini umuman e'tiborsiz qoldirib, boshqaruv rotorlari uchun sozlamalar.
Biz birinchi navbatda Index Input Logic bilan birlashtirilgan Indeks rotor sozlamalarining Indeks Kirish Chiqish chiqishiga ta'sirini ko'rib chiqamiz. CSP-889 modelida Index Input Logic to'qqiz bit hosil qiladi (aslida 10, lekin bittasi har doim faol emas) va to'qqiz bitning bittadan to'rttasi faoldir. Indeks rotorlari Index Output Logic bilan birlashtirilgan bir tomonlama funktsiyani amalga oshiradi, bu to'qqiz bitni Cipher rotor qadamini boshqarish naqshini tashkil etuvchi besh bitga xaritalaydi. Ushbu xaritalash doimiy bo'lib, hech qachon o'zgarmaydi, chunki Indeks rotorlari shifrlash yoki shifrni ochishda qadam qo'ymaydi. Biz quyidagi misolni ko'rib chiqamiz:
Shifrlangan matnning i pozitsiyasida Index Input Logic 000110001 ni hosil qiladi.
Do'stlaringiz bilan baham: |