Atak interpolacyjny

W kryptografii atak interpolacyjny jest rodzajem ataku kryptoanalitycznego na szyfry blokowe .

Po przedstawieniu dwóch ataków, kryptoanalizy różnicowej i kryptoanalizy liniowej na szyfrach blokowych, wprowadzono kilka nowych szyfrów blokowych , które okazały się bezpieczne przed atakami różnicowymi i liniowymi. Wśród nich było kilka iterowanych szyfrów blokowych, takich jak szyfr KN i szyfr SHARK . Jednak Thomas Jakobsen i Lars Knudsen wykazali pod koniec lat 90., że te szyfry były łatwe do złamania, wprowadzając nowy atak zwany atakiem interpolacyjnym.

W ataku funkcja algebraiczna jest używana do reprezentowania S-boksu . Może to być prosta kwadratowa , wielomianowa lub wymierna na polu Galois . Jego współczynniki można określić za pomocą standardowych interpolacji Lagrange'a , używając znanych tekstów jawnych jako punktów danych. Alternatywnie, wybrane teksty jawne mogą być użyte do uproszczenia równań i optymalizacji ataku.

W swojej najprostszej wersji atak interpolacyjny wyraża tekst zaszyfrowany jako wielomian tekstu jawnego. Jeśli wielomian ma stosunkowo małą liczbę nieznanych współczynników, to za pomocą zbioru par tekst jawny/tekst zaszyfrowany (p/c) wielomian można zrekonstruować. Po zrekonstruowaniu wielomianu atakujący ma reprezentację szyfrowania, bez dokładnej znajomości tajnego klucza.

Atak interpolacyjny może być również wykorzystany do odzyskania tajnego klucza.

Metodę najłatwiej opisać na przykładzie.

Przykład

Niech iterowany szyfr będzie dany przez

gdzie do jest tekstem jawnym, wyjściem rundy , tajny klucz (wywodzący się z tajnego klucza pewnego kluczowego harmonogramu i dla okrągłego szyfru iterowanego jest tekstem zaszyfrowanym.

Rozważ 2-rundowy szyfr. Niech oznacza wiadomość, a oznacza zaszyfrowany tekst.

Następnie wyjście rundy 1 staje się

a wyjście rundy 2 staje się

Wyrażanie tekstu zaszyfrowanego jako wielomianu wyników w postaci tekstu jawnego

gdzie ' .

ile jest nieznanych współczynników w wielomianie skonstruować wielomian Można to zrobić na przykład za pomocą interpolacji Lagrange'a (patrz wielomian Lagrange'a ). określeniu nieznanych współczynników bez tajnego

Istnienie

Biorąc pod uwagę , to są możliwe teksty jawne, a zatem różne par. będą nieznane w . Ponieważ potrzebujemy tyle par jako liczby nieznanych współczynników w wielomianie, to atak interpolacyjny istnieje tylko wtedy, gdy .

Złożoność czasowa

czas na skonstruowanie wielomianu par do zaszyfrowania wymaganych tekstów jawnych. będą nieznane w . Wtedy złożoność czasowa tego ataku wynosi i wymaga znanego odrębnego par.

Atak interpolacyjny przez Meet-In-The-Middle

Często ta metoda jest bardziej wydajna. Oto jak to się robi.

Biorąc pod uwagę szyfr o długości bloku będzie rundach z . Wyrazimy wartość wielomian tekstu tekstu Pozwalać być wyrazem z przez i niech będzie wyrażeniem przez do . Wielomian sol uzyskuje się przez obliczenie do przodu przy użyciu iterowanej formuły szyfru aż do zaokrąglenia a wielomian uzyskuje się przez obliczenie wstecz z iterowanej formuły szyfru, zaczynając od rundy s .

Więc powinno to wytrzymać

jeśli zarówno są wielomianami o małej liczbie współczynników, to możemy rozwiązać równanie dla nieznanych

Złożoność czasowa

Załóżmy, że współczynnikami można wyrazić { . Wtedy potrzebowalibyśmy znane odrębne pary, aby rozwiązać równanie, ustawiając je jako równanie macierzowe. Jednak to równanie macierzowe można rozwiązać aż do mnożenia i dodawania. Aby więc mieć pewność, że otrzymamy unikalne i niezerowe rozwiązanie, współczynnik odpowiadający najwyższemu stopniowi ustalamy na jeden, a składnik stały na zero. Dlatego znane różne pary Zatem złożoność czasowa tego ataku wynosi znanych odrębnych p

W podejściu Meet-In-The-Middle całkowita liczba współczynników jest zwykle mniejsza niż w przypadku metody normalnej. temu metoda jest bardziej wydajna, ponieważ par

Odzyskiwanie kluczy

Możemy również użyć ataku interpolacyjnego, aby odzyskać .

Jeśli usuniemy ostatnią rundę iterowanego szyfru o długości bloku wyjście szyfru stanie się . Nazwij szyfr szyfrem zredukowanym. Chodzi o to, aby zgadnąć klucz ostatniej rundy aby uzyskać wynik szyfru zredukowanego. Następnie, aby zweryfikować przypuszczenie, używamy ataku interpolacyjnego na zredukowany szyfr albo metodą normalną, albo metodą Meet-In-The-Middle. Oto jak to się robi.

metodą wyrażamy wynik wielomian tekstu . Nazwij wielomian . Następnie, jeśli możemy wyrazić za pomocą używając różnych par, wielomian Aby zweryfikować odgadnięcie klucza ostatniej rundy, sprawdź za pomocą jednej dodatkowej to

Jeśli tak, to z dużym prawdopodobieństwem odgadnięcie klucza ostatniej rundy było prawidłowe. Jeśli nie, odgadnij ponownie klucz.

Metodą Meet-In-The-Middle wielomian zwykłego i wyjście zredukowanego szyfru . Nazwij wielomiany sol i i niech będą wyrażone odpowiednio przez i . Następnie odrębnymi _ Aby zweryfikować odgadnięcie klucza ostatniej rundy, sprawdź za pomocą jednej dodatkowej to

Jeśli tak, to z dużym prawdopodobieństwem odgadnięcie klucza ostatniej rundy było prawidłowe. Jeśli nie, odgadnij ponownie klucz.

Po znalezieniu właściwego ostatniego okrągłego klucza możemy kontynuować w podobny sposób z pozostałymi okrągłymi kluczami.

Złożoność czasowa

tajnym okrągłym kluczem o różne . z prawdopodobieństwem poprawny, jeśli zostanie musieli średnio zgadywać klucz

normalna metoda _ , a metoda Meet-In-The-Middle ma średnią złożoność czasową wymagające znanych odrębnych do

Aplikacja z prawdziwego świata

Atak Meet-in-the-middle może być użyty w wariancie do ataku na S-boxy, który wykorzystuje funkcję odwrotną, ponieważ z -bitowym S-boxem wtedy w .

Szyfr blokowy SHARK wykorzystuje sieć SP z S-box . Szyfr jest odporny na kryptoanalizę różnicową i liniową po niewielkiej liczbie rund. Jednak został złamany w 1996 roku przez Thomasa Jakobsena i Larsa Knudsena za pomocą ataku interpolacyjnego. przez SHARK bity przy użyciu równoległych -polek w rundach . Jakobsen i istnieje atak interpolacyjny na SHARK użyciu około wybrane teksty jawne i atak interpolacyjny na SHARK 128-bitowy szyfr blokowy) przy użyciu około tekstów jawnych.

Również Thomas Jakobsen przedstawił probabilistyczną wersję ataku interpolacyjnego przy użyciu algorytmu Madhu Sudana w celu ulepszenia dekodowania kodów Reeda-Solomona . Ten atak może zadziałać nawet wtedy, gdy związek algebraiczny między tekstami jawnymi a tekstami zaszyfrowanymi zachodzi tylko dla ułamka wartości.

  • Thomas Jakobsen , Lars Knudsen (styczeń 1997). Atak interpolacyjny na szyfry blokowe ( PDF / PostScript ) . 4th International Workshop on Fast Software Encryption (FSE '97), LNCS 1267. Haifa : Springer-Verlag . s. 28–40 . Źródło 2007-07-03 .
  • Thomas Jakobsen (25 sierpnia 1998). Kryptoanaliza szyfrów blokowych z probabilistycznymi nieliniowymi relacjami niskiego stopnia (PDF/PostScript) . Postępy w kryptologii — CRYPTO '98. Santa Barbara, Kalifornia : Springer-Verlag. s. 212–222 . Źródło 2007-07-06 . ( Film prezentacji w Google Video — korzysta z Flasha )
  • Shiho Moriai; Takeshi Shimoyama; Toshinobu Kaneko (marzec 1999). Ataki interpolacyjne szyfru blokowego: SNAKE (PDF) . FSE '99. Rzym: Springer-Verlag. s. 275–289. doi : 10.1007/3-540-48519-8_20 . Źródło 2022-11-06 .
  • Amr M. Youssef; Guang Gong (kwiecień 2000). O atakach interpolacyjnych na szyfry blokowe (PDF) . FSE 2000. Nowy Jork : Springer-Verlag. s. 109–120 . Źródło 2007-07-06 .
  • Kaoru Kurosawa; Tetsu Iwata; Viet Duong Quang (sierpień 2000). Atak interpolacyjny w poszukiwaniu korzenia (PDF/PostScript) . Materiały z 7. dorocznych międzynarodowych warsztatów na temat wybranych obszarów kryptografii (SAC 2000). Waterloo, Ontario : Springer-Verlag. s. 303–314 . Źródło 2007-07-06 .