A diferencia de los otros algoritmos estudiados hasta este momento, no hay mucha informacion tecnica que logre describir paso por paso esta algoritmo.
pero podemos decir que es uno de los mas efctivos hasta este momento, esta basado en las funciones de Feistel, al igual que los otros algoritmos
Blowfish usa bloques de 64 bits y claves que van desde los 32 bits hasta 448 bits. Es un codificador de 16 rondas Feistel y usa llaves que dependen de las Cajas-S. Tiene una estructura similar a CAST-128, el cual usa Cajas-S fijas.
El algoritmo guarda 2 arrays de subclaves(P): El array P de 18 entradas y 4 cajas-S de 256 entradas. Una entrada del array P es usada cada ronda, después de la ronda final, a cada mitad del bloque de datos se le aplica un XOR con uno de las 2 entradas del array P que no han sido utilizadas.
Ahora bien, este algoritmo aplica 14 rondas, dada su complejidad, no es apto para entornos donde la memoria este limitada