CyberGlossary

Криптография

Blowfish

Определение

Шифр Фейстеля с блоком 64 бита и переменной длиной ключа, разработанный Брюсом Шнайером в 1993 году; криптоаналитически стоек, но из-за маленького блока вытеснен AES.

Blowfish — симметричный блочный шифр, спроектированный Брюсом Шнайером в 1993 году как быстрая и свободная от лицензионных отчислений альтернатива DES и IDEA. Использует 16-раундовую сеть Фейстеля над 64-битными блоками, ключи длиной от 32 до 448 бит и крупные S-блоки, зависящие от ключа. С точки зрения криптоанализа полная 16-раундовая версия по-прежнему считается невзломанной, однако 64-битный блок делает Blowfish уязвимым к атакам рождения, например Sweet32, при шифровании больших объёмов под одним ключом. NIST и современные протоколы рекомендуют шифры с блоком 128 бит, такие как AES. Blowfish сохраняет историческое значение и продолжает жизнь в производных решениях — особенно в хеше паролей bcrypt и шифре Twofish, — но более не рекомендуется для нового использования.

Примеры

  • Старые версии OpenSSH и OpenVPN поддерживали Blowfish в режиме CBC.
  • Хеш паролей bcrypt берёт расписание ключей из Blowfish.

Связанные термины