Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ЗИ_Э.doc
Скачиваний:
1036
Добавлен:
29.03.2015
Размер:
1.67 Mб
Скачать

Простая моноалфавитная замена

Шифр простой моноалфавитной замены является обобщением шифра Цезаря и выполняет шифрование по следующей схеме:

,

(4.4)

где - ключ шифрования,.

Преобразование согласно схеме (4.4) является взаимно однозначным отображением только в том случае, если a и M взаимно простые. В этом случае для дешифрования закрытого текста выполняют обратное преобразование по формуле:

(4.5)

Пример 4.2.

Пусть M=26, a=3, K=6, НОД(3,26) = 1. Тогда получаем следующую таблицу подстановок для шифра простой моноалфавитной замены.

A

B

C

D

E

F

G

H

I

G

K

L

M

N

O

P

Q

R

S

P

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

C

6

9

12

15

18

21

24

1

4

7

10

13

16

19

22

25

2

5

8

T

U

V

W

X

Y

Z

P

19

20

21

22

23

24

25

C

11

14

17

20

23

0

3

Тогда открытый текст «HOME» будет преобразован в шифротекст «BWQS».

Шифр Гронсфельда

Данный шифр представляет собой модификацию шифра Цезаря с числовым ключом. При реализации данного шифра под буквами исходного сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Получение символа шифротекста осуществляют так же, как это делается в шифре Цезаря, при этом смещение символа открытого текста производят на количество позиций, соответствующего цифре ключа, стоящей под ним.

Пример 4.3.

Пусть необходимо зашифровать исходное сообщение «НОЧЕВАЛА ТУЧКА ЗОЛОТАЯ», в качестве ключа возьмем К=193431.

Сообщение

Н

О

Ч

Е

В

А

Л

А

Т

У

Ч

К

А

З

О

Л

О

Т

А

Я

Ключ

1

9

3

4

3

1

1

9

3

4

3

1

1

9

3

4

3

1

1

9

Шифротекст

О

Ч

Ь

Й

Е

Б

М

Й

Х

Ч

Ь

Л

Б

Р

С

П

С

У

Б

И

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

Дешифрование шифротеста предполагает сдвиг его символов на необходимое число позиций в обратную сторону.

Шифрование методом Вернама

При шифровании открытого текста, каждый его символ представляется в двоичном виде [2]. Ключ шифрования также представляется в двоичной форме. Шифрование исходного текста осуществляется путем сложения по модулю 2 двоичных символов открытого текста с двоичными символами ключа:

Y=PK

(4.6)

Дешифрование состоит в сложении по модулю 2 символов шифротекста с ключом.

Рис. 4.2. Схема системы шифрования Вернама

Модификация системы шифрования Вернама используется для криптографической защиты информации в архиваторе ARJ. Формула (4.6) в этом случае принимает следующий вид:

Y=P(K+VALUE),

(4.7)

где VALUE – фиксированное значение.

Пример 4.4.

Зашифруем с помощью системы Вернама открытый текст «БЛАНК» с помощью ключа «ОХ».

Преобразуем открытый текст «БЛАНК» в ASCII коды: Б=129, Л=139, A=128, Н=141, К=138. В двоичном виде последовательность 129, 139, 128, 141, 138 представится в виде 10000001 10001011 10000000 10001101 10001010.

символ

код

128

64

32

16

8

4

2

1

Б

129

1

0

0

0

0

0

0

1

Л

139

1

0

0

0

1

0

1

1

А

128

1

0

0

0

0

0

0

0

Н

141

1

0

0

0

1

1

0

1

К

138

1

0

0

0

1

0

1

0

Преобразуем ключ «ОХ» в ASCII коды: О=142, Х=149. В двоичном виде последовательность 142, 149 представится в виде 10001110 10010101.

Подпишем циклически ключ под открытым текстом и выполним сложение по модулю 2 соответствующих битов.

Открытый текст

1

0

0

0

0

0

0

1

1

0

0

0

1

0

1

1

1

0

0

0

Ключ

1

0

0

0

1

1

1

0

1

0

0

1

0

1

0

1

1

0

0

0

Закрытый текст

0

0

0

0

1

1

1

1

0

0

0

1

1

1

1

0

0

0

0

0

Продолжение таблицы по горизонтали

Открытый текст

0

0

0

0

1

0

0

0

1

1

0

1

1

0

0

0

1

0

1

0

Ключ

1

1

1

0

1

0

0

1

0

1

0

1

1

0

0

0

1

1

1

0

Закрытый текст

1

1

1

0

0

0

0

1

1

0

0

0

0

0

0

0

0

1

0

0