Twofish - Twofish
Общий | |
---|---|
Дизайнеров | Брюс Шнайер |
Впервые опубликовано | 1998 г. |
Полученный из | Blowfish , БЕЗОПАСНЕЕ , Квадрат |
Относится к | Три рыбы |
Сертификация | Финалист AES |
Детали шифра | |
Ключевые размеры | 128, 192 или 256 бит |
Размеры блоков | 128 бит |
Структура | Сеть Фейстеля |
Раундов | 16 |
Лучший публичный криптоанализ | |
Усеченный дифференциальный криптоанализ, требующий примерно 2 51 выбранных открытых текстов. Невозможная дифференциальная атака, которая разбивает 6 раундов из 16 версии с 256-битным ключом за 2 256 шагов. |
В криптографии , Twofish является симметричным ключом блочного шифра с размером блока 128 бит и размером ключа до 256 бит. Он был одним из пяти финалистов конкурса Advanced Encryption Standard , но не был выбран для стандартизации. Twofish связан с более ранним блочным шифром Blowfish .
Отличительные особенности Twofish - это использование предварительно вычисленных S-блоков , зависящих от ключа , и относительно сложное расписание ключей . Одна половина n-битного ключа используется как фактический ключ шифрования, а другая половина n-битного ключа используется для модификации алгоритма шифрования (S-блоки, зависящие от ключа). Twofish заимствует некоторые элементы из других дизайнов; например, преобразование псевдо-Адамара (PHT) из семейства шифров SAFER . Twofish имеет структуру Фейстеля, как и DES . Twofish также использует матрицу с разделением на максимальное расстояние .
Когда он был представлен в 1998 году, Twofish был немного медленнее, чем Rijndael (выбранный алгоритм для Advanced Encryption Standard ) для 128-битных ключей , но несколько быстрее для 256-битных ключей. С 2008 года практически все процессоры AMD и Intel включают аппаратное ускорение алгоритма Rijndael с помощью набора инструкций AES ; Реализации Rijndael, использующие набор команд, теперь на порядки быстрее, чем (программные) реализации Twofish.
Twofish был разработан Брюсом Шнайером , Джоном Келси , Дугом Уайтингом , Дэвидом Вагнером , Крисом Холлом и Нильсом Фергюсоном : «расширенная команда Twofish», которая собралась для дальнейшего криптоанализа Twofish. Среди других участников конкурса AES были Стефан Лакс , Тадаёши Коно и Майк Стэй .
Шифр Twofish не был запатентован , а эталонная реализация была размещена в открытом доступе . В результате алгоритм Twofish может использовать любой желающий без каких-либо ограничений. Это один из немногих шифров, включенных в стандарт OpenPGP (RFC 4880). Однако Twofish получил меньшее распространение, чем Blowfish , который был доступен дольше.
Представление
При разработке производительность всегда была важным фактором в Twofish. 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 шагов.
По состоянию на 2000 год лучшим опубликованным криптоанализом блочного шифра Twofish является усеченный дифференциальный криптоанализ полной 16-раундовой версии. В документе утверждается, что вероятность усеченных дифференциалов составляет 2 -57,3 на блок и что потребуется примерно 2 51 выбранных открытых текстов ( объемом данных 32 петабайта ), чтобы найти хорошую пару усеченных дифференциалов.
Брюс Шнайер ответил в записи в блоге 2005 года, что в этой статье не представлена полная криптоаналитическая атака, а представлены только некоторые предполагаемые дифференциальные характеристики: «Но даже с теоретической точки зрения Twofish даже отдаленно не сломан. Эти результаты не были расширены. так как они были опубликованы в 2000 году ».
Смотрите также
использованная литература
Статьи
-
Брюс Шнайер; Джон Келси; Дуг Уайтинг; Давид Вагнер; Крис Холл; Нильс Фергюсон (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