Основные классы симметричных криптосистем

      Комментарии к записи Основные классы симметричных криптосистем отключены

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

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

Моно- и многоалфавитные подстановки

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

Перестановки

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

Блочные шифры

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

Гаммирование

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

5.2.2. Алгоритмы блочного шифрования: DES и ГОСТ 28147-89

Американский стандарт криптографического закрытия данных DES (Data Encryption Standard), принятый в 1978 г., является типичным представителем семейства блочных шифров. Этот шифр допускает эффективную аппаратную и программную реализацию, причем возможно достижение скоростей шифрования до нескольких мегабайт в секунду.

В Российской Федерации установлен единый стандарт криптографического преобразования текста для информационных систем ГОСТ 28147-89. Он носит обязательный характер для государственных органов, организаций, предприятий, банковских и иных учреждений, чья деятельность связана с обеспечением информационной безопасности государства. Для других организаций и частных лиц ГОСТ имеет рекомендательный характер. Данный стандарт формировался с учетом мирового опыта и, в частности, были приняты во внимание недостатки и нереализованные возможности алгоритма DES, поэтому применение стандарта предпочтительнее.

Рассматриваемые стандарты относятся к блочным шифрам, удобным для реализации на ЭВМ. Дадим краткое описание алгоритма шифрования в режиме простой замены российского ГОСТ. В этом режиме данные шифруются блоками по 64 бита в каждом. Шифрование заключается в 32-кратном применении процедуры, описываемой общей схемой, приведенной на рис. 2.

Исходный текст разбивается на отрезки по 64 бита. Первые 32 бита заносятся в регистр N1, а оставшиеся 32 бита заносятся в регистр N2. Один такт работы состоит в следующем:

 производится суммирование очередного ключа из ключевого запоминающего устройства (КЗУ) с содержимым регистра N1по модулю 232;

 результат суммирования преобразуется в блоке подстановки: 32-разрядный вектор разбивается на восемь последовательно идущих 4-разрядных векторов, каждый из которых преобразуется в новый 4-разрядный вектор соответствующим узлом замены, затем 4-разрядные выходные векторы снова последовательно объединяются в 32-разрядный вектор;

 полученный вектор циклически сдвигается на 11 шагов в сторону старших разрядов;

 результат сдвига складывается поразрядно по модулю 2 с содержимым регистра N2и заносится в регистр N1, при этом содержимое регистра N1помещается в N2(в последнем – 32-м цикле результат суммирования заносится в регистр N2, а значение регистра N1cохраняется старое).

После 32-го цикла работы в регистрах N1 и N2будет находиться блок шифрованных данных, соответствующий исходному блоку открытых данных.

Длина исходного ключа в ГОСТ – 256 бит. Из этих 256 бит формируются 8 векторов по 32 бита в каждом, которые и хранятся в КЗУ. При шифровании ключи из КЗУ считываются сначала три раза в прямом порядке (с нулевого по седьмой), а затем один раз в обратном порядке.

Рассмотрим теперь основные отличия шифрования по алгоритму DES от шифрования по ГОСТ в режиме простой замены. Прежде всего, у алгоритма шифрования DES ключ состоит всего из 56 бит. Из них по определенному закону формируются 16 ключей по 48 бит в каждом.

Входной алфавит в алгоритме DES, так же как и в ГОСТ, состоит из слов длиной 64 бита. Однако при использовании DES производится 16 циклов преобразования данных, вместо 32 в ГОСТ. Кроме того, в DES используется другая функция преобразования данных (на рис. 2 она обведена двойной рамкой). К тому же в DES эта функция фиксирована, тогда как в тексте российского стандарта узлы замены К1…K8, от которых зависит функция преобразования данных, никак не определены. Такая неполнота ГОСТ 28147-89 вызывает много проблем, так как неизвестно: имеются ли среди возможных узлов замены такие, которые снижают стойкость шифрования информации.

Еще одно отличие состоит в том, что в алгоритме DES блоки шифруемого текста вначале подвергаются некоторой заданной перестановке, а после 16 циклов получившиеся данные подвергаются обратной перестановке. Параметры алгоритмов шифрования DES и ГОСТ представлены в таблице 4.

И DES, и ГОСТ являются стойкими алгоритмами шифрования, в том смысле, что неизвестны методы дешифрования, кардинально отличающиеся по трудоемкости от метода тотального перебора. Но так как у DES слишком короткий по современным меркам ключ, данный алгоритм шифрования уже не является надежным. В 1998 г. Electronic Frontier Foundation была построена ЭВМ стоимостью 250 тысяч долларов, способная определять ключ DES в среднем за 112 часов. В настоящее время аналогичную машину можно построить за гораздо меньшие деньги. Можно вообще обойтись без специализированной суперЭВМ, а использовать большое количество персональных компьютеров, объединенных в сеть. Таким образом, имеются основания предполагать, что некоторые наиболее богатые специальные службы, например Агентство национальной безопасности США (National Security Agency), уже давно имеют возможность читать информацию, зашифрованную с помощью DES.

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

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

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

В ГОСТ 28147-89, кроме режима простой замены, предусмотрено еще два режима, предназначенных для шифрования информации. При шифровании данных в режиме гаммирования данная схема с небольшими изменениями используется для выработки гаммы в виде 64 разрядных слов, которая складывается поразрядно по модулю 2 с шифруемым текстом. При шифровании данных в режиме гаммирования с обратной связью уже зашифрованный текст используется для выработки последующих блоков гаммы. В этих двух режимах перед началом шифрования в накопители N1, N2вводится так называемая синхропосылка, от которой будет зависеть вырабатываемая в дальнейшем гамма. Поэтому одинаковые отрезки открытого сообщения будут зашифрованы по-разному, как в одном сообщении, так и в разных сообщениях, даже если используются одинаковые ключи, но не совпадают синхропосылки.

Кроме режимов, предназначенных собственно для шифрования, в ГОСТ 28147-89 предусмотрен режим выработки имитовставки, которая зависит от всего сообщения и позволяет контролировать его целостность.

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

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

При выборе значения параметра d (числа двоичных разрядов в имитовставке) нужно учитывать, что вероятность навязывания ложных данных (вероятность угадывания имитовставки) равна 2-d.

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

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

Статьи к прочтению:

Глава 1КриптографияЧасть 1Симметричные шифры


Похожие статьи: