4.2. Условие совершенной криптостойкости

Найдём оценку количества информации, которое содержит шифртекст $C$ относительно сообщения $M$:

$$ I(M; C) = H(M) - H(M | C). $$

Очевидны следующие соотношения условных и безусловных энтропий [114]:

gather* H(K|C)=H(K|C)+H(M|KC)=H(MK|C), H(MK|C)=H(M|C)+H(K|MC)H(M|C), H(K)H(K|C)H(M|C).

Отсюда получаем:

$$ I(M; C) = H(M) - H(M | C)\geq H(M)-H(K). $$

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

$$ H(M) \leq H(K).$$

Обозначим длины сообщения и ключа как $L(M)$ и $L(K)$ соответственно. Известно, что $H(M) \leq L(M)$ [114]. Равенство $H(M) = L(M)$ достигается, когда сообщения состоят из статистически независимых и равновероятных символов. Такое же свойство выполняется и для случайных ключей $H(K) \leq L(K)$. Таким образом, достаточным условием совершенной криптостойкости системы можно считать неравенство

$$ L(M) \leq L(K)$$

при случайном выборе ключа.

На самом деле сообщение может иметь произвольную (заранее неограниченную) длину. Поэтому генерация и главным образом доставка легальным пользователям случайного и достаточно длинного ключа становятся критическими проблемами. Практическим решением этих проблем является многократное использование одного и того же ключа при условии, что его длина гарантирует вычислительную невозможность любой известной атаки на подбор ключа.