Опубликован: 02.03.2017 | Доступ: свободный | Студентов: 2512 / 557 | Длительность: 21:50:00
Лекция 6:

Классические шифры

6.1 Математические модели открытого текста

([1], §2.5])

Потребность в математических моделях открытого текста продиктована, прежде всего, следующими соображениями. Во-первых, даже при отсутствии ограничений на временные и материальные затраты по выявлению закономерностей, имеющих место в открытых текстах, нельзя гарантировать того, что такие свойства указаны с достаточной полнотой. Например, хорошо известно, что частотные свойства текстов в значительной степени зависят от их характера. Поэтому при математических исследованиях свойств шифров прибегают к упрощающему моделированию, в частности, реальный открытый текст заменяется его моделью, отражающей наиболее важные его свойства. Во-вторых, при автоматизации методов криптоанализа, связанных с перебором ключей, требуется "научить" ЭВМ отличать открытый текст от случайной последовательности знаков. Ясно, что соответствующий критерий может выявить лишь адекватность последовательности знаков некоторой модели открытого текста.

Один из естественных подходов к моделированию открытых текстов связан с учетом их частотных характеристик, приближения для которых можно вычислить с нужной точностью, исследуя тексты достаточной длины. Основанием для такого подхода является устойчивость частот k-грамм или целых словоформ реальных языков человеческого общения (то есть отдельных букв, слогов, слов и некоторых словосочетаний). Основанием для построения модели может служить также и теоретико-информационный подход, развитый в работах К. Шеннона.

Учет частот k-грамм приводит к следующей модели открытого текста. Пусть P^{(k)}(A) представляет собой массив, состоящий из приближений для вероятностей p(b_1,b_2,\ldots,b_k) появления k-грамм b_1b_2\ldots b_k в открытом тексте, k\in \mathbb{N}, A=\{a_1,a_2,\ldots,a_n\} - алфавит открытого текста, b_i\in A$, $i=1,2,\ldots,k.

Тогда в последовательности c_1,c_2,\ldots,c_k,c_{k+1},\ldots знаков алфавита A, генерируемой источником "открытого текста", k-грамма c_1c_2\ldots c_k появляется с вероятностью p(c_1,c_2,\ldots,c_k)\in P^{(k)}(A), k-грамма c_1,c_2\ldots,c_k,c_{k+1} появляется с вероятность p(c_2,c_3,\ldots,c_{k+1})\in P^{(k)}(A). и т. д. Назовем построенную модель открытого текста вероятностной моделью k-го приближения.

Таким образом, простейшая модель открытого текста - вероятностная модель первого приближения - представляет собой последовательность знаков c_1,c_2,\ldots, в которой каждый знак c_i, i=1,2,\ldots появляется с вероятностью p(c_i)\in P^{(1)}(A), независимо от других знаков. Будем называть также эту модель позначной моделью открытого текста. В такой модели открытый текст c_1c_2\ldots c_l имеет вероятность

p(c_1c_2\ldots c_l)=\prod\limits_{i=1}^l p(c_i).

В вероятностной модели второго приближения первый знак c_1 имеет вероятность p(c_1)\in P^{(1)}(A), а каждый следующий знак c_i зависит от предыдущего и появляется с вероятностью

p(c_i/c_{i-1})=\frac{p(c_{i-1} c_i)}{p(c_{i-1})},

где p(c_{i-1}c_i)\in P^{(2)}(A), p(c_{i-1})\in P^{(1)}(A), i=2, 3,\ldots.

Другими словами, модель открытого текста второго приближения представляет собой простую однородную цепь Маркова. В такой модели открытый текст c_1c_2\ldots c_l имеет вероятность

p(c_1c_2\ldots c_l) = p(c_1)\cdot \prod\limits_{i=2}^l p(c_i/c_{i-1}).

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

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

6.1.1 Критерии распознавания открытого текста

Заменив реальный открытый текст его моделью, мы можем теперь построить критерий распознавания открытого текста. При этом можно воспользоваться либо стандартными методами различения статистических гипотез, либо наличием в открытых текстах некоторых запретов, таких, например, как биграмма ЪЪ в русском тексте. Проиллюстрируем первый подход при распознавании позначной модели открытого текста.

Итак, согласно нашей договоренности, открытый текст представляет собой реализацию независимых испытаний случайной величины, значениями которой являются буквы алфавита A=\{a_1,\ldots, a_n\}, появляющиеся в соответствии с распределением вероятностей P^{(1)}(A)=(p(a_1),\ldots,p(a_n)). Требуется определить, является ли случайная последовательность c_1c_2\ldots c_l букв алфавита A открытым текстом, или нет.

Пусть H_0 - гипотеза, состоящая в том, что данная последовательность - открытый текст, H_1 - альтернативная гипотеза. В простейшем случае последовательность c_1c_2\ldots c_l можно рассматривать при гипотезе H_1 как случайную и равновероятную. Эта альтернатива отвечает субъективному представлению о том, что при расшифровании криптограммы с помощью ложного ключа получается "бессмысленная" последовательность знаков. В более общем случае можно считать, что при гипотезе H_1 последовательность c_1c_2\ldots c_l представляет собой реализацию независимых испытаний некоторой случайной величины, значениями которой являются буквы алфавита A, появляющиеся в соответствии с распределением вероятностей Q^{(1)}(A)=(q(a_1),\ldots,q(a_n)). При таких договоренностях можно применить, например, наиболее мощный критерий различения двух простых гипотез, который дает лемма Неймана-Пирсона.

В силу своего вероятностного характера такой критерий может совершать ошибки двух родов. Критерий может принять открытый текст за случайный набор знаков. Такая ошибка обычно называется ошибкой первого рода, ее вероятность равна \alpha=p(H_1/H_0). Аналогично вводится ошибка второго рода и ее вероятность \beta=p(H_0/H_1). Эти ошибки определяют качество работы критерия. В криптографических исследованиях естественно минимизировать вероятность ошибки первого рода, чтобы не "пропустить" открытый текст. Лемма Неймана-Пирсона при заданной вероятности первого рода минимизирует также вероятность ошибки второго рода.

Критерии на открытый текст, использующие запретные сочетания знаков, например k-граммы подряд идущих букв, будем называть критериями запретных k-грамм. Они устроены чрезвычайно просто. Отбирается некоторое число s редких k-грамм, которые объявляются запретными. Теперь, просматривая последовательно k-грамму за k-граммой анализируемой последовательности c_1c_2\ldots c_l, мы объявляем ее случайной, как только в ней встретится одна из запретных k-грамм, и открытым текстом в противном случае. Такие критерии также могут совершать ошибки в принятии решения. В простейших случаях их можно рассчитать. Несмотря на свою простоту, критерии запретных k-грамм являются весьма эффективными.

Евгений Шаров
Евгений Шаров

как начать заново проходить курс, если уже пройдено несколько лекций со сданными тестами?

Юлия Мышкина
Юлия Мышкина

Обучение с персональным тьютором осуществляется по Скайпу или посредством переписки?