Подстановочные и перестановочные шифры

Классификация методов криптопреобразования по принципу размещения символов в шифре: подстановочные, перестановочные и подстановочно-перестановочные шифры.

Подстановочные шифры.Сущность подстановочного шифрования состоит в том, что, как правило, исходный (М) или зашифрованный текст (С) используют один и тот же алфавит, а ключом является алгоритм подстановки. Такой шифр называется простым, или моноалфавитным. Если используется несколько алфавитов – полиалфавитным.

Пример моноалфавитного шифра – шифр Цезаря: символы исходного алфавита заменяются символами того же алфавита со сдвигом на 3 символа вправо: «A» меняется на «D», «B» – на «E», «W» – на «Z», «X» – на «A» и т. д. (в некоторых случаях во внимание принимается 27-й символ – пробел). Для расшифрования необходимо выполнить обратную замену.

Пример1.

Имеем открытый текст М = «cade». На основе шифра Цезаря С = «gdqh».

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

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

Пример2.

М = «ИНФОРМАТИКА». Запишем этот текст как показано левее.

и н ф
о р м
а т и
к а  

Считывание по столбцам снизу вверх приводит к такому шифр-тексту: С = «КАОИАТРН_ИМФ».

Принцип записи исходного сообщения и порядок считывания символов может быть различным.

 

Пример3.

Открытый текст М = «ВАСЯ_ЛЮБИТ_МАШУ», а запишем его так, как показано на рис. ниже.

Осуществляя считывания по уровням, начиная с верхнего, получим следующий шифртекст: С = «СЮ_УАЯЛБТМШВ_ИА».

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