Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
53
Добавлен:
11.05.2015
Размер:
133.12 Кб
Скачать

2.3 Метод перестановки.

Для шифрования данных используются методы перестановки символов открытого текста в соответствии с некоторыми правилами. В данном случае понятие «ключ» подразумевает порядок, правило перестановки. Например, зашифрованный открытый текст «шифрование перестановкой», используя ключ: группы из восьми букв с порядковыми номерами 1 2 3 4 5 6 7 8 9 переставить в порядок 3 8 1 5 2 7 6 4, будет иметь следующий вид: «ФНШОИАВР СИЕЕЕРПНЙТВАОКО».

Можно использовать и усложнённую перестановку. Для этого открытый текст записывается в матрицу по определённому ключу K1. Шифротекст образуется при считывании из этой матрицы по ключуK2. Например, матрица из четырёх столбцов, где запись по строкам в соответствии с ключомK1: 5 3 1 2 4 6, а чтение производится по столбцам в соответствии с ключомK2: 4 2 3 1, представлена в таблице 2.7.

Таблица 2.7 – Матрица алфавита с перестановкой из четырёх столбцов

1

И

Е

П

2

Е

Р

Е

С

3

О

В

А

Н

4

Т

А

Н

О

5

Ш

И

Ф

Р

6

В

К

О

Й

K1

K2

1

2

3

4

Таким образом, шифротекст, полученный в результате такой перестановки выглядит следующим образом: «ПСНОРЙЕРВАИКЕАНФОИЕОТШВ». Наиболее сложные перестановки осуществляются по гамильтоновым путям, которых в графе может быть несколько. Таким образом, теперь ключом является гамильтонов путь на графе (рисунок 2.1)

1

2

3

4

5

6

запись

7

8

чтение

Рисунок 2.1 –Гамильтонов путь на графе

Запись открытого текста производится по сплошной линии по пути (1-2-3-4-5-6-7-8). Чтение криптограммы производится по прерывистой линии по пути (1-7-5-8-2-4-3-6).

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

2.3 Шифрование с помощью датчика псевдослучайных чисел

Принцип шифрования с помощью датчика псевдослучайных (почти случайных) чисел (гаммирование) заключается в генерации гаммы шифра с помощью генератора псевдослучайных чисел (ПСЧ) и наложения полученной гаммы на открытые данные обратимым образом (например, при использовании логической операции «исключающее ИЛИ»).

Расшифрование данных сводится к повторной генерации гаммы шифра при известном ключе и наложению этой гаммы на зашифрованные данные.

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

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

T(i+1)=[A·T(i)+C]modM,

где A иC– константы;T(i)– исходная величина, выбранная в качестве порождающего числа (здесь Т(0)=Т(i)).

Такой датчик ПСЧ генерирует псевдослучайные числа с определённым периодом повторения, зависящим от выбранных значений А и С. Значение М обычно устанавливается равным 2ª, где а – длина последовательности (слова ЭВМ) в битах.

Различают методы конечной гаммы и бесконечной гаммы. В качестве конечной гаммы может использоваться фраза, в качестве бесконечной – последовательность, вырабатываемая датчиком псевдослучайных чисел. Например, открытый текст «приказ» («15 16 09 10 01 08», согласно таблице 2.1) с помощью гаммы «гамма» («04 01 12 12 01») и сложения по модулю 32 в шифротекст «УСХЦБЛ». Очевидно, что данный пример аналогичен подстановке шифра Вижинера. Теперь же повторим зашифрование того же текста с помощью генератора ПСЧ, первые значения которого: «2 1 7 9 4 5 6 7» и сложения по модулю 2 (логическая операция «исключающее или»). Запишем код каждой буквы открытого текста в двоичном виде, используя пять разрядов, а каждую цифру гаммы – используя четыре разряда: