



Представлена реализация криптографических алгоритмов ГОСТ на языке Java
Представлен открытый проект под названием crypto‑gost. Это библиотека с реализацией криптоалгоритмов ГОСТ на языке Java, не использующей дополнительных зависимостей. Исходный код решения опубликован под собственной лицензией от «Рэд старс системс», разрешающей распространение, модификацию и создание производных работ без ограничений.
В отличие от реализации алгоритмов ГОСТ из библиотеки Castle Bouncy Castle, в проекте crypto‑gost повышена производительность шифрования алгоритмом «Кузнечик», решены отдельные проблемы с безопасностью и предоставлены простые обёртки, не требующие глубоких знаний в криптографии.
Поддерживаемые алгоритмы:
ГОСТ Р 34.11–2012 (RFC 6986) — хэш‑функция «Стрибог» 256 и 512 бит.
ГОСТ Р 34.12–2015 — блочный шифр «Кузнечик», ключ 256 бит.
ГОСТ Р 34.13–2015 — режимы шифрования CBC, CFB, CTR (ГАММА), OFB; имитовставка (CMAC).
ГОСТ Р 34.10–2012 (RFC 7091) — электронная подпись 256 и 512 бит.
HMAC‑Стрибог (RFC 7836, HMAC‑Streebog-256 и HMAC‑Streebog-512).
MGM (Multilinear Galois Mode) — AEAD‑режим для Кузнечика (RFC 9058). Совместим с OpenSSL.
SCrypt (RFC 7914) — функция формирования ключа на основе пароля.
«Разработчикам иногда требуется российская криптография для защиты данных. Для личных проектов или для целей локальной разработки в тестовой среде не всегда возможно использовать сертифицированные средства. Если у вас есть личный проект на нескольких серверах, то для установки в них российской криптографии придётся приобрести лицензии. Де‑факто „стандартом“ в области криптографии для Java-разработчиков стала библиотека Bouncycastle. Этой библиотеке много лет, есть обширная документация и книги, которые, я считаю, очень полезно почитать», — пояснил автор проекта.
По словам разработчика, он
Читать на habr.com