Читайте также:
|
|
При шифровании простой заменой каждый символ шифруемого текста заменяется символом того же алфавита одинаково по всему тексту в соответствии с криптографическим алгоритмом и ключом.
Различают следующие шифры перестановки:
- полибианский квадрат;
- система Цезаря;
- аффинная система подстановок Цезаря;
- система Цезаря с ключевым словом;
- таблицы Трисемуса;
- биграммный шифр Плейфейра.
θ | μ | β | φ | ρ | |
ε | ς | λ | ο | δ | |
ψ | α | σ | ζ | υ | |
π | ι | ω | κ | ||
η | ξ | χ | γ | τ | |
Рис. 7. Полибианский квадрат |
Классический полибианский квадрат – таблица, состоящая из 5 строк и 5 столбцов, заполненная случайным образом буквами греческого алфавита и пробелом (рис. 7). При шифровании в таблице находят букву открытого текста и записывают в шифртекст букву, расположенную ниже ее в том же столбце. Если буква исходного текста находится в нижней строке таблицы, то ей соответствует буква первой строки из этого же столбца, например, для слова «βοτ» получается шифртекст «λζρ».
С | Ь | Ж | Н | Ф | Ъ | К | |
Ц | Б | Щ | Я | Р | Д | И | |
Ш | Т | М | А | Ч | Ы | ||
Г | Х | З | , | П | О | Ю | |
Л | Й | . | Е | Э | В | У | |
Рис. 8. Применение концепции полибианского квадрата для русскоязычных сообщений |
Концепцию полибианского квадрата легко перенести на алфавит любого языка, например, для русского алфавита можно взять прямоугольную таблицу размером 5х7 и записать в нее буквы от «А» до «Я» (кроме буквы «Ё»), пробел, символы «,» и «.» (Рис. 8), что позволит шифровать простейшие фразы и предложения. Если в сообщении содержатся также другие знаки препинания и символы, то предпочтительно использовать большую таблицу, например 5х8.
Пример 6. С помощью таблицы 5х7 (рис. 8) зашифруем сообщение «изобретение историка Полибия.». В результате шифрования по методу полибианского квадрата получим шифртекст: «Ы.В_АНЗНЯЫНХЫЦЗВАЫИПХЭВСЫ_ЫМЖ».
Система шифрования Цезаря. При шифрованиикаждая буква открытого текста заменяется на другую букву того же алфавита путем смещения по алфавиту от исходной буквы на K букв. Таким образом K – ключ системы Цезаря. Если при смещении выходим за пределы алфавита, то выполняется циклический переход к его началу.
Пример 7. Зашифруем слово «ЦЕЗАРЬ» с помощью системы Цезаря при смещении K =5.
Данный шифр можно задать таблицей замен букв открытого текста на буквы шифртекста (табл. 1). С помощью полученной таблицы заменяем каждую букву слова «ЦЕЗАРЬ». В результате получаем шифртекст «ЫКМЕХБ».
Таблица 1
Одноалфавитные замены по системе Цезаря
А → Е | И → Н | Р → Х | Ш → Э |
Б → Ж | Й → О | С → Ц | Щ → Ю |
В → З | К → П | Т → Ч | Ъ → Я |
Г → И | Л → Р | У → Ш | Ы → А |
Д → Й | М → С | Ф → Щ | Ь → Б |
Е → К | Н → Т | Х → Ъ | Э → В |
Ж → Л | О → У | Ц → Ы | Ю → Г |
З → М | П → Ф | Ч → Ь | Я → Д |
Если поставить в соответствие каждой букве алфавита ее порядковый номер или определенный код (начиная от 0), то замену по методу Цезаря можно описать следующей формулой:
I = (J+K) mod M, (2)
где J – числовой код буквы открытого текста, 0 ≤ J ≤ (M-1); K – ключ, 1 ≤ K ≤ (M-1); I – числовой код соответствующей буквы шифртекста; M – число букв в алфавите.
Операция mod – операция умножения по модулю (mod M – умножение по модулю М). В формуле (2) она дает остаток от деления суммы (J+K) на M. Операция mod необходима при выходе за пределы алфавита (когда (J+K) ≥ M) для определения кода буквы шифртекста в начале алфавита.
Аффинная система подстановок Цезаря. В данном методе используется ключ шифрования в виде пары целых чисел (A, K). Число A задает переход при шифровании вперед на A∙J букв, а число K – дополнительное смещение по алфавиту на K букв. Следовательно, аффинную систему подстановок Цезаря можно описать следующей формулой:
I = (А∙J+K) mod M. (3)
Формула (3) может быть использована только при выполнении следующих условий: 0 ≤ (A, J)≤ (M-1), 0 ≤ K ≤ (M-1), НОД (A, M)=1.
Наибольший общий делитель чисел A и M должен быть равен единице, чтобы избежать ситуации повтора, когда разным символам открытого текста соответствует один и тот же символ шифртекста.
Пример 8. Создадим таблицу замен для аффинной системы подстановок Цезаря с ключом (5, 4) на примере русского алфавита. Возьмем алфавит из 32 букв (все кроме буквы «Ё»). Таким образом, А = 5, К = 4, M = 32 и все условия (в том числе и НОД(5, 32) = 1) необходимые для использования (3) выполняются. Код буквы шифртекста находим из соотношения I = (5∙J+4) mod 32.
Сведем числовые коды букв открытого и зашифрованного текстов в таблицу (табл. 2).
Таблица 2
Таблица кодов для аффинных подстановок при A=5, K=3, M=32
J | ||||||||||||||||
I | ||||||||||||||||
J | ||||||||||||||||
I |
Преобразуем числовые коды в соответствующие буквы русского алфавита и получим соответствие для символов открытого текста и шифртекста (табл. 3).
Таблица 3
Таблица символов для аффинных подстановок при A=5, K=3, M=32
J | ||||||||||||||||
Исх. текст | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П |
Шифртекст | Г | И | Н | Т | Ч | Ь | Б | Ж | Л | Р | Х | Ъ | Я | Д | Й | О |
J | ||||||||||||||||
Исх. текст | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я |
Шифртекст | У | Ш | Э | В | З | М | С | Ц | Ы | А | Е | К | П | Ф | Щ | Ю |
С помощью табл. 3 или фомулы (3) слово «МИР» преобразуется в шифртекст «ЯЛУ».
Система Цезаря с ключевым словом. В этой системе шифрования наряду с числовым ключом K, 0 ≤ K ≤ (M-1), задающим смещение, используется ключевое слово для изменения порядка символов в заменяющем алфавите.
В качестве ключевого слова необходимо выбирать слово или короткую фразу (не более длины алфавита). Все буквы ключевого слова должны быть различными.
Для создания таблицы замены ключевое слово записываем под буквами алфавита, начиная с буквы, числовой код которой совпадает с выбранным числовым ключом K. Оставшиеся буквы алфавита замены записываем в алфавитном порядке (избегая повтора букв) после ключевого слова. При достижении конца таблицы циклически переходим на ее начало и дописываем последние буквы алфавита не встречавшиеся ранее.
Пример 9. Пусть задан ключ K=3, ключевое слово «ШИФРОВКА» и русский алфавит из 32 букв. Необходимо создать таблицу замен для системы шифрования Цезаря с ключевым словом и с ее помощью зашифровать слово «НЕПТУН».
Первую букву ключевого слова («Ш») записываем под символом «Г» открытого текста с числовым кодом, определенным ключом K=3. Остальные буквы слова «ШИФРОВКА» записываем подряд. Оставшиеся ячейки заполняем теми буквами алфавита, которые не вошли в ключевое слово: «Б», «Г», «Д», «Е» и т.д. до буквы «Ь». Оставшиеся буквы «Э», «Ю», «Я» вписываем в начало таблицы под буквами «А», «Б» и «В», соответственно (табл. 4).
Таблица 4
Таблица замен символов для системы шифрования Цезаря
при K=3, M=32 и ключевом слове «ШИФРОВКА»
код | ||||||||||||||||
исх. текст | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П |
шифртекст | Э | Ю | Я | Ш | И | Ф | Р | О | В | К | А | Б | Г | Д | Е | Ж |
код | ||||||||||||||||
исх. текст | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я |
шифртекст | З | Й | Л | М | Н | П | С | Т | У | Х | Ц | Ч | Щ | Ъ | Ы | Ь |
Далее с помощью табл. 4 шифруем побуквенно слово «НЕПТУН». В результате получаем шифртекст: «ДФЖЛМД».
Шифрующие таблицы Трисемуса по принципу шифрования аналогичны полибианскому квадрату. Различия между ними заключаются лишь в принципе заполнения таблиц буквами алфавита.
Таблица Трисемуса заполняется с помощью ключевого слова, повторяющиеся буквы которого отбрасываются. Затем таблица дополняется не вошедшими в нее буквами алфавита по порядку как в системе Цезаря с ключевым словом. Таким образом, ключом в таблицах Трисемуса является ключевое слово и размер таблицы.
При шифровании буква открытого текста заменяется буквой, расположенной ниже нее в том же столбце.
Пример 10. С помощью таблицы Трисемуса размером 5х7 (рис. 9) и ключевого слова «ПРЕФЕКТУРА» зашифруем сообщение «АББАТ ТРИСЕМУС, ТАБЛИЦА.».
П | Р | Е | Ф | К | Т | У | |
А | Б | В | Г | Д | Ж | З | |
И | Й | Л | М | Н | О | С | |
Х | Ц | Ч | Ш | Щ | Ъ | Ы | |
Ь | Э | Ю | Я | . | , | ||
Рис. 9. Пример реализации метода шифрующих таблиц Трисемуса |
Сначала подготовим ключевое слово, убрав из него повторяющиеся буквы. Полученное буквосочетание «ПРЕФКТУА» запишем построчно в таблицу. После этого дополняем таблицу оставшимися буквами алфавита, пробелом, запятой и точкой (рис. 9).
В результате шифрования по методу таблиц Трисемуса получим шифртекст: «ИЙЙИЖКЖБХЫВШЗЫУКЖИЙЧХЭИТ».
Биграммный шифр Плейфейра предназначен дляшифрования сообщений парами букв (биграммами).
Основой этого шифра является таблица, имеющая структуру, аналогичную структуре шифрующей таблицы Трисемуса – ключом служит число строк и столбцов (размер таблицы) и ключевое слово.
Процесс шифрования начинается с этапа подготовки открытого текста, который должен соответствовать следующим требованиям:
1. Иметь четное число букв. В случае исходного сообщения нечетной длины необходимо добавлять незначимый символ (например, пробел или точку) в конец сообщения.
2. После разбиения на пары букв не должно быть биграмм, содержащих две одинаковые буквы. Повторяющиеся подряд две буквы встречаются довольно часто в любом языке, поэтому необходимо сделать так, чтобы они находились в разных биграммах, например, в слове «ДИАГРАММА» при разделении на биграммы четвертая биграмма состоит из двух одинаковых букв «ММ» («ДИ АГ РА ММ А_»). Чтобы исправить данную ситуацию лучше всего добавить пробел в начало слова. Тогда идущие подряд буквы попадут в разные биграммы: «_Д ИА ГР АМ МА».
На заключительном этапе шифрования разделяют открытый текст на пары букв, которые последовательно преобразуются с помощью шифрующей таблицы в биграммы шифртекста по следующим правилам:
1. Если обе буквы биграммы исходного текста не лежат в одной строке или в одном столбце, тогда находят буквы в углах прямоугольника, определяемого данной парой букв. Первой буквой биграммы шифртекста становится буква, расположенная в той же строке, что и первая буква исходной биграммы, и в том же столбце, что и вторая буква открытого текста. Вторая буква биграммы шифртекста находится на пересечении строки, содержащей вторую букву, и столбца, содержащего первую букву открытого текста.
2. Если обе буквы биграммы открытого текста принадлежат одной строке таблицы, то первой и второй буквами биграммы шифртекста считаются буквы, лежащие справа, соответственно, от первой и второй букв биграммы открытого текста. При этом считается, что таблица циклически замкнута по строкам, то есть конец любой строки связан с ее началом. Поэтому если буквы биграммы расположены в одной строке и одна из них находится в последнем столбце таблицы, то для шифртекста берется буква из первого столбца этой строки.
3. Если обе буквы биграммы открытого текста принадлежат одному столбцу таблицы, то первой и второй буквами биграммы шифртекста считаются буквы, лежащие, соответственно, под первой и под второй буквами биграммы открытого текста. При этом считается, что таблица циклически замкнута по столбцам, то есть конец любого столбца замыкается на его начале. Поэтому если буквы биграммы расположены в одном столбце и одна из них находится в последней строке таблицы, то для шифртекста берется буква из первой строки этого столбца.
Пример 11. Зашифруем сообщение «ВО ВРЕМЯ ПЕРВОЙ МИРОВОЙ ВОЙНЫ ИСПОЛЬЗОВАЛИСЬ БИГРАММНЫЕ ШИФРЫ» биграммным шифром Плейфейра.
На этапе подготовки текста учитываем, что в исходном сообщении 61 символ (нечетное число) и одна из биграмм (51 и 52 символы) содержит одинаковые буквы «ММ». Чтобы увеличить число символов сообщения до четного числа и разделить повторяющиеся буквы по разным биграммам, добавим один пробел перед словом «ИСПОЛЬЗОВАЛИСЬ». Добавление пробела перед словом «БИГРАММНЫЕ» привело бы к ситуации, когда в одной биграмме находятся два пробела.
Разделив текст на биграммы, получим: «ВО», «_В», «РЕ», «МЯ», «_П», «ЕР», «ВО», «Й_», «МИ», «РО», «ВО», «Й_», «ВО», «ЙН», «Ы_», «_И», «СП», «ОЛ», «ЬЗ», «ОВ», «АЛ», «ИС», «Ь_», «БИ», «ГР», «АМ», «МН», «ЫЕ», «_Ш», «ИФ», «РЫ».
П | Р | Е | Ф | К | Т | У | |
А | Б | В | Г | Д | Ж | З | |
И | Й | Л | М | Н | О | С | |
Х | Ц | Ч | Ш | Щ | Ъ | Ы | |
Ь | Э | Ю | Я | . | , | ||
Рис. 10. Пример реализации метода Плейфейра |
Так как структура полностью аналогична, для шифрования воспользуемся таблицей Трисемуса из примера 10, но дополним ее иллюстрацией шифрования методом Плейфейра (рис. 10). Для первой биграммы «ВО» используем первое правило шифрования. Она заменяется на биграмму шифртекста «ЖЛ». Далее, по тому же правилу «_В» заменяем на «ЮД».
Буквы биграммы «РЕ» лежат в одной строке, поэтому для шифрования используем второе правило и получаем биграмму шифртекста «ЕФ».
Биграмма «МЯ» по третьему правилу заменяется биграммой «ШФ» по третьему правилу, так как буквы «М» и «Я» находятся в одном столбце.
В результате шифрования исходного сообщения методом Плейфейра получим следующие биграммы шифртекста: «ЖЛ», «ЮД», «ЕФ», «ШФ», «ЬК», «ФЕ», «ЖЛ», «НЭ», «НЙ», «ТЙ», «ЖЛ», «НЭ», «ЖЛ», «ЛО», «Щ_», «ЬН», «ИУ», «СМ», «,А», «ЛЖ», «ВИ», «ИЙ», «Э.», «АЙ», «БФ», «ГИ», «НО», «ЧУ», «ЯЩ», «МП», «УЦ».
Дата добавления: 2015-07-08; просмотров: 531 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Шифры перестановок | | | Дешифрация и криптоанализ шифров |