Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matematika-Uch_posob_dlya_SE.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
9.17 Mб
Скачать

10.2. Метод гаммирования

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

Для зашифрования методом гаммирования сначала на основе секретного ключа формируется последовательность двоичных чисел. Каждое число – гамма Gi отвечает своему коду символа исходного текста ТИmi. Потом над двоичными кодами ТИmi и Gi выполняют поразрядно операцию сложения по модулю 2. Выполнение этой операции называют наложением гаммы Gi на код ТИmi (гаммиpованием). Результатом наложения гаммы будет код ТЗmi символа зашифрованного текста.

Таблица 10.11

Таблица 10.12

x1

x0

Y

Y

x0

x1

0

0

0

0

0

0

0

1

1

1

1

0

1

0

1

1

0

1

1

1

0

0

1

1

Логическая операция сложения по модулю 2 задается табл. 10.11, а записывается как

Y=x1Åx0.

Здесь x1 – цифра кода ТИmi, x0 – цифра кода Gi, Y – цифра кода ТЗmi.

Выбор этой операции для кода гаммирования обусловлен тем, что она обратима (табл. 10.12), то есть

YÅx0=x1.

Это делает операцию гаммирования унифицированной: процедура расшифрования криптограммы выполняется путем наложения той же гаммы Gi на тот же код ТЗmi с получением кода ТИmi.

ПРИМЕЧАНИЕ. В криптографии (и не только там) убеждены, что логические операции сумма по модулю 2 (Å) и исключающее ИЛИ (XOR) – суть одно и то же. Дело в том, что для двух логических переменных таблицы истинности операций Å и XOR оказываются одинаковыми. Если же операндов больше двух, то таблицы истинности для операций Å и XOR будут существенно различными. И поэтому употребление названия XOR в качестве синонима Å некорректно.

Шифр гаммирования оказывается невскрываемым, если последовательность гамм представляет собою цепочку равновероятных случайных величин, а каждая гамма накладывается только один раз и только на один код (имеет место однократное гаммирование). В современных системах шифрования методом гаммирования последовательность гамм формируют программно. При этом получают цепочку псевдослучайных чисел. Дело в том, что элементы такой последовательности после некоторого их количества M повторяются, то есть эти элементы не являются строго случайными. Но в пределах одного периода их можно считать случайными. Для однократного гаммирования необходимо, чтобы число M было не меньше количества символов алфавита исходного текста. Каждую из программ для формирования гамм называют генератором псевдослучайных чисел.

Хорошими характеристиками в отношении периодичности и случайности получаемых гамм обладает генератор псевдослучайных чисел, который описывается таким соотношением:

Gi=(C1´Gi-1+C2)mod M, i=1,2,…, M . (10.2)

Как видим, каждая следующая гамма Gi получается из предыдущей Gi-1 путем умножения ее на константу C1, сложением полученного произведения с константой C2 и взятием этой суммы по модулю M. Для получения гаммы G1 необходимо задать величину G0 – порождающее число, которое не является гаммой, а представляет собою секретный ключ шифра гаммирования. Если C1 нечетно, а (C2)mod 4=1, то период повторения гамм равен M. Десятилетия были потрачены математиками на поиск удовлетворительных значений для C1, C2 и M. В конце концов, остановились на значениях C1=69069, C2=71365, а M должно быть степенью 2.

Рассмотрим конкретный вариант построения криптосистемы с использованием метода гаммирования.

Для кодирования символов русского алфавита используем восьмиразрядные двоичные изображения их естественных номеров из табл. 9.1. В табл. 10.13 приведены шестнадцатеричные эквиваленты этих кодов.

В алфавите 32 символа. Поэтому полагаем M=32=25.

Таблица 10.13

Am

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

m

00

01

02

03

04

05

06

07

08

09

0A

0B

0C

0D

0E

0F

Am

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

m

10

11

12

13

14

15

16

17

18

19

1A

1B

1C

1D

1E

1F

Результат Si наложения гаммы Gi на код Тi символа исходного (зашифрованного) текста представим такой записью:

SiiÅGi. (10.3)

Пример. Методом гаммирования

а) зашифровать слово ГАММА ,

б) расшифровать полученную криптограмму.

а) Результаты работы по зашифрованию исходного текста сведем в табл. 10.14.

Таблица 10.14

i

1

2

3

4

5

ТИi

Г

А

М

М

А

ТИmi

03

00

0C

0C

00

Gi

18

1D

1E

0B

14

ТЗmi

1C

1D

12

05

14

ТЗi

Ь

Э

Т

Е

Ф

В первой строке таблицы – номера i ее столбцов. Во вторую строку записываем символы ТИi исходного текста, а в третью – их шестнадцатеричные номера ТИmi из табл. 10.13

Далее по формуле (10.2), в которой i= , G0=63, генерируем последовательность гамм Gi для каждого кода ТИmi. Ниже на рис. 10.3 показан листинг вычислений по формуле (10.2) в системе компьютерной симуляции Mathcad. В первой строке заданы исходные данные, во второй записана формула (10.2) средствами Mathcad и выведены результаты вычислений. Вычисления ведутся в десятичной системе счисления. В последнем столбце второй строки листинга результаты переведены в шестнадцатеричную систему. Эти результаты и записываем в четвертую строку табл. 10.14. Напомним, что G0=63=3F не является гаммой.

Группа 1426 Для каждой пары кодов ТИmi и Gi выполняем операцию наложения гаммы (10.3) (напомним (см. гл. 2, табл. 2.1), что одна шестнадцатеричная цифра – это четверка двоичных цифр и наоборот):

i=1.

ТИm1=03=

0

0

0

0

0

0

1

1

Å

Å

Å

Å

Å

Å

Å

Å

G1=18=

0

0

0

1

1

0

0

0

S1=

0

0

0

1

1

0

1

1

=1C

ТЗm1=1C. ТЗ1=Ь.

i=2.

ТИm2=00=

0

0

0

0

0

0

0

0

Å

Å

Å

Å

Å

Å

Å

Å

G2=1D=

0

0

0

1

1

1

0

1

S2=

0

0

0

1

1

1

0

1

=1D

ТЗm2=1D. ТЗ2=Э.

i=3.

ТИm3=0C=

0

0

0

0

1

1

0

0

Å

Å

Å

Å

Å

Å

Å

Å

G3=1E=

0

0

0

1

1

1

1

0

S3=

0

0

0

1

0

0

1

0

=12

ТЗm3=12. ТЗ3=Т.

i=4.

ТИm4=0C=

0

0

0

0

1

1

0

0

Å

Å

Å

Å

Å

Å

Å

Å

G4=0B=

0

0

0

0

1

0

0

1

S4=

0

0

0

0

0

1

0

1

=05

ТЗm4=05. ТЗ4=Е.

i=5.

ТИm5=00=

0

0

0

0

0

0

0

0

Å

Å

Å

Å

Å

Å

Å

Å

G5=14=

0

0

0

1

0

1

0

0

S5=

0

0

0

1

0

1

0

0

=14

ТЗm5=14. ТЗ5=Ф.

Полученные коды ТЗmi записываем в пятую строку табл. 10.17.

Пользуясь табл. 10.16, для каждого кода ТЗ8i находим соответствующий ему символ ТЗi зашифрованного текста и записываем его в шестую строку табл. 10.17.

В результате получим криптограмму ЬЭТЕФ .

б) Результаты действий по расшифрованию криптограммы ЬЭТЕФ сведем в табл. 10.15, которая подобна табл. 10.14. Но во второй строке табл. 10.15 записаны символы ТЗi зашифрованного текста, а в третьей – их шестнадцатеричные эквиваленты ТЗmi.

Таблица 10.15

i

1

2

3

4

5

ТЗi

Ь

Э

Т

Е

Ф

ТЗmi

1C

1D

12

05

14

Gi

18

1D

1E

0B

14

ТИmi

03

00

0C

0C

00

ТИi

Г

А

М

М

А

Для каждой пары кодов ТЗmi и Gi выполняем операцию наложения гаммы (10.3):

i=1.

ТЗm1=1C=

0

0

0

1

1

0

1

1

Å

Å

Å

Å

Å

Å

Å

Å

G1=18=

0

0

0

1

1

0

0

0

S1=

0

0

0

0

0

0

1

1

=03

ТИm1=03. ТИ1=Г.

i=2.

ТЗm2=1D=

0

0

0

1

1

1

0

1

Å

Å

Å

Å

Å

Å

Å

Å

G2=1D=

0

0

0

1

1

1

0

1

S2=

0

0

0

0

0

0

0

0

=00

ТИm2=00. ТИ2=А.

i=3.

ТЗm3=05=

0

0

0

0

0

1

0

1

Å

Å

Å

Å

Å

Å

Å

Å

G3=0B=

0

0

0

0

1

0

0

1

S3=

0

0

0

0

1

1

0

0

=0C

ТИm3=0C. ТИ3=М.

i=4.

ТЗm4=05=

0

0

0

0

0

1

0

1

Å

Å

Å

Å

Å

Å

Å

Å

G4=0B=

0

0

0

0

1

0

0

1

S4=

0

0

0

0

1

1

0

0

=0C

ТИm4=0C. ТИ4=М.

i=5.

ТЗm5=14=

0

0

0

1

0

1

0

0

Å

Å

Å

Å

Å

Å

Å

Å

G5=14=

0

0

0

1

0

1

0

0

S5=

0

0

0

0

0

0

0

0

=00

ТИm5=00. ТИ5=А.

Полученные коды ТИmi записываем в пятую строку табл. 10.18.

Пользуясь табл. 10.13, для каждого кода ТИmi находим соответствующий ему символ ТИi расшифрованного текста и записываем его в шестую строку табл. 10.15.

В результате получим исходный текст ГАММА .

Этим примером мы проиллюстрировали тот факт, что гаммирование – унифицированная процедура зашифрования и расшифрования текстов.

Вопросы и задачи для самоконтроля

  1. Изложить суть метода перестановки на примере шифра вертикальной перестановки.

  2. С помощью шифра вертикальной перестановки с ключами K1=4, 1, 6, 2, 5, 3 и K2=4,2,3,5,7,1,6 зашифровать исходный текст

КЛЮЧИ ДОЛЖНЫ ВЫБИРАТЬСЯ СЛУЧАЙНО .

  1. Изложить суть метода гаммирования.

Пояснить смысл операции сложения по модулю 2 и причины выбора этой операции для реализации метода гаммирования.

Описать назначение генератора псевдослучайных чисел и выбор его параметров.

  1. Методом гаммирования

а) зашифровать слово АСУ ,

б) расшифровать полученную криптограмму.

В качестве гамм использовать первые три гаммы из табл. 10.17.

  1. Выполнить ДКЗ: Тест 10. МЕТОДЫ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]