- •Оглавление
- •ВВЕДЕНИЕ
- •1.1. Предмет криптографии и основные определения
- •1.2. Математические основы криптографии
- •1.3. Математическая модель шифра
- •1.4. Классификация шифров
- •1.5. Обзор истории криптографии
- •Появление шифров
- •Становление криптографии как науки
- •Криптография в Новое время
- •Научная криптология
- •2.1. Понятие подстановки
- •2.2. Математическая модель шифра подстановок
- •2.3. Сравнимость
- •2.4. Примеры классических шифров подстановок
- •2.5. Математическая модель шифра перестановок
- •2.6. Маршрутные перестановки как пример шифра перестановок
- •ГЛАВА 3 Характеристики открытых текстов. Вероятностный подход
- •3.2. Вероятностный подход к анализу текстов
- •Частоты букв европейских языков, в %
- •Частоты символов русского языка, в %
- •Сочетаемость букв русского языка
- •Чередование гласных и согласных для текста длиной 105 знаков
- •Буква
- •Буква
- •4.1. Теоретико-информационный подход к анализу текстов
- •4.2. Комбинаторный подход к анализу текстов
- •Современные симметричные криптосистемы
- •5.1. Математическая модель шифра замены
- •5.2. Классификация шифров замены
- •ГЛАВА 6 Принципы построения симметричных шифров
- •6.1. Принципы построения поточных шифров
- •6.2. Принципы построения блочных шифров
- •ГЛАВА 7 Математические основы асимметричной криптографии
- •7.1. История и основные определения асимметричной криптографии
- •7.2. Основы теории простых чисел
- •7.3. Функция Эйлера
- •ГЛАВА 8 Теоремы асимметричной криптографии и алгоритм RSA
- •8.1. Основные теоремы асимметричной криптографии
- •8.2. Алгоритм RSA
- •9.1. Задачи асимметричной криптографии
- •10.1. Понятие электронной подписи
- •10.2. Алгоритм электронной подписи на основе алгоритма RSA
- •ГЛАВА 11 Управление криптографическими ключами
- •11.1. Задачи управления криптографическими ключами
- •11.2. Генерация ключей
- •11.3. Хранение ключей
- •Заключение
- •Список рекомендованной литературы
ГЛАВА 4 Характеристики открытых текстов.
Теоретико-информационный и комбинаторный подходы
Теоретико-информационный подход к анализу текстов. Комбинаторный подход к анализу текстов.
4.1. Теоретико-информационный подход к анализу текстов
Свойства текстов, более глубокие, чем были рассмотрены в предыдущей лекции, изучаются методами теории информации. Основы этой научной дисциплины были заложены Клодом Шенноном и в какой-то степени продолжают исследования Маркова, которые сразу после своего появления не нашли практического применения.
Основное положение теории информации состоит в том, что в каждом сообщении содержится определенная информация для получателя, количество которой можно измерить.
Рассмотрим алфавит AN мощности N и определим источник сообщений U на этом алфавите следующим образом.
Пусть источник сообщений U генерирует символы сообщения u1, u2, …, uN случайным образом независимо друг от друга. Вероятность того, что
будет сгенерирован символui, в этом случае равна |
1 |
для любогоi = 1, …, N. |
|||||||||||||||||
N |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Таким образом, источник сообщений U можно описать в виде дис- |
|||||||||||||||||||
кретного вероятностного распределения: |
|
|
|||||||||||||||||
|
ui |
|
u1 |
|
|
u2 |
|
|
… |
|
uN |
|
|
||||||
|
|
|
|
|
|
|
|||||||||||||
|
pi |
|
1 |
|
|
1 |
|
|
… |
|
1 |
|
|
|
|
||||
|
|
|
|
N |
|
|
|
N |
|
|
|
|
|
N |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где pi – вероятность генерирования символа ui.
Так как вероятности появления всех символов равны и не зависят от предыдущих, нам неизвестно, какой символ будет сгенерирован следующим. В этом состоит неопределенность источника сообщений.
38
Но как только очередной символ сгенерирован, мы получаем информацию о том, какой это символ, и неопределенность исчезает. То есть в количественном выражении информации появляется ровно столько, сколько исчезает неопределенности.
Основной постулат теории информации гласит:
Количество информации равно исчезнувшей неопределенности.
Следовательно, для измерения количества информации можно пользоваться теми же методами, что и для измерения неопределенности.
Мерой неопределенности служит энтропия. Теория информации заимствует у теоретической физики это понятие для измерения неопределенности источника сообщений или количества информации, что есть то же самое.
Энтропией источника сообщений называется количество информа-
ции, заключенное в одном символе. Ее можно выразить функцией от ка- кой-либо независимой переменной. Единственной независимой переменной величиной источника сообщений является мощность алфавита N, поэтому обозначим энтропию H (N).
Функция H (N) должна удовлетворять трем условиям.
1.Чем больше мощность алфавита, тем меньше вероятность N1 по-
явления того или иного символа, следовательно, тем больше не-
определенность того, какой символ будет сгенерирован. То есть функция H (N) должна быть монотонно возрастающей.
Если N1 > N2 , то H (N1 )> H (N2 ).
2.Если мощность алфавита равна 1, то в любой момент источником может быть сгенерирован только один символ, никакой неопределенности нет, следовательно, энтропия равна 0.
H (1)= 0.
3.Пусть имеются два независимых источника сообщений с алфавитами N1 и N2 , которые генерируют по одному символу одновременно. В результате генерируются пары символов, энтропия которых складывается из энтропии каждого отдельного символа. В то же время мощность алфавита нового составного источника со-
39
общений равна N1 N2 . Таким образом, функция H должна удовлетворять условию
H (N1 N2 )= H (N1 )+ H (N2 ).
Можно доказать, что единственной функцией, удовлетворяющей всем трем свойствам, является логарифм. Его мы и примем в качестве меры количества информации источника сообщений с алфавитом мощности N и равновероятными независимыми символами:
H (N )= log N .
Осталось выбрать основание логарифма. Оно будет играть роль своеобразной единицы измерения энтропии.
Введем минимально возможную единицу измерения энтропии – бит. Будем рассматривать бит как позицию для записи одного из символов 0 или 1. Очевидно, что каждый символ алфавита несет ровно столько информации, сколько бит требуется для его записи. Обозначим x – число битовых позиций, необходимых для записи N символов алфавита. Тогда
N = 2x .
Решая это уравнение относительно x, получим: x = log2 N ,
то есть количество информации в символе или энтропия источника сообщений U равно log2 N .
Так как мы провели только начальный шаг построений, разобравшись с простейшим источником сообщений, обозначим построенную функцию H0 :
H 0 (N )= log2 N .
На следующем шаге рассмотрим простую позначную модель источника сообщений. Генерируемые символы остаются независимыми, но вероятности их различны:
ui u1 u2 … uN
pi p1 p2 … pN
40
В этом случае мы не можем сразу же воспользоваться в качестве независимой переменной мощностью алфавита, поэтому построим по аналогии с предыдущим шагом функцию, определяющую количество информации в каждом фиксированном символе:
h(ui )= log2 1 , i=1,…, N. pi
Энтропию источника будем понимать как среднее значение количества информации в каждом символе. Как известно из теории вероятностей, среднее значение случайной величины выражается математическим ожиданием. В нашем случае случайной величиной является количество информации в одном символе h(ui ). Применяя формулу вычисления математического ожидания, получим энтропию простого позначного источника сообщений, которую обозначим H1(N):
H1 (N )= ∑N |
pi log2 |
1 |
. |
|
|||
i =1 |
|
pi |
|
Можно проверить, что H0 (N) |
является частным случаем H1(N). |
||
Действительно, подставив в формулу для H1(N) в качестве pi одинаковые
значения 1 для каждого i, получим:
N
N |
|
1 |
N |
1 |
|
1 |
|
|
H1 (N )= ∑pi |
log2 |
= ∑ |
log2 N = N |
log2 N = log2 N = H 0 (N ). |
||||
pi |
N |
N |
||||||
i =1 |
|
i =1 |
|
|
На третьем шаге рассмотрим биграммную модель источника сообщений, которая предполагает, что каждый сгенерированный символ зависит от предыдущего. Определить такой источник можно, используя матрицу биграмм, в ячейках которой расположены вероятности появления биграмм в тексте.
|
u1 |
|
u2 |
|
… |
|
uN |
|
|
|
|
||||
u1 |
p11 |
|
p12 |
|
… |
|
p1N |
u2 |
p21 |
|
p22 |
|
… |
|
p2N |
… |
… |
|
… |
|
… |
|
… |
uN |
pN1 |
|
pN2 |
|
… |
|
pNN |
41
По аналогии с предыдущими шагами определяем количество информации в биграмме:
h(ui uj )= log2 1 .
pij
Однако не следует забывать, что h(uiu j ) – количество информации,
приходящееся не на один символ, а на два.
Энтропию источника сообщений, которую обозначим H2 (N), строим, используя формулу математического ожидания:
H 2 (N )= ∑N |
pij log2 |
1 |
. |
|
|||
i, j =1 |
|
pij |
|
Для того чтобы получить количество информации на один символ, разделим H2 (N) на 2:
H2 (N). 2
Продолжая рассматривать источники сообщений, которые генерируют символы в зависимости от двух предыдущих, трех предыдущих и так далее, получим функциональную последовательность
H |
(N),H2 (N),H3(N),H4 (N),... |
||||
|
1 |
2 |
3 |
4 |
. |
|
|
|
|||
Можно доказать, что эта последовательность стремится к некоторому пределу, который мы и назовем энтропией языка:
H L (N )= lim H kk(N ).
k→∞
Итак, максимальное количество информации, которое может нести буква языка, равно log2 N , где N – мощность алфавита. Реальное количество информации в символе равно энтропии языка, то есть HL(N). Следовательно, разность log2 N − H L (N ) выражает «неиспользованные возможности» языка. Отношение
R(N )= log2 N − H (N ) log2 N
42
