Twofish
Kriptografijoje "Twofish" yra simetrinio rakto blokinis šifras, kurio bloko dydis yra 128 bitai, o rakto ilgis - iki 256 bitų.
1997 m. NIST paskelbė konkursą DES įpėdiniui, kuris bus vadinamas AES, išrinkti.Twofish buvo vienas iš penkių Advanced Encryption Standard konkurso finalininkų, tačiau nebuvo pasirinktas kaip standartas.
"Twofish" yra susijęs su ankstesniu blokiniu šifru "Blowfish". Pagrindinės "Twofish" ypatybės yra iš anksto apskaičiuotų, nuo rakto priklausančių S-dėžučių naudojimas ir gana sudėtingas raktų tvarkaraštis. Pusė n bitų rakto naudojama kaip tikrasis šifravimo raktas, o kita pusė n bitų rakto naudojama šifravimo algoritmui modifikuoti (nuo rakto priklausantys S-laukai). "Twofish" naudoja kai kuriuos kitų projektų elementus, pavyzdžiui, pseudo-Hadamardo transformaciją (PHT) iš SAFER šeimos šifrų. Twofish naudoja tą pačią Feistelio struktūrą kaip ir DES.
Daugumoje programinės įrangos platformų "Twofish" yra šiek tiek lėtesnis nei "Rijndael" (pasirinktas "Advanced Encryption Standard" algoritmas) 128 bitų raktams, bet šiek tiek greitesnis 256 bitų raktams.
"Twofish" sukūrė Bruce'as Schneieras, Johnas Kelsey, Dougas Whitingas, Davidas Wagneris, Chrisas Hallas ir Nielsas Fergusonas; "išplėstinę "Twofish" komandą", kuri susitiko atlikti tolesnę "Twofish" ir kitų AES konkurentų kriptoanalizę, sudarė Stefanas Lucksas, Tadayoshi Kohno ir Mike'as Stay.
"Twofish" algoritmu gali naudotis visi norintys be jokių apribojimų. "Twofish" šifras nėra patentuotas, o jo specifikacijos programinės įrangos pavyzdys yra viešai prieinamas. Tačiau Twofish nėra plačiai naudojamas kaip Blowfish, kuris buvo prieinamas ilgesnį laiką.
Kriptoanalizė
Nuo 2008 m. geriausia paskelbta blokinio šifro "Twofish" kriptoanalizė yra sutrumpinta diferencinė visos 16 raundų versijos kriptoanalizė. Straipsnyje teigiama, kad sutrumpintų diferencialų atakų tikimybė yra 2-57,3 kiekvienam blokui ir kad prireiks maždaug 251 pasirinkto atvirojo teksto (32 PiB vertės duomenų), norint rasti gerą sutrumpintų diferencialų porą.
2005 m. tinklaraščio įraše Bruce'as Schneieras atsako, kad šiame straipsnyje nepateikiama visa kriptoanalitinė ataka, o tik kai kurios hipotetinės diferencinės savybės: Tačiau net ir teoriniu požiūriu "Twofish" nėra nė iš tolo nulaužta. Nuo 2000 m., kai šie rezultatai buvo paskelbti, nebuvo jokių jų išplėtimų".
Susiję puslapiai
- "Blowfish" (šifras)
- Išplėstinis šifravimo standartas
- Duomenų šifravimo standartas
Klausimai ir atsakymai
Klausimas: Kas yra "Twofish"?
A: Twofish yra simetrinis blokinis šifras, kurio bloko dydis yra 128 bitai, o rakto ilgis - iki 256 bitų.
K: Kaip Twofish susijęs su ankstesniu blokiniu šifru Blowfish?
A: Pagrindinės Twofish savybės yra iš anksto apskaičiuotų, nuo rakto priklausomų S-dėžučių naudojimas ir gana sudėtingas rakto tvarkaraštis. Pusė n bitų rakto naudojama kaip tikrasis šifravimo raktas, o kita pusė n bitų rakto naudojama šifravimo algoritmui modifikuoti (nuo rakto priklausomi S-laukai).
Klausimas: Ar "Twofish" buvo pasirinktas kaip pažangusis šifravimo standartas?
A: Ne, 1997 m. NIST paskelbė konkursą DES įpėdiniui, kuris būtų vadinamas AES, tačiau Twofish nebuvo pasirinktas kaip standartas.
K: Kokius elementus Twofish naudoja iš kitų projektų?
A.: Twofish naudoja kai kuriuos kitų konstrukcijų elementus, pavyzdžiui, pseudo-Hadamardo transformaciją (PHT) iš SAFER šeimos šifrų.
K: Ar jis naudoja Feistelio struktūrą kaip DES?
A: Taip, jame naudojama Feistelio struktūra, kaip ir DES.
K: Ar jis greitesnis už Rijndael 128 bitų raktams?
A.: Daugumoje programinės įrangos platformų "Twofish" yra šiek tiek lėtesnis už "Rijndael" 128 bitų raktams.
K: Ar 256 bitų raktams jis greitesnis už "Rijndael"?
A.: 256 bitų raktams jis šiek tiek greitesnis už "Rijndael".