Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Эл-ты_криптологии-лек.doc
Скачиваний:
24
Добавлен:
24.11.2019
Размер:
757.76 Кб
Скачать

2.2.4. Расстояние единственности шифра с секретным ключом

Рассмотрим традиционную схему шифрования, когда случайный процесс – это сообщение М = m1 m2 mn в заданном алфавите А; зашифрованное сообщение С = с1 с2 сn в том же алфавите – это другой случайный процесс. Отправитель сообщения (A) и получатель (R) знают секретный ключ K, который может принимать значение из множества {K1, ..., Kt}. Для понимания дальнейшего следует учитывать, что ключ K также можно рассматривать как случайный процесс.

Прежде чем определить общее понятие, рассмотрим конкретный пример.

Пусть источник порождает буквы из алфавита А = {a, b, c} с вероятностями Р(a) = 0,8; Р(b) = 0,15; Р(c) = 0,05. Пусть ключами являются подстановки следующего вида:

K1 : ; K2 : ; K3 : ;

K4 : ; K5 : ; K6 = ;

Интерпретация ключа такова: Ki это есть последовательность (d 1i, d 2i, d 3i), где d ji – символ, который подставляется вместо очередного символа открытого сообщения, если этот последний является j-м символом алфавита А = {a, b, c}. Соответственно, вероятностным следует считать, также и процесс выбора ключа Ki в целом.

Пусть криптоаналитик-противник перехватил следующее зашифрованное сообщение С = сссbс и пытается определить значение ключа. Определим апостериорные вероятности различных ключей, пользуясь формулой Байеса, в которой отдельные сообщения С и отдельные значения ключа рассматриваются как случайные события, причем события K1, ..., K6 попарно несовместны:

Р(Ki | C) = , i=1,...,t, (2.23)

Сначала оценим условные вероятности зашифрованных сообщений:

P(С | K1) = P(M = сссbc) = 0,0540,15  0,00001;

P(С | K2) = P(M = bbbсb) = 0,1540,05  0,00003;

P(С | K3) = P(M = сссac) = 0,0540,8  0,00005;

P(С | K4) = P(M = bbbab) = 0,1540,8  0,000405;

P(С | K5) = P(M = aaaca) = 0,840,05  0,02048;

P(С | K6) = P(M = aaaba) = 0,840,15  0,06144.

Полагая, что все ключи равновероятны: P(Ki) = 1/6, i=1,...,6, и применяя формулу (2.23), определим апостериорную вероятность ключа K1 :

Рапост(K=K1) = Р(K1 | C)  0,00012.

Аналогично:

Рапост(K=K5) = Р(K5 | C)  0,25;

Рапост(K=K6) = Р(K6 | C)  0,75.

Апостериорные вероятности остальных ключей менее 0,001.

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

Это же определение в терминах энтропии можно переформулировать так. С учетом определения понятия информационной энтропии и ее интерпретации как меры неопределенности, получим, что если на основе анализа перехваченного сообщения C противник практически достоверно определил каким конкретным значением ключа K пользовался отправитель, то соответствующее апостериорное значение энтропии H(K | C) должно быть близко к нулю (неопределенность практически исчезла).

Теорема 2.6. Пусть рассматривается криптосистема с секретным ключом. Пусть R – избыточность шифруемого сообщения, H(K) – энтропия ключа, принятого при шифровании, а n – расстояние единственности шифра, то есть при длине сообщения, не меньшей n, апостериорная энтропия H(K | C)  0. Тогда справедливо неравенство

nH(K)/R. (2.24)

Д о к а з а т е л ь с т в о.

Мы не будем рассматривать строгое доказательство. Изложим только его основную идею.

Пусть противник перехватив шифртекст С = с1 с2 сn, однозначно определил ключ, а значит, и восстановил исходное открытое сообщение М = m1 m2 mn. Это означает, что неопределенность противника уменьшилась на величину H(K) + H(М). Отметим, что при этом он использовал n букв из r-буквенного алфавита А = {a1, ..., ar}.

Используем тот факт, что максимальное значение однобуквенной энтропии в пределе (при n) равна logr (см. теорему 2.5 и текст после нее). Следовательно, неопределенность противника не может уменьшиться больше, чем на nlogr. Таким образом:

nlogrH(K) + H(М)  n(logrH(М)/n)  H(K),

следовательно:

nH(K)/(logrH(М)/n). (2.25)

Если в качестве оценки однобуквенной энтропии H(K)/n принять предельную оценку h, то, с учетом (2.22) получим:

nH(K)/R.

Комментарии.

1). В соответствии с теоремой, если избыточность сообщения R = 0, то ключ не может быть определен ни при какой длине сообщения.

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

3). Если предположить, что противник имеет возможность перехватывать все зашифрованные сообщения, то все их в совокупности можно рассматривать, как единое сообщение постепенно возрастающей длины. Тогда лучше использовать криптосистему, в которой ключ меняется задолго до того, как длина указанного единого сообщения превысит расстояние единственности.

В качестве примера определим расстояние единственности n для шифра, рассмотренного в предыдущем примере. Для упрощения вычислений будем считать логарифмы по основанию е. В соответствии со структурой формулы (2.25) это не изменит значения n.

C учетом равновероятности всех значений ключа имеем H(K) = log6 = 1,79. Предполагая, что процесс порождения исходного сообщения – без памяти, с учетом (2.17) и (2.11), получим, что однобуквенная энтропия источника сообщений равна Н  0,61. Поэтому (см. (2.25)) имеем

n  1,79/(log3  0,61) = 3,6.

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

Рассмотрим более сложный пример. Пусть имеется источник открытых сообщений с памятью, а именно, марковский источник. То есть, вероятность появления очередного символа зависит только от предыдущего символа. Алфавит А = {a, b, c} и алгоритм шифрования то же, что и в предыдущих примерах, то есть имеем шесть вариантов подстановочных ключей. Источник описывается следующей матрицей однократных переходов:

Р = =

Пусть перехвачен шифрованный текст С = bbacbac.

По матрице переходов видно, что сочетание aa в открытом тексте невозможно, а сочетание bb маловероятно, следовательно, скорее всего, первая пара букв соответствует в открытом тексте сочетанию cc, то есть при шифровании использована подстановка cb. Тогда сочетание ac в шифрованном тексте соответствует в исходном тексте либо паре ab, либо паре ba. По матрице видно, что сочетание ba невозможно, следовательно, это ab. Поэтому при шифровании использована перестановка K2.

На этом примере видно, что взаимная зависимость символов в открытом тексте действительно увеличивает избыточность и, соответственно, уменьшает стойкость шифра: наличие зависимости равносильно запрету на некоторые буквосочетания (слова), а это и есть избыточность словаря – имеются лишние (запрещенные) слова.