Pozostała część stanu nigdy nie jest bezpośrednio używana do konstrukcji danych wyjściowych ani nie oddziałuje bezpośrednio z danymi wejściowymi.
Funkcja mieszająca stanu (funkcja f na rysunku), składa się z wielokrotnej aplikacji funkcji rundy (do 24 razy w przypadku największej wersji algorytmu). Każda runda z kolei składa się z kompozycji 5 prostych i wydajnych w implementacji funkcji, które dokonują odwracalnych permutacji, rotacji, mieszań albo dyfuzji. Ostatnia z tych funkcji w rundzie dodatkowo jest parametryzowana stałą wartością zależną od numeru rundy (i wersji algorytmu) w celu usunięcia symetrii z funkcji rundy.
Dane wejściowe są dopełniane do całkowitej wielokrotności liczby bitów w pojedynczym bloku przy pomocy prostego schematu dopełniania zwanego „101”: do ciągu danych wejściowych w postaci ciągu binarnego dopisz bit o wartości 1, następnie bity o wartości 0, aż do przedostatniego bitu w pełnym bloku, następnie dopisz bit o wartości 1 dopełniając blok całkowicie.
Implementacje Dostępne są implementacje w językach: C/C++, Java, VHDL, Python, Rust, Cryptol, .NET C#, PHP.
Przypisy
Kategoria:Funkcje skrótu