в чем заключается главная слабость моноалфавитного шифра
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Моноалфавитные криптосистемы
Это один из самых древних шифров, в своё время он был очень популярен и даже сам Цезарь его использовал и своё название он получил именно поэтому.
Онлайн курс по Кибербезопасности
Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии
Таблица 1. Русский алфавит
Как можно заметить шифр Цезаря в реализации очень прост.
Атака на шифр Цезаря
Атака на шифрованный текст называется криптоанализом. Но стоит отметить, что этот шифр очень ненадёжен, то есть очень слабый и даже в 9 веке появились методы, которые позволяли спокойно его вскрывать. Таких методов очень много, но мы разберем самый простой.
Шифр простой замены
Шифр и Криптосистема, это одно и то же, это сам алгоритм, который указывает на то в каком количестве и какие буквы будут представляться, куда они будут представляться, насколько они будут сдвигаться и т.д.
1. О | 2. Н | 3. М | 4. Ё | 5. Ы | 6. З | 7. Щ | 8. Ц | 9. Е | 10. Ь | 11. Т |
12. Я | 13. Ч | 14. Й | 15. Б | 16. А | 17. Ф | 18. В | 19. Ю | 20. Р | 21. К | 22. П |
23. Ъ | 24. Ж | 25. Л | 26. Э | 27. Г | 28. Х | 29. Д | 30. И | 31. Ш | 32. С | 33. У |
То есть данное шифрование сводится к элементарной замене букв согласно таблицам 1 и 2. Попробуем зашифровать имя и фамилию моего соавтора «ВСЕВОЛОД СНАСТИН«. Буква «В» находится на позиции «3» в первой таблице, а во второй таблице на позиции «3» находится буква «М», значит первая буква нашего закрытого текста будет буква «М». Делаем то же самое и для остальных букв и получаем зашифрованное сообщение «МЮЗМАЧАЫ ЮБОЮРЬБ«. Но не обязательно буквы менять на буквы, так же буквы можно менять на цифры и по такой же логике производить замену.
Атака по маске
А теперь разберем как вскрывать зашифрованный текст. Например, имеем некий шифрованный текст и все буквы в нём переведем в числа по таблице 1 для того, когда будем дешифровывать текст, могли видеть буквы, которые уже дешифровали, то есть буквы исходного текста, потому что буквы на фоне чисел выделяются намного лучше, их видно намного легче, чем буквы на фоне букв.
После представления всех букв в виде чисел заканчивается криптография и начинается аналитика. Нашей основной задачей является сбор информации и любая информация будет полезна. С помощью аналитики дешифровываем текст (пример со словом «ВОНАРО»).
Атака частотным криптоанализом
На рисунке 1 показана закономерность распределения букв в русском алфавите.
Но так как мы дело имеем со статистикой все эти цифры будут отличаться от статистики, если брать определённый текст. При этом иногда погрешности этих цифр могут быть существенные и из-за этого принимаются неправильные решения, и это намного усложняет процесс дешифрования данным методом.
Но у метода частотного криптоанализа есть существенные минусы:
Исходя из всего вышеперечисленного, а в особенности 4 пункта лучше не использовать этот метод, потому что он очень трудоёмкий.
Чтобы попытаться дешифровать текст, для начала нужно сосчитать общее количество символов в нём. Затем рассчитать, используя значения из рисунка 1 примерное количество символов в тексте с определённой буквой и записываем все полученные значения в определённую таблицу. После этого считаем реальное количество символов в зашифрованном тексте и заносим в другую таблицу, затем сортируем обе таблицы по убыванию количества символов и находим примерные соответствия. Путём подстановки определённых букв в зашифрованный текст (с помощью соответствий обеих таблиц), а также с помощью логики и дедукции начинаем его дешифрование.
Делаем вывод, что метод частотного криптоанализа в чистом виде не используют.
Онлайн курс по Кибербезопасности
Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии
Моноалфавитный и полиалфавитный методы шифрования
Глава 1. Моноалфавитный и полиалфавитный методы шифрования.
Первую главу я решила посвятить моноалфавитному и полиалфавитному методам шифрования, которые использовались людьми до начала использования электромеханических устройств в шифровании. Эти методы являлись основоположниками современной криптографии.
Моноалфавитный шифр, или, как его по-другому называют, шифр простой замены, простой подстановочный шифр, являет собой самы простой и самый древний метод шифрования, который, по сути, появился вместе с зарождением письменности. Его принцип состоял и состоит по сей день в том, чтобы заменять одни символы другими, то есть тем самым сводился к созданию таблицы шифровния по определенному алгоритму.
Самыми известными моноалфавитными шифрами являются Атбаш и Шифр Цезаря.
Атбаш — это шифр подстановки, который изначально использовался только для иврита, но, в целом, применим к любому языку. Его суть состоит в том, что все буквы алфавита заменяются на буквы, имеющие тот же порядковый, но с конца.
То есть, данный шифр можно записать, как D(i)=n-i, где n — количество букв в алфавите, i — изначальный порядковый номер буквы, которую нам надо заменить, а D(i) — получаемый номер, который соответствует новому значению буквы, на которое мы ее заменяем. Получается, что алфавит выстраивается в обратном порядке.
История Атбаша насчитывает почти 20 веков, так как, предположительно, он появился примерно в 500 году до нашей эры и использовался вплоть до 1300 года нашей эры. Доподлинно не известно, кто изобрел Атбаш, но считается, что его придумала иудейская секта повстанцев, Ессеи. Ими было разработано множество различных шифров и кодов, так как это было важно, чтобы избежать преследования. Позже эти знания были переданы Гностикам (Гностицизм — условное название ряда позднеантичных религиозных течений, использующих мотивы Ветхого Завета, восточной мифологии и ряда раннехристианских учений), которые в последствии передали их Катарам (христианское религиозное движение). Позднее Катарские дворяне были завербованы Орденом Тамплиеров, которым, соответственно, были переняты знания шифров. Шифр перестал существовать с роспуском Ордена Тамплиеров.
Шифр Цезаря, по-другому именуемый код Цезаря или сдвиг Цезаря, является одним из самых простых и наиболее известных методов шифрования. Он заключается в том, что алфавит «сдвигается», а каждая конкретная буква соответствует другой букве с определенным интервалом. В классическом шифре Цезаря использовался сдвиг вправо на три. То есть в целом шифр сдвига можно записать, как D(i)=i+k, при |k|
Шифры моноалфавитной подстановки
Шифры моноалфавитной подстановки 2
Шифрование и расшифрование файла шифром Цезаря 4
Дешифрование текстового файла, зашифрованного шифром Цезаря 11
Дешифрование изображения, зашифрованного шифром Цезаря 12
Полиалфавитные подстановки 17
Шифры перестановки 21
Шифры моноалфавитной подстановки
Первая работа посвящена изучению моноалфавитных подстановок. Рассмотрим, как используют этот шифр.
Прежде всего выбирается нормативный алфавит, т. е. набор символов, которые будут использоваться при составлении сообщений, требующих зашифровки. Допустим, это будут прописные буквы руского алфавита (исключая буквы “Ё” и “Ъ”) и пробел. Таким образом, наш нормативный алфавит состоит из 32 символов. Затем выбирается алфавит шифрования и устанавливается взаимно однозначное соответствие между символами нормативного алфавита и символами алфавита шифрования. Алфавит шифрования может состоять из произвольных символов, в том числе и из символов нормативного алфавита.
Чтобы зашифровать исходное сообщение, каждый символ открытого текста заменяется на соответствующий ему символ алфавита шифрования.
Зашифруем, например, слово “звезда”. Если использовать алфавиты, приведенные в таблице 1, то получится следующее:
Метод моноалфавитной подстановки можно представить как числовые преобразования символов исходного текста. Для этого каждой букве нормативного алфавита ставится в соответствие некоторое число, называемое числовым эквивалентом этой буквы. Например, для букв русского алфавита и пробела это выглядит так:
Таблица 2 (продолжение)
Шифр Цезаря
Простейшим примером моноалфавитных подстановок является шифр Цезаря. В этом шифре каждый символ открытого текста заменяется третьим после него символом в алфавите, замкнутом в кольцо, т. е. после пробела следует буква “А”. Таким образом, шифр Цезаря описывается так:
где — коэффициент сдвига, одинаковый для всех символов.
Цезарь использовал величину сдвига =3, но, конечно, можно использовать любое целое : .
Зашифруем, например, текст “ШИФР_ЦЕЗАРЯ”, использовав коэффициент сдвига =2.
Шифрование и расшифрование файла шифром Цезаря
1. Создаем файл caesar. py
2. Вставляем в caesar. py функцию шифрования одного числа:
3. Проверяем: создаем файл main_caesar. py (рис.1)
– Вызов функции encrypt
4. Вставляем в caesar. py функцию расшифрования одного числа:
– Вызов функции decrypt
6. Для шифрования массива (списка) чисел используем функцию:
def encrypt_data(data, key):
– Вызов функции encrypt_data
8. Для расшифрования массива (списка) чисел используем функцию:
def decrypt_data(data_c, key):
– Вызов функции decrypt_data
10. Теперь массив (список) чисел формируем не сами, а берем из файла. Формируем файл ‘f1.txt’. В него заносим следующую информацию:
He was a burly man of an exceedingly dark complexion, with an exceedingly large head and a corresponding large hand. He took my chin in his large hand and turned up my face to have a look at me by the light of the candle. He was prematurely bald on the top of his head, and had bushy black eyebrows that wouldn’t lie down but stood up bristling. His eyes were set very deep in his head, and were disagreeably sharp and suspicious. He had a large watchchain, and strong black dots where his beard and whiskers would have been if he had let them. He was nothing to me, and I could have had no foresight then, that he ever would be anything to me, but it happened that I had this opportunity of observing him well.
Подключаем модуль read_write_file (рис. 5).
– Чтение файла “f1.txt”
11. Убедимся, что полученные числа – это наш текст (рис. 6):
12. Или более коротко (рис. 7):
13. Теперь зашифруем весь файл. Результат шифрования запишем в файл ‘f1_encrypt. txt’ (Рис. 8)
– Шифрование файла «f1.txt»
Содержимое файла ‘f1_encrypt. txt’ показано на рис. 9.
– Результат шифрования файла «f1.txt»
14. Теперь откроем зашифрованный файл ‘f1_encrypt. txt’, расшифруем его и результат запишем в файл ‘f1_decrypt. txt’ (рис. 10):
– Расшифрование зашифрованного файла
Исходный файл ‘f1.txt’ и ‘f1_decrypt. txt’ совпадают.
Дешифрование текстового файла, зашифрованного шифром Цезаря
Рассмотрим такую задачу: дан файл ‘f1_encrypt. txt’ – зашифрованное шифром Цезаря текстовое сообщение. Ключ неизвестен. Надо дешифровать сообщение из этого файла.
Последовательность действий такая: перебираем все возможные ключи (от 0 до 255), т. е. расшифровываем сообщение на этих ключах, проверяем полученное текстовое сообщение: является оно написанным на английском языке. Если является, то нашли ключ и расшифровали сообщение. Чтобы определить, что сообщение написано на английском языке используем модуль detectEnglish (рис.11).
На рисунке показан фрагмент программы, в котором выполняется расшифрование файла на очередном ключе k. Полученные данные преобразуются в текст и с помощью функции isEnglish из модуля detectEnglish проверяется является ли полученный текст, написанным на английском языке или нет. В функции isEnglish используется для этой цели словарь английский слов (файл “dictionary. txt”).
– В is_english содержится true, если текст английский, false – в противном случае (Модуль detectEnglish. py вместе со словарем должен располагаться в папке вместе с программой
Дешифрование изображения, зашифрованного шифром Цезаря
Дан файл ‘f2.png’. В нем содержится следующее изображение (рис.12):
Содержимое этого файла в шестнадцатеричном виде показано на рис. 13.
Видно, что первые два байта изображения имеют значения: 0х89, 0х50 в шестнадцатеричной системе счисления. Нетрудно убедиться, что у всех изображений в формате PNG первые два байта имеют данные значения. Зная эту информацию, можно выполнить дешифрование зашифрованного изображения в формате PNG.
Но прежде, зашифруем изображение (рис. 14):
Теперь задача: дан файл ‘f2_encrypt. png’. Считаем, что ключ не известен. Дешифровать.
Задание 1
Дешифровать файл t3_caesar_c_all. txt.
Задание 2
Дешифровать файл c4_caesar_c_all. bmp. Зашифровать, оставив первые 50 байт без изменения. Сравнить с оригинальным изображением.
Задание 3
В общем случае ключом в моноалфавитном шифре является таблица замен. Таблицу замен можно сформировать следующим образом
Само шифрование можно реализовать, например, так:
В модуле substitution. py реализовать функции шифрования и расшифрования данных. Известна таблица замен:
k=[179, 109, 157, 182, 126, 141, 251, 220, 169, 237, 188, 131, 207, 22, 32, 242, 208, 68, 216, 170, 249, 199, 44, 198, 206, 8, 148, 197, 136, 195, 159, 98, 175, 53, 123, 212, 233, 150, 6, 243, 38, 79, 156, 153, 2, 134, 47, 215, 102, 15, 57, 110, 236, 24, 184, 72, 137, 113, 171, 70, 161, 64, 252, 247, 49, 103, 105, 138, 119, 213, 87, 130, 203, 90, 167, 238, 231, 116, 78, 86, 173, 250, 200, 239, 178, 97, 114, 94, 166, 142, 104, 31, 75, 89, 106, 56, 128, 69, 164, 67, 26, 228, 61, 181, 125, 227, 54, 96, 168, 107, 17, 14, 37, 190, 219, 211, 121, 112, 35, 18, 143, 158, 193, 129, 71, 23, 101, 191, 41, 241, 82, 201, 223, 120, 59, 177, 58, 63, 151, 42, 36, 183, 226, 127, 172, 202, 84, 132, 3, 45, 73, 30, 235, 50, 189, 4, 1, 43, 221, 205, 83, 232, 46, 147, 93, 192, 124, 244, 12, 21, 80, 55, 160, 145, 245, 209, 88, 204, 176, 13, 253, 11, 99, 165, 140, 19, 224, 111, 27, 185, 65, 62, 16, 163, 210, 115, 217, 34, 92, 187, 152, 155, 108, 5, 122, 229, 174, 118, 162, 95, 100, 7, 66, 29, 230, 144, 149, 52, 9, 91, 117, 214, 76, 48, 33, 194, 254, 10, 234, 218, 40, 133, 196, 139, 135, 240, 60, 25, 225, 85, 255, 246, 51, 28, 146, 74, 222, 186, 39, 77, 0, 20, 180, 154, 81, 248]
Расшифровать файл c3_subst_c_all. png.
Афинный шифр
Здесь буквы исходного сообщения преобразуются следующим образом:
где А, В – целые числа, причем А и L взаимно простые (наибольший общий делитель равен 1).
Зашифруем фразу КОРАБЛИ ОТПЛЫВАЮТ ВЕЧЕРОМ, используя афинную систему подстановок при А=13, В=5. Размер алфавита L=32 (будем считать, что в исходном алфавите в качестве буквы Й используется И, а в качестве Ё – Е, и добавим 32-ым символом пробел). В результате преобразований получим:
Сообщение К О Р А Б Л И О Т П Л Ы В А Ю Т В Е Ч Е Р О М
Шифртекст Ы П И Е У З О Щ П В Ь З Ш Е Я В Щ Ж Г Ж И П Х
В нашем случае алфавит состоит из L=256 элементов, следовательно, надо выбрать А таким образом, чтобы НОД(А, 256)=1. Ниже приведена функция gcd, которая реализует известный алгоритм Евклида для определения НОД.
Задание 4
Расшифровать файл ff2_affine_c_all. bmp. Шифр аффинный. a= 167 b= 35. Зашифровать, оставив первые 50 байт без изменения. Сравнить с оригинальным изображением.
Задание 5
Дешифровать файл text10_affine_c_all. txt. Шифр аффинный. Подсчитать сколько перебрали вариантов ключей.
Задание 6
Дешифровать файл b4_affine_c_all. png. Шифр аффинный. Подсчитать сколько перебрали вариантов ключей.
Полиалфавитные подстановки
В случае моноалфавитных подстановок используется только один алфавит шифрования. Существуют шифры, где используется целый набор алфавитов шифрования. Такие шифры называются полиалфавитными и позволяют, в отличие от моноалфавитных подстановок, скрыть естественную частоту появления символов в тексте.
числовые эквиваленты символов криптограммы и открытого текста соответственно,
числовой эквивалент буквы ключа,
мощность нормативного алфавита.
длина ключа или период шифра
Буквы ключа определяют величину смещения символов криптограммы относительно символов открытого текста.
Зашифруем, например, текст “полиалфавитная_подстановка” с ключом “краб”. Будем использовать алфавит, приведенный в таблице 4. Процесс шифрования приведен в таблице 5.
Таблица 4 (продолжение)
В результате получилась криптограмма: “ЩЯЛЙКЬФБМШТОКО_Р ШФСУКЮОГФР”.
Задание 7
Расшифровать файл im6_vigener_c_all. bmp. Шифр Виженера. Ключ: magistr. Зашифровать, оставив первые 50 байт без изменения. Сравнить с оригинальным изображением.
Метод вероятных слов основан на том, что чаще всего заранее известна область применения криптограммы, а, значит, и слова, которые могут встретиться в тексте. Например, если известно, что в криптограмме зашифрован финансовый отчет, вероятно, в тексте встречаются слова “дебет”, “кредит”, “баланс” и т. п.
Если данное вероятное слово присутствует в тексте и вычитается в правильной позиции, то результатом такого вычитания будет ключ шифрования или его часть. Если слово испытывается в неправильной позиции, то результатом вычитания будет бессмысленный набор букв. Понятно, что, если этого слова нет в тексте, все позиции будут неправильными.
Конечно, будут возникать и “ложные тревоги”, особенно в случае коротких вероятных слов, но эти варианты будут легко отбрасываться в процессе продвижения анализа, т. к. они не дадут разумных расширений.
Задание 8
Дешифровать text4_vigener_c. txt – зашифрованное шифром Вижинера текстовое сообщение. Известно, что сообщение начинается со строки из одних пробелов.
Задание 9
Дешифровать этот же файл (text4_vigener_c. txt) – зашифрованное шифром Вижинера текстовое сообщение. Известно, что в сообщении присутствует слово housewives.
Задание 10
Дешифровать файл (text1_vigener_c. txt) – зашифрованное шифром Вижинера текстовое сообщение. Известно, что в сообщении присутствуют слова it therefore.
Шифры перестановки
Кроме поточных, существуют еще блочные шифры. При использовании блочных шифров текст предварительно разбивается на блоки и шифрование происходит поблочно.
Перестановки относятся к блочным шифрам. Текст делится на блоки по N символов, и в каждом блоке символы переставляются в соответствии с некоторым правилом (ключом). Таким образом ключ задает порядок символов в блоке.
Кроме того, известны т. н. табличные перестановки. Например, исходный текст вписывают в таблицу по столбцам, а затем строки таблицы переставляются в соответствии с ключом. Размер таблицы оговаривается заранее.
1. Использование подстановки
Существует два способа использования ключа.
Чтобы зашифровать M, нужно i-ый символ текста поставить на ki-ое место. При расшифровке на i-ое место ставим ki-ый символ криптограммы.
При шифровке на i-ое место ставим ki-ый символ текста. При расшифровке i-ый символ криптограммы ставится на ki-ое место.
Такая таблица называется подстановкой степени n.
Зная подстановку, задающую преобразование, можно осуществить как зашифрование, так и расшифрование текста.
Задание 11
Дешифровать text2_permutation_c. txt – зашифрованное шифром перестановки текстовое сообщение. Известно, что длина перестановки 6. Правило перестановки: на i-ю позицию ставится п(i) символ, где п – перестановка.
Литература
[1] Al Sweigart. Hacking Secret Ciphers with Python
[2] Stallings W, “Cryptography And Network Security. Principles And Practice”, 5th Edition, 2011.
Традиционные шифры
Во второй главе мы обсудили основы современной криптографии. Мы приравнивали криптографию к инструментарию, в котором в качестве основных инструментов рассматриваются различные криптографические методы. Одним из таких инструментов является шифрование симметричного ключа, где ключ, используемый для шифрования и дешифрования, является одним и тем же.
В этой главе мы обсудим эту технику и ее применение для разработки различных криптосистем.
Ранее криптографические системы
Прежде чем продолжить, вам нужно знать некоторые факты об исторических криптосистемах —
Единственная служба безопасности, предоставляемая этими системами, — это конфиденциальность информации.
В отличие от современных систем, которые являются цифровыми и обрабатывают данные как двоичные числа, более ранние системы работали над алфавитами в качестве основного элемента.
Единственная служба безопасности, предоставляемая этими системами, — это конфиденциальность информации.
В отличие от современных систем, которые являются цифровыми и обрабатывают данные как двоичные числа, более ранние системы работали над алфавитами в качестве основного элемента.
Эти более ранние криптографические системы также называют шифрами. В общем, шифр — это просто набор шагов (алгоритм) для выполнения как шифрования, так и соответствующего дешифрования.
Цезарь Шифр
Это моноалфавитный шифр, в котором каждая буква открытого текста заменяется другой буквой для формирования зашифрованного текста. Это самая простая форма схемы замещения шифра.
Для такого типа схемы отправитель и получатель договариваются о «секретном числе сдвига» для сдвига алфавита. Этот номер от 0 до 25 становится ключом шифрования.
Название «Цезарь шифр» иногда используется для описания шифра сдвига, когда используется «сдвиг трех».
Процесс шифрования сдвига
Чтобы зашифровать открытое текстовое письмо, отправитель помещает скользящую линейку под первый набор незашифрованных букв и сдвигает ее влево на количество позиций секретного сдвига.
Письмо в виде открытого текста затем шифруется до букв зашифрованного текста на скользящей линейке внизу. Результат этого процесса изображен на следующем рисунке для согласованного изменения трех позиций. В этом случае обычный учебник зашифрован в зашифрованный текст WXWRULDO. Вот алфавит шифротекста для сдвига 3 —
Чтобы зашифровать открытое текстовое письмо, отправитель помещает скользящую линейку под первый набор незашифрованных букв и сдвигает ее влево на количество позиций секретного сдвига.
Письмо в виде открытого текста затем шифруется до букв зашифрованного текста на скользящей линейке внизу. Результат этого процесса изображен на следующем рисунке для согласованного изменения трех позиций. В этом случае обычный учебник зашифрован в зашифрованный текст WXWRULDO. Вот алфавит шифротекста для сдвига 3 —
При получении зашифрованного текста получатель, который также знает секретный сдвиг, помещает свою скользящую линейку под алфавит зашифрованного текста и сдвигает ее вправо на согласованный номер сдвига, 3 в этом случае.
Затем он заменяет зашифрованную букву открытым текстом на скользящей линейке внизу. Следовательно, зашифрованный текст «WXWRULDO» расшифровывается как «учебник». Чтобы расшифровать сообщение, закодированное со сдвигом 3, сгенерируйте открытый текст с использованием сдвига «-3», как показано ниже:
При получении зашифрованного текста получатель, который также знает секретный сдвиг, помещает свою скользящую линейку под алфавит зашифрованного текста и сдвигает ее вправо на согласованный номер сдвига, 3 в этом случае.
Затем он заменяет зашифрованную букву открытым текстом на скользящей линейке внизу. Следовательно, зашифрованный текст «WXWRULDO» расшифровывается как «учебник». Чтобы расшифровать сообщение, закодированное со сдвигом 3, сгенерируйте открытый текст с использованием сдвига «-3», как показано ниже:
Значение безопасности
Цезарь Cipher не является безопасной криптосистемой, потому что есть только 26 возможных ключей для тестирования. Злоумышленник может выполнить исчерпывающий поиск ключа с доступными ограниченными вычислительными ресурсами.
Простой Подстановочный Шифр
Это улучшение Цезаря Шифра. Вместо смещения алфавитов на некоторое число, эта схема использует некоторую перестановку букв в алфавите.
Процесс простой замены шифра
Напишите алфавиты A, B, C, …, Z в естественном порядке.
Отправитель и получатель выбирают произвольно выбранную перестановку букв алфавита.
Под алфавитами естественного порядка запишите выбранную перестановку букв алфавита. Для шифрования отправитель заменяет все незашифрованные буквы заменой буквы перестановки, которая находится непосредственно под ней в таблице. Этот процесс показан на следующем рисунке. В этом примере выбранная перестановка — это K, D, G, …, O. Точка открытого текста «зашифрована» в «MJBXZ».
Напишите алфавиты A, B, C, …, Z в естественном порядке.
Отправитель и получатель выбирают произвольно выбранную перестановку букв алфавита.
Под алфавитами естественного порядка запишите выбранную перестановку букв алфавита. Для шифрования отправитель заменяет все незашифрованные буквы заменой буквы перестановки, которая находится непосредственно под ней в таблице. Этот процесс показан на следующем рисунке. В этом примере выбранная перестановка — это K, D, G, …, O. Точка открытого текста «зашифрована» в «MJBXZ».
Вот беспорядочный алфавит зашифрованного текста, где порядок букв зашифрованного текста является ключевым.
Получив зашифрованный текст, получатель, который также знает случайно выбранную перестановку, заменяет каждую букву зашифрованного текста в нижнем ряду соответствующей буквой открытого текста в верхнем ряду. Зашифрованный текст «MJBXZ» расшифровывается как «точка».
Получив зашифрованный текст, получатель, который также знает случайно выбранную перестановку, заменяет каждую букву зашифрованного текста в нижнем ряду соответствующей буквой открытого текста в верхнем ряду. Зашифрованный текст «MJBXZ» расшифровывается как «точка».
Значение безопасности
Simple Substitution Cipher — это значительное улучшение по сравнению с Cesar Cipher. Возможное количество ключей велико (26!), И даже современные вычислительные системы еще недостаточно мощны, чтобы удобно начать атаку методом взлома, чтобы взломать систему. Тем не менее, Simple Substitution Cipher имеет простую конструкцию и подвержен ошибкам проектирования, скажем, при выборе очевидной перестановки эта криптосистема может быть легко взломана.
Моноалфавитный и Полиалфабетический Шифр
Моноалфавитный шифр — это шифр замещения, в котором для данного ключа алфавит шифра для каждого простого алфавита фиксируется на протяжении всего процесса шифрования. Например, если «A» зашифровано как «D», для любого числа вхождений в этом открытом тексте «A» всегда будет зашифровано до «D».
Все шифры замещения, которые мы обсуждали ранее в этой главе, являются моноалфавитными; Эти шифры очень чувствительны к криптоанализу.