En criptografía, Blowfish é un codificador de bloques simétricos, deseñado por Bruce Schneier no 1993 e incluído nun gran número de conxuntos de codificadores e produtos de cifrado. Mentres que ningún analizador de cifrados de Blowfish efectivo foi atopado hoxe en día, déuselle máis atención da decodificación de bloques con bloques máis grandes, como AES e Twofish.
Schneier deseñou Blowfish como un algoritmo de uso xeral, intentando substituír o antigo DES e libre de problemas asociados con outros algoritmos. Ó mesmo tempo, moitos outros deseños eran propietarios, patentados ou gardados polo goberno. Schneier declarou “Blowfish non ten patente, e así se quedará nos demais continentes. O algoritmo está a disposición de dominio público, e pode ser usado libremente por calquera”.