RKA (Related-key attack)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 13:43, 5 июня 2016.

Шаблон:Проверка+

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

Криптоанализ со связанными ключами похож на дифференциальный криптоанализ, но он изучает связь между ключами. Вскрытие отличается от любого из ранее рассмотренных: криптоаналитик выбирает связь между ключами, но сами ключи остаются ему неизвестными. Данные шифруются двумя ключами. В варианте с известным открытым текстом криптоаналитику известны открытый текст и шифротекст, шифрованных двумя ключами. В варианте с выбранным открытым текстом криптоаналитик пытается выбрать открытый текст, зашифрованный двумя ключами.

Такое вскрытие почти нереализуемо на практике.

Для начала стоит сказать о том, что весьма редко встречаются алгоритмы шифрования, которые используют ключ шифрования (или его фрагменты) в «чистом» виде (таким алгоритмом является, например, отечественный стандарт шифрования ГОСТ 28147-89 [10]). Подавляющее большинство алгоритмов шифрования выполняет существенную модификацию исходного ключа шифрования для его последующего использования в процессе преобразований. Такая модификация называется расширением ключа (key extension, key schedule); существуют примеры алгоритмов, в которых процедура расширения ключа является исключительно сложной по сравнению с собственно шифрованием.

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

,

где – количество раундов алгоритма шифрования.

Предположим также, что есть некий ключ , расширение которого дает следующую последовательность:

,

т.е. последовательность подключей, формируемая на основе ключа , циклически сдвинута относительна последовательности искомого ключа на 1 раунд.

Суть атаки состоит в следующем :

  • Снова предположим, что криптоаналитику известно пар открытых текстов и соответствующих им шифртекстов (зашифрованных на искомом ключе ), где – размер блока шифруемых данных в битах.
  • Кроме того, криптоаналитику известно столько же пар текстов , полученных уже с использованием ключа , связанного с приведенным выше соотношением.
  • Для каждого соотношения текстов и криптоаналитик решает систему уравнений:

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

Описанная выше атака на связанных ключах не выглядит практичной. Легко согласиться с тем, что она требует слишком большого количества предположений. Данная атака достаточно долго считалась достаточно мощной, но сугубо теоретической.

См. также

  1. Related-key Attack