ИНТЕГРАЛ КРИПТОТАҲЛИЛ УСУЛИНИНГ КУЗНЕЧИК ШИФРЛАШ АЛГОРИТМИНИНГ ЎҚУВ ВАРИАНТИГА ҚЎЛЛАНИЛИШИ
Бойқузиев И.М. (ЎзМУ, таянч докторант)
Хидиров Б.Х. (АТваКРВ, Сурхондарё вил. ҳудудий бошқармаси, бош мутахассис)
Криптотаҳлил усулини шифрлаш алгоритмига қўллашдан аввал, уни ушбу шифрлаш алгоритмининг кичрайтирилган (ўқув) вариантига нисбатан қўллаш мақсадга мувофиқдир. Шундай экан, интеграл криптотаҳлил усулининг Кузнечик шифрлаш алгоритмига қўлланишини тадқиқ қилишдан аввал, уни Кузнечик шифрлаш алгоритмининг ўқув вариантига тадбиқ этиш зарур.
Мазкур иш интеграл криптотаҳлил S-KN1 шифрлаш алгоритмига [1] амалий қўллаш ва Кузнечик шифрлаш алгоритмига қўллаш алгоритмини ишлаб чиқишга қаратилган. S-KN1 симметрик шифрлаш алгоритми SP тармоғига асосланган бўлиб, блок узунлиги 8 бит маълумотни 16 бит узунликдаги калит ёрдамида шифрлаш ва дешифрлашга қаратилган. Алгоритмнинг раундлари сони 3 тани ташкил қилади. Алгоритм дастлабки маълумотларга биринчи раунд калити ни қўшишдан бошланади. Ушбу операциядан кейин учта раунд акслаштиришлари амалга оширилади. Ҳар бир раундда хабар иккита 4 битли қисмга (nibbles) бўлинади, уларнинг ҳар бири алмаштириш блокидан ўтади, сўнгра қисмлар бирлаштирилади ва кейин чизиқли акслантиришга берилади. Ҳар бир раунд тегишли калит билан 2 модуль бўйича қўшиш амали билан тугайди. L акслантириши икки такрорлашда амалга оширилади, шунда битта nibble битта такрорлаш пайтида ўзгартирилади, бошқа nibble эса ўнгга силжийди.
[3] ишда таъкидлаб ўтилганидек, интеграл криптотаҳлил усулини бирор-бир шифрлаш алгоритмига қўллаш учун, танлаб олинган очиқ матнлар ва уларга мос шифрматнларнинг махсус тўплами маълум бўлиши лозим. Очиқ матнлар тўпламини танлашнинг [3] да келтирилган қоидаларига кўра, S-KN1 шифрлаш алгоритмига интеграл криптотаҳлил усулини қўллаш учун Pi (i = 0,1,2,...,15) очиқ матнлар тўплами танланади. Ушбу очиқ матнларнинг дастлабки ярим байти қиймати билан фарқланади. Тўпламдаги бир хил қийматларга эга 16 та очиқ матн қисмларини – пассив бўлак, 16 та турли хил қийматга эга қисмларини – актив бўлак деб номланади. Натижада, чап қисмда турган ярим байт актив бўлак, қолган ярим байтлар эса пассив бўлаклар бўлади.
Танлаб олинган тўплам баланслашганлик хоссасини бажаради ва шунинг учун ҳам актив ва пассив бўлаклардаги ҳар бир позициянинг XOR йиғиндиси 0 га тенг бўлади[3,4]. Криптотаҳлил жараёнини шартли 2 босқичга, яъни: очиқ матнлар тўпламини кузатиш ва сўнги раунд калитини аниқлаш босқичларига ажратиш мумкин. Очиқ матнлар тўпламини кузатиш босқичи, таҳлил қилинаётган шифрлаш алгоритмининг сўнги раунд киришида тўпламнинг баланслашган бўлаги мавжуд ёки мавжуд эмаслигини аниқлашга қаратилган [3,4,5].
Агар баланслашган элемент мавжуд бўлса, сўнги раунднинг ушбу бўлакка мос қисм калитини аниқлаш имконияти туғилади [3,4,5]. Шундан келиб чиқиб, қуйида танлаб олинган delta тўпламнинг S-KN1 шифрлаш алгоритми payндларидан ўтиш жараёнини кузатиб борамиз.
Шифрлаш алгоритмининг раунд калитларини қўшиш блоки, кузатилаётган тўплам элементлари қийматнинг ўзгаришига олиб келади, лекин тўпламнинг баланслашганлигига таъсир қилмайди. Шунинг учун ҳам криптотаҳлил жараёнида ушбу блок эътиборга олинмайди. Аммо, қаралаётган мазкур мисолда, криптотаҳлил сўнгида аниқланувчи калит билан солиштириш мақсадида, калит қўшиш блоки ҳам киритилди.
Эътиборга олиш керакки, ушбу акслантиришдан кейин ҳам фақат битта актив бўлак бор ва қуйидаги тенглик ўринли: XORactive= 0000, XORpassive= 0000. Демак, акслантириши актив ва пассивлигига ёки уларнинг баланслашганлигига таъсир этмайди.
Кейинги акслантириш акслантириши бўлиб, ушбу акслантиришдаги барча ҳисоблашлар ( ) майдонда бажарилади.
Кузатиш мумкинки, акслантиришидан кейин тўпламда битта эмас, иккита актив бўлаклар ҳосил бўлди яъни, акслантириши 1-устундаги 1 та актив ярим байтни 2 та актив бўлакка кенгайтирмоқда.
Мазкур ҳолатда ҳам актив ва пассив бўлаклар устида XOR амалини бажарсак, қуйидаги натижани оламиз: XORactive= 0000, XORpassive= 0000
Яъни, кузатилаётган тўплам ҳали ҳам баланслашган. Шундан сўнг, яна, X акслантириши бажарилади. Калит қўшилганидан кейин ҳам қуйидаги ифода ўринли: XORactive= 0000, XORpassive= 0000. Демак, кузатилаётган тўплам ҳалигача баланслашган. Юқорида айтиб ўтилганидек ушбу натижа олдинги натижа каби бўлиб, калит қийматига боғлиқ эмас.
Демак, қаралаётган шифрлаш алгоритмининг 3-раунд киришида кузатилаётган тўпламнинг баланслашган элементи мавжуд бўлиб, бу хол шифрлаш алгоритмининг 3-раунд сўнгида фойдаланилган раунд калитини аниқлаш имкониятини беради. Криптотаҳлилнинг 1-босқичини ушбу қадамда тўхтатиш мумкин. Криптотаҳлилнинг кейинги босқичи калит вариантларини аниқлаш бўлиб, ушбу жараёнда зарур ҳисобланган 3 –раунд сўнгидаги шифр матн тўплами ҳам маълум.
Криптотаҳлилнинг кейинги жараёни, яъни шифрлаш алгоритмининг сўнги раундида фойдаланилган калит қийматни аниқлаш, сўнги раундга кирувчи тўпламда актив (ёки пассив) байт мавжудлигини ҳамда сўнги раунддан чиқувчи маълумот (шифр матн) ни билган ҳолда, статистика ўтказиш йўли орқали амалга оширилади.
Интеграл криптотаҳлил усули бўйича моҳиятига кўра 3 раундли S-KN1 алгоритмида сўнги раунд калити қийматни аниқлаш учун барча шифрматлар тўпламини сўнгги раунд калитининг мумкин бўлган вариантларини тўлиқ танлаш усули билан бир раундга дешифрлаш амалга оширилиши зарур.
Ушбу қадамлар кетма-кетлигини бажариш жараёнида кўриш мумкинки, шифрматнлар тўпламини акслантиришдан ўтказиш жараёни калит вариантларини тўлиқ танлаш усулидан эффектив эмас. Лекин, алгоритм акслантиришларининг хусусиятларидан фойдаланиб эффектив натижага эришиш мумкин.
Алгоритмга интеграл криптотаҳлил усулини қўллаш ва калитни топишнинг эффектив алгоритми таклиф этилди. Ушбу таклиф этилган алгоритм асосида махсус дастурий таъминот яратилди, юқорида кўриб чиқилган мисолда қўлланилган калитни топиш жараёни амалга оширилди.
Дастурий таъминот ёрдамида олинган натижаларда нинг дастлабки ярим байти учун номзод сифатида қабул қилинган вариантлар тўрттани (0011, 1001, 1101 ва 1111), иккинчи ярим байт учун номзодлар эса иккитани (0011 ва 1110) ташкил қилди. Шу сабабли, номзод калитлар биттани ташкил қилмагунча 6-қадамда таъкидланганидек юқорида бажарилган кетма-кетликлар бошқа очиқ матнлар тўплами учун ҳам такрорланди.
Натижалардан маълум бўлдики нинг тастлабки ярим байти учун номзод сифатида қабул қилинган вариантлар иккитани (0100 ва 1101), иккинчи ярим байт учун номзодлар эса саккизтани (0000, 0010, 0101, 0111, 1001, 1011, 1100 ва 1110) ташкил қилди. Вариантларнинг кесишмаси олинганда нинг дастлабки ярим байти учун 1101, иккинчи ярим байти учун эса 1110 қийматлар ҳосил бўлади. Демак, ва калит аниқланади. Бу калит эса, дастлаб шифрлаш жараёнида фойдаланилган га тенг.
Демак, 3 раундли S‑KN1 шифрлаш алгоритмига таклиф этилан самарали алгоритм ёрдамида интеграл криптотаҳлил усулини қўллаб, 25 (2∙24) вариантни кўриб чиқиш асосида сўнги раунд калити аниқланди. Мазкур алгоритм учун таклиф қилинган интеграл криптотаҳлил усули ёрдамида калитни топиш алгоритмидан уч раундли Кузнечик шифрлаш алгоритмида фойдаланилган калитни топиш учун ҳам фойдаланиш мумкин.
Do'stlaringiz bilan baham: |