Twofish
V kriptografiji je Twofish blokovna šifra s simetričnim ključem z velikostjo bloka 128 bitov in dolžino ključa do 256 bitov.
Leta 1997 je NIST razpisal natečaj za izbiro naslednika DES-a, imenovanega AES.Twofish je bil med petimi finalisti natečaja Advanced Encryption Standard, vendar ni bil izbran za standard.
Twofish je povezan s prejšnjo blokovno šifro Blowfish. Glavni značilnosti šifre Twofish sta uporaba vnaprej izračunanih polj S, ki so odvisna od ključa, in razmeroma zapleten razpored ključev. Polovica n-bitnega ključa se uporablja kot dejanski šifrirni ključ, druga polovica n-bitnega ključa pa se uporablja za spreminjanje šifrirnega algoritma (od ključa odvisna polja S). Twofish uporablja nekatere elemente iz drugih modelov; na primer psevdo-Hadamardovo transformacijo (PHT) iz družine šifer SAFER. Twofish uporablja enako Feistelovo strukturo kot DES.
Na večini programskih platform je Twofish pri 128-bitnih ključih nekoliko počasnejši od algoritma Rijndael (izbrani algoritem za Advanced Encryption Standard), pri 256-bitnih ključih pa je nekoliko hitrejši.
Twofish so zasnovali Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall in Niels Ferguson; v "razširjeni ekipi Twofish", ki se je sestala, da bi opravila nadaljnjo kriptoanalizo Twofisha in drugih konkurentov AES, so bili Stefan Lucks, Tadayoshi Kohno in Mike Stay.
Algoritem Twofish lahko uporablja vsakdo brez kakršnih koli omejitev. Šifra Twofish ni bila patentirana, primer programske opreme z njeno specifikacijo pa je bil objavljen v javni domeni. Vendar se šifra Twofish ne uporablja pogosto kot šifra Blowfish, ki je na voljo že dlje časa.
Kriptoanaliza
Od leta 2008 je najboljša objavljena kriptoanaliza blokovne šifre Twofish skrajšana diferencialna kriptoanaliza polne različice s 16 krogi. V članku je navedeno, da je verjetnost napadov s skrajšanimi diferencami 2-57,3 na blok in da je za iskanje dobrega para skrajšanih diferenc potrebnih približno 251 izbranih odprtih besedil (32 PiB podatkov).
Bruce Schneier v zapisu na blogu iz leta 2005 odgovarja, da ta članek ne predstavlja popolnega kriptoanalitičnega napada, temveč le nekaj domnevnih diferencialnih značilnosti: "Toda tudi s teoretičnega vidika Twofish ni niti približno zlomljen. Od objave teh rezultatov leta 2000 ni bilo nobenih razširitev".
Sorodne strani
- Blowfish (šifra)
- Napredni standard šifriranja
- Standard šifriranja podatkov
Vprašanja in odgovori
V: Kaj je Twofish?
O: Twofish je blokovna šifra s simetričnim ključem z velikostjo bloka 128 bitov in dolžino ključa do 256 bitov.
V: Kako je bil Twofish povezan s prejšnjo blokovno šifro Blowfish?
O: Glavni značilnosti šifre Twofish sta uporaba vnaprej izračunanih polj S, odvisnih od ključa, in razmeroma zapleten razpored ključev. Ena polovica n-bitnega ključa se uporablja kot dejanski šifrirni ključ, druga polovica n-bitnega ključa pa se uporablja za spreminjanje šifrirnega algoritma (od ključa odvisna polja S).
V: Ali je bil Twofish izbran kot napredni šifrirni standard?
O: Ne, leta 1997 je NIST razpisal natečaj za izbiro naslednika DES-a, ki bi se imenoval AES, vendar Twofish ni bil izbran za standard.
V: Katere elemente uporablja Twofish iz drugih modelov?
O: Twofish uporablja nekatere elemente iz drugih modelov; na primer psevdo-Hadamardovo transformacijo (PHT) iz družine šifer SAFER.
V: Ali uporablja Feistelovo strukturo kot DES?
O: Da, uporablja Feistelovo strukturo kot DES.
V: Ali je hitrejši od Rijndaela za 128-bitne ključe?
O: Na večini programskih platform je Twofish za 128-bitne ključe nekoliko počasnejši od Rijndaela.
V: Ali je hitrejši od Rijndaela za 256-bitne ključe?
O: Za 256-bitne ključe je nekoliko hitrejši od Rijndaela.