Режимы работы Double DES и Triple DES
Аналогично «одинарному» алгоритму DES, Double DES и Triple DES могут быть использованы в различных режимах работы: ЕСВ, СВС, CFB и OFB. Однако, например, Triple DES выполняет три раздельных шифрования каждого блока, поэтому различные связи между шифруемыми блоками данных могут быть установлены после выполнения каждого элементарного шифрования обычным алгоритмом DES (это называется внутренним режимом), а не после завершения выполнения всех трех шифрований (для отличия от внутренних режимов классические режимы работы в применении к Double и Triple DES часто называют внешними).
Вариантов комбинирования режимов работы для получения различных внутренних режимов Double и Triple DES существует великое множество, например, Эли Бихам проанализировал криптостойкость 42 «двойных» и 258 «тройных» внутренних режимов работы. Однако в этой и ряде других работ доказано, что наибольшей криптостойкостью обладают внешние режимы работы, поэтому внутренние режимы использовать не рекомендуется.
Режим СВСМ выполняет не три шифрования на обработку одного блока данных, а четыре, поэтому его отнесение к Triple DES выглядит достаточно условным. «Лишнее» шифрование необходимо для выработки псевдослучайной последовательности масок, которые накладываются операцией XOR на результаты одного из зашифровываний и расшифровывания двухключевого Triple DES в варианте EDE. Третий подключ этого режима используется для получения маски.
Маскирующая последовательность не зависит ни от открытого текста, ни от шифртекста, поэтому маски могут быть вычислены предварительно и использоваться по мере необходимости.
В 1998 г. Эли Бихам и Ларе Кнудсен опубликовали работу, в которой сформулированы две атаки на Triple DES в режиме СВСМ:
атака с выбранным открытым текстом, использующая 265 пар блоков и требующая порядка 258 вычислений для нахождения ключа шифрования;
атака, позволяющая при известном векторе инициализации и наличии известного блока открытого текста и результатов его зашифровывания на 233 связанных ключах вычислить выполнением не более 257 операций зашифрования.
Там же предложено несколько вариантов усиления режима СВСМ для противостояния приведенным атакам, простейший из которых— использование четвертого подключа вместо повторного использования в третьем зашифровываний.
Режимы работы с маскированием существуют и для однократного и двукратного алгоритма DES, например, известный алгоритм Мэта Блейза представляет собой однократный DES в режиме ЕСВ, на который, аналогично режиму СВСМ, накладывается OFB-маска.
Алгоритм использует 112-битный ключ шифрования, половина которого используется для вычисления маскирующей последовательности.
Автор этого алгоритма посчитал, что, помимо решения проблемы короткого ключа DES, его алгоритм имеет ряд преимуществ, благодаря которым алгоритм идеально подходит для прозрачного шифрования файлов в операционных системах семейства UNIX. В своей работе Мэт Блейз дает множество рекомендаций по построению криптографически защищенной файловой системы CFS (Cryptographic File System) на основе его алгоритма. Однако была опубликована атака на этот алгоритм, требующая наличия всего двух блоков открытого текста и соответствующих им шифртекстов, причем при их зашифровывании использовалось одно и то же значение IV. При наличии этих данных достаточно выполнения 3*256 операций для вычисления ключа шифрования.
По материалам книги Сергея Панасенко «Алгоритмы шифрования»
Алгоритмы шифрования