Twofish
V kryptografii je Twofish bloková šifra so symetrickým kľúčom s veľkosťou bloku 128 bitov a dĺžkou kľúča až 256 bitov.
V roku 1997 vyhlásil NIST súťaž na výber nástupcu DES pod názvom AES.Twofish bol jedným z piatich finalistov súťaže Advanced Encryption Standard, ale nebol vybraný ako štandard.
Twofish je príbuzný s predchádzajúcou blokovou šifrou Blowfish. Hlavnými vlastnosťami šifry Twofish je používanie vopred vypočítaných S-boxov závislých od kľúča a relatívne zložitý kľúčový plán. Jedna polovica n-bitového kľúča sa používa ako vlastný šifrovací kľúč a druhá polovica n-bitového kľúča sa používa na modifikáciu šifrovacieho algoritmu (S-boxy závislé od kľúča). Twofish využíva niektoré prvky z iných návrhov; napríklad pseudo-Hadamardovu transformáciu (PHT) z rodiny šifier SAFER. Twofish používa rovnakú Feistelovu štruktúru ako DES.
Na väčšine softvérových platforiem je Twofish o niečo pomalší ako Rijndael (zvolený algoritmus pre Advanced Encryption Standard) pre 128-bitové kľúče, ale o niečo rýchlejší pre 256-bitové kľúče.
Twofish navrhli Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall a Niels Ferguson; "rozšírený tím Twofish", ktorý sa stretol, aby vykonal ďalšiu kryptoanalýzu Twofish a ďalších konkurentov AES, zahŕňal Stefana Lucksa, Tadayoshiho Kohna a Mikea Staya.
Algoritmus Twofish môže používať každý bez akýchkoľvek obmedzení. Šifra Twofish nebola patentovaná a softvérový príklad jej špecifikácie bol zverejnený. Šifra Twofish však nie je široko používaná ako šifra Blowfish, ktorá je k dispozícii už dlhšie.
Kryptoanalýza
Od roku 2008 je najlepšou publikovanou kryptoanalýzou blokovej šifry Twofish skrátená diferenciálna kryptoanalýza jej úplnej 16-kolovej verzie. V článku sa tvrdí, že pravdepodobnosť útokov skrátenými diferenciami je 2 - 57,3 na blok a že na nájdenie dobrej dvojice skrátených diferencií bude potrebných približne 251 vybraných otvorených textov (32 PiB údajov).
Bruce Schneier vo svojom blogu z roku 2005 odpovedá, že tento článok nepredstavuje úplný kryptoanalytický útok, ale len niektoré predpokladané diferenčné charakteristiky: "Ale ani z teoretického hľadiska nie je Twofish ani zďaleka prelomený. Od uverejnenia týchto výsledkov v roku 2000 nedošlo k žiadnemu rozšíreniu".
Súvisiace stránky
- Blowfish (šifra)
- Pokročilý štandard šifrovania
- Štandard šifrovania údajov
Otázky a odpovede
Otázka: Čo je to Twofish?
Odpoveď: Twofish je bloková šifra so symetrickým kľúčom s veľkosťou bloku 128 bitov a dĺžkou kľúča až 256 bitov.
Otázka: Ako súvisí Twofish so staršou blokovou šifrou Blowfish?
Odpoveď: Hlavnými vlastnosťami šifry Twofish je použitie vopred vypočítaných S-boxov závislých od kľúča a pomerne zložitý plán kľúčov. Jedna polovica n-bitového kľúča sa používa ako vlastný šifrovací kľúč a druhá polovica n-bitového kľúča sa používa na modifikáciu šifrovacieho algoritmu (S-boxy závislé od kľúča).
Otázka: Bol Twofish vybraný ako pokročilý šifrovací štandard?
Odpoveď: Nie, v roku 1997 NIST vyhlásil súťaž na výber nástupcu DES, ktorý by bol známy ako AES, avšak Twofish nebol vybraný ako štandard.
Otázka: Aké prvky používa Twofish z iných návrhov?
Odpoveď: Twofish používa niektoré prvky z iných návrhov, napríklad pseudo-Hadamardovu transformáciu (PHT) z rodiny šifier SAFER.
Otázka: Používa Feistelovu štruktúru ako DES?
Odpoveď: Áno, používa Feistelovu štruktúru ako DES.
Otázka: Je rýchlejší ako Rijndael pre 128-bitové kľúče?
Odpoveď: Na väčšine softvérových platforiem je Twofish pre 128-bitové kľúče o niečo pomalší ako Rijndael.
Otázka: Je rýchlejší ako Rijndael pre 256-bitové kľúče?
Odpoveď: Pre 256-bitové kľúče je o niečo rýchlejší ako Rijndael.