Blowfish

Blowfish on yhdysvaltalaisen Bruce Schneierin vuonna 1993 kehittämä salausmenetelmä. 

Blowfish käyttää 16 kierroksen Feistel-salausta, jossa 64-bitin lohko tuottaa 32-bitin mittaisen sanan. Blowfish skaalautuu 128-bitin lohkoon saakka sekä pienempiin lohkoihin. 16 iteraation määrä mahdollistaa avaimet 448 bitin pituuteen saakka. Suunnitteluvaiheessa valittiin lohkojen käsittely yksittäisten bittien käsittelyn sijaan.

Alun perin Schneier kehitti algoritmin syrjäyttämään Yhdysvaltain viranomaisten hyväksymän DES:n (Data Encryption Standard), koska DES oli jo Blowfishin julkaisemisen aikoihin osoittautunut varsin heikoksi salakirjoitusalgoritmiksi. Huhuttiin jopa, että DES:iin olisi tehty sen kehittämisen aikoihin takaovi, jotta Yhdysvaltain viranomaiset olisivat helposti tarvittaessa voineet purkaa salauksen. DES:n heikkoudesta huolimatta sitä käytetään hyvin yleisesti vieläkin salaamaan pankkiautomaatti- ynnä muuta pankkiliikennettä. 

Schneier kaavaili Blowfish:stä luotettavaa salakirjoitusalgoritmia seuraavaksi kymmeneksi vuodeksi, mutta vieläkään ei tiedetä kenenkään suorittaneen tehokasta kryptoanalyysia Blowfish:a vastaan. 

Blowfish määritellään Yhdysvalloissa "tehokkaaksi salausmenetelmäksi", aseeksi, joten sitä käyttäviä ohjelmia ei saa viedä pois maasta ilman erityislupaa. Perusteeksi on annettu, että salauksen myötä terroristien ja rikollisten puuhien seuranta muuttuisi mahdottomaksi.

Blowfishia ei ole patentoitu ja se säilyy sellaisena kaikissa maissa. Algoritmi on julkaistu public domainina ja se on vapaasti kenen tahansa käytettävissä.
Blowfishin jälkeen on kehitetty Twofish.

Haavoittuvuudet 
Blowfishin versio, jossa on vähennetty kierrosten määrää on havaittu haavoittuvaksi, mutta Blowfishin täysi versio ei ollut tuolloin haavoittuva.

Schneier on suositellut uudempaan Twofishiin siirtymistä vuonna 2007.

Katso myös

 AES
 Twofish
 IDEA

Aiheesta muualla

 Bruce Schneier: Applied Cryptography; ISBN 0-471-11709-9, ISBN 0-471-12845-7

Lähteet

Salausalgoritmit