Инструменты

Bee2

Bee2 – это криптографическая библиотека, которая реализует алгоритмы и протоколы, определенные в следующих стандартах Республики Беларусь:

  • СТБ 34.101.31 (belt): шифрование, имитозащита, хэширование, управление ключами;
  • СТБ 34.101.45 (bign): ЭЦП и транспорт ключа (шифрование с открытым ключом);
  • СТБ 34.101.47 (brng): имитозащита (HMAC), ГПСЧ, одноразовые пароли (HOTP, TOTP, OCRA);
  • СТБ 34.101.60 (bels): разделение секрета;
  • СТБ 34.101.66 (bake): протоколы формирования общего ключа (BMQV, BSTS, BPACE);
  • СТБ 34.101.77 (bash): хэширование (хэш-значения от 32 до 512 битов с шагом 32).

Дополнительно Bee2 реализует алгоритмы ЭЦП РФ и Украины.

Bee2 распространяется свободно. Исходные тексты размещены на популярном сервере github.com. Настроены инструменты непрерывной интеграции (continious integration) Bee2: при загрузке очередной редакции программ на сервер выполняется автоматическая тестовая сборка нескольких конфигураций библиотеки (Travis CI), проводятся статический анализ исходных текстов (CoverityScan) и анализ полноты покрытия тестами (Codecov).

Дополнительно: обзоробзорплощадка, эксперименты, RPM-пакеты.

Bsum

Утилита Bsum является частью библиотеки Bee2. Bsum реализует вычисление и проверку хэш-значений с помощью алгоритмов СТБ 34.101.31 (belt-hash) и СТБ 34.101.77 (bash32, bash64, ..., bash512). Интерфейс командной строки утилиты максимально приближен к интерфейсам аналогичных утилит sha1sum и sha256sum.

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

Бинарный файл (Win32, 2017-01-17): bsum-20170117.zip.

belt-hash(bsum-20170117.zip): 400f682b4c46fa5d1cc92aa53d3a290adf331d31929a48c26b190aefdc151806.

bash32(bsum-20170117.zip): 005892ef.

bash64(bsum-20170117.zip): 61fd932ba99bc365.

bash160(bsum-20170117.zip): e93500b3026ca589af5f91cb1781ab41.

bash256(bsum-20170117.zip): 278cced6a06c8b13ac2be6bc171e3ff3138ab69cb07a6c8f2de28c1d791c9e43.

Bee2evp

В популярной криптографической библиотеке OpenSSL (www.openssl.org) предусмотрена работа с плагинами (engines), которые предоставляют криптографические сервисы по интерфейсу EVP. Плагин Bee2evp реализует EVP-интерфейсы OpenSSL поверх функций базовой криптографической библиотеки (криптоядра) Bee2. Фактически, Bee2evp является посредником между Bee2 и OpenSSL.

Bee2evp обеспечивает унифицированный вызов следующих криптографических алгоритмов и протоколов:

  • алгоритмы шифрования belt-ecb, belt-cbc, belt-cfb, belt-ctr (СТБ 34.101.31);
  • алгоритмы имитозащиты belt-mac, hmac-hbelt (СТБ 34.101.31, СТБ 34.101.47);
  • алгоритмы одновременного шифрования и имитозащиты belt-datawrap, belt-keywrap (СТБ 34.101.31);
  • алгоритмы хэширования belt-hash, bash (СТБ 34.101.31, СТБ 34.101.77);
  • алгоритм преобразования ключа belt-keyrep (СТБ 34.101.31);
  • алгоритм проверки параметров эллиптической кривой bign-valec (СТБ 34.101.45);
  • алгоритм генерации личного и открытого ключей bign-genkeypair (СТБ 34.101.45);
  • алгоритм проверки открытого ключа bign-valpubkey (СТБ 34.101.45);
  • алгоритмы электронной цифровой подписи bign-sign (СТБ 34.101.45);
  • алгоритмы транспорта ключа bign-keytransport (СТБ 34.101.45);
  • алгоритм построения ключа по паролю pbkdf2[hmac-hbelt] (СТБ 34.101.45).

Дополнительно Bee2evp организует работу с эллиптическими кривыми bign-curve256v1, bign-curve384v1 и bign-curve512v1 (СТБ 34.101.45), и косвенно поддерживает алгоритм построения ключа и протокол Диффи – Хеллмана, заданные в СТБ 34.101.66.

В Bee2evp реализованы функции управления базовыми форматами криптографических данных, определенными в СТБ 34.101.45. С помощью этих функций через командную строку OpenSSL можно организовать управление форматами следующих высокоуровневых объектов:

  • запрос на выпуск сертификата (СТБ 34.101.17);
  • сертификат открытого ключа (СТБ 34.101.19);
  • список отозванных сертификатов (СТБ 34.101.19);
  • хэшированные данные CMS (СТБ 34.101.23);
  • шифрованные данные CMS (СТБ 34.101.23);
  • подписанные данные CMS (СТБ 34.101.23);
  • конвертованные данные CMS (СТБ 34.101.23);
  • запрос и ответ OCSP (СТБ 34.101.26);
  • запрос штампа времени и собственно штамп (СТБ 34.101.ts, в разработке).

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

Плагин Bee2evp проходит опытную эксплуатацию. Мы еще не определились окончательно с моделью его распространения. Пока публикуем бинарные файлы для Win32 (включая бинарные файлы OpenSSL 1.1.0f, собранные нами самими).

Бинарные файлы (Win32, 2017-02-02): bee2evp-20170925.zip.

belt-hash(bee2evp-20170925.zip): b38d951922903e88d15155749609382f7727f44db13e65a0b417f87016fdaea0.

Дополнительно: обзор, площадка.

Новости
07.03.2024
План семинара весна 2024
12.02.2024
Единый день голосования
24.10.2023
II Международная научная конференция
26.05.2023
XХVIII научно-практическая конференция
28.04.2023
TIBO 2023
02.01.2023
Программный комплекс ЭАДП
27.12.2022
С Новым годом!
21.11.2022
Программный инструментарий
13.09.2022
XIII Международная научная конференция