Библиотека водорода представляет собой небольшую, простую в использовании, труднодоступную криптографическую библиотеку.
Функции:
- Последовательный API высокого уровня, вдохновленный Libsodium. Вместо низкоуровневых примитивов он выявляет простые функции, чтобы решить общие проблемы, которые может решить криптография.
- 100% построены с использованием только двух криптографических строительных блоков: эллиптическая кривая Curve25519 и перестановка Gimli.
- Маленький и легко аудит. Реализовано как один крошечный файл для каждого набора операций, и добавление одного файла
.c в ваш проект - это все, что нужно для использования Libhydrogen в вашем проекте. - Весь код выпускается под одной, очень либеральной лицензией (ISC).
- Ноль динамической распределения памяти и требования низкого стека (медиана: 32 байта, макс: 128 байтов). Это делает его пригодным для использования в ограниченных средах, таких как микроконтроллеры.
- Портатив: написано в стандартном C99. Поддерживает Linux, *BSD, MacOS, Windows и Arduino IDE из коробки.
- Может генерировать криптографически-безопасные случайные числа, даже на досках Arduino.
- Попытки смягчить последствия случайного неправильного использования, даже в системах с ненадежным PRG и/или без часов.
Не предстоящие:
- Наличие нескольких примитивов, обслуживающих одну и ту же цель, даже для обеспечения совместимости с другими библиотеками.
- Сеть-но доступен простой API обмена ключами, основанный на протоколе шума, и будет реализован транспортный API на основе строба.
- Совместимость с другими библиотеками.
- Заменить либеодиум. Libhydrogen пытается снизить количество API и размер кода до минимума.
Libhydrogen Documentation
Документация сохраняется в либидгеносном вики.
Наследие Libhydrogen Code (используя Xchacha20, Siphashx, Blake2sx, Curve25519) остается доступным в ветви V0.
Участники
Кодовые участники
Этот проект существует благодаря всем людям, которые вносят свой вклад. [Способствовать].