Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_Курс лекций МиСЗИ.doc
Скачиваний:
62
Добавлен:
11.04.2015
Размер:
258.56 Кб
Скачать

Криптографическое преобразование информации (к 4-й лекции)

Классификация методов шифрования

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

Моноалфавитная подстановка

В прямых подстановках каждый знак исходного текста заменяется одним или несколькими знаками, но порядок следования символов в сообщении не изменяется.

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

Абвгдеёжзийклмнопрстуфхцчшщъыьэюя

превращается в

Гдеёжзийклмнопрстуфхцчшщъыьэюяабв

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

Например, сообщение

Сегодня прекрасная погода

превращается в

фзёсжрв тузнугфргв тсесжг

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

С =(a*P + s)mod K,

где а - десятичный коэффициент;

Р - позиция символа в алфавите;

s - коэффициент сдвига.

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

Для нашего первого примера а=1, s=3, К=33.

В моноалфавитных подстановках устанавливается взаимооднозначное соответствие между каждым знаком а(i) алфавита сообщений А и соответствующим знаком h(i) зашифрованного текста.

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

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

АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯпробел

ЙФЯЦЫЧУВСК#АМЕПИНРТГОЬШЛБЩДЮЗЖЭХЪЁ

Сегодня прекрасная погода

тчциыпъёнрчарйтпйъёнициый

Стойкость шифрования при использовании перемешанного варианта алфавита по сравнению с вариантом простого смещения значительно улучшается. Это объясняется тем, что существует 33! вариантов перестановок алфавита, а с пробелом число вариантов достигает 34!.

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

Многоалфавитные подстановки

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

АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯпробел

ЙФЯЦЫЧУВСК#АМЕПИНРТГОЪШЛБЩДЮЗЖЭХЬЁ

УВСКАМЕПИНРТГОЬШЛБЩДЮЗЖЁХЭЪ#ЙФЯЦЫЧ

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]