stringtranslate.com

Дверыбы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ссылки

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

Статьи

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