Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В криптографии , Twofish является симметричным ключом блочного шифра с размером блока 128 бит и размером ключа до 256 бит. Он был одним из пяти финалистов конкурса Advanced Encryption Standard , но не был выбран для стандартизации. Twofish связан с более ранним блочным шифром Blowfish .

Отличительные особенности Twofish - это использование предварительно вычисленных S-блоков , зависящих от ключа , и относительно сложное расписание ключей . Одна половина n-битного ключа используется как фактический ключ шифрования, а другая половина n-битного ключа используется для модификации алгоритма шифрования (S-блоки, зависящие от ключа). Twofish заимствует некоторые элементы из других дизайнов; например, псевдо-преобразование Адамара [3] (PHT) из семейства шифров SAFER . Twofish имеет структуру Фейстеля, как и DES . Twofish также использует матрицу с разделением по максимальному расстоянию .

Когда он был представлен в 1998 году, Twofish был немного медленнее, чем Rijndael (выбранный алгоритм для Advanced Encryption Standard ) для 128-битных ключей , но несколько быстрее для 256-битных ключей. С 2008 года практически все процессоры AMD и Intel включают аппаратное ускорение алгоритма Rijndael с помощью набора инструкций AES ; Реализации Rijndael, использующие набор команд, теперь на порядки быстрее, чем (программные) реализации Twofish. [4]

Twofish был разработан Брюсом Шнайером , Джоном Келси , Дугом Уайтингом , Дэвидом Вагнером , Крисом Холлом и Нильсом Фергюсоном : «расширенная команда Twofish», которая собралась для дальнейшего криптоанализа Twofish. Среди других участников конкурса AES были Стефан Лакс , Тадаёши Коно и Майк Стэй .

Шифр Twofish не был запатентован , а эталонная реализация была размещена в открытом доступе . В результате алгоритм Twofish доступен для всех без каких-либо ограничений. Это один из немногих шифров, включенных в стандарт OpenPGP ( RFC 4880 ). Однако Twofish получил меньшее распространение, чем Blowfish , который был доступен дольше.

Криптоанализ [ править ]

В 1999 году Нильс Фергюсон опубликовал невозможную дифференциальную атаку, которая разбивает шесть раундов из 16 версии с 256-битным ключом, используя 2 256 шагов. [2]

По состоянию на 2000 год лучшим опубликованным криптоанализом блочного шифра Twofish является усеченный дифференциальный криптоанализ полной 16-раундовой версии. В документе утверждается, что вероятность усеченных дифференциалов составляет 2 -57,3 на блок и что потребуется примерно 2 51 выбранных открытых текстов ( объемом данных 32 петабайта ), чтобы найти хорошую пару усеченных дифференциалов. [5]

Брюс Шнайер ответил в записи в блоге 2005 года, что в этой статье не представлена ​​полная криптоаналитическая атака, а представлены лишь некоторые гипотетические дифференциальные характеристики: «Но даже с теоретической точки зрения Twofish даже отдаленно не взломан. Эти результаты не были расширены. так как они были опубликованы в 2000 году ». [6]

См. Также [ править ]

  • Три рыбы
  • Расширенный стандарт шифрования
  • Стандарт шифрования данных

Ссылки [ править ]

  1. ^ Корабль Moriai; Ицюнь Лиза Инь (2000). «Криптоанализ Twofish (II)» (PDF) . Проверено 14 января 2013 . Цитировать журнал требует |journal=( помощь )
  2. ^ a b Нильс Фергюсон (1999-10-05). «Невозможные дифференциалы в Twofish» ( PDF ) . Проверено 14 января 2013 . Цитировать журнал требует |journal=( помощь )
  3. ^ "Мужчины команды в черном представляют: TwoFish" (PDF) . Архивировано из оригинального (PDF) 26 сентября 2017 года.
  4. ^ Брюс Шнайер; Дуг Уайтинг (7 апреля 2000 г.). «Сравнение производительности пяти финалистов AES» ( PDF / PostScript ) . Проверено 14 января 2013 . Цитировать журнал требует |journal=( помощь )
  5. ^ Шихо Мориаи; Ицюнь Лиза Инь (2000). «Криптоанализ Twofish (II)» (PDF) . Проверено 14 января 2013 . Цитировать журнал требует |journal=( помощь )
  6. ^ Шнайер, Брюс (2005-11-23). "Слухи о криптоанализе Twofish" . Шнайер в блоге о безопасности . Проверено 14 января 2013 .

Статьи [ править ]

  • Брюс Шнайер; Джон Келси; Дуг Уайтинг; Давид Вагнер; Крис Холл; Нильс Фергюсон (1998-06-15). «Алгоритм шифрования Twofish» ( PDF / PostScript ) . Проверено 14 января 2013 . Цитировать журнал требует |journal=( помощь )
  • Брюс Шнайер; Джон Келси; Дуг Уайтинг; Давид Вагнер; Крис Холл; Нильс Фергюсон (1999-03-22). Алгоритм шифрования Twofish: 128-битный блочный шифр . Нью-Йорк : Джон Вили и сыновья . ISBN 0-471-35381-7.

Внешние ссылки [ править ]

  • Веб-страница Twofish с полными спецификациями, бесплатным исходным кодом и другими ресурсами Twofish от Брюса Шнайера
  • 256-битные шифры - эталонная реализация TWOFISH и производный код
  • Продукты, в которых используется Twofish от Брюса Шнайера
  • Лучший алгоритм: Rijndael или TwoFish? автор sci.crypt
  • Именование стандартного криптографического алгоритма : Twofish