Обычно коды символов исходного текста и числа ключа переводятся в двоичный вид, после чего ключ накладывается на исходный текст и производится операция побитового сложения по модулю 2 (исключающее ИЛИ). При расшифровке повторно генерируется ключ, после чего производится собственно расшифровка. Рассмотрим шифрование с помощью данного метода на примере конкретного датчика псевдослучайных чисел.
Пусть линейный генератор случайных чисел вырабатывает случайные числа по следующему закону:
где А и С — константы, М = 2 где Ь — длина псевдослучайного числа в битах (b=4). В качестве порождающего числа используется число То, а каждое последующее число получается из предыдущего путем выполнения операции деления по модулю М выражения, стоящего в квадратных скобках. Пусть 14=5 м 1 - 24 2 3 = 8 . Выпишем закон генерации случайных чисел в явном виде:
Вычислим первые шесть чисел:
То = 4
Щ = [5То + 3]mod8 = = 23mod8 = 7 , и т.д. Результатом будет последовательность чисел: 7,6 1 0 3 2.
Зашифруем с помощью полученного ключа слово ПРОЕКТ.
Процедура шифрования состоит из следующих основных шагов:
1. Выписать коды букв слова и перевести их в двоичный вид:
п о Е к т
16 17 15 6 11 19
10000 10001
2. Выписать цифры кода и перевести их в двоичный вид:
10
3. Провести операцию побитового сложения по модулю 2, дополнив числа слева незначащими нулями до необходимого количества разрядов:
10001
00110
00110 |
||
00000 |
00011 |
00010 |
00110 |
01000 |
10001 |
4. Перевести результаты сложения в десятичный вид:
110 1000 10001
23 23 14 6 8 17
Расшифровка текста осуществляется следующим образом: двоичные коды цифр шифра и ключа складываются по модулю 2, результат переводится в десятичную систему и вычисляются соответствующие коды букв.
00110
10001
00110 |
01000 |
|
00000 |
00011 |
00010 |
00110 |
10001 |
9
В основу данных методов положен принцип перемешивания
Главным отличием данных методов от вышерассмотренных является то, что здесь переставляются не символы алфавита, а символы открытого текста. Это несколько ограничивает прямое применение данных методов, однако в комплексе с другими методами методы перемешивания дают очень хорошие результаты.
В простейшем случае для шифрования текста задается таблица перестановки, которая является ключом, например:
6 |
|||||
1 |
З |
5 |
Открытый текст разбивается на блоки по шесть символов, первый символ становится шестым, второй — четвертым, и т.д. В таком случае шифром слова МАШИНА будет АИАМШН.
Современные алгоритмы реализуют несколько последовательных подстановок и перестановок, в результате чего получается очень надежный шифр. Одним из алгоритмов, реализующих принцип перемешивания, является метод DES (Digital Encrypt Standard), ставший государственным стандартом США. Этот алгоритм используется в операционной системе Windows.
При использовании алгоритма DES сообщение разбивается на блоки длиной в 64 бит. Для шифрования используется один ключ длиной в 56 бит, однако шифрование осуществляется 16 раз, причем каждый раз из 64 бит ключа используются только 48, выбранные случайным образом. Схема шифрования с помощью алгоритма DES выглядит следующим образом:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.