Minicrypto
Криптографическая библиотека для D, частичный порт Monocypher. Содержит реализации некоторых современных криптоалгоритмов, в том числе на эллиптических кривых:
- Аутентифицированное шифрование с присоединенными данными (AEAD) по алгоритму ChaCha20-Poly1305;
- Протокол Диффи-Хеллмана на эллиптических кривых Curve25519;
- Криптографическая хеш-функция BLAKE2b;
- Функция хэширования паролей Argon2;
- Схема цифровой подписи EdDSA;
- Криптостойкий генератор псевдослучайных чисел.
Все функции @nogc, библиотека может быть скомпилирована в режиме BetterC. Как и в оригинальном Monocypher, динамическая память не используется, а промежуточные секретные данные на стеке уничтожаются после вывода в пользовательские буферы.
Библиотека сохраняет, насколько это возможно, оригинальный API Monocypher.
Репозиторий проекта: https://github.com/gecko0307/minicrypto