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

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

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

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

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

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

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

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

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

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

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

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.

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

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

Наши рекомендации