Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания_Шифрование.docx
Скачиваний:
30
Добавлен:
30.05.2015
Размер:
95.33 Кб
Скачать

3.2. Шифры перестановок

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

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

- шифр «скитала»;

- простые шифрующие таблицы;

- шифрующие таблицы с одиночной перестановкой по ключу;

- шифрующие таблицы с двойной перестановкой по ключу;

- магические квадраты.

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

Ключом для шифра «скитала» является число строк и столбцов таблицы, поэтому для расшифрования шифртекста необходима такая же таблица как и для шифрования.

П

Р

О

И

З

В

Е

Д

Е

Н

З

А

П

У

С

К

С

П

У

Т

Н

И

К

А

Рис. 2. Реализация шифра «скитала»

Пример 1. Зашифруем фразу «произведен запуск спутника» с помощью таблицы размером 7х5 (7 строк, 5 столбцов) (рис.2).

После заполнения таблицы по строкам считываем ее содержимое по столбцам и получаем шифртекст: «ПВ_СУА_РЕЗКТ_

_ОДА_Н__ИЕПСИИ ЗНУПК__».

При дешифрации записываем шифртекст в таблицу размером 7х5 по столбцам, затем считываем по строкам.

Шифрующие таблицы основаны на заполнении их ячеек буквами текста. Ключом шифрующих таблиц может быть

- размер таблицы (число строк и столбцов);

- слово или фраза, определяющая перестановку строк и (или) столбцов.

Для метода простых шифрующих таблиц ключом является размер таблицы. Этот метод шифрования аналогичен шифру «скитала», но в отличие от него исходный текст разделяется на блоки. Длина каждого из них равна числу ячеек в таблице. Затем каждый из блоков шифруется отдельно. Текст записывается в таблицы по столбцам, а считывается по строкам. Такой подход позволяет шифровать сообщения любой длины.

Пример 2. Зашифруем фразу из первого примера с помощью таблицы размером 3х5.

Исходное сообщение разделяется на блоки по 15 символов (ровно столько, сколько ячеек в таблице). Для записи текста необходимо 2 таблицы (рис. 3). После заполнения первой таблицы символами по столбцам считывают ее содержимое по строкам. Получаем: «ПИЕНАРЗД_ПОВЕЗУ» Для второго блока исходного текста действия повторяются.

П

И

Е

Н

А

С

С

Т

К

Р

З

Д

П

К

П

Н

А

О

В

Е

З

У

У

И

Рис. 3. Реализация простых шифрующих таблиц

В результате, после соединения двух зашифрованных блоков, получаем шифртекст: «ПИЕНАРЗД_ПОВЕЗУССТК_КПНА__УИ__».

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

Пример 3. Зашифруем фразу «СИСТЕМНЫЙ ПАРОЛЬ ИЗМЕНЕН» с помощью таблицы размером 4х6 и ключевого слова «СКАНЕР».

Для записи заданной фразы достаточно одной таблицы. Сначала ее заполняют по столбцам исходной фразой (рис. 4а), затем переставляют столбцы по ключевому слову «СКАНЕР» и считывают символы по строкам (рис. 4б). В результате получаем шифрованное сообщение: «Й_ЕРЕС_ИМОНИПЗНЛЕСАМЫЬНТ».

Ключ

С

К

А

Н

Е

Р

А

Е

К

Н

Р

С

6

3

1

4

2

5

1

2

3

4

5

6

С

Е

Й

Р

Е

Й

Е

Р

Е

С

И

М

О

И

Н

И

М

О

Н

И

С

Н

П

Л

З

Е

П

З

Н

Л

Е

С

Т

Ы

А

Ь

М

Н

А

М

Ы

Ь

Н

Т

а) исходная таблица б) после перестановки

Рис. 4. Реализация шифрующих таблиц с одиночной перестановкой по ключу

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

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

Пример 4. Зашифруем фразу из третьего примера с помощью таблицы размером 4х6 и ключевых слов «СКАНЕР» и «4123».

После заполнения исходной таблицы по строкам (рис. 5а) переставляем столбцы по порядку следования в алфавите букв слова «СКАНЕР» (рис. 5б). Затем переставляем строки. Порядковый номер строки определяет цифра второго ключевого слова «4123» (рис. 5в). На этом перестановки в таблице заканчиваются. Шифртекст считываем по столбцам и получаем: «ЙЛЕСП_ЕЕЫОМИ_ЬНТАИНМНРЗС»

С

К

А

Н

Е

Р

А

Е

К

Н

Р

С

А

Е

К

Н

Р

С

6

3

1

4

2

5

1

2

3

4

5

6

1

2

3

4

5

6

4

С

И

С

Т

Е

М

4

С

Е

И

Т

М

С

1

Й

П

Ы

А

Н

1

Н

Ы

Й

П

А

1

Й

П

Ы

А

Н

2

Л

О

Ь

И

Р

2

Р

О

Л

Ь

И

2

Л

О

Ь

И

Р

3

Е

Е

М

Н

Н

З

3

З

М

Е

Н

Е

Н

3

Е

Е

М

Н

Н

З

4

С

Е

И

Т

М

С

а) исходная таблица б) перестановка столбцов в) перестановка строк

Рис. 5. Пример шифрования методом двойной перестановки

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

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

Пример 5. Зашифруем фразу «МАГИЧЕСКАЯ СИЛА» с помощью магического квадрата размером 4х4. Для этого выберем один из 880 вариантов магических квадратов заданного размера (рис. 6а). Затем вписываем каждую букву сообщения в отдельную ячейку таблицы с номером, соответствующим порядковому номеру буквы в исходной фразе (рис. 6б). При считывании заполненной таблицы по строкам получаем шифртекст: «_ГАИАЕССЧЯ_КИАЛМ».

16

3

2

13

Г

А

И

9

6

7

12

А

Е

С

С

5

10

11

8

Ч

Я

К

4

15

14

1

И

А

Л

М


а) магический квадрат б) квадрат с сообщением

Рис. 6. Пример шифрования с помощью магических квадратов