Blowfish

Salakirjoituksessa Blowfish on Bruce Schneierin vuonna 1993 kehittämä symmetrinen lohkosalakirjoitus, joka on vuodesta 1993 lähtien sisältynyt lukuisiin salaustuotteisiin. Blowfishin salausnopeus ohjelmistoissa on hyvä, eikä sille ole löydetty kryptoanalyyttistä hyökkäysmallia vuoteen 2008 asti. AES-lohkosalausalgoritmi on kuitenkin saanut nyt enemmän huomiota.

Schneier kehitti Blowfishin yleiskäyttöiseksi algoritmiksi, jolla korvattaisiin vanha DES-algoritmi ja poistettaisiin muiden salausalgoritmien ongelmat ja vaikeudet. Blowfishin julkaisun aikaan monet muut algoritmit olivat patentoituja tai salaisia. Schneier on sanonut, että "Blowfish on patentoimaton ja pysyy sellaisena kaikissa maissa. Algoritmi asetetaan täten julkiseen käyttöön, ja kuka tahansa voi käyttää sitä vapaasti."

Suunnitelman pääpiirteisiin kuuluvat avaimesta riippuvaiset S-laatikot ja erittäin monimutkainen avaimen aikataulu. Blowfish on yksi nopeimmista monien käyttämistä lohkosalaimista, paitsi avainta vaihdettaessa. Jokainen uusi avain on esikäsiteltävä, mikä vie saman ajan kuin noin 4 kilotavun tekstin salaus, mikä on hyvin hidasta verrattuna muihin lohkosalaimiin. Tämä estää sen käytön tietyissä sovelluksissa (kuten pienimmissä sulautetuissa järjestelmissä, kuten varhaisissa älykorteissa), mutta se ei ole ongelma muissa sovelluksissa. Eräässä sovelluksessa se on itse asiassa hyvä: OpenBSD:ssä käytetty salasanojen salausmenetelmä käyttää Blowfishista peräisin olevaa algoritmia, joka hyödyntää hidasta avaimen aikataulua; ideana on, että tarvittava ylimääräinen laskentatyö antaa suojaa sanakirjahyökkäyksiä vastaan. Katso avainten vahvistaminen.

Blowfishin lohkokoko on 64 bittiä ja avaimen pituus vaihtelee 0:sta 448 bittiin. Se on 16-kierroksinen Feistel-salaus ja käyttää suuria avaimesta riippuvaisia S-boxeja. Se on rakenteeltaan samanlainen kuin CAST-128, joka käyttää kiinteitä S-boxeja.

Vuonna 1996 Serge Vaudenay löysi hyökkäyksen, joka tarvitsi 28r+1 tunnettua tekstitiedostoa murtautuakseen, missä r on kierrosten lukumäärä. Lisäksi hän löysi myös luokan heikkoja avaimia, jotka voidaan havaita ja murtaa samalla hyökkäyksellä vain 24r + 1 tunnetulla salatekstillä. Tätä hyökkäystä ei voida käyttää tavallista Blowfishia vastaan, sillä se edellyttää avaimesta riippuvien S-boxien tuntemista. Vincent Rijmen esitteli väitöskirjassaan toisen asteen differentiaalihyökkäyksen, jolla voidaan murtaa neljä kierrosta, mutta ei enempää. Edelleenkään ei tiedetä mitään keinoa murtaa kaikkia 16 kierrosta, lukuun ottamatta raa'an voiman hakua. Eräässä julkaistussa C-koodissa havaittiin vuonna 1996 merkinlaajennusvirhe.

Blowfishin täyskierroksisesta versiosta ei ole tehty hyvää kryptoanalyysiä, joka olisi ollut julkisesti tiedossa ennen vuotta 2008. Vuonna 2007 Bruce Schneier totesi kuitenkin, että vaikka Blowfish on edelleen käytössä, hän suositteli uuden Twofish-algoritmin käyttöä sen sijaan.

Aiheeseen liittyvät sivut

Kysymyksiä ja vastauksia

K: Mikä on Blowfish?


V: Blowfish on Bruce Schneierin vuonna 1993 luoma symmetrinen lohkosalaus, joka on avaimella varustettu. Se on sittemmin sisältynyt moniin salaustuotteisiin.

K: Mitä varten Blowfish tehtiin?


V: Blowfish tehtiin yleiskäyttöiseksi algoritmiksi korvaamaan vanha DES-algoritmi ja poistamaan muiden salausalgoritmien ongelmat ja vaikeudet.

K: Kuinka pitkä avaimen pituus voi olla Blowfishissa?


V: Blowfishin avaimen pituus voi olla 0-448 bittiä.

K: Mitä ominaisuuksia Blowfishin suunnittelussa on?


V: Joitakin suunnittelun ominaisuuksia ovat avaimesta riippuvaiset S-boxit ja erittäin monimutkainen avaimen aikataulu.

K: Onko Blowfishin täyskierrosversiolle tiedossa kryptoanalyysiä?


V: Vuoteen 2008 mennessä ei ole tiedossa mitään muuta keinoa murtaa 16 kierrosta kuin raa'an voiman haku.

K: Millaisen hyökkäyksen Serge Vaudenay löysi Blowfishia vastaan?


V: Serge Vaudenay löysi hyökkäyksen, jossa tarvitaan 28r + 1 tunnettua tekstitiedostoa murrettavaksi, missä r on kierrosten lukumäärä. Hän löysi myös luokan heikkoja avaimia, jotka voitiin havaita ja murtaa samalla hyökkäyksellä vain 24r + 1 tunnetulla pohjatekstillä.

Kysymys: Suositteleeko Bruce Schneier nyt Twofishin käyttöä Blowfishin sijasta?


V: Kyllä, Bruce Schneier suosittelee Twofishin käyttöä Blowfishin sijasta, koska sen turvatoimet ovat parantuneet verrattuna vanhempiin algoritmeihin, kuten DES:ään tai jopa uudempiin, kuten AES:ään.

AlegsaOnline.com - 2020 / 2023 - License CC3