Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_4.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
55.75 Кб
Скачать

2. Алгоритмическая часть

  1. Выбрать текст для шифрования длиной не более 8 символов.

  2. Использовать заданный алфавит для шифровки для первых 4-х

алгоритмов.

  1. Зашифровать текст алгоритмами:

- алгоритмом Цезаря, К=4;

- алгоритмом простой перестановки, К=3142;

- алгоритмом простой моноалфавитной замены, а=2, К=4;

- алгоритмом Гамильтона, К1= 40231576; К2= 46201573.

- алгоритмом гаммирования.

  1. Зашифровать осмысленное слово длиной не более 8 символов

любым методом из пяти заданных, отдайте на расшифровку

вместе с ключом (ключами).

  1. Взять зашифрованный текст, ключ шифрования.

  2. Дешифровать переданный текст, подобрав алгоритм.

3. Конструкторская часть

Текст для шифрования: Алфавит

Решение.

Алгоритм Цезаря

А

Л

Ф

А

В

И

Т

Д

П

Ш

Д

Ж

Ь

Ц

Алгоритм простой перестановки

1

2

3

4

1

2

3

4

А

Л

Ф

А

В

И

Т

3

1

4

2

3

1

4

2

Ф

А

Ф

Л

Т

В

И

Алгоритм моноалфавитной замены

А

Л

Ф

А

В

И

Т

Р

0

11

20

0

1

8

18

С

4

26

8

4

6

20

4

Д

Ъ

И

Д

Ж

Ф

Д

Алгоритм Гамильтона

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

А

Л

Ф

А

В

И

Т

А

Л

Ф

А

В

И

Т

4

0

2

3

1

5

7

6

4

6

2

0

1

5

7

3

В

А

Ф

А

Л

И

Т

В

Т

Ф

А

Л

И

А

Л

В

Ф

А

А

И

Т

А

В

Ф

А

И

Л

Т

Алгоритм гаммирования

Пример. Пусть задан текст «Яучу» закодировать его и переслать зашифрованным по каналу связи на основе алгоритма гаммирования.

Решение. Сначала построим таблицу, в которой представим буквы числами по системе кодировки ASCII (см. табл. 3.1.) и числа представим затем в двоичной системе счисления, получим:

Таблица 3.1.

27

26

25

24

23

22

21

20

128

64

32

16

8

4

2

1

Я

159

1

0

0

1

1

1

1

1

у

227

1

1

1

0

0

0

1

1

ч

231

1

1

1

0

0

1

1

1

у

227

1

1

1

0

0

0

1

1

Теперь обратимся к генератору равномерно распределенных случайных чисел линейного конгруэнтного метода:

Линейный конгруэнтный метод

Выберем четыре числа:

m — модуль, m> 0;

a — множитель, 0 a<m;

c— приращение, 0 с <m;

Х0— начальное значение, 0 Х0<m.

Последовательность случайных чисел n} можно получить, полагая

Хn+1 = (a Хn + c) mod m, n 0

(3.1)

Эта последовательность называется линейной конгруэнтной последовательностью. Например, для m = 10 и Х0 = a = c = 7 получим последовательность

7, 6, 9, 0, 7, 6, 9, 0, …

Здесь отражен факт, что конгруэнтная последовательность всегда образует петли, т.е. обязательно существует цикл, повторяющийся бесконечное число раз. Это свойство является общим для всех последовательностей вида Xn+1 = f(Xn), где f — функция, преобразующая конечное множество само в себя. Повторяющиеся циклы называют периодами. Задача генерации случайных последовательностей состоит в использовании относительно длинного периода, что связано с выбором довольно большого m, так как период не может иметь больше m элементов.

Воспользуемся формулой (3.1) и создадим гамму шифра:

x0=0 ; а =5 ; с =7 ; m = 128,

получим ряд чисел: {7,42, 89, 68, 91,…} оставим из них только 4 и переведем их в двоичную систему счисления, получим:

Таблица 3.2.

Гамма шифра

27

26

25

24

23

22

21

20

128

64

32

16

8

4

2

1

7

0

0

0

0

0

1

1

1

42

0

0

1

0

1

0

1

0

89

0

1

0

1

1

0

0

1

68

0

1

0

0

0

1

0

0

Сложим исходный текст, представленный в двоичном виде с гаммой шифра по модулю 2, будем иметь:

Таблица 3.3

1

0

0

1

1

1

1

1

1

1

1

0

0

0

1

1

1

1

1

0

0

1

1

1

1

1

1

0

0

0

1

1

0

0

0

0

0

1

1

1

0

0

1

0

1

0

1

0

0

1

0

1

1

0

0

1

0

1

0

0

0

1

0

0

1

0

0

1

1

0

0

0

1

1

0

0

1

0

0

1

1

0

1

1

1

1

1

0

1

0

1

0

0

1

1

1

1

0

0

1

1

1

1

1

1

1

1

0

0

0

1

1

1

1

1

0

0

1

1

1

1

1

1

0

0

0

1

1

Я

у

ч

у

Пояснения к таблице 3.3. Первая строка это код входного текста в двоичной системе счисления, вторая строка это гамма шифра в двоичной системе счисления, третья строка это сложение по модулю 2 этих строк, результат зашифрованный текст, который идет по открытому каналу связи, четвертая строка это дешифрованный текст на гамме шифра с известным алгоритмом генерирования случайных чисел (линейным конгруэнтным методом) с известными х0, a, с, m.

Дешифрование.

Для дешифрования был получен зашифрованный текст: ев спсеу р , ключ: К=3142. Анализ вида ключа показывает, что для шифровки применялся метод простой перестановки. Расшифровка позволяет получить следующий результат:

1

2

3

4

1

2

3

4

1

2

е

в

с

п

с

е

у

р

3

1

4

2

3

1

4

2

1

2

в

с

е

с

у

п

е

р

Получили текст: все супер.