Зашифровать гост 28147 89



Зашифровать гост 28147 89

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

1. Выбор файлов для шифрования.

В приложении доступно шифрования одного или группы выбранных файлов. Файлы для шифрования можно добавить двумя способами: через кнопку Добавить файлы («+») или перетащив файлы мышкой в область формирования списка файлов.

Выбранные файлы заносятся в левую область и представляют собой одноуровневый список.

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

2.Настройка параметров шифрования.

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

В параметрах можно настроить:

Кодировка — сохранение зашифрованного файла в одной из двух кодировок BASE64 или DER.

Алгоритм шифрования – файл шифруется по одному из алгоритмов: «ГОСТ 28147-89», «ГОСТ Р 34.12-2015 Магма», «ГОСТ Р 34.12-2015 Кузнечик». Данный параметр доступен для выбора только начиная с версии КриптоПро CSP 5.0.11635.

Опция Сохранить копию в Документах служит для сохранения копии полученного после операции файла в специальный каталог Documents, расположенный в папке пользователя в каталоге ./Trusted/CryptoARM GOST/. Документы из данного каталога доступны в пункте меню Документы.

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

3. Выбор сертификатов шифрования.

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

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

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

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

Изменить список сертификатов шифрования можно с помощью контекстного меню. Удалить сертификаты из сформированного списка можно кнопкой Удалить.

Если список сертификатов других пользователей пуст, то можно создать или импортировать сертификат на вкладке Контакты.

4. Шифровние файлов.

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

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


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

Документы из результатов операции можно Открыть в мастере Подписи и шифрования для выполнения других операций или Сохранить копию в Документах. Операция Сохранить копию в Документах служит для сохранения копии полученного после операции файла в специальный каталог Documents, расположенный в папке пользователя в каталоге ./Trusted/CryptoARM GOST/. Документы из данного каталога доступны в пункте меню Документы.

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

Источник

Шифрование по ГОСТу: кому оно показано и как применять

Ситуация с рисками информационной безопасности (ИБ) во всем мире развивается таким образом, что специальная защита корпоративных каналов связи становится объективной необходимостью — вопрос только в выборе наиболее удобных и экономически выгодных ИБ-решений. Дополнительными стимулами в этом направлении стали программа «Цифровая экономика» и стратегия импортозамещения в сфере ИТ. Как регулируется VPN-шифрование в нашей стране, почему в целом растет популярность ГОСТ-криптографии и в каких случаях целесообразно приобретать ее как сервис — разбираемся вместе с руководителем направления ГОСТ VPN компании «Ростелеком-Солар» Александром Веселовым.

Содержание

Российская криптография как требование регуляторов

По мере усиления информатизации различных отраслей экономики РФ соответствующие регуляторы вводят требования по защите каналов связи, причем с применением российских средств криптографической защиты информации (СКЗИ). Например, в финансовой отрасли действует Положение Банка России № 672-П, а также ГОСТ Р 57580.1-2017 — базовый стандарт совершения страховыми организациями операций на финансовом рынке. В соответствии с указанием Банка России и ПАО «Ростелеком» №4859-У/01/01/782-18 о Единой биометрической системе (ЕБС), криптозащита необходима на всех этапах передачи данных между инфраструктурой банков, банковскими приложениями и сервисами электронного правительства.

Минздрав РФ выпустил приказ №911н, который вступает в силу с 1 января 2020 года и касается всех медицинских и фармацевтических организаций. Приказ требует использовать сертифицированные средства защиты, в том числе для каналов связи.

В электроэнергетике в конце 2018 г. утвержден приказ Министерства энергетики №1015, в соответствии с которым для защиты Систем Удаленного Мониторинга и Диагностики (СУМиД) необходимо использовать сертифицированные средства защиты. По сути, речь идет о защищенном обмене данными в контуре АСУ ТП.

Использование сертифицированных СКЗИ операторами персональных данных регламентирует Постановление Правительства №1119, а также Приказ ФСБ России № 378.

Подключение организаций к центрам мониторинга, например, Национальному координационному центру по компьютерным инцидентам (НКЦКИ) в рамках глобальной системы ГосСОПКА требует применения сертифицированных СКЗИ — приказ ФСБ России №196.

Для прохождения сертификации, которую осуществляет ФСБ России, СКЗИ должны использовать отечественные криптоалгоритмы (ГОСТ 28147-89. ГОСТ 34.10/34.11-2012. ГОСТ 34.12/34.13-2015).

В принципе, создавая защищенные виртуальные частные сети (VPN), коммерческие компании могут воспользоваться и зарубежными криптоалгоритммами, например, AES или SHA, однако они не сертифицированы ФСБ России. Поэтому целесообразнее использовать СКЗИ с российскими криптоалгоритмами — это позволяет обеспечить высокую степень защиты передаваемой информации и выполнить требования российских регуляторов. Тем более, что имевшееся ранее заметное отставание отечественного криптографического оборудования от западного стремительно сокращается: обогащается функционал, растет производительность (пропускная способность отдельного устройства и количество поддерживаемых защищенных соединений), новая архитектура решений значительно упрощает эксплуатацию. Именно по этой причине многие крупные игроки в разных отраслях экономики переходят на отечественные крипторешения, даже в отсутствие таких требований со стороны того или иного регулятора.

Криптографическая защита становится проще и доступнее

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

«

»

Первую попытку упростить ситуацию для заказчиков сделали вендоры: ввели техническую поддержку с возможностью обновления версии СКЗИ. Это действительно сняло некоторую головную боль клиентов, но не всю, ведь вопросы эксплуатации, требующие участия высококвалифицированного персонала, остались. Закрыть этот вопрос можно с помощью сервисной модели. В Постановлении Правительства РФ № 313 «Об утверждении Положения о лицензировании деятельности по разработке, производству, распространению шифровальных (криптографических) средств. » указывается, что решение данных задач возможно не только с привлечением сторонней организации на разных этапах проекта, но и посредством сервисной модели.

Поставщиков сервиса класса «VPN с криптографической защитой (ГОСТ) как сервис» можно условно разделить на две группы: операторы связи и облачные провайдеры. Облачные провайдеры (МТС, «Ростелеком», Dataline и др.) предлагают организовать защищенный по ГОСТу доступ к своим сервисам. А операторы связи могут применить отечественное шифрование на своих каналах связи. Такие услуги предоставляют, например, «Ростелеком», «Мегафон», Orange.

Это очень динамичный сегмент рынка, набирающий обороты, отмечает Александр Веселов:

«

»

ГОСТ VPN — на примере сервиса «Ростелеком-Солар»

ГОСТ VPN – это сервис шифрования каналов связи на базе сертифицированных ФСБ России СКЗИ. Решение базируется на трех «китах».

  1. Тесная интеграция с услугами связи «Ростелекома» обеспечивает быстрое подключение и гибкую масштабируемость сервиса. Все это — услуги связи и шифрования — возможно в рамках единого договора.
    Однако сервис ГОСТ VPN может использоваться и отдельно — компания-заказчик не ограничена в выборе оператора связи.
  2. Мониторинг и реагирование на инциденты кибербезопасности в режиме 24*7. Предоставляется специалистами центра мониторинга и реагирования на кибератаки Solar JSOC компании «Ростелеком-Солар».
  3. Архитектура гибкого сервиса. Используются сертифицированные СКЗИ, причем можно выбрать конкретного вендора из тройки лидеров в России. Применяемые решения позволяют создавать новые и модифицировать существующие защищенные сети, а также обеспечивать взаимодействие с другими защищенными сетями.
Читайте также:  Гост высота шрифта толщине

Характеристики защищенности ГОСТ VPN

В рамках сервиса ГОСТ VPN используются СКЗИ, сертифицированные ФСБ России по классу КСЗ. Данный класс наиболее распространён и является де-факто стандартом на российском рынке.

Требования к СКЗИ различных классов не являются общедоступными, но некоторая их часть изложена в Рекомендациях по стандартизации Р 1323565.1.012-2017 «Информационная технология. Криптографическая защита информации. Принципы разработки и модернизации шифровальных (криптографических) средств защиты информации». Основные технические особенности оборудования класса КС3 – разграничение доступа администраторов безопасности, замкнутая программная среда и криптографический контроль целостности компонентов.

СКЗИ данного класса выпускают в виде программно-аппаратных комплексов различной производительности.

В полном соответствии с требованиями регулятора компания «Ростелеком-Солар», предлагающая услуги такого уровня, обладает лицензией ФСБ России на предоставление услуг по шифрованию каналов передачи данных.

Сервис ГОСТ VPN, обеспечивающий защиту каналов связи, реализует эту защиту на канальном и сетевом уровнях (L2/L3) модели OSI. Выбор того или иного механизма защиты зависит от специфики задач клиента. Скажем, конфигурирование управляемой из облака сети, защищенной на уровне L3, обеспечивает возможности практически неограниченного масштабирования. На подобных принципах базируется, в частности, сетевая архитектура Интернета или крупных дата-центров. На сетевом уровне L3 работают протоколы динамической маршрутизации, например, OSPF и др., позволяя строить кратчайшие пути для пакетов данных или отправлять их одновременно по нескольким путям для балансировки загрузки и т.д.

Особенности эксплуатации защищенных каналов связи в рамках сервисной модели

Провайдер услуги осуществляет работы на каждом этапе жизненного цикла сервиса: от закупки и построения до эксплуатации системы криптозащиты. Заказчику не обязательно выбирать производителя СКЗИ — по его запросу все требуемые действия выполнит поставщик услуги. Сервис-провайдер самостоятельно поддерживает версию СКЗИ в актуальном состоянии (приобретение новой версии, удаленное или локальное обновление), обеспечивает работоспособность аппаратной части (пул запасного оборудования, выезды на объекты, перенос конфигурации), ведет журнал учета СКЗИ и другую документацию. При этом осуществляет актуализацию политик безопасности и обновление ключей, круглосуточный мониторинг работоспособности и устранение инцидентов.

«

»

После установки СКЗИ у заказчика за их эксплуатацию полностью отвечает команда квалифицированных ИБ-специалистов «Ростелеком-Солар», что гарантирует:

  • производительность и отказоустойчивость сервиса (в соответствии с соглашением об уровне услуг SLA);
  • применение актуальных настроек VPN и политик ИБ;
  • возможность взаимодействия с другими защищенными сетями;
  • быстрое обнаружение и устранение инцидентов безопасности в режиме 24×7.

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

В чем преимущества сервисной модели ГОСТ VPN

Оплата фактически потребляемого сервиса дает прямую экономию:

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

Экономия на стоимости услуг высококвалифицированного ИБ-персонала:

  • устраняется зависимость от дорогостоящих кадров узкой специализации.
  • нет необходимости создавать еще один отдел в составе своего ИБ-департамента.

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

Кому «доктор прописал» сервис ГОСТ VPN

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

Компании среднего бизнеса с 10–40 объектами имеют более сложные сетевые инфраструктуры, им зачастую требуется помощь сторонней профессиональной компании-интегратора для проектирования защищенной сети, внедрения решения, а также дальнейшей технической поддержки. В таких условиях сервисная модель оказывается практически идеальным выбором: сервис-провайдер предоставит оборудование и обеспечит эксплуатацию, а заказчику вообще не придется участвовать в процессах технической поддержки, содержать дополнительный ИТ/ИБ-персонал в офисах. Понятно, что радикально снижается совокупная стоимость системы защиты.

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

Источник

ГОСТ 28147—89

ГОСТ 28147—89 — советский и российский стандарт симметричного шифрования, введённый в 1990 году. Полное название — «ГОСТ 28147—89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования». Блочный шифроалгоритм. При использовании метода шифрования с гаммированием, может выполнять функции поточного шифроалгоритма.

По некоторым сведениям [1] , история этого шифра гораздо более давняя. Алгоритм, положенный впоследствии в основу стандарта, родился, предположительно, в недрах Восьмого Главного управления КГБ СССР (ныне в структуре ФСБ), скорее всего, в одном из подведомственных ему закрытых НИИ, вероятно, ещё в 1970-х годах в рамках проектов создания программных и аппаратных реализаций шифра для различных компьютерных платформ.

С момента опубликования ГОСТа на нём стоял ограничительный гриф «Для служебного пользования», и формально шифр был объявлен «полностью открытым» только в мае 1994 года. К сожалению, история создания шифра и критерии разработчиков до сих пор не опубликованы.

Содержание

Описание [ править | править код ]

ГОСТ 28147-89 — блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками. Основа алгоритма шифра — Сеть Фейстеля. Базовым режимом шифрования по ГОСТ 28147-89 является режим простой замены (определены также более сложные режимы гаммирование, гаммирование с обратной связью и режим имитовставки). Для зашифрования в этом режиме открытый текст сначала разбивается на левую и правую половины (обозначены ниже как L и R). На i-ом цикле используется подключ ki:

<\displaystyle R_<i+1 data-lazy-src=

Все восемь S-блоков могут быть различными. Фактически, они могут являться дополнительным ключевым материалом, но чаще являются параметром схемы, общим для определенной группы пользователей. В ГОСТ Р 34.11-94 для целей тестирования приведены следующие S-блоки:

Номер S-блока Значение
1 4 10 9 2 13 8 14 6 11 1 12 7 15 5 3
2 14 11 4 12 6 13 15 10 2 3 8 1 7 5 9
3 5 8 1 13 10 3 4 2 14 15 12 7 6 9 11
4 7 13 10 1 8 9 15 14 4 6 12 11 2 5 3
5 6 12 7 1 5 15 13 8 4 10 9 14 3 11 2
6 4 11 10 7 2 1 13 3 6 8 5 9 12 15 14
7 13 11 4 1 3 15 5 9 10 14 7 6 8 2 12
8 1 15 13 5 7 10 4 9 2 3 14 6 11 8 12

Согласно данным книги Б. Шнайера «Прикладная криптография», эти же блоки используются также Центральным Банком РФ.

В тексте стандарта указывается, что поставка заполнения узлов замены (S-блоков) производится в установленном порядке, т.е. разработчиком алгоритма.

Достоинства ГОСТа [ править | править код ]

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

Криптоанализ [ править | править код ]

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

низкой сложностью. Криптоанализ алгоритма продолжен в работе [источник?] .

В 2004 г. группа специалистов из Кореи предложила атаку, с помощью которой, используя дифференциальный криптоанализ на связанных ключах, можно получить с вероятностью 91,7% 12 бит секретного ключа. Для атаки требуется 2 35 выбранных открытых текстов и 2 36 операций шифрования. Как видно, данная атака, практически, бесполезна для реального вскрытия алгоритма.

Критика ГОСТа [ править | править код ]

Основные проблемы ГОСТа связаны с неполнотой стандарта в части генерации ключей и таблиц замен. Тривиально доказывается, что у ГОСТа существуют «слабые» ключи и таблицы замен, но в стандарте не описываются критерии выбора и отсева «слабых». Также стандарт не специфицирует алгоритм генерации таблицы замен (S-блоков). С одной стороны, это может являться дополнительной секретной информацией (помимо ключа), а с другой, поднимает ряд проблем:

Источник

Ещё раз о шифровании ГОСТ 28147-89

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

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

Описание алгоритма

  1. Исходное сообщение разбивается на блоки по 64 бита
  2. На каждый блок XOR’ом «накладывается» гамма, тоже длиной 64 бита
  3. Гамма формируется шифрованием 64-битного блока «состояния» с помощью ключа в режиме простой замены
    • В момент начала шифрования сообщения блок принимается равным синхропосылке или вектору инициализации
    • В следующей итерации вместо синхропосылки используется зашифрованный блок текста из предыдущей

Реализация

Данный алгоритм был реализован в форме плагина к менеджеру паролей KeePass.
Исходники доступны на GitHub.

Гаммирование с обратной связью

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

Режим простой замены

GostECB.Process — реализация того же ГОСТа в режиме простой замены, или «электронной кодовой книги». Хорошее описание алгоритма есть в соответствующем разделе статьи Википедии, а также в статье ГОСТ 28147-89 (Часть 2. Режим простой замены) на Хабрахабре.

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

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

Метод подстановки по S-блокам работает с 4-битными кусочками 32-битного подблока, их достаточно удобно отделять побитовым сдвигом и дальнейшим умножением на 0x0f:

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

Источник

ГОСТ 28147-89

ГОСТ 28147-89 — советский и российский стандарт симметричного шифрования, введённый в 1990 году, также является стандартом СНГ. Полное название — «ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования». Блочный шифроалгоритм. При использовании метода шифрования с гаммированием, может выполнять функции поточного шифроалгоритма.

По некоторым сведениям [1] , история этого шифра гораздо более давняя. Алгоритм, положенный впоследствии в основу стандарта, родился, предположительно, в недрах Восьмого Главного управления КГБ СССР (ныне в структуре ФСБ), скорее всего, в одном из подведомственных ему закрытых НИИ, вероятно, ещё в 1970-х годах в рамках проектов создания программных и аппаратных реализаций шифра для различных компьютерных платформ.

С момента опубликования ГОСТа на нём стоял ограничительный гриф «Для служебного пользования», и формально шифр был объявлен «полностью открытым» только в мае 1994 года. История создания шифра и критерии разработчиков по состоянию на 2010 год не опубликованы.

Содержание

Описание

ГОСТ 28147-89 — блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками. Основа алгоритма шифра — Сеть Фейстеля. Выделяют четыре режима работы ГОСТ 28147-89:

Режим простой замены

Для зашифрования в этом режиме открытый текст сначала разбивается на две половины (младшие биты — A, старшие биты — B [2] ). На i-ом цикле используется подключ Ki:

</p data-lazy-src=

Функция вычисляется следующим образом:

Ai и Ki складываются по модулю 2 32 .

Результат разбивается на восемь 4-битовых подпоследовательностей, каждая из которых поступает на вход своего узла таблицы замен (в порядке возрастания старшинства битов), называемого ниже S-блоком. Общее количество S-блоков ГОСТа — восемь, то есть столько же, сколько и подпоследовательностей. Каждый S-блок представляет собой перестановку чисел от 0 до 15. Первая 4-битная подпоследовательность попадает на вход первого S-блока, вторая — на вход второго и т. д.

Если S-блок выглядит так:

1, 15, 13, 0, 5, 7, 10, 4, 9, 2, 3, 14, 6, 11, 8, 12

и на входе S-блока 0, то на выходе будет 1, если 4, то на выходе будет 5, если на входе 12, то на выходе 6 и т. д.

Выходы всех восьми S-блоков объединяются в 32-битное слово, затем всё слово циклически сдвигается влево (к старшим разрядам) на 11 битов.

Режим простой замены имеет следующие недостатки:

  • Может применяться только для шифрования открытых текстов с длиной, кратной 64 бит
  • При шифровании одинаковых блоков открытого текста получаются одинаковые блоки шифротекста, что может дать определенную информацию криптоаналитику.
Читайте также:  Бетон монолитный гост 26633 2012

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

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

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

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

  1. Синхропосылка шифруется с использованием описанного алгоритма простой замены, полученные значения записываются в N3 и N4 — младшие и старшие биты соответственно.
  2. К N3 и N4 прибавляются константы соответственно C2 = 101010116 и C1 = 101010416
  3. N3 и N4 переписываются соответственно в N1 и N2, которые затем шифруются и использованием алгоритма простой замены. Полученный результат является 64 битами гаммы.
  4. Шаги 2-4 повторяются в соответствии с длиной шифруемого текста.

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

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

Гаммирование с обратной связью

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

Алгоритм шифрования следующий:

  1. Синхропосылка заносится в регистры N1 и N2
  2. Содержимое регистров N1 и N2 шифруется в соответствии с алгоритмом простой замены. Полученный результат является 64-битным блоком гаммы.
  3. Блок гаммы складывается по модулю 2 с блоком открытого текста. Полученный шифротекст заносится в регистры N1 и N2
  4. Операции 2-3 выполняются для оставшихся блоков требующего шифрования текста.

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

Режим выработки имитовставки

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

Имитовставка вырабатывается для M ≥ 2 блоков открытого текста по 64 бит. Алгоритм следующий:

  1. Блок открытых данных записывается в регистры N1 и N2, после чего подвергается преобразованию, соответствующему первым 16 циклам шифрования в режиме простой замены
  2. К полученному результату по модулю 2 прибавляется следующий блок открытых данных. Последний блок при необходимости дополняется нулями. Сумма также шифруется в соответствии с пунктом 1.
  3. После добавления и шифрования последнего блока из результата выбирается имитовставка длиной L бит: с бита номер 32-L до 32(отсчет начинается с 1). Стандарт рекомендует выбирать L исходя из того, что вероятность навязывания ложных данных равна 2 -L . Имитовставка передается по каналу связи после зашифрованных блоков.

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

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

Узлы замены (S-блоки)

Все восемь S-блоков могут быть различными. Некоторые считают, что они могут являться дополнительным ключевым материалом, увеличивающим эффективную длину ключа; однако существуют применимые на практике атаки, позволяющие их определить. [3] Впрочем, и необходимости в увеличении длины ключа нет, 256 бит вполне достаточно в настоящее время. Как правило, таблицы замен являются долговременным параметром схемы, общим для определенной группы пользователей. В ГОСТ Р 34.11-94 для целей тестирования приведены следующие S-блоки:

Номер S-блока Значение
1 4 10 9 2 13 8 14 6 11 1 12 7 15 5 3
2 14 11 4 12 6 13 15 10 2 3 8 1 7 5 9
3 5 8 1 13 10 3 4 2 14 15 12 7 6 9 11
4 7 13 10 1 8 9 15 14 4 6 12 11 2 5 3
5 6 12 7 1 5 15 13 8 4 10 9 14 3 11 2
6 4 11 10 7 2 1 13 3 6 8 5 9 12 15 14
7 13 11 4 1 3 15 5 9 10 14 7 6 8 2 12
8 1 15 13 5 7 10 4 9 2 3 14 6 11 8 12

Данный набор S-блоков используется в криптографических приложениях ЦБ РФ. [4]

В тексте стандарта указывается, что поставка заполнения узлов замены (S-блоков) производится в установленном порядке, то есть разработчиком алгоритма. Сообщество российских разработчиков СКЗИ согласовало используемые в Интернет узлы замены, см. RFC 4357.

Достоинства ГОСТа

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

Криптоанализ

Считается (см. например Vitaly V. Shorin, Vadim V. Jelezniakov and Ernst M. Gabidulin: Linear and Differential Cryptanalysis of Russian GOST), что ГОСТ устойчив к таким широко применяемым методам, как линейный и дифференциальный криптоанализ. Обратный порядок использования ключей в последних восьми раундах обеспечивает защиту от атак скольжения(slide attack) и отражения(reflection attack).

В мае 2011 года известный криптоаналитик Николя Куртуа доказал существование атаки на данный шифр, имеющей сложность в 2 8 (256) раз меньше сложности прямого перебора ключей при условии наличия 2 64 пар открытый текст/закрытый текст. [5] [6] Данная атака не может быть осуществлена на практике ввиду слишком высокой вычислительной сложности. Более того, знание 2 64 пар открытый текст/закрытый текст, очевидно, позволяет читать зашифрованные тексты, даже не вычисляя ключа. В большинстве других работ также описываются атаки, применимые только при некоторых предположениях, таких как определенный вид ключей или таблиц замен, некоторая модификация исходного алгоритма, или же требующие все еще недостижимых объемов памяти или вычислений. Вопрос о наличии применимых на практике атак без использования слабости отдельных ключей или таблиц замены остается открытым.

Критика ГОСТа

Основные проблемы ГОСТа связаны с неполнотой стандарта в части генерации ключей и таблиц замен. Считается, что у ГОСТа существуют «слабые» ключи и таблицы замен, но в стандарте не описываются критерии выбора и отсева «слабых». Также стандарт не специфицирует алгоритм генерации таблицы замен (S-блоков). С одной стороны, это может являться дополнительной секретной информацией (помимо ключа), а с другой, поднимает ряд проблем:

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

В октябре 2010 года на заседании 1-го объединенного технического комитета Международной организации по стандартизации (ISO/IEC JTC 1/SC 27) ГОСТ был выдвинут на включение в международный стандарт блочного шифрования ISO/IEC 18033-3. В связи с этим в январе 2011 года были сформированы фиксированные наборы узлов замены и проанализированы их криптографические свойства. Однако ГОСТ не был принят в качестве стандарта, и соответствующие таблицы замен не были опубликованы [7]

Источник