Khufu i Khafre (kryptografia)
Khufu i Khfare – szyfry 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]Rodzaj algorytmu | |
---|---|
Data stworzenia | |
Autorzy | |
Wielkość bloku wejściowego |
64 bity |
Długość klucza |
512 bitów |
Liczba rund |
16 |
Data złamania | |
Złamany przez | |
Skuteczne ataki |
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]Rodzaj algorytmu | |
---|---|
Data stworzenia |
1989 |
Autorzy | |
Wielkość bloku wejściowego |
64 bity |
Długość klucza |
512 bitów |
Liczba rund |
16 |
Data złamania | |
Złamany przez | |
Skuteczne ataki |
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]- ↑ Ralph Merkle. Fast Software Encryption Functions. „Advances in Cryptology CRYPTO'90”, s. 476–501, 1990. Santa Barbara: Springer-Verlag. [dostęp 2007-08-23].
- ↑ 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.
- ↑ 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.
- ↑ 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].
- ↑ 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].
- ↑ 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].