Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_1 защита информации.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
301 Кб
Скачать
☆

2.2 Шифры замены (подстановки)

Наиболее известными и часто используемыми шифрами являются шифры замены (подстановки). Они характеризуются тем, что отдельные части сообщения (буквы, слова) заменяются на какие-либо другие буквы, числа, символы и т.д. При этом замена осуществляется так, чтобы потом по шифрованному сообщению можно было однозначно восстановить передаваемое сообщение.

Пусть, например, зашифровывается сообщение на русском языке и при этом замене подлежит каждая буква сообщения. Формально в этом случае шифр замены можно описать следующим образом. Для каждой буквы  исходного алфавита строится некоторое множество символов M так, что множества M и M попарно не пересекаются при , то есть любые два различные множества не содержат одинаковых элементов. Множество M называется множеством шифробозначений для буквы .

Таблица

а

б

в

…

я

а

Мб

Мв

…

Мя

является ключом шифра замены. Зная ее, можно осуществить как зашифровку, так и расшифровку.

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

а

б

в

г

д

е

ж

з

и

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

21

37

14

22

01

24

62

73

46

23

12

08

27

53

35

04

20

13

59

25

75

43

19

29

06

65

74

48

36

28

16

40

26

63

47

31

83

88

30

02

91

72

32

77

68

60

44

52

39

07

49

33

85

58

80

50

34

17

56

78

64

41

10

03

71

82

15

70

11

55

90

69

38

61

54

09

84

45

89

67

93

76

18

51

87

66

81

92

42

79

86

05

57

то сообщение «я знаком с шифрами замены» может быть зашифровано, например, любым из следующих трех способов:

16

55

54

10

69

09

61

89

29

90

49

44

10

08

02

73

21

32

83

54

74

41

55

77

10

23

68

08

20

66

90

76

44

21

61

90

55

21

61

83

54

42

57

30

27

10

91

68

32

20

80

02

49

45

40

32

46

55

40

08

83

27

42

я

з

н

а

к

о

м

с

ш

и

ф

р

а

м

и

з

а

м

е

н

ы

Так как множества Ма, Мб,.., Мя попарно не пересекаются, то по каждому символу шифрованного сообщения можно однозначно определить, какому множеству он принадлежит, и, следовательно, какую букву открытого сообщения он заменяет. Поэтому дешифрование возможно и открытое сообщение определяется единственным образом.

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

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

Более стойкой в отношении раскрытия является схема шифрования, основанная на использовании квадрата (таблицы) Вижинера (табл.2). Таблица представляет собой квадратную матрицу с числом элементов К, где К – количество символов в алфавите. Сверху и по левому краю квадрата выписан исходный алфавит. В первой строке матрицы записываются буквы в порядке очередности их в алфавите, во второй – та же последовательность букв, но со сдвигом влево на одну позицию, в третьей – со сдвигом на две позиции и т.д. Освободившиеся места справа заполняются вытесненными влево буквами, записываемыми в естественной последовательности.

Таблица 2.1 Квадрат Вижинера

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

Б

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

В

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

Г

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Д

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Е

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Ж

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

З

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

И

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

Й

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

К

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

Л

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

М

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

Н

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

О

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

П

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

Р

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

С

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

Т

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

У

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

Ф

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Х

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Ц

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ч

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ш

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Щ

Щ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Ъ

Ъ

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ы

Ы

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ь

Ь

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Э

Э

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Ю

Ю

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Я

Я

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

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

Процесс шифрования включает следующую последовательность действий:

  • под каждой буквой шифруемого текста записываются буквы ключа, повторяющие ключ требуемое число раз;

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

Расшифровка текста выполняется в следующей последовательности:

  • над буквами шифрованного текста сверху последовательно записываются буквы ключа;

  • в строке подматрицы таблицы Вижинера для каждой буквы ключа отыскивается буква, соответствующая знаку шифрованного текста. Находящаяся над ней буква первой строки и будет знаком расшифрованного текста;

  • полученный текст группируется в слова по смыслу.

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

  • во всех (кроме первой) строках таблицы буквы алфавита располагаются в произвольном порядке;

  • выбирается десять (не считая первой) строк, пронумерованных натуральными числами от 0 до 9;

  • в качестве ключа используются величины, выраженные бесконечным рядом чисел.

Частным случаем метода замены, обеспечивающим надежное шифрование информации является использование алгебры матриц (например, умножения матрицы на вектор):

В соответствии с этим правилом матрицу A={aij} можно использовать в качестве основы для шифрования, знаками вектора B={bi} могут быть символы шифруемого текста, а знаками вектора результата C={сi} – символы зашифрованного текста.

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

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

исх.текст: ЗАЩИТА

цифровые эквиваленты букв алфавита:

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

матрица А вектор В вектор С

для шифрования исх. текста шифр. текста

(формируется сл. обр.) (цифр. экв.) (С=А*В)

445

453

365

378

457

429

8

1

26

9

19

1

10

7

5

6

9

3

9

6

10

6

3

4

1

8

3

8

10

9

3

4

6

6

7

7

5

5

9

6

6

10

8

4

9

5

4

6

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