Blowfish is een symmetrische blokversleuteling, ontworpen door Bruce Schneier in 1993 als een snel en gratis alternatief voor DES. Het versleutelt gegevens in blokken van 64 bits met een variabele sleutellengte van 32 tot 448 bits. Blowfish is niet gepatenteerd en nog steeds cryptografisch betrouwbaar, maar door het kleine blok van 64 bits is het ongeschikt voor grote, moderne datavolumes, waardoor nieuwere versleutelingsmethoden de voorkeur genieten.
Blowfish is een symmetrische blokversleuteling, ontwikkeld door Bruce Schneier in 1993 als een snel, niet-gepatenteerd alternatief voor DES. Het versleutelt gegevens in blokken van 64 bits met een variabele sleutellengte van 32 tot 448 bits. Het kernalgoritme is nooit gekraakt, maar de kleine blokken van 64 bits maken het kwetsbaar voor botsingsaanvallen op grote hoeveelheden data. Daarom wordt het tegenwoordig voornamelijk gebruikt in verouderde systemen en in bcrypt-wachtwoordhashing.
Key Takeaways
- Blowfish is een symmetrische blokversleuteling, ontworpen door Bruce Schneier in 1993, met een blok van 64 bits en een variabele sleutel van 32 tot 448 bits.
- Het is niet gepatenteerd, licentievrij, snel en was een populair gratis alternatief voor DES.
- De volledige code is nog nooit gekraakt, maar het 64-bits blok maakt het kwetsbaar voor verjaardagsgebonden botsingsaanvallen (SWEET32) op grote hoeveelheden data.
- Wie gebruikt het: oudere OpenVPN- en SSH-configuraties, sommige tools voor bestands- en schijfversleuteling, en, met name, bcrypt-wachtwoordhashing, dat is afgeleid van Blowfish en nog steeds veel gebruikt wordt.
- De beperking van Blowfish is klassiek (blokgrootte), niet kwantummechanisch. Voor modern gebruik wordt de opvolger Twofish of de standaard AES aanbevolen.
Wat is een kogelvis?
Blowfish is een symmetrische blokversleuteling die in 1993 verscheen. Het werd ontworpen door Bruce Schneier als een veelzijdig, veilig en snel alternatief voor de verouderde Data Encryption Standard (DES). Schneier maakte Blowfish bewust niet gepatenteerd en vrij beschikbaar, en die openheid zorgde ervoor dat het op grote schaal werd toegepast in tal van systemen en applicaties.
Technisch gezien versleutelt Blowfish gegevens in blokken van 64 bits met behulp van een Feistel-structuur van 16 ronden , en ondersteunt het een variabele sleutellengte van 32 tot 448 bits, wat flexibiliteit biedt tussen snelheid en sterkte. Een opvallend kenmerk is het sleutelschema: het instellen van een nieuwe sleutel vereist aanzienlijke voorberekeningen (gelijk aan het versleutelen van ongeveer 4 KB aan gegevens), wat frequente sleutelwijzigingen vertraagt, maar ook het zoeken naar sleutels met brute force bemoeilijkt. Blowfish werd nooit als standaard gekozen, maar was invloedrijk genoeg dat Schneier en collega's later Twofish ontwierpen als opvolger voor de AES- competitie.
Wie gebruikt kogelvissen?
De kogelvis was wijdverspreid in de jaren 1990 en 2000, en hoewel hij grotendeels is vervangen, duikt hij vandaag de dag nog steeds op verschillende plekken op:
- Wachtwoordhashing (bcrypt): Het belangrijkste actuele gebruik. bcrypt, een van de meest gebruikte wachtwoord-hashalgoritmes, is direct gebaseerd op het sleutelschema van Blowfish. Talloze webapplicaties en frameworks gebruiken bcrypt nog steeds om wachtwoorden veilig op te slaan, waardoor het ontwerp van Blowfish nog steeds dagelijks wordt gebruikt, zelfs waar de cipher zelf niet meer wordt toegepast.
- Ouderwetse VPN- en SSH-verbindingen: Oudere OpenVPN- en SSH-configuraties boden Blowfish aan als versleutelingsoptie. Deze optie bestaat nog steeds in sommige oudere implementaties, hoewel moderne configuraties standaard AES gebruiken.
- Hulpmiddelen voor bestands- en schijfversleuteling: Verschillende oudere of minder geavanceerde versleutelingsprogramma's en wachtwoordmanagers gebruikten Blowfish voor lokale bestanden of databases. encryptiegewaardeerd omdat het gratis en snel is.
- Ingebouwde en verouderde systemen: Dankzij het compacte formaat en het ontbreken van licenties was het aantrekkelijk voor embedded systemen en oudere software die niet meer is bijgewerkt.
Voor nieuwe systemen wordt Blowfish echter over het algemeen niet aanbevolen. De ontwerper, Bruce Schneier, zegt al jaren dat men beter kan overstappen op Twofish (of een moderne standaard zoals AES). De reden hiervoor is niet een probleem met het algoritme zelf, maar met de blokgrootte.
De echte zwakte: een 64-bits blok (SWEET32)
De kern van Blowfish is nooit gekraakt, maar de blokgrootte van 64 bits is een echt probleem voor modern gebruik. Met zo'n klein blok zullen, zodra je voldoende gegevens met één sleutel versleutelt, twee blokken uiteindelijk bij toeval overeenkomen (een botsing die ontstaat door een verjaardagsfout), en dat kan informatie over de gegevens lekken. plaintextDe SWEET32-aanval (onthuld in 2016) demonstreerde dit praktisch met 64-bits blokcijfers, waaruit bleek dat na ongeveer 32 GB aan data onder één sleutel de encryptie kan beginnen te lekken. Moderne cijfers zoals AES en Twofish gebruiken 128-bits blokken, waardoor die drempel astronomisch veel hoger komt te liggen. Dit is de reden waarom Blowfish ongeschikt is voor het versleutelen van grote hoeveelheden data of langdurige verbindingen, en waarom het tegenwoordig als verouderd wordt beschouwd.
Voordelen en nadelen van de kogelvis
| Voordelen | Nadelen |
| Snel, en sneller dan DES | 64-bits blok: kwetsbaar voor verjaardags-/botsingsaanvallen (SWEET32) op grote datasets |
| Niet gepatenteerd, licentievrij, publiek domein | Trage sleutelconfiguratie (ongeveer 4 KB aan voorberekening per nieuwe sleutel) |
| Variabele sleutellengte (32 tot 448 bits) | Regelmatige sleutelwisselingen zijn kostbaar vanwege het sleutelschema. |
| Eenvoudig, compact, goed onderzocht | Vervangen door Twofish en AES voor modern gebruik. |
De voordelen verklaren de historische populariteit van Blowfish: het was snel, gratis en flexibel. De nadelen, met name het 64-bits blok, zijn de reden waarom het in de meeste nieuwe ontwerpen is vervangen door 128-bits blokcijfers.
Is Blowfish nog steeds veilig in 2026? En hoe zit het met Quantum?
Het kernalgoritme van Blowfish blijft in 2026 cryptografisch veilig, in die zin dat geen enkele praktische aanval de cipher zelf kan kraken. Het zou echter niet gebruikt moeten worden voor nieuwe systemen die grote hoeveelheden data verwerken, omdat het 64-bits blok het kwetsbaar maakt voor botsingsaanvallen zoals SWEET32. Gebruik voor moderne systemen AES of Twofish, die 128-bits blokken hebben. Merk op dat dit een klassieke beperking is, geen kwantumbeperking. Wat betreft de kwantumvraag: als symmetrische cipher wordt Blowfish niet bedreigd door het algoritme van Shor, dat publieke-sleutelalgoritmen zoals RSA en ECCDe enige relevante kwantumaanval is het Grover-algoritme, dat de effectieve sleutelsterkte halveert, en het grote sleutelbereik van Blowfish kan dat opvangen. Kwantumcomputing is dus niet het probleem van Blowfish; de blokgrootte wel. De post-kwantumtransitie (waar NIST De beslissing om Blowfish uit te faseren (ML-KEM, ML-DSA en SLH-DSA in 2024 af te ronden en RSA en ECC tussen 2030 en 2035 uit te faseren) gaat over publieke-sleutelcryptografie, terwijl de reden om Blowfish uit te faseren helemaal niets met kwantumcomputing te maken heeft.
Hoe encryptieconsultancy kan helpen
Verouderde versleutelingsalgoritmen zoals Blowfish blijven vaak in systemen aanwezig, lang nadat ze eigenlijk vervangen zouden moeten worden. De adviesdiensten van Encryption Consulting inventariseren de algoritmen en sleutelgroottes die in uw omgeving worden gebruikt, signaleren verouderde of risicovolle keuzes zoals 64-bits blokversleuteling en ontwerpen een migratie naar sterke, op standaarden gebaseerde cryptografie (AES, Twofish en modern sleutelbeheer), conform NIST en FIPS 140-3 , inclusief planning voor de overgang naar het post-kwantumtijdperk van uw publieke-sleutelcryptografie. Ondersteund door ISO/IEC 27001:2022 en SOC 2-gecertificeerde werkwijzen.
Veelgestelde Vragen / FAQ
Wat is Blowfish in de beveiligingswereld?
Blowfish is een symmetrische blokversleuteling, ontworpen door Bruce Schneier in 1993 als een snel en gratis alternatief voor DES. Het versleutelt gegevens in blokken van 64 bits met een variabele sleutellengte van 32 tot 448 bits, gebaseerd op een Feistel-structuur met 16 rondes. Blowfish is niet gepatenteerd en valt onder het publieke domein, waardoor het populair is geworden voor diverse toepassingen. De kern ervan is nog nooit gekraakt, maar de kleine blokken van 64 bits beperken het veilige gebruik ervan bij grote hoeveelheden data.
Wie gebruikt Blowfish?
Blowfish wordt vooral gebruikt via bcrypt, een veelgebruikt wachtwoord-hashalgoritme dat is afgeleid van Blowfish's sleutelschema en dat talloze webapplicaties nog steeds gebruiken om wachtwoorden op te slaan. Daarnaast duikt Blowfish op in oudere OpenVPN- en SSH-configuraties, oudere bestands- en schijfversleutelingsprogramma's en wachtwoordmanagers, en ingebedde of oudere systemen die de snelheid en gratis licentie waarderen. Voor nieuwe systemen raadt de ontwerper echter Twofish of AES aan.
Is Blowfish veilig?
Het Blowfish-algoritme zelf is in de praktijk nog nooit gekraakt, dus in die engere zin is het nog steeds veilig. Het wordt echter niet aanbevolen voor modern gebruik, omdat de blokgrootte van 64 bits het kwetsbaar maakt voor botsingsaanvallen die gebaseerd zijn op de geboortedatum van een sleutel, zoals aangetoond door de SWEET32-aanval in 2016. Dit gebeurt zodra een grote hoeveelheid data met één sleutel wordt versleuteld. Moderne versleutelingsalgoritmen zoals AES en Twofish gebruiken blokken van 128 bits en hebben deze beperking niet, waardoor ze de voorkeur genieten.
Wat is het verschil tussen Blowfish en Twofish?
Twofish is de opvolger van Blowfish, ontworpen door Bruce Schneier en zijn team voor de AES-competitie. Beide zijn symmetrische blokcijfers van dezelfde ontwerper, maar Twofish gebruikt een groter blok van 128 bits (tegenover 64 bits voor Blowfish), waardoor de botsingsgevoeligheid die Blowfish beperkt bij grote datasets, wordt vermeden. Twofish ondersteunt sleutels van 128, 192 en 256 bits en was finalist voor de AES-competitie. Kortom, Twofish is ontwikkeld om de tekortkomingen van Blowfish te verhelpen en is de betere keuze voor modern gebruik.
Waarom is het 64-bits blok van Blowfish een probleem?
Een 64-bits blok betekent dat er een beperkt aantal mogelijke blokwaarden is. Zodra er voldoende data onder één sleutel is versleuteld, zullen twee versleutelde blokken uiteindelijk per toeval botsen. Deze botsingen, die vaak op dezelfde datum plaatsvinden, kunnen informatie over de onversleutelde tekst prijsgeven. De SWEET32-aanval toonde aan dat dit praktisch mogelijk is bij 64-bits blokversleuteling na ongeveer 32 GB aan data onder één sleutel. Moderne 128-bits blokversleuteling zoals AES en Twofish verhogen die drempel zo hoog dat het geen probleem meer is, en daarom hebben ze de voorkeur.
Is Blowfish kwantumveilig?
Als symmetrische versleuteling wordt Blowfish niet bedreigd door het algoritme van Shor, dat publieke-sleutelalgoritmen zoals RSA en ECC kraakt, maar niet van toepassing is op symmetrische versleuteling. De enige relevante kwantumaanval, het algoritme van Grover, halveert slechts de effectieve sleutelsterkte, wat Blowfish dankzij het grote sleutelbereik kan opvangen. Kwantumcomputing is dus niet de reden om Blowfish te vermijden; de blokgrootte van 64 bits is dat wel. De dringende migratie na het kwantumtijdperk betreft publieke-sleutelcryptografie, niet symmetrische versleutelingen zoals Blowfish.
Moderniseer uw encryptie
Als Blowfish of andere verouderde versleutelingsalgoritmen nog steeds in uw omgeving worden gebruikt, is het de moeite waard om te weten waar en een overstap naar moderne algoritmen te plannen. Ontdek de adviesdiensten van Encryption Consulting om uw cryptografie in kaart te brengen en een routekaart te ontwikkelen voor sterke, kwantumveilige versleuteling.
