Выпуск криптографической библиотеки Sodium 1.0.16

Доступен выпуск свободной криптографической библиотеки Sodium 1.0.16, которая совместима на уровне API с библиотекой NaCl (Networking and Cryptography library) и предоставляет функции для организации защищённого сетевого взаимодействия, хэширования, генерации псевдослучайных чисел, работы с цифровыми подписями, шифрования с использованием аутентифицированных открытых и симметричных (shared-key) ключей. API Sodium отличается простотой и предлагает по умолчанию наиболее безопасные опции, методы шифрования и хэширования. Код библиотеки распространяется под свободной лицензией ISC.

Основные новшества:

  • Увеличена производительность кода для создания и проверки цифровых подписей, при его использовании на 64-разрядных платформах с компиляторами, поддерживающими 128-разрядную арифметику (gcc, clang, icc). Оптимизации также применимы к целевой платформе WebAssembly;
  • Представлен набор низкоуровневых функций для вычислений с использованием алгоритма edwards25519: crypto_scalarmult_ed25519(), crypto_scalarmult_ed25519_base (), crypto_core_ed25519_is_valid_point (), crypto_core_ed25519_add (), crypto_core_ed25519_sub () и crypto_core_ed25519_from_uniform ();
  • В функциях crypto_sign_open (), crypto_sign_verify_detached () и andcrypto_sign_edwards25519sha512batch_open () теперь запрещено использовать открытые ключи в формах, отличных от канонической;
  • Добавлена отключенная по умолчанию возможность сборки в режиме ED25519_NONDETERMINISTIC для использования синтетических векторов инициализации (nonce) для EdDSA;
  • В сборки для платформы Webassembly добавлены функции crypto_pwhash_*();
  • Добавлена функция sodium_stackzero () для очистки содержимого стека;
  • Добавлена поддержка новых версий Android SDK с унифицированной коллекцией заголовочных файлов;
  • При сборке с использованием cmake улучшено определение статических библиотек в Unix-системах;
  • На платформе Linux ускорена работа функций хэширования паролей Argon2 и scrypt.

© OpenNet