← На главную

wolfSSL выпустила wolfCOSE с 40 алгоритмами и пост-квантовым ML-DSA

30.05.2026 20:42 · hackernews

wolfSSL выпустила новую библиотеку wolfCOSE — лёгкую C-библиотеку для работы с форматами CBOR (RFC 8949) и COSE (RFC 9052/9053). В качестве крипто-бэкенда используется та же wolfSSL. Библиотека реализует все шесть типов COSE-сообщений из RFC 9052, включая многопользовательские варианты: COSE_Sign, COSE_Encrypt и COSE_Mac. В сумме поддерживается 40 алгоритмов — от классических ECC и RSA-PSS до пост-квантового ML-DSA (Dilithium) на всех трёх уровнях безопасности. При этом библиотека не делает ни одного динамического выделения памяти: все операции работают с буферами, которые предоставляет вызывающий код. Размер минимальной сборки (Sign1 + ECC) — всего 7.5 КБ в секции .text, полная сборка со всеми 40 алгоритмами занимает 25.6 КБ. Ни .data, ни .bss не используются. Весь COSE-цикл укладывается примерно в 1 КБ ОЗУ.

Для подписания доступны ES256, ES384, ES512, EdDSA, PS256/384/512 и ML-DSA-44/65/87. Шифрование — AES-GCM, ChaCha20-Poly1305 и AES-CCM. MAC — HMAC-SHA2 и AES-MAC. Распределение ключей — Direct, AES Key Wrap и ECDH-ES+HKDF. Библиотека рассчитана на FIPS 140-3 через сертификат wolfCrypt #4718 — это единственная крипто-зависимость. Минимальная поддерживаемая версия wolfSSL — v5.8.0-stable. Есть несколько вариантов сборки: минимальная (только ECC + AES-GCM), только ML-DSA и полная со всеми алгоритмами. Сборка и тестирование автоматизированы: Makefile собирает .a и .so, запускает юнит-тесты, CLI-утилиту и демо жизненного цикла. Тесты покрывают около 240 комбинаций алгоритмов. В CI проверяются Ubuntu и macOS с GCC 10–14 и Clang 14–18. Статический анализ включает cppcheck (MISRA C 2012 и 2023), Clang analyzer и GCC -fanalyzer, а также Coverity и внутренние инструменты wolfSSL. Покрытие кода — 99.3% для wolfcose.c и 100% для wolfcose_cbor.c. Код распространяется под GPLv3. Библиотека пока не является официально поддерживаемым продуктом, но спроектирована по тем же стандартам, что и остальной набор wolfSSL, и авторы готовы перевести её в статус поддерживаемой по мере роста спроса. Коммерческое лицензирование и контракты на поддержку — через wolfSSL.

Читать оригинал →