Выпуск криптографической библиотеки 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() для проверки хэша пароля на предмет соответствия заданым параметрам.