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.[1] Suunnitteluvaiheessa valittiin lohkojen käsittely yksittäisten bittien käsittelyn sijaan.[1]
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.[2] 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.[3]
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ä.[1] Blowfishin jälkeen on kehitetty Twofish.[4]
Haavoittuvuudet
Blowfishin versio, jossa on vähennetty kierrosten määrää on havaittu haavoittuvaksi, mutta Blowfishin täysi versio ei ollut tuolloin haavoittuva.[5][6]
Schneier on suositellut uudempaan Twofishiin siirtymistä vuonna 2007.[7]
Aiheesta muualla
- Bruce Schneier: Applied Cryptography; ISBN 0-471-11709-9, ISBN 0-471-12845-7
Lähteet
- B. Schneier: Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish) schneier.com. Viitattu 23.9.2022. (englanniksi)
- Järvinen, Petteri: Salausmenetelmät, s. 88. Ensimmäinen painos. Docendo Finland Oy, 2003. ISBN 951-846-183-X.
- http://www.pjoy.fi/lehdet/hs080898.htm
- B. Schneier: The Twofish Encryption Algorithm schneier.com. joulukuu 1998. Viitattu 23.9.2022. (englanniksi)
- Tom Gonzalez: A Reflection Attack on Blowfish (PDF) karbalus.free.fr. 2007. Arkistoitu . Viitattu 23.9.2022. (englanniksi)
- Orhun Kara & Cevat Manap: A New Class of Weak Keys for Blowfish (PDF) iacr.org. Viitattu 23.9.2022. (englanniksi)
- Dahna McConnachie: Bruce Almighty: Schneier preaches security to Linux faithful computerworld.com.au. 27.12.2007. Arkistoitu . ”At this point, though, I'm amazed it's still being used. If people ask, I recommend Twofish instead.” Viitattu 23.9.2022. (englanniksi)