PropertyValue
rdfs:label
  • Twofish
rdfs:comment
  • Twofish — симметричный алгоритм блочного шифрования с размером блока 128 бит и длиной ключа до 256 бит. Число раундов 16. Разработан группой специалистов во главе с Брюсом Шнайером. Являлся одним из пяти финалистов второго этапа конкурса AES. Алгоритм разработан на основе алгоритмов Blowfish, Safer и Square. Twofish разрабатывался специально с учетом требований и рекомендаций NIST для AES : В результате, алгоритм был реализован в виде смешанной сети Фейстеля с четырьмя ветвями, которые модифицируют друг друга с использованием криптопреобразования Адамара (Pseudo-Hadamar Transform, PHT).
dcterms:subject
создатель
  • группа специалистов во главе с Брюсом Шнайером
Ширина
  • 275
Название
  • Twofish
Изображение
  • Twofish.png
dbkwik:mind-control/property/wikiPageUsesTemplate
число раундов
  • 16
размер ключа
  • 256
размер блока
  • 128
abstract
  • Twofish — симметричный алгоритм блочного шифрования с размером блока 128 бит и длиной ключа до 256 бит. Число раундов 16. Разработан группой специалистов во главе с Брюсом Шнайером. Являлся одним из пяти финалистов второго этапа конкурса AES. Алгоритм разработан на основе алгоритмов Blowfish, Safer и Square. Отличительными особенностями алгоритма являются использование предварительно вычисляемых и зависящих от ключа S-box'ов и сложная схема развёртки подключей шифрования. Половина n-битного ключа шифрования используется как собственно ключ шифрования, другая — для модификации алгоритма (от неё зависят S-box'ы). Twofish разрабатывался специально с учетом требований и рекомендаций NIST для AES : * 128-битный блочный симметричный шифр * Длина ключей 128, 192 и 256 бит * Отсутствие слабых ключей * Эффективная программная (в первую очередь на 32-битных процессорах) и аппаратная реализация * Гибкость (возможность использования дополнительных длин ключа, использование в поточном шифровании, хэш-функциях и т. д.) * Простота алгоритма — для возможности его эффективного анализа Однако именно сложность структуры алгоритма и, соответственно, сложность его анализа на предмет слабых ключей или скрытых связей, а также достаточно медленное время выполнения по сравнению с Rijndael на большинстве платформ, сыграло не в его пользу. Алгоритм Twofish возник в результате попытки модифицировать алгоритм Blowfish для 128-битового входного блока. Новый алгоритм должен был быть легко реализуемым аппаратно (в том числе использовать таблицы меньшего размера), иметь более совершенную систему расширения ключа (key schedule) и иметь однозначную функцию F. В результате, алгоритм был реализован в виде смешанной сети Фейстеля с четырьмя ветвями, которые модифицируют друг друга с использованием криптопреобразования Адамара (Pseudo-Hadamar Transform, PHT). Возможность эффективной реализации на современных (для того времени) 32-битных процессорах (а также в смарт-картах и подобных устройствах) — один из ключевых принципов, которым руководствовались разработчики Twofish. Например, в функции F при вычислении PHT и сложении с частью ключа K намеренно используется сложение, вместо традиционного xor. Это дает возможность использовать команду LEA семейства процессоров Pentium, которая за один такт позволяет вычислить преобразование Адамара . (Правда в таком случае код приходится компилировать под конкретное значение ключа). Алгоритм Twofish не запатентован и может быть использован кем угодно без какой-либо платы или отчислений. Он используется во многих программах шифрования, хотя и получил меньшее распространение, чем Blowfish.