FEAL
Sieć Feistela algorytmu FEAL | |
Rodzaj algorytmu | |
---|---|
Data stworzenia | |
Autorzy | Akihiro Simizu i Shoji Miyaguchi |
Wielkość bloku wejściowego | 64 bity |
Długość klucza | 64 bity |
Liczba rund | 4, 8 lub więcej |
Data złamania | |
Złamany przez | Eli Biham, Adi Szamir |
Skuteczne ataki |
FEAL (ang. Fast Data Encipherment Algorithm) – zaprojektowany przez Akihiro Simizu oraz Shoji Miyaguchi szyfr blokowy, działający na 64-bitowych blokach oraz wykorzystujący 64-bitowy klucz. Oparty jest na sieci Feistela. Po raz pierwszy został opublikowany w roku 1987, jako algorytm znacznie szybszy od DES w implementacjach programowych (DES faworyzował implementacje sprzętowe)[1]. Algorytm jest opatentowany w Stanach Zjednoczonych[2]. Jest pierwszym znanym algorytmem, na którym zastosowano kryptoanalizę różnicową.
Opis algorytmu
Algorytm działa na blokach tekstu jawnego o długości 64-bitów i wygląda następująco[1]:
- na początku szyfrowania blok danych jest sumowany modulo 2 z 64-bitowym kluczem
- tak zsumowany blok danych jest dzielony na dwie równe części – lewą i prawą
- lewa połowa bloku jest sumowana modulo 2 z prawą połową, tworząc nową prawą połowę.
- tak przetworzone połowy przechodzą przez kilka cykli przekształcających, w każdym cyklu prawa połowa łączona jest z szesnastoma bitami klucza i sumowana modulo 2 z lewą połową, tworząc nową prawą połowę a oryginalna prawa połowa staje się lewą połową.
- po ostatnim lewa i prawa połowa są łączone tworząc nowy 64-bitowy blok, który jest ponownie sumowany modulo 2 z kluczem
Początkowo liczba cykli wynosiła 4 (FEAL-4) z upływem czasu zwiększyła się do 8, a w ostatecznej wersji algorytmu to użytkownik ustala ile cykli ma wykonać algorytm.
Kryptoanaliza
Szyfr ten okazał się szczególnie podatny na różnego rodzaju ataki kryptoanalityczne. FEAL-4, czyli algorytm z czterema cyklami, został skutecznie złamany z wykorzystaniem ataku z wybranymi tekstami jawnymi, a atak oparty na kryptoanalizie różnicowej wymagał tylko 20 wybranych tekstów jawnych. FEAL-8 także został złamany za pomocą kryptoanalizy z wybranymi szyfrogramami. Dodatkowo Eli Biham oraz Adi Szamir udowodnili, że stosując kryptoanalizę różnicową mogą skutecznie złamać FEAL-N[1].
Po opublikowaniu wielu skutecznych ataków, projektanci stworzyli wersję algorytmu ze 128-bitowym kluczem – FEAL-NX. Okazało się jednak, że ta odmiana jest równie prosta do złamania co poprzednie wersje[1].