- •Глава 1. Информационная безопасность компьютерных систем
- •1.1. Основные понятия и определения
- •1.2. Основные угрозы безопасности асои
- •Пути реализации угроз безопасности асои
- •1.3. Обеспечение безопасности асои
- •1.4. Принципы криптографической защиты информации
- •1.5. Аппаратно-программные средства защиты компьютерной информации
- •Физиологические параметры человека (отпечатки пальцев, рисунок радужной оболочки глаза и т.П.) или особенности поведения человека (особенности работы на клавиатуре и т. П.).
- •Системы "прозрачного" шифрования;
- •Системы, специально вызываемые для осуществления шифрования.
- •Глава2. Традиционные симметричные криптосистемы
- •2.1. Основные понятия и определения
- •Соответствие между русским алфавитом и множеством целых
- •2.2. Шифры перестановки
- •Оирм еосю втаь лгоп
- •2.3. Шифры простой замены
- •Ассоциативность. Оба способа заключения в скобки произведения подстановок щп2пз.
- •Существование единичного элемента. Подстановка 5, определенная как
- •Существование обратных элементов. Для каждой подстановки я имеется взаимно однозначно определенная обратная подстановка, обозначаемая я-1, которая удовлетворяет соотношению:
- •Последовательность биграмм открытого текста преобразуется с помощью шифрующей таблицы в последовательность биграмм шифртекста по следующим правилам:
- •Заменяя в биграммах шифртекста числа на соответствующие буквы согласно табл.2.2, получаем 12-грамму шифртекста
- •2.4. Шифры сложной замены
- •Глава 3. Современные симметричные криптосистемы
- •Глава 9. Защита информации 227
- •Глава 4. Асимметричные криптосистемы
- •Глава 5. Идентификация и проверка подлинности
- •Глава 6. Электронная цифровая подпись
- •6.1. Проблема аутентификации данных и электронная цифровая подпись
- •Глава 7. Управление криптографическими ключами
- •Глава 8. Методы и средства защиты от удаленных атак через сеть Internet
- •Глава 9. Защита информации
- •9.6. Универсальная электронная платежная система ueps
- •Распределение ключей и паролей по картам банка, торговца и клиента
- •9.7. Обеспечение безопасности электронных платежей через сеть Internet
- •Глава 10. Отечественные аппаратно- программные средства криптографической защиты информации серии криптон
- •10.1. Концептуальный подход фирмы анкад к защите информации в компьютерных системах и сетях
- •Аппаратные устройства криптографической защиты данных серии криптон
- •10.2. Основные элементы и средства защиты от несанкционированного доступа
- •Устройства для работы со смарт-картами
- •10.3. Системы защиты информации от несанкционированного доступа
- •Scat-200 или sa-101i коннектор
- •Программные средства скзи серии Crypton
- •11.1. Абонентское шифрование и электронная цифровая подпись
- •Глава 9. Защита информации 227
- •Крипто- маршрутизатор
- •Устройство защиты от нсд
- •Устройство защиты от нсд I
- •Внутренний внешний фильтр фильтр
- •Глава 12. Обеспечение безопасности платежных систем на основе смарт-карт и программно- аппаратных средств фирмы анкад
- •Глава 9. Защита информации 227
- •Зубанов ф. Windows nt-броня крепка // Конфидент.-1996.- №2.-с. 31-38.
- •Глава 9. Защита информации 227
3
3'
24
4
у2
=
2
5
*
12
=
4
•
'3
3"
14
15
Уз
=
2
5
•к
17
9
"3
3"
4
22
У<
=
2
5
*
12
—
16
"3
3"
14
3
у5
=
2
5
*
13
=
15
'3
3"
4
6
Уб
=
2
5
*
24
=г
24
Заменяя в биграммах шифртекста числа на соответствующие буквы согласно табл.2.2, получаем 12-грамму шифртекста
ТЕ ЕЕ PJ WQ DP GY
Для расшифрования биграмм у> шифртекста и восстановления биграмм Xj открытого текста необходимо выполнить обратное преобразование Т~1 согласно уравнению
х, =T"1*yj.
В рассмотренном примере матрицы преобразования имели размер 2x2 и шифровались биграммы (пары) букв. Хотя буква Е может быть зашифрована по-разному в различных парах исходного сообщения, одна и та же пара, например ЕМ, будет шифроваться всегда одинаково на протяжении всего исходного текста.
Система Хилла является одноалфавитной в широком смысле слова.
2.4. Шифры сложной замены
Шифры сложной замены называют многоалфавитными, так как для шифрования каждого символа исходного сообщения применяют свой шифр простой замены. Многоалфавитная подстановка последовательно и циклически меняет используемые алфавиты.
При r-алфавитной подстановке символ х0 исходного сообщения заменяется символом у0 из алфавита В0, символ Xi-символом у, из алфавита Вь и так далее, символ xr_i заменяется символом Уг-i из алфавита Br_1t символ хг заменяется символом уг снова из алфавита В0, и т.д.
Общая схема многоалфавитной подстановки для случая г = 4 показана на рис. 2.7. 60
Входной
символ:
Хо
X,
х2
Хз
х<
х5
Хб
х7
Хб
х9
Алфавит
подстановки:
Во
в,
В2
В3
Во
•
в,
В2
Вз
Во
в,
Рис.
2.7. Схема r-алфавитной
подстановки для случая г = 4
Эффект использования многоалфавитной подстановки заключается в том, что обеспечивается маскировка естественной статистики исходного языка, так как конкретный символ из исходного Алфавита А может быть преобразован в несколько различных символов шифровальных алфавитов Bj. Степень обеспечиваемой Защиты теоретически пропорциональна длине периода г в последовательности используемых алфавитов Bj.
Многоалфавитные шифры замены предложил и ввел в практику. криптографии Леон Батист Альберти, который также был известным архитектором и теоретиком искусства. Его книга "Трактат о шифре", написанная в 1566 г., представляла собой первый в Ев- jpbne научный труд по криптологии. Кроме шифра многоалфавит- Мой замены, Альберти также подробно описал устройства из вращающихся колес для его реализации. Криптологи всего мира почитают Л.Альберти основоположником криптологии [32].
Система шифрования Вижинера
Система Вижинера впервые была опубликована в 1586 г. и является одной из старейших и наиболее известных многоалфавитных систем. Свое название она получила по имени французского дипломата XVI века Блеза Вижинера, который развивал и совершенствовал криптографические системы.
Система Вижинера подобна такой системе шифрования Цезаря, у которой ключ подстановки меняется от буквы к букве. Этот Шифр многоалфавитной замены можно описать таблицей шифрования, называемой таблицей (квадратом) Вижинера. На рис. 2.8 и 2.9 показаны таблицы Вижинера для русского и английского алфавитов соответственно.
Таблица Вижинера используется для зашифрования и расшифрования. Таблица имеет два входа:
верхнюю строку подчеркнутых символов, используемую для считывания очередной буквы исходного открытого текста;.
крайний левый столбец ключа.
Последовательность ключей обычно получают из числовых значений букв ключевого слова.
При шифровании исходного сообщения его выписывают в строку, а под ним записывают ключевое слово (или фразу). Если ключ оказался короче сообщения, то его циклически повторяют. В процессе шифрования находят в верхней строке таблицы очеред-
Ключ
а
б
в
г
а
е
ж
3
и
й
к
л
м
н
0
п
Б
с
т
У
л
X
У
ч
щ
Ш
ь
ы
ъ
э
ю
я
0
а
б
в
г
д
е
ж
3
и
й
к
л
м
н
О
п
P
с
т
У
ф
X
Ц
ч
ш
щ
ь
ы
ъ
э
ю
я
1
б
в
г
Д
е
ж
3
и
й
к
л
м
н
О
п
р
с
т
У
Ф
X
ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
2
в
г
Д
е
ж
3
и
й
к
л
м
н
0
п
р
с
т
У
Ф
X
ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
3
г
д
е
ж
3
и
й
к
л
м
н
0
п
р
с
т
У
ф
X
Ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
4
Д
е
ж
3
и
й
к
л
м
н
О
п
р
с
т
У
ф
X
Ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
5
е
ж
3
и
й
к
л
м
н
0
п
р
с
т
У
Ф
X
ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
6
ж
3
и
й
к
л
м
н
0
п
р
с
т
У
ф
X
ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
А
е
7
3
и
й
к
л
м
н
0
п
р
с
т
У
ф
X
ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
А
е
ж
8
и
й
к
л
м
н
0
п
р
с
т
У
ф
X
ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
9
й
к
л
м
н
0
п
р
с
т
У
ф
X
ч
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
10
к
л
м
н
0
п
р
с
т
У
ф
X
ц
ч
ш
щ
ь
ы
ъ
э
ю
я
а
б
в
г
А
е
ж
3
и
й
11
л
м
н
0
п
р
с
т
У
ф
X
ц
ч
ш
щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
12
м
н
о
п
P
с
т
У
ф
X
ц
ч
ш
щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
13
н
0
п
р
с
т
У
ф
X
ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
А
е
ж
3
и
й
к
л
м
14
0
п
р
с
т
У
ф
X
ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
А
е
ж
3
и
й
к
л
м
н
15
п
р
с
т
У
Ф
X
ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
А
е
ж
3
и
й
к
л
м
н
0
16
Р
с
т
У
Ф
X
Ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
0
п
17
с
т
У
ф
X
Ц
ч
ш
щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
0
п
р
18
т
У
Ф
X
Ц
ч
ш
щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
0
п
р
с
19
У
Ф
X
ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
А
е
ж
3
и
й
к
л
м
н
О
п
Р
с
т
20
ф
X
Ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
А
е
ж
3
и
й
к
л
м
н
0
п
Р
с
т
У
21
X
Ц
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
А
е
ж
3
и
й
к
л
м
н
О
п
р
с
т
У
ф
22
ц
ч
ш
щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
0
п
р
с
т
У
Ф
X
23
ч
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
0
п
р
с
т
У
Ф
X
Ц
24
ш
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
о
п
р
с
т
У
Ф
X
Ц
ч
25
Щ
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
0
п
р
с
т
У
Ф
X
Ц
ч
ш
26
ь
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
О
п
р
с
т
У
ф
X
ц
ч
ш
щ
27
ы
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
о
п
р
с
т
У
ф
X
Ч
ч
ш
Щ
ь
28
ъ
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
О
п
р
с
т
У
Ф
X
ч
ч
ш
Щ
ь
ы
29
э
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
0
п
р
с
т
У
Ф
X
ц
ч
ш
Щ
ь
ы
ъ
30
ю
я
а
б
в
г
Д
е
ж
3
и
й
к
л
м
н
0
п
р
с
т
У
ф
X
Ц
ч
ш
Щ
ь
ы
ъ
э
31
я
а
б
в
г
д
е
ж
3
и
й
к
л
м
н
О
п
р
с
т
У
ф
X
Ц
ч
ш
щ
ь
ы
ъ
э
ю
Рис.
2.8. Таблица Вижинера для русского
алфавита
Ключ
А
в
С
D
Е
£
g
Н
|
J
К
L
М
N
О
Р
£
R
S
I
и
V
W
X
Y
Z
0
А
в
С
D
Е
F
G
Н
1
J
К
L
М
N
О
Р
Q
R
S
т
и
V
W
X
Y
Z
1
В
с
D
Е
F
G
Н
I
J
К
L
М
N
О
Р
Q
R
S
т
и
V
W
X
Y
Z
А
2
С
D
Е
F
G
Н
I
J
К
L
М
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
3
D
Е
F
G
Н
I
J
К
L
М
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
4
Е
F
G
Н
I
J
К
L
М
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
6
F
G
Н
I
J
К
L
М
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
6
G
Н
I
J
К
L
М
N
О
Р
Q
R
S
Т
и
\У
W
X
Y
Z
А
В
С
D
Е
F
7
Н
I
J
К
L
М
N
О
Р
Р
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
8
I
J
К
L
М
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
9
J
К
L
М
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
10
К
L
М
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
11
L
М
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
12
М
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
13
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
М
14
О
Р
Q
R
S
Т
и
V
W
X
Y
г
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
15
Р
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
О
16
Q
R
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
ь
L
М
N
О
Р
17
R
S
Т
и
V
W
X
Y
г
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
О
Р
Q
18
S
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
О
Р
Q
R
19
Т
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
О
Р
Q
R
S
20
и
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
О
Р
Q
R
S
Т
21
V
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
О
Р
Q
R
S
Т
и
22
W
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
О
Р
Q
R
S
Т
и
V
23
X
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
О
Р
Q
R
S
Т
и
V
W
24
Y
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
О
Р
Q
R
S
Т
и
V
W
X
25
Z
А
В
С
D
Е
F
G
Н
1
J
К
L
М
N
О
Р
Q
R
S
Т
и
V
W
X
Y
Рис.
2.9. Таблица Вижинера для английского
алфавита
ную букву исходного текста и в левом столбце очередное значение ключа. Очередная буква шифртекста находится на пересечении столбца, определяемого шифруемой буквой, и строки, определяемой числовым значением ключа.
Пусть ключевая последовательность имеет длину г, тогда ключ г-алфавитной подстановки есть г-строка
Я = (я0, я, Яги). (2.9)
Система шифрования Вижинера преобразует открытый текст
х = (х0, x1t..., Хп-т) в шифртекст у = (у0, yi yn-i) с помощью ключа
п = (я0, я, Яп-i) согласно правилу
Т„: х= (хо, х, ж,,.,) ->у= (уо, У1 Уп—1)>
(Уо, У1 Уп—1) = (яь(Хо), «1 (Xi) nn-i(Xn-i)). (2-Ю)
где Я| = Я(| mod Г)-
Рассмотрим пример получения шифртекста с помощью таблицы Вижинера. Пусть выбрано ключевое слово АМБРОЗИЯ. Необходимо зашифровать сообщение ПРИЛЕТАЮ СЕДЬМОГО.
Выпишем исходное сообщение в строку и запишем под ним ключевое слово с повторением. В третью строку будем выписывать буквы шифртекста, определяемые из таблицы Вижинера.
Сообщение ПРИЛЕТАЮ СЕДЬМОГО Ключ АМБРОЗИЯ АМБРОЗИЯ
Шифртекст П.Ъ ЙЫУЩИЭ ССЕКЬХЛН
Шифр "двойной квадрат" Уитстона
В 1854 г. англичанин Чарльз Уитстон разработал новый метод шифрования биграммами, который называют "двойным квадратом". Свое название этот шифр получил по аналогии с полибиан- ским квадратом. Шифр Уитстона открыл новый этап в истории развития криптографии. В отличие от полибианского щифр "двойной квадрат" использует сразу две таблицы, размещенные по одной горизонтали, а шифрование идет биграммами, как в шифре Плейфейра. Эти не столь сложные модификации привели к появлению на свет качественно новой криптографической системы ручного шифрования. Шифр "двойной квадрат" оказался очень надежным и удобным и применялся Германией даже в годы второй мировой войны.
Поясним процедуру шифрования этим шифром на примере. Пусть имеются две таблицы со случайно расположенными в них русскими алфавитами (рис.2.10). Перед шифрованием исходное сообщение разбивают на биграммы. Каждая биграмма шифруется отдельно. Первую букву биграммы находят в левой таблице, а вто- 64 /ю букву-в правой таблице. Затем мысленно строят прямо- ■ольник так, чтобы буквы биграммы лежали в его противополож- ых вершинах. Другие две вершины этого прямоугольника дают /квы биграммы шифртекста.
Ж |
щ |
н |
ю |
р |
и |
т |
ь |
ц |
Б |
я |
м |
Е |
|
с |
в |
ы |
п |
ч |
|
|
д |
У |
о |
к |
3 |
э |
ф |
г |
ш |
X |
А |
1 |
л |
ъ |
и |
ч |
г |
я |
т |
, |
ж |
ь |
м |
о |
3 |
ю |
р |
в |
щ |
Ц |
|
п |
Е |
л |
ъ |
А |
н |
|
X |
э |
к |
с |
ш |
д |
Б |
ф |
У |
ы |
|
Рис. 2.10. Две таблицы со случайно расположенными символами русского алфавита для шифра "двойной квадрат"
Предположим, что шифруется биграмма исходного текста ИЛ. Цуква И находится в столбце 1 и строке 2 левой таблицы. Буква Л Находится в столбце 5 и строке 4 правой таблицы. Это означает, Кто прямоугольник образован строками 2 и 4, а также столбцами 1 вевой таблицы и 5 правой таблицы. Следовательно, в биграмму шифртекста входят буква О, расположенная в столбце 5 и строке 2 Вравой таблицы, и буква В, расположенная в столбце 1 и строке 4 ревой таблицы, т. е. получаем биграмму шифртекста ОВ. ( Если обе буквы биграммы сообщения лежат в одной строке, шб и буквы шифртекста берут из этой же строки. Первую букву би- тоаммы шифртекста берут из левой таблицы в столбце, соответствующем второй букве биграммы сообщения. Вторая же буква би- рраммы шифртекста берется из правой таблицы в столбце, соответствующем первой букве биграммы сообщения. Поэтому би- йрамма сообщения ТО превращается в биграмму шифртекста ЖБ. Аналогичным образом шифруются все биграммы сообщения:
Сообщение ПР ИЛ ЕТ АЮ _Ш ЕС ТО ГО
Шифртекст ПЕ ОВ ЩН ФМ ЕШ РФ БЖ ДЦ
Шифрование методом "двойного квадрата" дает весьма устойчивый к вскрытию и простой в применении шифр. Взламывание Шифртекста "двойного квадрата" требует больших усилий, при этом длина сообщения должна быть не менее тридцати строк.
Одноразовая система шифрования
Почти все применяемые на практике шифры характеризуются ?Как условно надежные, поскольку они могут быть в принципе раскрыты при наличии неограниченных вычислительных возможностей. Абсолютно надежные шифры нельзя разрушить даже при ис- 1-49 65 пользовании неограниченных вычислительных возможностей. Существует единственный такой шифр, применяемый на практике,- одноразовая система шифрования. Характерной особенностью одноразовой системы шифрования является одноразовое использование ключевой последовательности.
Одноразовая система шифрует исходный открытый текст
Х= (Х0, X,, ..., Хп_,)
в шифртекст
У = (Уо, Y, Yn.,)
посредством подстановки Цезаря
Yi=(Xj + Kj)modm, 0<i<n, (2.11)
где Ki - i-й элемент случайной ключевой последовательности.
Ключевое пррстранство К одноразовой системы представляет собой набор дискретных случайных величин из Zm и содержит тп значений.
Процедура расшифрования описывается соотношением
Xi = (Yj- Kj) mod m, (2.12)
где Kj-i-й элемент той же самой случайной ключевой последовательности.
Одноразовая система изобретена в 1917г. американцами Дж. Моборном и Г. Вернамом [113]. Для реализации этой системы подстановки иногда используют одноразовый блокнот. Этот блокнот составлен из отрывных страниц, на каждой из которых напечатана таблица со случайными числами (ключами) К|. Блокнот выполняется в двух экземплярах: один используется отправителем, а другой - получателем. Для каждого символа X, сообщения используется свой ключ Kj из таблицы только один раз. После того как таблица использована, она должна быть удалена из блокнота и уничтожена. Шифрование нового сообщения начинается с новой страницы.
Этот шифр абсолютно надежен, если набор ключей К действительно случаен и непредсказуем. Если криптоаналитик попытается использовать для заданного шифртекста все возможные наборы ключей и восстановить все возможные варианты исходного текста, то они все окажутся равновероятными. Не существует способа выбрать исходный текст, который был действительно послан. Теоретически доказано, что одноразовые системы являются не- раскрываемыми системами, поскольку их шифртекст не содержит достаточной информации для восстановления открытого текста. 66
Казалось бы, что благодаря данному достоинству одноразовые системы следует применять во всех случаях, требующих абсолютной информационной безопасности. Однако возможности •применения одноразовой системы ограничены чисто практическими аспектами. Существенным моментом является требование одноразового использования случайной ключевой последовательного™. Ключевая последовательность с длиной, не меньшей' длины /сообщения, должна передаваться получателю сообщения заранее ■или отдельно по некоторому секретному каналу. Это требование |te будет слишком обременительным для передачи действительно (важных одноразовых сообщений, например, по горячей линии Вашингтон-Москва. Однако такое требование практически неосуществимо для современных систем обработки информации, где требуется шифровать многие миллионы символов.
В некоторых вариантах одноразового блокнота прибегают к более простому управлению ключевой последовательностью, но это приводит к некоторому снижению надежности шифра. Например, ключ определяется указанием места в книге, известной отправителю и получателю сообщения. Ключевая последовательность начинается с указанного места этой книги и используется Таким же образом, как в системе Вижинера. Иногда такой шифр называют Шифром с бегущим ключом. Управление ключевой последовательностью в таком варианте шифра намного проще, так как длинная ключевая последовательность может быть представлена в компактной форме. Но с другой стороны, эти ключи не будут случайными. Поэтому у криптоаналитика появляется возможность использовать информацию о частотах букв исходного естественного языка.
Шифрование методом Вернама
Система шифрования Вернама является в сущности частным случаем системы шифрования Вижинера при значении модуля т = 2. Конкретная версия этого шифра, предложенная в 1926 г. Гилбертом Вернамом, сотрудником фирмы AT&T США, использует двоичное представление символов исходного, текста.
Каждый символ исходного открытого текста из английского алфавита {А, В, С, D Z}, расширенного шестью вспомогательными символами (пробел, возврат каретки и т.п.), сначала кодировался в 5-битовый блок (Ь0, b, b4) телеграфного кода Бодо.
Случайная последовательность двоичных ключей к0, к1р к2,... заранее записывалась на бумажной ленте.
5* 67
Схема передачи сообщений с использованием шифрования методом Вернама показана на рис. 2.11. Шифрование исходного текста, предварительно преобразованного в' последовательность двоичных символов х, осуществлялось путем сложения по модулю 2 символов х с последовательностью двоичных ключей к.
Символы шифртекста
у
= х Ф к. (2.13)
ПОСЛЕДОВАТЕЛЬНОСТЬ
Рис.
2.11. Схема шифрования и расшифрования
сообщений по методу Вернама
Расшифрование состоит в сложении по модулю 2 символов у .шифртекста с той же последовательностью ключей к:
уФк = хФкФк = х. (2.14)
При этом последовательности ключей, использованные при шифровании и расшифровании, компенсируют друг друга (при сложении по модулю 2), и в результате восстанавливаются символы х исходного текста.
При разработке своей системы Вернам проверял ее с помощью закольцованных лент, установленных на передатчике и приемнике для того, чтобы использовалась одна и та же последовательность ключей.
Следует отметить, что метод Вернама не зависит от длины последовательности ключей и, кроме того, он позволяет использовать случайную последовательность ключей. Однако при реализации метода Вернама возникают серьезные проблемы, связанные с необходимостью доставки получателю такой же последовательности ключей, как у отправителя, либо с необходимостью безопасного хранения идентичных последовательностей ключей у отправителя и получателя. Эти недостатки системы шифрования Вернама преодолены при шифровании методом гаммирования. 68
2.5. Шифрование методом гаммирования
Под гаммированием понимают процесс наложения по определенному, закону гаммы шифра на открытые данные. Гэлша шифра-это псевдослучайная последовательность, выработанная по заданному алгоритму для зашифрования открытых данных и расшифрования зашифрованных данных.
Процесс зашифрования заключается в генерации гаммы шифра и наложении полученной гаммы на исходный открытый текст рбратимым образом, например с использованием операции сложения по модулю 2.
Следует отметить, что перед зашифрованием открытые данные разбивают на блоки Т0(|) одинаковой длины, обычно по 64 бита. 'Гамма шифра вырабатывается в виде последовательности блоков Гш(|> аналогичной длины.
1 Уравнение зашифрования можно записать в виде
Тш(|) = Гш(|) Ф T0(i), i =1 ... М, (2.15)
где Тш(|) - i-й блок шифртекста; Гш(|) - i-й блок гаммы шифра; Т0(|) - i-й блок открытого текста; М - количество блоков открытого текста.
Процесс расшифрования сводится к повторной генерации гаммы шифра и наложению этой гаммы на зашифрованные данные. Уравнение расшифрования имеет вид
То'' = гш(|) е тш(|). (2.16)
Получаемый этим методом шифртекст достаточно труден для раскрытия, поскольку теперь ключ является переменным. По сути дела гамма шифра должна изменяться случайным образом для •каждого шифруемого блока. Если период гаммы превышает длину всего шифруемого текста и злоумышленнику неизвестна никакая часть исходного текста, то такой шифр можно раскрыть только прямым перебором всех вариантов ключа. В этом случае крипто- стойкость шифра определяется длиной ключа.
Методы генерации псевдослучайных
последовательностей чисел
При шифровании методом гаммирования в качестве ключа используется случайная строка битов, которая объединяется с открытым текстом, также представленным в двоичном виде (например, А= 00000, В = 00001, С = 00010 и т.д!), с помощью побитового сложения по модулю 2, и в результате получается шифрованный текст. Генерирование непредсказуемых двоичных последовательностей большой длины является одной из важных проблем классической криптографии. Для решения этой проблемы широко используются генераторы двоичных псевдослучайных последовательностей.
Генерируемые псевдослучайные ряды чисел часто называют гаммой шифра или просто гаммой (по названию буквы у греческого алфавита, часто используемой в математических формулах для обозначения случайных величин).
Обычно для генерации последовательности псевдослучайных чисел применяют компьютерные программы, которые, хотя и называются генераторами случайных чисел, на самом деле выдают детерминированные числовые последовательности, которые по своим свойствам очень похожи на случайные [32].
К криптографически стойкому генератору псевдослучайной последовательности чисел (гаммы шифра) предъявляются три основных требования:
период гаммы должен быть достаточно большим для шифрования сообщений различной длины;
гамма должна быть практически непредсказуемой, что означает невозможность предсказать следующий бит гаммы, даже если известны тип генератора и предшествующий кусок гаммы;
генерирование гаммы не должно вызывать больших технических сложностей.
Длина периода гаммы является самой важной характеристикой генератора псевдослучайных чисел. По окончании периода числа начнут повторяться, и их можно будет предсказать. Требуемая длина периода гаммы определяется степенью закрытости данных. Чем длиннее ключ, тем труднее его подобрать. Длина периода гаммы зависит, от выбранного алгоритма получения псевдослучайных чисел.
Второе требование связано со следующей проблемой: как можно достоверно убедиться, что псевдослучайная гамма конкретного генератора является действительно непредсказуемой? Пока не существуют такие универсальные и практически проверяемые критерии и методики. Чтобы гамма считалась непредсказуемой, т.е. истинно случайной, необходимо, чтобы ее период был очень большим, а различные комбинации битов определенной длины были равномерно распределены по всей ее длине.
Третье требование обусловливает возможность практической реализации генератора программным или аппаратным путем с обеспечением необходимого быстродействия.
Один из первых способов генерации псевдослучайных чисел на ЭВМ предложил в 1946 г. Джон фон Нейман. Суть этого способа состоит в том, что каждое последующее случайное число образуется возведением в квадрат предыдущего числа с отбрасыванием цифр младших и старших разрядов. Однако этот способ оказался ненадежным и от него вскоре отказались.
Из известных процедур генерации последовательности псевдослучайных, целых чисел наиболее часто применяется так называемый линейный конгруэнтный генератор. Этот генератор вырабатывает последовательность псевдослучайных чисел Y,,Y2,....Yj.-i, Yi,..., используя соотношение
Yi = (а*У|_! + b) mod m, 1 (2.17)
где Yf-i-e (текущее) число последовательности; Yj_, - предыдущее число последовательности; а,Ь и т-константы; т- модуль; а- множитель (коэффициент); Ь-приращение; Y0-порождающее число (исходное значение).
Текущее псевдослучайное число Y| получают из предыдущего числа Y-! умножением его на коэффициент а, сложением с приращением b и вычислением остатка от деления на модуль т. Данное уравнение генерирует псевдослучайные числа с периодом повторения, который зависит от выбираемых значений параметров a, b и m и может достигать значения т. Значение модуля т берется равным 2" либо равным простому числу, например т = 231-1. Приращение b должно быть взаимно простым с т, коэффициент а должен быть нечетным числом.
Конгруэнтные генераторы, работающие по алгоритму, предложенному Национальным бюро стандартов США, используются, в частности, в системах программирования. Эти генераторы имеют длину периода 224 и обладают хорошими статистическими свойствами. Однако такая длина периода мала для криптографических применений. Кроме того, доказано, что последовательности, генерируемые конгруэнтными генераторами, не являются криптографически стойкими.
Существует способ генерации последовательностей псевдослучайных чисел на основе линейных рекуррентных соотношений [69].
Рассмотрим рекуррентные соотношения й их разностные уравнения:
i=o
Жг (2-18)
j=0
где h0* 0, hk = 1 и каждое hi принадлежит полю GF(q).
Решением этих уравнений является последовательность элементов а0, ап, а2,...' поля GF(q) (см. Приложение). Соотношение (2.18) определяет правило вычисления ак по известным значениям
величин а0, аь а2 а^- Затем по известным значениям а0, аь
а% ..., ак находят ак+1 и т.д. В результате по начальным значениям
71
a0, a1t а2,..., a^ можно построить бесконечную последовательность, причем каждый ее последующий член определяется из к предыдущих. Последовательности такого вида легко реализуются на компьютере, при этом реализация получается особенно простой, если все hi и а, принимают значения 0 и 1 из поля GF(2).
На рис. 2.12 показана лйнейная последовательная переключательная схема, которая может быть использована для вычисления суммы (2.18) и, следовательно, для вычисления значения ак по значениям к предыдущих членов последовательности. Исходные величины а0, a1t а2 ai^ помещаются в разряды сдвигового регистра, последовательные сдвиги содержимого которого соответствуют вычислению последовательных символов, при этом
выходной
Sitk-1
3i+k-2
- -> аН2
(С) (С) (С) (С)
е<—е<
Обозначения:
^ Сумматор по модулю 2
ФЦепь (отвод) с коэффициентом передачи h, h = 0 или 1
Запоминающая ячейка, хранящая а, т.е. на "И—Г^ выходе ячейки а = 0 или а=1
Рис. 2.12. Генератор с регистром сдвига
выход после i-ro сдвига равен а,. Данное устройство называют генератором последовательности чисел, построенным на базе сдвигового регистра с линейной обратной связью.
Решения линейных рекуррентных соотношений, реализуемые генератором с регистром сдвига, описываются следующей теоремой. Пусть многочлен
МХ) = £ь,Х',
j=0
где Х-формальная переменная; hj-коэффициент при Xj, принимающий значение 0 или 1; ho*0, hk = 1, и пусть п-наименьшее целое положительное число* для которого многочлен Х"-1 делится на h(X). Кроме того, многочлен 72
g(X) = (Xn-1)/h(X). Тогда решения рекуррентных соотношений
2Ж, = о
i=o
виде последовательности элементов а0, а,,..., ап_., периодичны периодом п и совокупность, составленная из первых периодов фсех возможных решений, рассматриваемых как многочлены по Модулю (Хп-1), т.е.
а(Х) = а0 * X"-1 + а, * X"-2 +... + ап_2 * X + ап.„
совпадает с идеалом, порожденным многочленом д(Х) в алгебре многочленов по модулю (Хп-1). Доказательство этой теоремы Цюжно найти в [69].
Заметим, что если при таком определении многочлена а(Х) Элементы а0, a1f а?,... вычисляются в порядке возрастания номеров, то коэффициенты многочлена а(Х) вычисляются, начиная с коэффициентов при степенях высших порядков. Следует также
к
Отметить, что вид многочлена h(X) = Sh^X1 определяет конфигура-
1=0
1цию обратных связей (отводов) hj в генераторе со сдвиговым регистром. Другими словами, если у многочлена h(X) коэффициент hj = 1, это означает, что отвод hj в схеме генератора присутствует, Р&ли же у многочлена h(X) коэффициент hj = 0. то отвод hj в схеме |енератора отсутствует. В [58] показано, что в качестве h(X) необходимо выбирать неприводимый примитивный многочлен (см. так- |се приложение). При таком выборе многочлена h(X) со старшей Степенью m генератор обеспечивает выдачу псевдослучайной по- Следовательности двоичных чисел с максимально возможным пе- |иодом 2т-1.
Рассмотрим в качестве примера трехразрядный сдвиговый ре- рстр с линейной обратной связью (рис.2.13), построенный в соответствии с неприводимым примитивным многочленом
h(X) = X3+X2 + 1,
1Де коэффициенты h3 = 1, h2 = 1, ^=0, h0=1.
3-БИТОВЫЙ
КЛЮЧ 1
0 1 01
о
001
1
00 1 1 о 111
01
1
ключевой
поток Гш=1010011
h3=1
Тгш
M
h2 = 1 hi = 1 h0 = 1
►e—►
С = Гш Ф м
Рис. 2.13. Трехразрядный регистр сдвига с обратными связями (генератор гаммы шифра Гш)
Пусть ключом является 101. Регистр начинает работать с этого состояния; последовательность состояний регистра приведена на рис. 2.13. Регистр проходит через все семь ненулевых состояний и снова возвращается в свое исходное состояние 101. Это-наиболее длинный период данного регистра с линейной обратной связью. Такая последовательность называется последовательностью максимальной длины для сдвигового регистра (Maximal Lenght Shift Register Sequence-MLSRS). Питерсон и Уэлдон [69] показали, что при любом целом m существует m-битовая последовательность MLSRS с периодом 2т-1. В частности, при т = 100 последовательность будет иметь период 2Ю0-1 и не повторится 1016 лет при передаче ее по линии связи со скоростью 1 Мбит/с.
В нашем примере выходной последовательностью (гаммой шифра) Гш сдвигового регистра с обратной связью является последовательность 1010011, которая циклически повторяется. В этой последовательности имеется четыре единицы и три нуля, и их распределение настолько близко к равномерному, насколько это возможно в последовательности, имеющей длину 7. Если рассмотреть пары последовательных битов, то пары 10 и 01 появляются по два раза, а пары 00 и 11-один раз, что опять оказывается настолько близким к равномерному распределению, насколько это возможно. В случае последовательности максимальной длины для m-разрядного регистра это свойство равнораспределенности распространяется на тройки, четверки и т.д. битов, вплоть до т-би- товых групп. Благодаря такой близости к равномерному распределению последовательности максимальной длины часто используются в качестве псевдослучайных последовательностей в криптографических системах, которые имитируют работу криптостойкой системы одноразового шифрования.
Хотя такая криптографическая система осуществляет имитацию заведомо криптостойкой системы одноразового шифрования, сама она не отличается стойкостью и может быть раскрыта за несколько секунд работы компьютера при условии наличия известно^ го открытого текста [29].
Если отводы регистра с обратной связью зафиксированы, то для нахождения начального состояния регистра достаточно знать m битов открытого текста. Чтобы найти m битов ключевого потока, m битов известного открытого текста складывают по модулю 2 с соответствующими m битами шифртекста. Полученные m битов дают состояние сдвигового регистра с обратной связью в обратном направлении на некоторый момент времени. Затем, моделируя работу регистра назад, можно определить его исходное состояние. 74
Если отводы регистра с обратной связью не фиксированы, а являются частью ключа, то достаточно 2т битов известного открытого текста, чтобы сравнительно быстро определить расположение отводов регистра и его начальное состояние. Пусть S(i)- . вектор-столбец, состоящий из m символов 0 и 1, который определяет состояние регистра в i-й момент времени. Тогда
S(i+1) = A*S(i) mod 2,
где А-матрица размером mxm, определяющая положение отводов регистра с обратной связью.
Для трехразрядного регистра (рис. 2.13)
1 0 1 1 О О О 1 О
Матрица А всегда имеет следующую структуру: в ее первой строке отражена последовательность отводов в регистре, непосредственно под гл'авной диагональю располагаются единицы, а в остальных позициях располагаются нули.
2т битов известного открытого текста позволяют вычислить 2т последовательных битов ключевого потока. Для упрощения Ьбозначений предположим, что это-первые 2т битов ключевого потока. Следовательно,
•• S(1)-первая группа m известных битов ключевого потока; • S(2)-следующая группа (начиная с номера 2) из m известных
битов ключевого потока; Ш S(m + 1)-последняя группа из m известных битов ключевого потока.
Далее можно образовать две матрицы размером mxm: X(1) = [S(1), S(2),.:., S(m)],
' X(2) = [S(2), S(3) S(m +1)],
которые связаны соотношением
X(2) = A * X(1) mod 2.
Можно показать, что для любой последовательности максимальной длины матрица Х(1) всегда несингулярна, поэтому матрицу А можно вычислить как
А = Х(2) [Х(1)]~1 mod 2..
Обращение матрицы Х(1) требует (самое большее) порядка tn3 операций, поэтому легко выполняется при любом разумном Значении т.
Для криптографии последовательности максимальной длины MLSRS можно сделать более криптостойкими, используя нелинейную логику. В частности, предложен вариант [29], в котором в качестве ключевого потока используется нелинейно "фильтрованное" содержимое сдвигового регистра, а для получения последовательности максимальной длины-линейная обратная связь, как показано на рис. 2.14.
h3
= 1
с = гш е м
h2 =1 ho =1
-4-04
Рис. 2.14. Линейный сдвиговый регистр с нелинейными логическими цепями на выходе
Функция f должна выбираться так, чтобы обеспечить хороший баланс между нулями и единицами, а фильтрованная последовательность имела распределение, близкое к равномерному. Необходимо также, чтобы фильтрованная последовательность имела большой период. Если (2т-1) является простым числом (как в примере: при т = 3 имеем 23-1 = 7), то фильтрованная последовательность -может иметь период (2т-1) (при выборе структуры сдвигового регистра в соответствии с неприводимым примитивным многочленом h(X) степени т).
К таким значениям m относятся, в частности, следующие: 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521, 607, 1279, 2203, 2281, а полученные таким образом простые числа называются простыми числами Мерсенна.
Несмотря на то, что фильтрованную выходную последовательность обычно нельзя получить с помощью m-разрядного сдвигового регистра с линейной обратной связью, ее всегда можно получить с помощью сдвигового регистра большей длины с линейной обратной связью [59]. Регистр длиной (2т-1) всегда позволит это сделать, а иногда пригоден и более короткий регистр.
м
