Treefish

Treefish
Threefish
Создатель:

Брюс Шнайер

Создан:

2008 г.

Опубликован:

2008 г.

Размер ключа:

256/512/1024 бит

Размер блока:

256/512/1024 бит

Число раундов:

72 (80 при ключе 1024 бит)

Тип:

Подстановочно-перестановочная сеть

Threefish — в криптографии симметричный блочный криптоалгоритм, разработанный автором Twofish, американским криптографом Брюсом Шнайером в 2008-м году для использования в хэш-функции 64-разрядные процессоры.

Содержание

Структура алгоритма

Четыре из 72 раундов алгоритма Threefish-512

Threefish имеет очень простую структуру и может быть использован для замены алгоритмов блочного шифрования, будучи быстрым и гибким шифром, работающим в произвольном режиме шифрования. Threefish S-блоки не использует, основан на комбинации инструкций исключающего или, сложения и циклического сдвига.

Как и AES, шифр реализован в виде подстановочно-перестановочной сети на обратимых операциях, не являясь шифром сети Фейстеля.

Алгоритм предусматривает использование tweak-значения, своего рода вектора инициализации, позволяя изменять таким образом значение выхода, без изменения ключа, что имеет положительный эффект как для реализации новых режимов шифрования, так и на криптостойкости алгоритма.

Как результат мнения авторов, что несколько сложных раундов зачастую хуже применения большого числа простых раундов, алгоритм имеет нетрадиционно большое число раундов - 72 или 80 при ключе 1024 бит, однако, по заявлению создателей, его скоростные характеристики опережают AES примерно в два раза. Стоит заметить, что по причине 64-битной структуры шифра, данное заявление имеет местно лишь на 64-разрядной архитектуре. Поэтому, Threefish, как и [1], основанный на нем, на 32-разрядных процессорах показывает значительно худшие результаты чем на «родном» оборудовании.

Ядром шифра является простая функция «MIX», преобразующая два 64-битных беззнаковых числа, в процессе которой происходит сложение, циклический сдвиг (ROL/ROR), и сложение по модулю 2 (XOR).

Ниже представлен код MIX-функции для Threefish-1024[2]:

// Константы для циклического сдвига
 
int R16[8][8] =
{
   { 55, 43, 37, 40, 16, 22, 38, 12 },
   { 25, 25, 46, 13, 14, 13, 52, 57 },
   { 33,  8, 18, 57, 21, 12, 32, 54 },
   { 34, 43, 25, 60, 44,  9, 59, 34 },
   { 28,  7, 47, 48, 51,  9, 35, 41 },
   { 17,  6, 18, 25, 43, 42, 40, 15 },
   { 58,  7, 32, 45, 19, 18,  2, 56 },
   { 47, 49, 27, 58, 37, 48, 53, 56 },
};
 
 
// d - раунд, j - индекс в таблице циклического сдвига
 
void mix(int j, int d)
{
   usigned long long rotl;
 
   y[0]  = x[0] + x[1];
   rotl  = R16[d % 8][j];
   y[1]  = (x[1] << rotl) | (x[1] >> (64 - rotl));
   y[1] ^= y[0];
}

Процедура расшифрования обратна процедуре зашифрования и содержит обратную функцию DEMIX.

Каждый из 72 раундов Threefish-256 и Threefish-512 имеет четыре MIX преобразования, Threefish-1024 - восемь обращений к MIX функции.

Безопасность

По заявлению авторов, алгоритм имеет более высокий уровень безопасности, чем AES. Существет атака на 25 из 72 раундов Threefish, в то время как для AES - на 6 из 10. Threefish имеет показатель фактора безопасности 2.9, в свою очередь, AES всего 1.7[3]

Для достижения полной диффузии, шифру Threefish-256 достаточно 9 раундов, Threefish-512 - 10 раундов и Threefish-1024 - 11 раундов. Исходя из этого, 72 и 80 раундов соответственно в среднем, обеспечат лучшие результаты, чем существующие шифры.[4]

В то же время, алгоритм имеет гораздо более простую структуру и функцию преобразования, однако выполнение 72-80 раундов, по мнению исследователей, обеспечивает неоходимую стойкость. Применяемый размер ключа от 256 до 1024 бит сводит на нет возможность полного перебора паролей при так называемой атаке грубой силой (brute force attack) на современном оборудовании.

Ссылки

См. также

Примечания

  1. SHA-512 и входит в пятерку наиболее быстрых хэш-функций-кандидатов SHA-3 на 64-битной архитектуре
  2. Исходный код Threefish-1024 на языке C и на языке Delphi
  3. Информация по шифру в статье „The Skein Hash Function“
  4. The Skein Hash Function Family (англ.)

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Treefish" в других словарях:

  • Treefish — Taxobox name = Treefish image width = 250px image caption = At Coronados Islands, Mexico regnum = Animalia phylum = Chordata classis = Actinopterygii ordo = Scorpaeniformes familia = Sebastidae genus = Sebastes species = S. serriceps binomial =… …   Wikipedia

  • treefish — /tree fish /, n., pl. treefishes, (esp. collectively) treefish. a rockfish, Sebastes serriceps, of waters off southern California, marked with black bands. [1880 85, Amer.; TREE + FISH] * * * …   Universalium

  • treefish — ˈ ̷ ̷ˌ ̷ ̷ noun : a California rockfish (Sebastodes serriceps) that is olive to blackish above, shades to yellow below, and is marked with transverse black bands * * * /tree fish /, n., pl. treefishes, (esp. collectively) treefish. a rockfish,… …   Useful english dictionary

  • List of fish common names — This is a list of fish common names. While some common names refer to a single species or family, others have been used for a confusing variety of different types; the articles listed here should explain the possibilities if the name is ambiguous …   Wikipedia

  • Sebastes — Taxobox name = Sebastes fossil range = Early Oligocene to Present [cite journal last = Sepkoski first = Jack authorlink = coauthors = title = A compendium of fossil marine animal genera journal = Bulletins of American Paleontology volume = 364… …   Wikipedia

  • Santa Monica Pier Aquarium — The Santa Monica Pier Aquarium is located beneath the famous Santa Monica Pier. Date opened 1996 Location Santa Monica, California, USA …   Wikipedia

  • Songs of Time — Infobox Album Name = Songs of Time Type = soundtrack Artist = Spencer Nilsen Released = September 3, 1996 Recorded = Genre = Electronica Length = 64:17 Label = Producer = SegaSoft Reviews = Last album = This album = Next album = Songs of Time is… …   Wikipedia

  • Ecco the Dolphin (série) — Pour les articles homonymes, voir Ecco. Ecco the Dolphin est une série de jeux d aventure éditée par Sega et créée par E. Ettore Ed Annunziata, mettant en scène un dauphin dans son univers marin. Dans cet univers proche du nôtre, inspiré du roman …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»