Метод подстановки (замены)
Наиболее простой и старый вид преобразований, заключающийся в замене символов исходного текста другими символами того же алфавита по определенному правилу. Примерами такого метода могут являться алгоритмы Цезаря, Вижинера, шифрование биграммами и др. Рассмотрим некоторые из этих методов.
Шифр Цезаря.Самым основным и обычным методом подстановки является шифр Цезаря (шифр простой замены), который заключается в следующих действиях над словами:
1. Задается алфавит сообщения (т.е множество символов составляющих сообщение).
2. Задается ключ - некоторое число N.
3. Каждая буква в слове меняется на отстоящую от нее на N позиций вправо. Если сумма “номера символа по порядку” и N превышает размер алфавита, то отсчет производят от начала алфавита иначе берётся остаток от деления на число букв N в алфавите (mod).
Возьмём алфавит русского языка и пронумеруем каждый символ алфавита.
Получим следующую таблицу:
А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | |||||||||||
Х | Ц | Ч | Ш | Щ | Ь | Ы | Ъ | Э | Ю | Я | ||||||||||||||||||||||
Допустим что необходимо зашифровать слово ПЛОЩАДЬ с ключом равным N = 5. Номер буквы «П» в нашем алфавите 17, значит необходимо к 17 прибавить 5 и получим символ, стоящий под номером 17+5=22 (“Ф”). Для буквы “Ъ” это будет выглядеть как (29+5) mod 33 = 1.
Результат шифрования будет выглядеть следующим образом:
«ПЛОЩАДЬ»
П(17) + 5 = 22 (Ф)
Л(13) + 5 = 18 (Р)
О(16) + 5 = 21 (Т)
Щ(28) +5 = 33 (Я)
А(1) + 5 = 6 (Е)
Д(5) + 5 = 10 (И)
Ь(29) + 5 = 34 mod 33 = 1 (А)
«ФРТЯЕИА»
Проанализировав данный алгоритм заметим, что расшифровать данное сообщение достаточно легко простым перебором всех возможный комбинаций ключа (а для нашего алфавита их всего 33). А если присмотреться, то можно заметить часто повторяющиеся символы (например пробелы) и “угадать” ключ с первого раза.
Шифр Вижинера. Этот шифр удобнее всего представлять себе как шифр Цезаря с переменной величиной сдвига. Чтобы знать, на сколько сдвигать очередную букву открытого текста, заранее договариваются о способе запоминания сдвигов. Сам Вижинер предлагал запоминать ключевое слово, каждая буква которого своим номером в алфавите указывает величину сдвига. Ключевое слово повторяется столько раз, сколько нужно для замены всех букв открытого текста. Например, ключевое слово ВАЗА означает следующую последовательность сдвигов букв открытого текста 2 0 7 0 2 0 7 0 2 0 7 0. Например, открытый текст КРИПТОГРАФИЯ при таком способе шифрования преобразуется в шифртекст МРППФОКРВФПЯ.
Дата добавления: 2016-03-22; просмотров: 556;