Twofish – symetryczny, blokowy algorytm szyfrujący operujący na blokach danych o długości 128 bitów i wykorzystujący klucze o długościach od 128 do 256 bitów, przy czym najczęściej stosowane są klucze o długościach 128, 192 oraz 256 bitów. Algorytm składa się z 16 rund, a do obliczeń w każdej rundzie wykorzystuje tzw. sieć Feistela.
Twofish jest standardem otwartym, nie objętym żadnymi patentami i może być używany nieodpłatnie w dowolnym celu, dostępne są też jego otwarte implementacje. Twofish jako jeden z pięciu algorytmów szyfrujących został zakwalifikowany do finału konkursu na AES, który ostatecznie został wygrany przez algorytm Rijndael.
Algorytm Twofish został stworzony przez zespół składający się z następujących specjalistów: Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, Niels Ferguson.
Linki zewnętrzne Dokładny opis algorytmu na stronie jednego z autorów oraz darmowe, otwarte implementacje
Kategoria:Szyfry blokowe