Интерполяциялық шабуыл - Interpolation attack

Жылы криптография, an интерполяциялық шабуыл түрі болып табылады криптаналитикалық шабуыл қарсы блоктық шифрлар.

Екі шабуылдан кейін, дифференциалды криптоанализ және сызықтық криптоанализ, блоктық шифрларда ұсынылды, кейбіреулері жаңа блоктық шифрлар енгізілді, олар дифференциалды және сызықтық шабуылдарға қарсы қауіпсіздігі дәлелденді. Олардың арасында кейбір сияқты қайталанатын блоктық шифрлар болды KN-шифр және АКУЛА шифр. Алайда Томас Якобсен мен Ларс Кнудсен 1990 жылдардың соңында интерполяциялық шабуыл деп аталатын жаңа шабуыл жасау арқылы бұл шифрларды бұзу оңай екенін көрсетті.

Шабуылда алгебралық функция анды бейнелеу үшін қолданылады S-қорап. Бұл қарапайым болуы мүмкін квадраттық немесе а көпмүшелік немесе рационалды функция астам Галуа өрісі. Оның коэффициенттерін стандарт бойынша анықтауға болады Лагранж интерполяциясы пайдалану, техникасы қарапайым мәтіндер деректер нүктелері ретінде. Сонымен қатар, таңдалған қарапайым мәтіндер теңдеулерді жеңілдету және шабуылды оңтайландыру үшін қолдануға болады.

Қарапайым нұсқасында интерполяциялық шабуыл шифрмәтінді ашық мәтіннің көпмүшесі ретінде көрсетеді. Егер көпмүшеде белгісіз коэффициенттердің салыстырмалы түрде аз саны болса, онда қарапайым мәтін / шифрмәтін (р / с) жұптарының жиынтығымен көпмүшені қалпына келтіруге болады. Көпмүшені қалпына келтірген кезде шабуылдаушы құпия кілт туралы нақты білместен, шифрлауды көрсетеді.

Интерполяциялық шабуыл құпия кілтті қалпына келтіру үшін де қолданыла алады.

Мысалмен әдісті сипаттау оңай.

Мысал

Қайталанатын шифр арқылы берілсін

қайда ашық мәтін, шығу дөңгелек, құпия дөңгелек кілт (құпия кілттен алынған) кейбіреулерімен негізгі кесте ) және а - қайталанатын шифр, шифрленген мәтін болып табылады.

2 дөңгелек шифрды қарастырайық. Келіңіздер хабарламаны белгілеңіз және шифрлық мәтінді белгілеңіз.

Сонда 1 турдың нәтижесі шығады

және 2 турдың нәтижесі болады

Шифрлік мәтінді қарапайым мәтіннің көпмүшесі ретінде өрнектеу нәтиже береді

қайда Бұл кілттерге тәуелді тұрақтылар.

Көпмүшеде белгісіз коэффициенттер саны қанша болса, сонша ашық мәтін / шифрмәтін жұптарын қолдану , содан кейін біз көпмүшені құра аламыз. Мұны, мысалы, Лагранж Интерполяциясы арқылы жасауға болады (қараңыз) Лагранж көпмүшесі ). Белгісіз коэффициенттер анықталған кезде, бізде кескін бар құпия кілт туралы білмей, шифрлау туралы .

Бар болу

Ескере отырып -биттік шифр, содан кейін бар мүмкін қарапайым мәтіндер, сондықтан айқын жұп. Болсын белгісіз коэффициенттер . Біз соншалықты көп қажет болғандықтан көпмүшедегі белгісіз коэффициенттер саны ретінде жұптасады, егер интерполяция шабуылы болған жағдайда ғана болады .

Уақыттың күрделілігі

Көпмүшені құруға уақыт келді деп есептейік қолдану жұптар қажет, қарапайым мәтіндерді шифрлау уақытына қарағанда. Болсын белгісіз коэффициенттер . Сонда бұл шабуылдың уақыт күрделілігі , талап етеді белгілі бір жұп.

Интер-интерполяция-ортада кездесу

Көбінесе бұл әдіс тиімдірек болады. Мұнда ол қалай жасалады.

Берілген блоктың ұзындығы дөңгелек шифрланған шифр , рұқсат етіңіз кейін шифрдың шығысы болуы керек раундтар .Біздің мәнін білдіреміз ашық мәтіннің көпмүшесі ретінде , және шифрленген мәтіннің көпмүшесі ретінде . Келіңіздер өрнегі болуы керек арқылы және рұқсат етіңіз өрнегі болуы керек арқылы . Көпмүшелік дөңгелектенгенге дейін шифрдың қайталанатын формуласын пайдаланып алға есептеу арқылы алынады , және көпмүше дөңгелектен басталатын шифрдың қайталанатын формуласынан кері есептеу арқылы алынады дөңгелек дейін .

Сондықтан оны ұстау керек

және егер екеуі болса және коэффициенттер саны төмен көпмүшелер, онда белгісіз коэффициенттер теңдеуін шеше аламыз.

Уақыттың күрделілігі

Мұны ойлаңыз арқылы білдіруге болады коэффициенттер және арқылы білдіруге болады коэффициенттер. Сонда бізге қажет болар еді белгілі бір матрицалық теңдеу ретінде орнату арқылы теңдеуді шешуге арналған жұптар. Алайда, бұл матрицалық теңдеу көбейту мен қосуға дейін шешіледі. Сонымен, бірегей және нөлдік емес шешімді алатындығымызға көз жеткізу үшін ең жоғарғы дәрежеге сәйкес келетін коэффициентті бірге, ал тұрақты мүшені нөлге орнатамыз. Сондықтан, белгілі бір жұп қажет. Сондықтан бұл шабуылдың уақыт күрделілігі , талап етеді белгілі бір жұп.

Ортадағы кездесу тәсілімен коэффициенттердің жалпы саны әдеттегі әдісті қолданғаннан аз болады. Бұл әдісті тиімдірек етеді, өйткені аз жұп қажет.

Кілттерді қалпына келтіру

Біз құпия кілтті қалпына келтіру үшін интерполяция шабуылын да қолдана аламыз .

Егер соңғы дөңгелекті алып тастасақ - блоктың ұзындығы бойынша айналмалы шифр , шифрдың шығысы айналады . Шифрды кішірейтілген шифр деп атаңыз. Идея - соңғы дөңгелек кілт бойынша болжам жасау , нәтиже алу үшін біз бір айналымның шифрын шеше аламыз қысқартылған шифр. Содан кейін болжамды тексеру үшін біз қысқартылған шифрға интерполяция шабуылын әдеттегі әдіспен де, ортада кездесу кезінде де қолданамыз. Мұнда ол қалай жасалады.

Қалыпты әдіс бойынша біз нәтижені білдіреміз қарапайым мәтіннің көпмүшесі ретінде келтірілген шифрдың тізімі . Көпмүшені шақырыңыз . Егер біз білдіре алсақ бірге коэффициенттер, содан кейін қолдану белгілі бір жұп, біз көпмүшені құра аламыз. Соңғы дөңгелек кілттің болжамын тексеру үшін, бір қосымша арқылы тексеріңіз егер ол оны ұстап тұрса

Егер иә болса, онда үлкен ықтималдылықпен соңғы дөңгелек кілт болжалды. Егер жоқ болса, кілт туралы тағы бір болжам жасаңыз.

«Ортадағы кездесу» әдісі бойынша біз нәтижені білдіреміз раундтан ашық мәтіннің көпмүшесі ретінде және төмендетілген шифрдың шығуының көпмүшесі ретінде . Көпмүшелерді шақырыңыз және , және оларды білдіруге мүмкіндік беріңіз және сәйкесінше коэффициенттер. Содан кейін белгілі бір коэффициенттерді таба аламыз. Соңғы дөңгелек кілттің болжамын тексеру үшін, бір қосымша арқылы тексеріңіз егер ол оны ұстап тұрса

Егер иә болса, онда үлкен ықтималдылықпен соңғы дөңгелек кілт болжалды. Егер жоқ болса, кілт туралы тағы бір болжам жасаңыз.

Соңғы дөңгелек кілтті дұрыс тапқаннан кейін, қалған дөңгелек кілттерде де солай жүре аламыз.

Уақыттың күрделілігі

Ұзындықтың жасырын дөңгелек кілтімен , онда бар әр түрлі кілттер. Әрқайсысы ықтимал кездейсоқ таңдалса, дұрыс болуы керек. Сондықтан, біз орташа есеппен жасауға мәжбүр боламыз дұрыс кілтті таппас бұрын болжайды.

Демек, қалыпты әдіс уақыттың орташа күрделілігіне ие , талап етеді белгілі бір жұптар, ал «ортада кездесу» әдісі орташа уақыттық күрделілікке ие , талап етеді белгілі бір жұп.

Нақты әлемдегі қолдану

Ортада кездесу шабуылын кері функцияны қолданатын S-қораптарға шабуыл жасау нұсқасында қолдануға болады, өйткені - содан кейін S-қорап жылы .

Блоктық шифр АКУЛА S-box бар SP-желіні қолданады . Шифр аз айналымнан кейін дифференциалды және сызықтық криптанализге төзімді. Алайда оны 1996 жылы Томас Якобсен мен Ларс Кнудсен интерполяциялық шабуылдың көмегімен бұзды. SHARK арқылы белгілеңіз блок өлшемімен SHARK нұсқасы биттерді пайдалану параллель - S-қораптар раундтар. Якобсен мен Кнудсен SHARK-қа интерполяциялық шабуыл бар екенін анықтады (64 биттік блоктық шифр) туралы таңдалған қарапайым мәтіндер және SHARK-қа интерполяциялық шабуыл (128-биттік блоктық шифр) туралы таңдалған қарапайым мәтіндер.

Сондай-ақ Томас Якобсен енгізді ықтималдық қолдану арқылы интерполяция шабуылының нұсқасы Мадху Судан Декодтаудың жақсартылған алгоритмі Рид-Сүлеймен кодтары. Бұл шабуыл қарапайым мәтіндер мен шифрмәтіндер арасындағы алгебралық қатынас мәндердің тек бір бөлігіне тең болған кезде де жұмыс істей алады.

Әдебиеттер тізімі