Blowfish

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Blowfishszyfr blokowy stworzony przez Bruce’a Schneiera w 1993 roku jako szybka i bezpłatna alternatywa dla istniejących ówcześnie algorytmów.

Bruce Schneier (ur. 15 stycznia 1963) – amerykański kryptograf i specjalista z zakresu bezpieczeństwa teleinformatycznego. Autor książek opisujących zagadnienia bezpieczeństwa teleinformatycznego oraz kryptografii. Jest także założycielem oraz dyrektorem technicznym firmy BT Counterpane [1].Klucz słaby to klucz kryptograficzny dla którego algorytm kryptograficzny nie zachowuje w pełni swoich własności – na przykład jest bardziej podatny na kryptoanalizę, niż dla wszystkich innych kluczy.

Algorytm operuje na 64-bitowych blokach i używa kluczy od 32 do 448 bitów. Ma on postać szyfru Feistela z 16 rundami z SBOX-ami zależnymi od klucza. Każda zmiana klucza wymaga wielu wstępnych obliczeń w celu ustalenia SBOX-ów. Z tego powodu atak brute-force trwa znacznie dłużej, niż można byłoby się spodziewać.

Algorytm siłowy, algorytm brute force (ang. "brutalna siła" tj. niewspomagana umysłem) – określenie algorytmu, który opiera się na sukcesywnym sprawdzeniu wszystkich możliwych kombinacji w poszukiwaniu rozwiązania problemu, zamiast skupiać się na jego szczegółowej analizie.Szyfr blokowy – rodzaj szyfrowania symetrycznego. Polega na szyfrowaniu bloku wejściowego (np. fragmentu pliku) na podstawie zadanego klucza, przekształcając go na blok wyjściowy o takiej samej długości w taki sposób, że niemożliwe jest odwrócenie tego przekształcenia

W typowych algorytmach, jeśli długość klucza to a koszt zakodowania bloku to koszt ataku brute-force wynosi W przypadku Blowfisha trzeba dla każdego klucza obliczyć SBOX-y, co zajmuje tyle, co zakodowanie ok. bloków, a więc czas ataku brute-force wynosi około (a zatem atak na 64-bitowy Blowfish zajmuje mniej więcej tyle czasu, co na 73-bitowy bardziej tradycyjny szyfr). Wadą tego rozwiązania są dość duże wymagania pamięciowe – potrzebne są ponad 4 kB pamięci, co nie jest problemem dla nawet słabych komputerów, ale jest już np. dla kart chipowych.

Sieć Feistela – struktura stosowana w budowie symetrycznych algorytmów szyfrujących, której opis opublikował w latach siedemdziesiątych pracownik IBM Horst Feistel.

Nie istnieją (2011) znane ataki na Blowfisha o liczbie rund większej niż 4. Są znane, dość duże jak na symetryczny szyfr blokowy, grupy słabych kluczy, czyli takich, dla których Blowfish jest słabszy, niż dla typowych kluczy (większość szyfrów posiada takowe, jednak szansa na wylosowanie takiego klucza jest bardzo niska).

Linki zewnętrzne[ | edytuj kod]

  • Opis algorytmu na stronie jego autora




  • Reklama