stringtranslate.com

Две рыбы

В криптографии 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 [ сомнительно ] , который доступен дольше.

Производительность

При разработке Twofish производительность всегда была важным фактором. Он был разработан с учетом нескольких уровней компромисса в производительности в зависимости от важности скорости шифрования, использования памяти, количества аппаратных шлюзов, настройки ключей и других параметров. Это позволяет создать очень гибкий алгоритм, который можно реализовать в различных приложениях.

Существует множество компромиссов между пространством и временем, которые можно сделать как в программном, так и в аппаратном обеспечении Twofish. Примером такого компромисса может быть предварительное вычисление круглых подразделов или s-блоков, что может привести к увеличению скорости в два и более раза. Однако за это приходится платить больше оперативной памяти , необходимой для их хранения.

Все оценки в таблице ниже основаны на существующей технологии КМОП 0,35 мкм .

Криптоанализ

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

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

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

Смотрите также

Рекомендации

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

Статьи

Внешние ссылки