imgp969k

imgp969k



4.5.4. Twofish

Twofish był następnym finalistą AES. Można go traktować jako kompromis między AES a Serpent. Jest on niemal tak szybki jak AES, ale zapewnia wyższy poziom bezpieczeństwa. Co ważniejsze, nie ma on znanej prostej reprezentacji algebraicznej. Najlepszy znany atak obejmuje 8 z 16 tur. Największą wadą Twofish jest to, że zmiana klucza szyfrującego może być kosztowna, gdyż najlepsza implementacja tego algorytmu wymaga wielu obliczeń wstępnych.

Algorytm Twofish wykorzystuje te same struktury Feistela, co DES. Jego schemat pokazano na rysunku 4.36. Podczas szyfrowania Twofish 128-bitowy tekst otwarty dzieli się na cztery wartości 32-bitowe. na których wykonywana jest później większość operacji. Rysunek 4.3 ukazuje strukturę Feistela algorytmu Twofish, w której Fjest funkcją tury. Funkcja tury składa się z dwóch wywołań funkcji g,funkcji o nazwie PHT oraz dodawania klucza. Wynik funkcji jest poddawany operacji XOR z pozostałą częścią danych (dwie pionowe kreski na prawo od bloku funkcji). Prostokąty z symbolami i oznaczają przesunięcia 32-bitowych wartości o zadaną liczbę bitów.

Każda funkcja g składa się z czterech S-boksów i z mieszającej funkcji liniowej bardzo podobnej do funkcji mieszającej AES. S-boksy są już nieco inne. W przeciwieństwie do wszystkich innych omawianych wcześniej szyfrów, tym razem S-boksy nie są stałe: ich zawartość zależy od klucza. Specjalny algorytm wylicza tablice S-boksów na podstawie klucza. Uzasadnieniem takiego rozwiązania jest utrudnienie analizy S-boksów potencjalnym włamywaczom. Dlatego właśnie w wielu implementacjach Twofish niezbędne są dodatkowe obliczenia wstępne dla każdego nowego klucza. W ich trakcie wyznacza się nowe S-boksy, które następnie są przechowywane w pamięci.

Funkcja PHT miesza dwa wyniki funkcji g korzystając z 32-bitowych operacji dodawania. W ostatniej części funkcji Fma miejsce dodawanie danych z klucza. Dodawanie jest oznaczone na

rysunku symbolem ffl, zaś alternatywa wyłączająca — symbolem ©.

W algorytmie Twofish zastosowano dodatkowe przetwarzanie wstępne i końcowe. Polega ono na dodawaniu pewnych informacji z klucza do danych. W ten sposób szyfr trudniej poddaje się

większości ataków, zaś wzrost kosztu jest niewielki.    j

Tak jak w przypadku innych szyfrów, Twofish ma schemat przetwarzania klucza, pozwalający

uzyskać klucze tur oraz dwa dodatkowe klucze: początkowy i końcowy.


Wyszukiwarka

Podobne podstrony:
nazywają się lepkospręźystymi. Z drugiej strony można go traktować jako zależność między
Pola trapezów oraz trójkąta (można go traktować jako formę trapezu) stanowią łącznic w przybliżeniu
IMGC83 Drzewo zasadzić można po to, aby dawało cień, ale także można je traktować jako narządzie do
IMG453 44 Jaromir Volek można już traktować jako momentu rzeczywistości. Rozróżni przedmiotem i jego
Poziom obsługi jest pojęciem złożonym i najogólniej można go zdefiniować jako stopień spełnieni
skroty110001 pm — erkaem, cekaem, peem (choć trzy ostatnie przykłady można by traktować jako wariant
Symbole zloty róg - symbol walki o wolność chochoł - najbardziej zagadkowy symbol, można go tłumaczy
KONFLIKTY SPOŁECZNE Konflikt wewnętrzny Można go określić jako walkę z sobą samym. Konflikt
Scan140 13.84.    Układy metaboliczne można z reguły traktować jako układy otwarte, w
DSC09735 (2) "rcenzja Widok Aby podparcie można było traktować jako częściowo utwierdzone muszą

więcej podobnych podstron