![](/user_photo/71224_AGCDL.jpg)
ЛР1 / Шифры_одноалфавитной_замены
.docxШифры одноалфавитной замены
Шифры замены (подстановки) основаны на применении принципа рассеивания, который на практике реализуется посредством той или иной подстановки. Ещё в Древней Греции (II в. до н. э.) был известен шифр, называемый "квадрат Полибия". Он представлял собой квадрат размером 5x5, столбцы и строки которого нумеровали цифрами от 1 до 5. В каждую клетку этого квадрата записывалась одна буква.
В греческом варианте использования шифра одна клетка оставалась пустой, а в латинском варианте в одну клетку помещали две буквы I и J:
В результате каждой букве сообщения соответствовала пара цифр, а зашифрованное сообщение превращалось в последовательность пар цифр (от 1 до 5). Например, 13 34 22 24 44 34 15 42 22 34 43 45 32. Здесь определенное неудобство заключается в том, что зашифрованное сообщение оказывается в два раза длиннее исходного. Поэтому часто данный шифр применялся несколько иначе. Например, в качестве символа замены в таблице можно взять символ, находящийся справа от текущего шифруемого символа сообщения (к примеру, символ N можно заменить на букву O и т.д.).
В I в. н.э. Юлий Цезарь циклическим сдвигом заменял в сообщении первую букву латинского алфавита (А) на четвертую (D), вторую (В) - на пятую (Е), а последнюю - на третью букву алфавита (шифр Цезаря). Шифр Цезаря является очень простым частным случаем шифра простой замены (то есть одноалфавитной подстановки):
Алфавит откр. сообщ.: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Алфавит шифрования: DEFGHIJKLMNOPQRSTUVWXYZABC
Император Август (I в. н. э.) в своей переписке циклически заменял первую букву на вторую, вторую букву - на третью и т.д., наконец, последнюю - на первую:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXYZA
Основной недостаток шифров одноалфавитной подстановки с циклическим сдвигом заключается в том, что существует слишком мало возможных ключей шифрования: например, для латинского алфавита их всего лишь 24. Квадрат Полибия, шифр Цезаря и аналогичные им шифры относятся к классу шифров, называемых "шифры подстановки" или "простой замены".
Первое известное применение тайнописи в России относится к XIII в. Вид тайнописи, которая использовалась в древнерусских рукописях, - это «система замен». Выделяют два вида такой тайнописи: «простую литорею» (от лат. Litera - буква) и «мудрую литорею». Первый документ, который дошел до нас и содержал тип криптосистемы «простая литорея», датировался 1229 годом. «Простая литорея» заключалась в том, что каждая из десяти по порядку азбуки согласных букв, поставленных в одном ряду, заменялась соответствующей ей буквой во втором ряду, который состоял из последних десяти согласных, расположенных в обратном (справа-налево) порядке:
Поэтому при шифровании сообщения заменяются буквы, расположенные на одной вертикали, а все остальные буквы остаются без изменения. В результате этого в исходном сообщении производится замена только согласных букв. К примеру, пословица «рыба с головы гниет», записанная с помощью этого шифра без использования пробелов между словами, выглядит так: «МЫЩАЛЧОСОШЫСПИЕК». Эту систему тайнописи (в силу внешней полной бессмысленности зашифрованного сообщения) часто называли также «тарабарской грамотой», либо «тарабарщиной».
Более сложной разновидностью «литореи» была так называемая «мудрая литорея», где все буквы кириллической азбуки заменялись на другие буквы и символы. К этому же виду тайнописи, которую использовали в XVI–XVII веках, относилась тайнопись «в квадратах», где таблицы замены букв выписывались в виде квадратов. Нередко писари прибегали к написанию фраз в обратном порядке, составляя своеобразные криптограммы, или не дописывали букву - подобный шифр назывался «полусловицей». Годом рождения российской криптологической службы можно считать 1549 год, когда была образована «Посольская изба», позже названная «Посольским приказом», при котором работала «цифирная» палата тайных дел. С момента ее образования в России начали активно использовать криптологические методы в дипломатической и военной переписке.
Таким образом простая замена (одноалфавитная подстановка) является простейшим криптографическим методом, в общем случае ставящим множество знаков алфавита открытого сообщения {tj} (где j = 1, 2, ... , L, а L - длина алфавита (мощность алфавита)) во взаимно однозначное соответствие некоторому другому алфавиту {cj}, который представляет собой запись всех тех же знаков tj, но в другом порядке относительно их расположения в алфавите открытого сообщения {tj}. Одноалфавитная подстановка обычно задается в виде таблицы или с помощью математической формулы. По современным меркам этот способ является крайне ненадежным даже для систем с очень большим числом возможных алфавитов подстановки. Например, перестановка символов исходного алфавита открытого сообщения длиной L = 30 дает число вариантов, равное 30! > 1030. Опробование всех возможных вариантов подстановки с целью определения подстановки, использованной при шифровании, в настоящее время практически невозможно осуществить даже при использовании суперкомпьютеров. Однако для раскрытия шифров простой замены используется не такая прямолинейная атака путем полного перебора ключей (метод грубой силы), а значительно более эффективный способ, основанный на статистических свойствах исходного текста.
Раскрытие шифртекстов, полученных с помощью любого варианта одноалфавитной подстановки, осуществляется путем изучения частоты появления знаков в криптограмме, которая совпадает с частотой появления символов исходного алфавита в открытом тексте. Дело в том, что все естественные языки (и большинство искусственных языков) имеют вполне характерную для каждого из них частоту повторения букв и вспомогательных знаков. Повторяемость букв для всех естественных языков давно подсчитана, а исследование частотности знаков в зашифрованном сообщении (частотный криптоанализ) является эффективным способом быстрого восстановления противником перехваченной им зашифрованной информации независимо от конкретного выбранного алфавита шифрования (при использовании одноалфавитной подстановки).
Метод частотного криптоанализа может быть применен, если длина перехваченной криптограммы превышает некоторый критический размер, для которого будет проявляться частотная структура исходного открытого текста. Для естественных языков критический размер не превышает нескольких десятков знаков. Лабораторная работа №1 как раз и призвана продемонстрировать криптографическую слабость шифра одноалфавитной замены.