- Blowfish és un xifratge simètric de blocs de 64 bits amb claus de fins a 448 bits.
- Utilitza una estructura Feistel de 16 rondes i caixes de substitució per a més seguretat.
- Ofereix alta velocitat i flexibilitat, però AES n'ha reemplaçat l'ús en moltes aplicacions.
- Tot i la seva antiguitat, continua sent una opció fiable en entorns específics.

El xifrat Blowfish és un algorisme de xifrat per blocs creat el 1993 per Bruce Schneier com una alternativa ràpida i segura a DES. Aquest mètode de xifratge ha estat àmpliament adoptat en diverses aplicacions a causa de la seva eficiència i flexibilitat en l'ús de claus de diferents mides. Per aprofundir en el tema de la criptografia, podeu consultar més sobre què és la criptografia.
Al llarg dels anys, Blowfish ha demostrat ser un xifrat fiable, encara que actualment ha estat reemplaçat en moltes aplicacions per mètodes més avançats com AES. Tot i així, continua sent una opció rellevant en certs contextos on la seguretat i la velocitat són prioritats.
Què és el xifrat Blowfish?
El xifratge Blowfish és un algorisme de xifratge simètric que opera amb blocs de 64 bits i utilitza claus variables entre 32 i 448 bits. Va ser dissenyat per oferir un rendiment superior en termes de velocitat sense comprometre'n la seguretat. Si us interessa conèixer altres xifrats simètrics , també hi ha informació valuosa sobre això.
Aquest algorisme empra una estructura de xifrat tipus Feistel de 16 rondes. El seu disseny modular el fa fàcilment adaptable a diferents implementacions en maquinari i programari.
Característiques principals de l'algorisme
- Longitud de clau variable: Permet configuracions personalitzades entre 32 i 448 bits.
- Ràpid i eficient: Dissenyat per oferir un alt rendiment en programari.
- Lliure de patents: Es pot implementar sense restriccions de llicència.
- No ha estat trencat: Fins ara, no s'ha trobat un atac efectiu contra la seguretat.
Funcionament del xifratge Blowfish
El xifratge Blowfish empra 18 subclaus i quatre caixes de substitució (S-boxes) de 256 entrades per processar les dades. El procés de xifratge es basa en la repetició d' operacions XOR i les substitucions utilitzant aquestes estructures.
La clau d'entrada inicialitza les subclaus i les S-boxes abans d'utilitzar-les. Per això, els valors d'aquestes estructures es basen en els dígits hexadecimals de π , assegurant una distribució aleatòria de les dades.
Procés de xifrat
- Un bloc de 64 bits es divideix en dues meitats de 32 bits: esquerra (L) i dreta (R).
- La meitat esquerra es XOR amb la primera subclau i passa per la funció F.
- El resultat es XOR amb la meitat dreta.
- Les meitats s'intercanvien i el procés es repeteix durant 16 rondes.
- Després de la darrera ronda, s'apliquen dues XOR finals amb les darreres subclaus.
Aquest disseny garanteix que fins i tot petits canvis en el text original generin variacions enormes al text xifrat. Per a una visió més completa sobre mètodes d'encriptació, podeu visitar els mètodes d'encriptació.
Generació de claus a Blowfish
La creació de claus a Blowfish és un procés complex que requereix 521 iteracions per inicialitzar completament les subclaus i S-boxes. Això es fa xifrant repetidament un bloc de zeros i substituint valors a les subclaus i caixes de substitució.
Gràcies a aquesta complexitat en la generació de claus, Blowfish evita atacs basats en patrons repetitius de dades.
Avantatges i desavantatges de Blowfish
Avantatges
- Alta velocitat de xifrat i desxifrat.
- Claus de longitud variable.
- Lliure per implementar-lo.
- Seguretat robusta sense informes de vulnerabilitats crítiques.
Desavantatges
- Blocs de 64 bits, la qual cosa és menys segura que els de 128 bits utilitzats per AES.
- La implementació pot ser complexa a causa del procés d'inicialització de claus.
Blowfish davant d'altres algorismes de xifrat
Blowfish competeix amb altres algorismes com DES, Triple DES i AES . En comparació amb DES, Blowfish ofereix una millor seguretat i més flexibilitat gràcies a la seva longitud de clau variable.
Tot i això, AES , amb els seus blocs de 128 bits i estructura més optimitzada, ha reemplaçat Blowfish en la majoria de les aplicacions modernes. Una alternativa millorada de Blowfish és Twofish , dissenyat pel mateix autor com un candidat per a l'estàndard AES.
El xifratge Blowfish continua sent una opció viable en certs nínxols on la seguretat i la velocitat són prioritàries. El disseny lliure de patents i l'estructura modular el fan atractiu per a implementacions on la flexibilitat és clau. Tot i que AES ha guanyat popularitat, Blowfish es manté com una eina útil en entorns que requereixen un xifratge ràpid i fiable.