Twofish
A kriptográfiában a Twofish egy szimmetrikus kulcsú blokkos titkosítás, amelynek blokkmérete 128 bit, a kulcs hossza pedig legfeljebb 256 bit lehet.
1997-ben a NIST versenyt hirdetett a DES utódjának kiválasztására AES néven, a Twofish egyike volt az Advanced Encryption Standard verseny öt döntősének, de nem választották ki szabványnak.
A Twofish rokona a korábbi Blowfish blokkos titkosításnak. A Twofish fő jellemzői az előre kiszámított, kulcsfüggő S-dobozok használata és egy viszonylag összetett kulcsütemezés. Az n bites kulcs egyik fele a tényleges titkosítási kulcs, az n bites kulcs másik fele pedig a titkosítási algoritmus módosítására szolgál (kulcsfüggő S-dobozok). A Twofish más tervek egyes elemeit használja; például a SAFER kódolócsalád pszeudo-Hadamard-transzformációját (PHT). A Twofish ugyanazt a Feistel-struktúrát használja, mint a DES.
A legtöbb szoftverplatformon a Twofish 128 bites kulcsok esetén valamivel lassabb, mint a Rijndael (az Advanced Encryption Standard választott algoritmusa), de 256 bites kulcsok esetén valamivel gyorsabb.
A Twofish-t Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall és Niels Ferguson tervezte; a "kibővített Twofish-csapat", amely a Twofish és más AES-versenyzők további kriptoanalízise céljából találkozott, Stefan Lucks, Tadayoshi Kohno és Mike Stay volt.
A Twofish algoritmust bárki szabadon, mindenféle korlátozás nélkül használhatja. A Twofish titkosítást nem szabadalmaztatták, és a specifikációját tartalmazó szoftverpéldányt közkinccsé tették. A Twofish azonban nem olyan széles körben használt, mint a Blowfish, amely már hosszabb ideje elérhető.
Cryptanalysis
2008 óta a Twofish blokkos titkosítás legjobb közzétett kriptoanalízise a teljes 16 körös változat csonka differenciális kriptoanalízise. A cikk azt állítja, hogy a csonka differenciálok támadásának valószínűsége blokkonként 2-57,3, és hogy körülbelül 251 kiválasztott egyszerű szöveg (32 PiB értékű adat) szükséges ahhoz, hogy egy jó pár csonka differenciál párat találjunk.
Bruce Schneier egy 2005-ös blogbejegyzésben válaszol, hogy ez a cikk nem egy teljes kriptoanalitikai támadást mutat be, hanem csak néhány feltételezett differenciális jellemzőt: "De a Twofish még elméleti szempontból sem tört el még csak távolról sem. A 2000-es publikálás óta nem történt semmilyen kiterjesztés ezekre az eredményekre".
Kapcsolódó oldalak
- Blowfish (titkosítás)
- Fejlett titkosítási szabvány
- Adattitkosítási szabvány
Kérdések és válaszok
K: Mi az a Kéthal?
V: A Twofish egy szimmetrikus kulcsú blokkos titkosítás, amelynek blokkmérete 128 bit, a kulcs hossza pedig legfeljebb 256 bit lehet.
K: Hogyan kapcsolódik a Twofish a korábbi Blowfish blokkos titkosításhoz?
V: A Twofish fő jellemzői az előre kiszámított kulcsfüggő S-dobozok használata és egy viszonylag összetett kulcsütemezés. Az n bites kulcs egyik fele a tényleges titkosítási kulcs, az n bites kulcs másik fele pedig a titkosítási algoritmus módosítására szolgál (kulcsfüggő S-dobozok).
K: A Twofish-t választották fejlett titkosítási szabványnak?
V: Nem, 1997-ben a NIST versenyt hirdetett a DES utódjának kiválasztására, amely AES néven vált volna ismertté, azonban a Twofish-t nem választották ki szabványnak.
K: Milyen elemeket használ a Twofish más tervekből?
V: A Twofish más tervezetek egyes elemeit használja; például a SAFER kódolócsaládból származó pszeudo-Hadamard-transzformációt (PHT).
K: Használ Feistel-struktúrát, mint a DES?
V: Igen, a DES-hez hasonlóan Feistel-struktúrát használ.
K: Gyorsabb, mint a Rijndael 128 bites kulcsok esetén?
V: A legtöbb szoftverplatformon a Twofish 128 bites kulcsok esetén valamivel lassabb, mint a Rijndael.
K: 256 bites kulcsok esetén gyorsabb, mint a Rijndael?
V: 256 bites kulcsok esetén valamivel gyorsabb, mint a Rijndael.