Khufu i Khafre (kryptografia)

Khufu i Khfareszyfry blokowe zaproponowane w 1990 roku przez Ralpha Merkle[1]. Nazwy szyfrów pochodzą od imion egipskich faraonów Cheopsa i Chefren[2].

Khufu edytuj

Khufu
Rodzaj algorytmu

symetryczny szyfr blokowy

Data stworzenia

1989

Autorzy

Ralph Merkle

Wielkość bloku wejściowego

64 bity

Długość klucza

512 bitów

Liczba rund

16

Data złamania

1994[3]

Złamany przez

Henri Gilbert i Pascal Chauvaud

Skuteczne ataki

kryptoanaliza różnicowa

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ą[2].

Szyfrowanie przebiega następująco[2]:

  • 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[3][4]. Podany atak umożliwia poznanie klucza szyfrującego, ale wymaga 243 szyfrowań wybranych tekstów jawnych.

Khafre edytuj

Khafre
Rodzaj algorytmu

symetryczny szyfr blokowy

Data stworzenia

1989

Autorzy

Ralph Merkle

Wielkość bloku wejściowego

64 bity

Długość klucza

512 bitów

Liczba rund

16

Data złamania

1991[5]

Złamany przez

Eli Biham, Adi Szamir

Skuteczne ataki

kryptoanaliza różnicowa

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[5][6]. Podobnie wersja o 24 rundach może być zaatakowana przy użyciu 253 wybranych tekstów jawnych i 259 dowolnych tekstów jawnych.

Przypisy edytuj

  1. Ralph Merkle. Fast Software Encryption Functions. „Advances in Cryptology CRYPTO'90”, s. 476–501, 1990. Santa Barbara: Springer-Verlag. [dostęp 2007-08-23]. 
  2. a b c Bruce Schneier: Kryptografia dla praktyków: protokoły, algorytmy i programy źródłowe w języku C. Warszawa: Wydawnictwa Naukowo-Techniczne, 2002, s. 398–400. ISBN 83-204-2678-2.
  3. a b Henri Gilbert, Pascal Chauvaud. A Chosen Plaintext Attack of the 16-round Khufu Cryptosystem. „Advances in Cryptology – CRYPTO '94”, s. 359–368, August 1994. Santa Barbara, California: Springer-Verlag. 
  4. David Wagner. The Boomerang Attack. „6th International Workshop on Fast Software Encryption (FSE '99)”, s. 156–170, March 1999. Rzym: Springer-Verlag. [dostęp 2007-02-05]. 
  5. a b Eli Biham, Adi Szamir. Differential Cryptanalysis of Snefru, Khafre, REDOC-II, LOKI and Lucifer. „Advances in Cryptology-CRYPTO '91”, s. 156–171, 1991. Santa Barbara, California: Springer-Verlag. [dostęp 2007-08-23]. 
  6. Eli Biham, Alex Biryukov, Adi Shamir. Miss in the Middle Attacks on IDEA, Khufu and Khafre. „6th International Workshop on Fast Software Encryption (FSE '99)”, s. 124–138, 1999. Rzym: Springer-Verlag. [dostęp 2007-02-14].