Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я А Б В Г Д

Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я А Б В Г Д Е Ж З И К Л М Н О П

О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я А Б В Г Д Е Ж З И К Л М Н

М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я А Б В Г Д Е Ж З И К Л

А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я

Методы замены (подстановки).

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

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

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

АБВГДЕ…………………………………………………….ЭЮЯ

БВГДЕЖ…………………………………………………….ЮЯА

ВГДЕЖЗ……………………………………………………...ЯАБ

ГДЕЖЗИ……………………………………………………...АБВ

ДЕЖЗИК……………………………………………………....БВГ

ЕЖЗИКЛ……………………………………………………....ВГД

……………………………………….……………………………….

ЯАБВГД……………………………………………………….ЬЭЮ

Рис. 5.Таблица шифрования

Для шифрования текста устанавливается ключ, представляющий собой некоторое слово или набор букв. Далее из полной матрицы выбирается подматрица шифрования, включающая, например, первую строку и строку матрицы, начальной буквой которой являются последовательно буквы ключа (рис. 6), например МОРЕ.

ШИФРУЕМЫЙ ТЕКСТ З A Щ И Т А И Н Ф О Р М А Ц И И

КЛЮЧ М О Р Е М О Р Е М О Р Е М О Р Е

ТЕКСТ ПОСЛЕ ЗАМЕНЫ У О И О Э О Ш Т Я Ы Я С М Г Ш О

ЗАШИФРОВАННЫЙ ТЕКСТ УОИО ЭОШТ ЯЫЯС МГШО

Рис. 6.Механизм шифрования заменой

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

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

Рис. 7.Ключ шифрования

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

Далее выполняется замена исходной буквы "З" на "У" в выходном тексте. Выходной текст делится на группы, например по четыре знака.

Для этого алгоритма может быть составлена компьютерная программа.

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

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

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

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

КЛЮЧМОРЕ МОРЕ МОРЕ МОРЕ

ЗАШИФРОВАННЫЙ ТЕКСТ УОИО ЭОШТ ЯЫЯС МГШО

РАСШИФРОВАННЫЙ ТЕКСТ ЗАЩИ ТАИН ФОРМ АЦИИ

ИСХОДНЫЙ ТЕКСТ ЗАЩИТА ИНФОРМАЦИИ

Рис. 8.Механизм дешифрования

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

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

  • во всех (кроме первой) строках таблицы буквы алфавита располагаются в произвольном порядке;
  • выбирается десять (не считая первой) строк, пронумерованных натуральными числами от 0 до 9;
  • в качестве ключа используются величины, выраженные бесконечным рядом чисел (например, основание натуральных логарифмов е = 2,7182818285..., число ПИ = 3,14159...).

Шифрование и расшифрование осуществляются в той же последовательности, что и в случае простой таблицы Вижинера.

Частным случаем метода замены, обеспечивающим надежное шифрование информации, является использование алгебры матриц (например, правила умножения матрицы на вектор). Это правило, как известно, заключается в следующем:

 

В соответствии с этим правилом матрицу можно использовать в качестве основы для шифрования, знаками вектора b1 могут быть символы шифруемого текста, а знаками вектора результата c1— символы зашифрованного текста.

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

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

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

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

 

где а — десятичный коэффициент; δ — коэффициент сдвига.

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

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

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

Примером такого же метода является гаммирование — наложение на исходный текст некоторой последовательности кодов, называемой гаммой. Процесс наложения осуществляется следующим образом:

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

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

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