Алгоритм Twofish | |
Общий | |
---|---|
Дизайнеров | Брюс Шнайер |
Впервые опубликовано | 1998 г. |
Происходит от | Blowfish , БЕЗОПАСНЫЙ , Square |
Относится к | Три рыбы |
Сертификация | Финалист AES |
Деталь шифра | |
Ключевые размеры | 128, 192 или 256 бит |
Размеры блоков | 128 бит |
Структура | Сеть Фейстеля |
Раундов | 16 |
Лучший публичный криптоанализ | |
Усеченный дифференциальный криптоанализ, требующий примерно 2 51 выбранных открытых текстов. [1] Невозможная дифференциальная атака, которая разбивает 6 раундов из 16 версии с 256-битным ключом за 2 256 шагов. [2] |
В криптографии , 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]
См. Также [ править ]
- Три рыбы
- Расширенный стандарт шифрования
- Стандарт шифрования данных
Ссылки [ править ]
- ^ Корабль Moriai; Ицюнь Лиза Инь (2000). «Криптоанализ Twofish (II)» (PDF) . Проверено 14 января 2013 . Цитировать журнал требует
|journal=
( помощь ) - ^ a b Нильс Фергюсон (1999-10-05). «Невозможные дифференциалы в Twofish» ( PDF ) . Проверено 14 января 2013 . Цитировать журнал требует
|journal=
( помощь ) - ^ "Мужчины команды в черном представляют: TwoFish" (PDF) . Архивировано из оригинального (PDF) 26 сентября 2017 года.
- ^ Брюс Шнайер; Дуг Уайтинг (7 апреля 2000 г.). «Сравнение производительности пяти финалистов AES» ( PDF / PostScript ) . Проверено 14 января 2013 . Цитировать журнал требует
|journal=
( помощь ) - ^ Шихо Мориаи; Ицюнь Лиза Инь (2000). «Криптоанализ Twofish (II)» (PDF) . Проверено 14 января 2013 . Цитировать журнал требует
|journal=
( помощь ) - ^ Шнайер, Брюс (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