Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[84]

вертывание ключа и проверить, нет ли в S-одинаковых элементов Хотя я не думаю, что это так уж необходимо

Мне неизвестно об успешном криптоанализе Blowfish Для безопасности не реализуйте Blowfish с умен ь-шенным числом этапов

Kent Marsh Ltd встроила Blowfish в свой продукт обеспечения безопасности FolderBolt, предназначенный для Microsoft Windows и Macintosh Алгоритм также входит в Nautilus и PGPfone

14.4 SAFER

SAFER K-64 означает Secure And Fast Encryption Routine with a Key of 64 bits - Безопасная и быстрая проц е-дура шифрования с 64-битовым ключом [1009] Этот не являющийся частной собственностью алгоритм, разр а-ботанный Джеймсом Массеем (James Massey) для Cylink Corp используется в некоторых из продуктов этой компании Правительство Сингапура собирается использовать этот алгоритм - с 128-битовым ключом [1010] -для широкого спектра приложение Его использование не ограничено патентом, авторскими правами или др у-гими ограничениями

Алгоритм работает с 64-битовым блоком и 64-битовым ключом В отличие от DES он является не сетью Фейстела (см раздел 14Л0), а итеративным блочным шифром: для некоторого количества этапов применяется одна и та же функция На каждом этапе используются два 64-битовых подключа Алгоритм оперирует только байтами

Описание SAFER K-64

Блок открытого текста делится на восемь байтовых подблоков: B1, B2, • • • , B7, B8• Затем подблоки обрабатываются в ходе r этапов Наконец подблоки подвергаются заключительному преобразованиях На каждом этапе используется два подключа: K2r-1 и К2

На Рис 14-4 показан один этап SAFER K-64 Сначала над подблоками выполняется либо операция XOR, л ибо сложени с байтами подключа К2г-Ь Затем восемь подблоков подвергаются одному из двух нелинейных пр е-образований:

y = 45х mod 257 (Если x = 0, то y = 0/)

y = log45 (Если х = 0, то y = 0z)


Вход этапа (8 байтов) 1 2 3 4 5 6 7 8

xor add add xor xor add add xor 1 K2i-i

add xor xor add add xor xor

1 2 3 4 5 6 7 8 Выход этапа (8 байтов)

Рис. 14-4. Один этап SAFER.

Это операции в конечном поле GF(257), а 45 - элемент поля, являющийся примитивом. В реализациях SAFER K-64 быстрее выполнять поиск в таблице, чем все время рассчитывать новые результаты.

Затем подблоки либо подвергаются XOR, либо складываются с байтами подключа K2r. Результат этого действия проходит через три уровня линейных операций, целью которых является увеличение лавинного эффекта. Каждая операция называется псевдоадамаровым преобразованием (Pseudo-Hadamard Transform, PHT). Если на входе PHT a1 и a2, то на выходе:

b1 = (2a1 + a2) mod 256

b2 = (a1 + a2) mod 256

После r этапов выполняется заключительное преобразование. Оно совпадает с преобразованием, являющи м-ся первым действием каждого этапа. Над B1, B4, B5 и B8 выполняется XOR с соответствующими байтами последнего подключа, а B2, B3, B6 и B7 складываются с соответствующими байтами последнего подключа. В р е-зультате и получается шифротекст.

Дешифрирование представляет собой обратный процесс: сначала заключительное преобразование (с выч и-танием вместо сложения), затем r инвертированных этапов. Обратное PHT (Inverse PHT, IPHT) - это:

a1 = (b1 - b2) mod 256

a2 = (-b1 + 2b2) mod 256

Массей рекомендует использовать 6 этапов, но для большей безопасности количество этапов можно увел и-чить.

Генерировать подключи совсем не трудно. Первый подключ, K1, - это просто ключ пользователя. Последующие ключи генерируются в соответствии со следующей процедурой:

K+1 = (K <<<3i) + с

Символ "<<<" обозначает циклический сдвиг налево. Сдвиг выполняется побайтно, а с,- является константой этапа. Если Су - это у-ый байт константы ,-го этапа, то можно рассчитать все константы этапов по следующей


формуле

Обычно эти значения хранятся в таблице SAFER K-128

Этот альтернативный способ использования ключа был разработан Министерством внутренних дел Синг а-пура, а затем был встроен Массеем в SAFER [1010] В этом способе используются два ключа, Ка и Kb, по 64 бита каждые Прием состоит в том, чтобы генерировать параллельно две последовательности подключей, а затем чередовать подключи из каждой последовательности Это означает, что при выборе Ка = Kb 128-битовый ключ совместим с 64-битовым ключом Ка

Безопасность SAFER K-64

Массей показал, что SAFER K-64 после 6 этапов абсолютно защищен от дифференциального криптоанализа после 8 этапов и достаточно безопасен Уже после 3 этапов против этого алгоритма становится неэффективным и линейный криптоанализ [1010]

Кнудсен (Knudsen) обнаружил слабое место в распределении ключей: практически для каждого ключа сущ е-ствует не меньше одного (а иногда даже девять) другого ключа, который при шифровании какого-то другого открытого текста превращает его в тот же шифротекст [862] Число различных открытых текстов, которые шифруются одинаковыми шифротекстами, находится в промежутке от 2 22 до 228 Хотя такое вскрытие не может повлиять на безопасность SAFER как алгоритма шифрования, оно значительно уменьшает его надежность при использовании в качестве однонаправленной хэш-функции В любом случае Кнудсен рекомендует использовать не меньше 8 этапов

SAFER был спроектирован для Cylink, а Cylink были предъявлены различные обвинения со стороны NSA [80] Я рекомендовал бы потратить несколько лет на интенсивный криптоанализ прежде, чем как-либо испол ь-зовать SAFERz

14.5 3-WAY

3-Way - это блочный шифр, разработанный Джоном Дэйменом (Joan Daemen) [402, 410] Он использует блок и ключ длиной 96 бит, и его схема предполагает очень эффективную аппаратную реализациях

3-Way является не сетью Фейстела, а итеративным блочным шифром У 3-Way может быть n этапов, Дэ й-мен рекомендует 1L

Описание S-Way

Этот алгоритм описать несложно Для шифрования блока открытого текста x: For i = 0 to n - 1

x = x XOR К x = theta (x) x = pi - 1 (x) x = gamma (x) x = pi - 2 (x) x = x © Кп+1 x = theta (x) При этом используются следующие функции:

-theta(x) - функция линейной подстановки, в основном набор циклических сдвигов и XORz

-pi - 1 (х) и pi - 2 (х) - простые перестановки

-gamma (х) - функция нелинейной подстановка Именно это действие и дало имя всему алгоритму, оно представляет собой параллельное выполнение подстановки 3-битовых данных

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

Пока об успешном криптоанализе 3-Way неизвестно Алгоритм незапатентован



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120] [стр.121] [стр.122] [стр.123] [стр.124] [стр.125] [стр.126] [стр.127] [стр.128] [стр.129] [стр.130] [стр.131] [стр.132] [стр.133] [стр.134] [стр.135] [стр.136] [стр.137] [стр.138] [стр.139] [стр.140] [стр.141] [стр.142] [стр.143] [стр.144] [стр.145] [стр.146] [стр.147] [стр.148] [стр.149] [стр.150] [стр.151] [стр.152] [стр.153] [стр.154] [стр.155] [стр.156] [стр.157] [стр.158] [стр.159] [стр.160] [стр.161] [стр.162] [стр.163] [стр.164] [стр.165] [стр.166] [стр.167] [стр.168] [стр.169] [стр.170] [стр.171] [стр.172] [стр.173] [стр.174] [стр.175] [стр.176] [стр.177] [стр.178] [стр.179] [стр.180] [стр.181] [стр.182] [стр.183] [стр.184] [стр.185] [стр.186] [стр.187] [стр.188] [стр.189] [стр.190] [стр.191] [стр.192] [стр.193] [стр.194] [стр.195] [стр.196] [стр.197] [стр.198] [стр.199] [стр.200] [стр.201] [стр.202] [стр.203]