
2 Лекция - Формальные модели шифров
.pdf
Тема 2. Формальные модели шифров.
Для того чтобы иметь возможность доказывать в криптографии точные результаты, нужны математические модели основных исследуемых объектов, к которым относятся в первую очередь шифр и открытый текст. Введем сначала алгебраическую модель шифра (шифрсистемы), предложенную, по сути дела, К. Шенноном (на русском - в 1963 году).
Введем следующие обозначения. Пусть X , K , Y — конечные множества соответственно открытых текстов, ключей и шифрованных текстов такие, что X 1,
K 1, Y 1. Пусть
E Ek ,k K , Ek :K X Y
множество алгоритмов зашифрования, при этом отображение Ek называется алгоритмом зашифрования на ключе k K . Пусть
D Dk ,k K , Dk :K Y X
множество алгоритмов расшифрования, при этом отображение Dk называется алгоритмом
расшифрования на ключе k K .
Мы также будем использовать обозначения
Ek X Ek x , x X , Dk Y Dk y , y Y
Следующее определение задает алгебраическую модель шифра (шифрсистемы).
Под алгебраической моделью A шифра (шифрсистемы) будем понимать совокупность введенных множеств
A X,K,Y,E,D ,
для которых выполнены свойства: |
|
|
|
|||
1. |
однозначность |
расшифрования: для |
любых x X k K выполняется |
|||
равенство Dk Ek x x; |
|
|
|
k K , чтоEk x y. |
||
2. |
для любого y Y |
существуют такие значения x X , |
||||
При проведении исследований шифров используется также вероятностная модель |
||||||
шифра. Определим исходные (априорные) распределения вероятностей P X , P K |
на |
|||||
множествах открытых текстов и ключей. Тем самым будем считать заданными: |
|
|||||
вероятностьP x P X |
любого элемента x X |
|
|
|||
0<P x 1, P x 1 |
|
|
|
|
|
|
|
x X |
|
|
|
|
|
вероятностьP k P K |
любого элемента k K |
|
|
|||
0<P k 1, P k 1 |
|
|
|
|
|
|
|
k K |
|
|
|
|
|
Под |
вероятностной |
моделью шифра |
В понимается |
совокупность |
его |
|
алгебраической модели и двух вероятностных распределений: ■ |
|
|

2
В A P X ,P K X,K,Y,E,D,P X ,P K
Легко видеть, что вероятностная модель представляет собой алгебраическую модель, для которой заданы распределения на множествах открытых текстов X и ключей К. Рассмотрим примеры алгебраических моделей шифра.
Модель шифра простой замены.
Пусть A, B — два алфавита соответственно открытого и шифрованного текстов такие, что A B . Множество X представляет собой последовательности элементов из
алфавита А произвольной длины, т.е.
X x x1,...,xn,... ,xi A .
Аналогично множество Y представляет собой последовательности элементов из алфавита В произвольной длины, т.е.
Y y y1,...,yn,... , yi B .
Пусть S A,B — множество биективных отображений алфавита А в алфавит В.
Определим K S A,B , тогда k K представляет собой отображение k: A B, для
которого найдется обратное отображение k 1 : B A такое, что k 1 k a a, a A.
Шифр простой замены описывается алгебраической моделью A X,K,Y,E,D ,
в которой множества открытых текстов, шифрованных текстов и ключей X, Y, К определены выше, а алгоритмы шифрования и расшифрования определяются равенствами
Ek x k x1 ,...,k xn ,... , Dk y k 1 y1 ,...,k 1 yn ,...
Пример 1. В качестве примера шифра простой замены мы можем привести следующий простой шифр. Сопоставим каждой букве алфавита численное значение
а |
б |
б |
… |
ю |
я |
0 |
1 |
2 |
… |
31 |
32 |
и определим в качестве алфавита A B Z33 множество вычетов по модулю 33).
Теперь, выбирая в качестве ключа зашифрования отображение k a :Z33 Z33
k a a 3 modZ33
получим классический шифр Цезаря применительно к буквам русского алфавита. Отметим, что ключом расшифрования является отображение k b b 30 modZ33
обратное отображению к.
При сравнительно небольшой мощности алфавита A, что соответствует алфавитам естественных языков, определенный выше шифр простой замены, несомненно, следует отнести к симметричным шифрам, поскольку знание ключа зашифрования к позволяет легко находить ключ расшифрования k 1(например, полным перебором всех возможных отображений из множества S A,B ).
3
В случае, когда алфавит A обладает большой мощностью, нахождение обратного отображения является сложной задачей. Далее мы рассмотрим блочные шифры, которые являются симметричными шифрами простой замены в алфавите большой мощности. Сейчас же мы приведем еще один пример — несимметричный шифр простой замены с большой мощностью алфавита.
Пример 2. Приведем пример несимметричного шифра, который может рассматриваться как шифр простой замены.
Зафиксируем натуральное составное число m pq, являющееся произведением двух
простых чисел р, q, и выберем в качестве алфавита A кольцо Zm вычетов по модулю m.
|
Определим в качестве открытого ключа натуральное число е такое, что |
|||||||||||
НОД |
|
e, |
|
p 1 |
q 1 |
= 1 и секретный |
ключ d, удовлетворяющий условию |
|||||
|
|
|
|
|
|
|
|
|
|
|
||
ed 1 |
mod |
|
p 1 |
q 1 |
|
/ |
|
|||||
|
|
|
|
|
|
|
|
|
|
|||
|
Открытый ключ индуцирует биективное отображение k:Zm Zm множества Zm в |
|||||||||||
себя следующим образом. Для любого a Zm определим |
||||||||||||
|
k a ae modm . |
|
|
|||||||||
|
Данное отображение задает алгоритм зашифрования. Тогда обратное отображение |
|||||||||||
k 1 задается сравнением |
|
|
||||||||||
|
k 1 c cd modm . |
|
||||||||||
|
Легко проверить, что выполнено сравнение |
|||||||||||
|
k 1 k a a modm для любого a Zm , |
|
||||||||||
|
из которого следует, что отображение k 1 |
определяет алгоритм расшифрования. |
Описанную в данном примере шифрсхему принято называть схемой RSA, по первым буквам фамилий авторов — Rivest, Shamir, Adleman. Более подробное изложение данной схемы и ее анализ мы рассмотрим далее. Как нами будет показано далее, задача определения обратного отображения k 1 является сложной и сводится к разложению
числа т на простые сомножители. |
|
Модели открытых текстов |
B содержит |
Введенная нами математическая (вероятностная) модель шифра |
|
вероятностные распределения P X , и P K на множествах открытых текстов и ключей |
|
соответственно. Если P K определяется свойствами устройств, служащих для генерации |
|
ключей (которые могут быть случайными или псевдослучайными), то P X |
определяется |
частотными характеристиками самих текстов, подлежащих шифрованию. Характер таких текстов может быть различный: это могут быть обычные литературные тексты, формализованные данные межмашинного обмена и т. д. Так или иначе, открытые тексты обладают многими закономерностями, некоторые из которых наследуются шифрованными текстами. Именно это является определяющим фактором, влияющим на надежность шифрования

4
Источники открытых сообщений характеризуются:
языками общения и набором соответствующих алфавитов;
тематикой и частотными характеристиками передаваемых сообщений;
длиной сообщений и интенсивностью их передачи и др.
Разработка математических моделей открытого текста имеет важное значение. Такие модели используются при реализации методов криптографического анализа, основанных на опробовании ключей расшифрования. Информация об открытом тексте позволяет отсеивать ложные варианты на основе критерия — соответствует ли расшифрованный на данном ключе текст рассматриваемой модели языка или нет.
Далее мы будем называть k -граммой вектор длины k 2, координатами которого являются элементы некоторого алфавита A. При k 2 принято использовать термин «биграмма».
Одной из важных характеристик естественного языка является разбиение множества всех k -грамм на допустимые, то есть встречающиеся в каких-либо текстах, и на запретные, не встречающиеся ни в каких текстах. На таком разбиении множества k - грамм на допустимые и запретные может быть основана детерминированная модель источника открытых сообщений. В такой модели открытым текстом является конечная последовательность букв алфавита, не содержащая запретных k -грамм.
Простейшая вероятностная модель
Пусть задано распределение вероятностей на множестве знаков алфавита
A Zn 0,1,...,n 1 0,n 1
n 1
P a — вероятность буквы a A, где 0<P a 1 и P a 1.
a 0
Определим вероятность появления открытого текста длины t по формуле
t
P a1,a2,...at P aj
j 1
Тогда открытый текст длины t в такой модели является реализацией последовательности t независимых испытаний d полиномиальной вероятностной схеме, исходами которой являются знаки алфавита A.
Исходное распределение вероятностей на знаках алфавита A оценивается экспериментально путем подсчета частот встречаемости знаков в случайно выбираемых открытых текстах. Результаты таких исследований известны для многих языков, см. к примеру следующую таблицу.
Таблица 1. Частоты букв европейских языков (в процентах)
Буква |
Fr |
De |
En |
Es |
It |
А |
7,68 |
5,52 |
7,96 |
12,90 |
11,12 |
В |
0,80 |
1,56 |
1,60 |
1,03 |
1,07 |
С |
3,32 |
2,94 |
2,84 |
4,42 |
4,11 |
D |
3,60 |
4,91 |
4,01 |
4,67 |
3,54 |
5
Е |
17,76 |
19,18 |
12,86 |
14,15 |
11,63 |
F |
1,06 |
1,96 |
2,62 |
0,70 |
1,15 |
G |
1,10 |
3,60 |
1,99 |
1,00 |
1,73 |
Н |
0,64 |
5,02 |
5,39 |
0,91 |
0,83 |
I |
7,23 |
8,21 |
7,77 |
7,01 |
12,04 |
J |
0,19 |
0,16 |
0,16 |
0,24 |
- |
К |
- |
1,33 |
0,41 |
- |
- |
L |
5,89 |
3,48 |
3,51 |
5,52 |
5,95 |
М |
2,72 |
1,69 |
2,43 |
2,55 |
2,65 |
N |
7,61 |
10,20 |
7,51 |
6,20 |
7,68 |
О |
5,34 |
2,14 |
6,62 |
8,84 |
8,92 |
Р |
3,24 |
0,54 |
1,81 |
3,26 |
2,66 |
Q |
1,34 |
0,01 |
0,17 |
1,55 |
0,48 |
R |
6,81 |
7,01 |
6,83 |
6,95 |
6,56 |
S |
8,23 |
7,07 |
6,62 |
7,64 |
4,81 |
U |
6,05 |
4,22 |
2,48 |
4,00 |
3,09 |
V |
1,27 |
0,8.1 |
1,15 |
0,67 |
1,67 |
W |
- |
1,38 |
1,80 |
- |
- |
X |
0,54 |
- |
0,17 |
0,07 |
- |
Y |
0,21 |
- |
1,52 |
1,05 |
- |
Z |
0,07 |
1,17 |
0,05 |
0,31 |
1,24 |
Символ «-» в приведенной таблице означает, что данный символ либо отсутствует в языке, либо вероятность его появления ничтожно мала.
Таблица 2. Частоты букв русского языка (в процентах).
- 17,5 |
О 9,0 |
Е, Ё 7,2 |
А 6,2 |
И 6,2 |
Т 5,3 |
Н 5,3 |
С 4,5 |
Р 4,0 |
В 3,8 |
Л 3,5 |
К 2,8 |
М 2,6 |
Д 2,5 |
П 2,3 |
У 2,1 |
Я 1,8 |
Ы 1,6 |
3 1,6 |
Ь,Ъ 1,4 |
Б 1,4 |
Г 1,3 |
Ч 1,2 |
Й 1,0 |
X 0,9 |
Ж 0,7 |
Ю 0,6 |
Ш 0,6 |
Ц 0,4 |
Щ 0,3 |
Э 0,3 |
Ф 0,2 |
В приведенной таблице учитывается символ пробела, разделяющий слова. Буквы отсортированы по убыванию частоты их встречаемости, кроме того, считается, что буквы «Е» и «Ё», а также «Ъ» и «Ь» идентичны.
Таблица 3. Наиболее часто используемые буквы европейских языков.
Русский язык |
С,Е,Н,0,В,А,Л,И,Т,Р |
55% |
Французский язык |
E,S,A,N,T,I,R,U,L,0 |
80% |
Итальянский язык |
I,E,A,0,N,T,R,L,S,C |
80% |
Испанский язык |
E,A,0,S,I,R,N,L,D,C |
78% |
Немецкий язык |
E,N,I,S,R,T,A,H,D,U |
77% |
Английский язык |
E,T,A,I,N,R,0,S,H,D |
75% |
6
Приведенная нами простейшая (позначная) модель, в терминологии "Основ криптографии"- вероятностная модель первого приближения - успешно применяется во многих практических приложениях. Вместе с тем она не учитывает существующие в открытых языках зависимости между знаками открытого текста, в частности существование запретных k -грамм.