Смекни!
smekni.com

Криптографические способы защиты (стр. 1 из 3)

Криптографические способы защиты

1 Требования к шифрам

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

2 Методы шифрования

2.1 Шифрование заменой (подстановкой)

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

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

Таблица 1 - Таблица простой замены

Символы шифруемого текста А Б В Г Д Е Ж З И Й К Л М Н О П
Заменяющие символы С П Х Л Р З Э М А Ы Я Д Ю Т Г Ж
Символы шифруемого текста Р С Т У Ф Х Ц Ч Ш Щ Ь Ы Ъ Э Ю Я
Заменяющие символы Н Й О Ц Б Ф У К Ч Ш Щ Ь И Ъ Е В

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

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

2.2 Шифрование методом перестановки

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

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

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

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

? М Е Т О
Д _ П ? Е
Р ? Е С Т
А Н О ? В
К ? И _ _

Рисунок 1 Пример усложненной перестановки по таблице

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

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

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

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

Рисунок 2 - Вариант схемы маршрутов Гамильтона

2.3 Шифрование с помощью датчика псевдослучайных чисел

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

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

2.4 Шифрование аналитическим преобразованием

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

2.5 Комбинированные методы

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

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

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

1) подстановка + гаммирование;

2) перестановка + гаммирование;

3) гаммирование + гаммирование;

4) подстановка + перестановка.

Типичным примером комбинированного шифра является национальный стандарт США криптографического закрытия данных (DES).