Khufu i Khafre (kryptografia)

Z Wikipedii, wolnej encyklopedii

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

  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].