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

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

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

  • По умолчанию задействован алгоритм хэширования паролей Argon2id. в В функциях pwhash_str_verify () и pwhash () сохранена поддержка проверки и генерации ранее используемых хэшей Argon2i;
  • Удалён нестандартный примитив aes128ctr, который работал медленно и не поддерживал аутентификацию;
  • Добавлена официальная поддержка Webassembly. Осуществлено слияние версий для Javascript и Webassembly;
  • Обеспечена возможность сборки библиотеки в JavaScript/Webassembly при помощи компиляторов emscripten и binaryen;
  • Обеспечена совместимость исполняемых файлов для iOS с WatchOS и TVOS;
  • Добавлен вариант функций crypto_verify_*(), реализованных с использованием инструкций SSE2;
  • В состав добавлены функции для кодирования и декодирования данных в формате Base64 (sodium_bin2base64() и sodium_base642bin ());
  • Представлен новый API crypto_secretstream_*() для безопасного шифрования файлов и комбинированных (multi-part) сообщений;
  • Добавлены функции sodium_pad () и sodium_unpad () для добавления и удаления добавочного заполнения;
  • Добавлена реализация алгоритма Argon2, оптимизированная при помощи инструкций AVX512;
  • Добавлена функция crypto_pwhash_str_needs_rehash () для проверки хэша пароля на предмет соответствия заданым параметрам.

© OpenNet