![](/user_photo/71224_AGCDL.jpg)
ЛР2 / Монофонический_шифр
.docxМонофонический шифр
Криптограммы, полученные методом одноалфавитной подстановки, легко раскрываются частотным криптоанализом. Чтобы скрыть частотные свойства источника сообщений и тем самым затруднить противнику криптоанализ, может быть использован метод монофонического шифрования, который заключается в выравнивании частотности появления знаков криптограммы, то есть использовании такого механизма криптографического преобразования, который бы вырабатывал криптограммы в среднем с одинаковой частотой появления в них каждого знака, используемого для записи шифртекста.
Монофоническое шифрование заключается в следующем. Пусть имеется источник сообщений с заранее известными статистическими свойствами. Выразим частоты появления каждой буквы исходного алфавита в открытом сообщении целым числом fi, где i - порядковый номер буквы в алфавите: f1, f2, ... , fL, где L - мощность алфавита. Каждой букве Тi, где i = 1, 2, ... , L, исходного алфавита поставим в соответствии подмножество Ψi знаков алфавита шифрования (алфавита, с помощью которого записывается криптограмма).
Эти множества зададим в соответствии с двумя условиями:
никакая пара из имеющихся подмножеств не содержит одинаковых элементов (они взаимно не пересекаются);
количество различных знаков замены в подмножестве Ψi равно fi (прямо пропорционально частоте появления символа Тi в открытом сообщении).
Шифрование будем осуществлять путем замены каждого символа Ti исходного сообщения на случайно и равновероятно выбираемый знак из относящегося к нему подмножества замен Ψi. Очевидно, что в этом случае при многократной замене символа Ti исходного сообщения знаками из подмножества Ψi каждый символ алфавита шифрования будет использоваться в среднем одинаковое число раз. Это число обратно пропорционально числу элементов в подмножестве Ψi - пропорционально 1/fi. В свою очередь, частота обращений к подмножеству Ψi равна частоте появления символа Ti в открытом сообщении будет прямо пропорциональна частоте fi. Из этого следует, что частоты появления в криптограмме всех знаков алфавита шифрования выровняются и в среднем окажутся равными.
Описанный способ шифрования требует использования f1 + f2 + ... + fL символов замены в алфавите шифрования. При этом в качестве символов замены могут использоваться практически любые символы. Все массивы замен (для всех символов алфавита открытого сообщения) следует заполнить, воспользовавшись осреднённой статистикой повторяемости букв в русском языке. В частности, для буквы «О» надо предусмотреть 90 различных символов замены, для буквы «Е» - 72 символа, для буквы «А» - 62 символа и т.д. для всех остальных букв алфавита. С целью упрощения общее потребное количество символов замены можно вдвое сократить: для буквы «О» выделить 45 символов, для «Е» - 36 символов и т.д.
Дешифрование не представляет никаких трудностей: по текущему знаку криптограммы определяется то подмножество, к которому он относится, а по выявленному подмножеству - соответствующая ему буква алфавита открытого сообщения. Наиболее существенным элементом в этом способе шифрования является то, что за счет случайного (и равновероятного) выбора элемента замены из всех подмножеств Ψi данное криптопреобразование принимает для противника вероятностный (заранее непредсказуемый) характер. Частотный криптоанализ перехваченной криптограммы, конечно, можно провести, но он покажет лишь то, что все символы в криптограмме в среднем встречаются одинаковое число раз (поэтому никакому из символов нельзя будет отдать предпочтение).