Blowfish это 64-бит блочный шифр разработанный Шнайером (Schneier) в 1993 году. Это шифр Файстела (Feistel)
и каждый проход состоит из зависимой от ключа перестановки и зависимой от ключа с данными замены. Все операции основаны на операциях XOR и прибавлениях к 32-битным словам (XORs and additions on 32-bit words). Ключ имеет переменную длину (максимально 448 бит) и используется для генерации нескольких подключевых массивов (subkey arrays). Шифр был создан специально для 32-битных машин и существенно быстрее DES.В 1994 Dr.Dobb журнал спонсировал открытое соревнование с выиграшем в $1000. Это соревнование закончилось
в Апреле 1995 и среди результатов было открыто существование нескольких слабых ключей. Однако, Blowfish может считаться защищенным, и Шнайер пригласил криптоаналитиков для продолжения исследования его шифра.