logo
Анин Б

Шифры замены

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

В классической криптографии различают 4 разновидности шифров замены:

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

текста заменяется на один и тот же символ шифртекста.

Омофонноя замена. Аналогична простой замене с единственным

отличием: каждой букве открытого текста ставятся в соответствие несколько символов шифртекста. Например, буква “А” заменяется на цифру 5, 13, 25 или 57, а буква “Б” — на 7, 19, 31 или 43 и так далее.

Блочная замена. Шифрование открытого текста производится блоками.

Например, блоку “АБА” может соответствовать “РТК”, а блоку “АББ” — “СЛЛ”.

 Многоалфавитная замена. Состоит из нескольких шифров простой

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

Примером шифра простой замены может служить программа ROT13, которую обычно можно найти в операционной системе UNIX. С ее помощью буква “А” открытого текста на английском языке заменяется на букву “N”, “В” — на “О” и так далее. Таким образом, ROT13 циклически сдвигает каждую букву английского алфавита на 13 позиций вправо. Чтобы получить исходный открытый текст надо применить функцию шифрования ROT 13 дважды:

Р = ROT13 (ROT13 (P))

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

Разновидностью шифра замены можно считать код, который вместо букв осуществляет замену слов, фраз и даже целых предложений. Например, кодовый текст “ЛЕДЕНЕЦ” может соответствовать фразе открытого текста “ПОВЕРНУТЬ ВПРАВО НА 90°”. Однако коды применимы только при определенных условиях: если, например, в коде отсутствует соответствующее значение для слова “МУРАВЬЕД”, то вы не можете использовать это слово в открытом тексте своего сообщения, предназначенном для кодирования.