Две рыбы
![]() Алгоритм Twofish | |
Общий | |
---|---|
Дизайнеры | Брюс Шнайер |
Впервые опубликовано | 1998 |
Получено из | Иглобрюхий , БЕЗОПАСНЫЙ , Квадратный |
Связано с | Тройка |
Сертификация | финалист 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. [ сомнительно – обсудить ] , который доступен дольше.
Производительность [ править ]
При разработке Twofish производительность всегда была важным фактором. Он был разработан с учетом нескольких уровней компромисса в производительности в зависимости от важности скорости шифрования, использования памяти, количества аппаратных шлюзов, настройки ключей и других параметров. Это обеспечивает очень гибкий алгоритм, который можно реализовать в различных приложениях.
Существует множество компромиссов между пространством и временем, которые можно сделать как в программном, так и в аппаратном обеспечении Twofish. Примером такого компромисса может быть предварительное вычисление круглых подразделов или s-блоков, что может привести к увеличению скорости в два и более раза. Однако за это приходится платить больше оперативной памяти , необходимой для их хранения.
Все оценки в таблице ниже основаны на существующей технологии КМОП 0,35 мкм .
Количество ворот | h блоки | Часы за блок | Трубопровод уровни | Тактовая частота | Пропускная способность (Мбит/с) | Запускать часы | Комментарии |
---|---|---|---|---|---|---|---|
14000 | 1 | 64 | 1 | 40 МГц | 80 | 4 | дополнительные ключи на лету |
19000 | 1 | 32 | 1 | 40 МГц | 160 | 40 | |
23000 | 2 | 16 | 1 | 40 МГц | 320 | 20 | |
26000 | 2 | 32 | 2 | 80 МГц | 640 | 20 | |
28000 | 2 | 48 | 3 | 120 МГц | 960 | 20 | |
30000 | 2 | 64 | 4 | 150 МГц | 1200 | 20 | |
80000 | 2 | 16 | 1 | 80 МГц | 640 | 300 | Оперативная память S-box |
Криптоанализ [ править ]
В 1999 году Нильс Фергюсон опубликовал невозможную дифференциальную атаку , которая позволяет взломать 6 раундов из 16 версии 256-битного ключа, используя 2 256 шаги. [2]
По состоянию на 2000 год [update], лучший опубликованный криптоанализ блочного шифра Twofish — это усеченный дифференциальный криптоанализ полной 16-раундовой версии. В статье утверждается, что вероятность усеченных дифференциалов равна 2 −57.3 за блок и что это займет примерно 2 51 выбрали открытые тексты (32 петабайта данных), чтобы найти хорошую пару усеченных дифференциалов. [6]
Брюс Шнайер ответил в записи в блоге 2005 года, что в этой статье не представлена полная криптоаналитическая атака, а лишь некоторые гипотетические дифференциальные характеристики: «Но даже с теоретической точки зрения Twofish даже отдаленно не сломан. Никаких расширений к этим результатам не было. с тех пор, как они были опубликованы в 2000 году». [7]
См. также [ править ]
Ссылки [ править ]
- ^ Корабль Мориай; Ицюнь Лиза Инь (2000). «Криптоанализ Twofish (II)» (PDF) . Проверено 14 января 2013 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Jump up to: Перейти обратно: а б Нильс Фергюсон (5 октября 1999 г.). «Невозможные дифференциалы в Twofish» ( PDF ) . Проверено 14 января 2013 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Команда людей в черном представляет: Две рыбы» (PDF) . Архивировано из оригинала (PDF) 26 сентября 2017 года . Проверено 26 сентября 2017 г.
- ^ Брюс Шнайер; Дуг Уайтинг (7 апреля 2000 г.). «Сравнение производительности пяти финалистов AES» ( PDF / PostScript ) . Проверено 14 января 2013 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Шнайер, Брюс (15 июня 1998 г.). «Twofish: 128-битный блочный шифр» (PDF) . Столешница : 68.
- ^ Шихо Мориай; Ицюнь Лиза Инь (2000). «Криптоанализ Twofish (II)» (PDF) . Проверено 14 января 2013 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Шнайер, Брюс (23 ноября 2005 г.). «Слухи о двухрыбном криптоанализе» . Шнайер в блоге по безопасности . Проверено 14 января 2013 г.
Статьи [ править ]
- Брюс Шнайер; Джон Келси; Дуг Уайтинг; Дэвид Вагнер; Крис Холл; Нильс Фергюсон (15 июня 1998 г.). «Алгоритм шифрования Twofish» ( PDF / PostScript ) . Проверено 14 января 2013 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - Брюс Шнайер; Джон Келси; Дуг Уайтинг; Дэвид Вагнер; Крис Холл; Нильс Фергюсон (22 марта 1999 г.). Алгоритм шифрования Twofish: 128-битный блочный шифр . Нью-Йорк : Джон Уайли и сыновья . ISBN 0-471-35381-7 .
Внешние ссылки [ править ]
- Веб-страница Twofish с полными спецификациями, бесплатным исходным кодом и другими ресурсами Twofish от Брюса Шнайера.
- 256-битные шифры – эталонная реализация TWOFISH и производный код
- Продукты, в которых используется Twofish от Брюса Шнайера
- Лучший алгоритм: Rijndael или TwoFish? от sci.crypt
- Именование стандартного криптографического алгоритма : Twofish