Khufu i Khfare – szyfry blokowe zaproponowane w 1990 roku przez Ralpha Merkle. Nazwy szyfrów pochodzą od imion egipskich faraonów Cheopsa i Chefren.

Khufu

Szyfr ten operuje na 64-bitowych blokach tekstu jawnego i wykorzystuje do szyfrowania 512-bitowy klucz. W procesie szyfrowania wykorzystywane są tajne S-bloki zakodowane w kluczu, co częściowo zabezpiecza szyfr przed kryptoanalizą różnicową.

Szyfrowanie przebiega następująco: blok tekstu jawnego dzielony jest na dwie połowy: lewą i prawą. Obie połowy sumowane są modulo 2 z częścią klucza przetworzone połowy przetwarzane są w kilku cyklach (ich liczba nie jest określona): najmniej znaczące 8 bitów lewej połowy podawane jest na wejście S-bloku, który zamienia je na 32-bitową liczbę wyjście S-bloku jest sumowane modulo dwa z prawą połową lewa połowa przesuwana jest o pewną liczbę bitów lewa i prawa połowa zamieniane są miejscami

Najlepsze wyniki kryptoanalizy tego szyfru uzyskali Henri Gilbert i Pascal Chauvaud za pomocą kryptoanalizy różnicowej. Podany atak umożliwia poznanie klucza szyfrującego, ale wymaga 243 szyfrowań wybranych tekstów jawnych.

Khafre

W algorytmie tym, w przeciwieństwie do algorytmu Khufu, S-bloki są stałe i niezależne od klucza. Za pomocą kryptoanalizy różnicowej Khafre o 16 rundach może być złamane przy użyciu 1500 wybranych tekstów jawnych lub 238 dowolnych tekstów jawnych. Podobnie wersja o 24 rundach może być zaatakowana przy użyciu 253 wybranych tekstów jawnych i 259 dowolnych tekstów jawnych.

Przypisy

Kategoria:Szyfry blokowe