Методы перестановки

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

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

Простейшим примером перестановки являются запись исходного текста по строкам некоторой матрицы и его чтение по столбцам этой матрицы. Последовательность заполнения строк и чтения столбцов может быть любой и задается ключом. Таким образом, для матрицы размером 8*8 (длина блока 64 символа) возможно 1,6*10^9 ключей, что позволяет на современных ЭВМ путем перебора расшифровать заданный текст. Однако для матрицы размером 16*16 (длина блока 256 символов) имеется 1,4*10^26 ключей, и перебор их с помощью современных средств вычисления весьма затруднителен.

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

Для методов перестановки характерны простота алгоритма, возможность программной реализации и низкий уровень защиты, так как при большой длине исходного текста в его зашифрованном варианте проявляются статистические закономерности ключа, что и позволяет его быстро раскрыть. Другой недостаток этих методов – легкое раскрытие, если удается направить в систему для шифрования несколько специально подобранных сообщений. Так, если длина блока в исходном тексте равна К символам, то для раскрытия ключа достаточно пропустить через шифровальную систему К-1 блоков исходного текста, в которых все символы, кроме одного, одинаковы.

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

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

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

Более стойкой в отношении раскрытия считается схема шифрования, основанная на таблице Вижинера. Таблица представляет собой квадратную матрицу с числом элементов К, где К – количество символов в алфавите. В первой строке матрицы записываются буквы в порядке их очередности в алфавите, во второй – та же последовательность букв, но со сдвигом влево на одну позицию, в третьей – со сдвигом на две позиции и т.д. Освободившиеся места справа заполняются вытесненными влево символами, записываемыми в естественной последовательности.

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

Процесс шифрования включает следующую последовательность действий:

– под каждой буквой шифруемого текста записываются символы ключа, повторяющие ключ требуемое количество раз;

– шифруемый текст по подматрице заменяется буквами, расположенными на пересечениях линий, соединяющих буквы текста первой строки подматрицы и символы ключа находящиеся под ней.

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

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

Расшифровка текста выполняется в следующей последовательности:

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: