Первый стабильный выпуск криптографической библиотеки Sodium
25 сентября 2014 года
Увидел свет выпуск свободной криптографической библиотеки Sodium 1.0.0, совместимую на уровне API с библиотекой NaCl (Networking and Cryptography library) и предоставляющую функции для организации защищённого сетевого взаимодействия, шифрования и работы с цифровыми подписями. Выпуск 1.0 примечателен стабилизацией API и ABI, и обеспечением в дальнейшем обратной совместимости. Код библиотеки распространяется под свободной лицензией ISC.
В отличие от NaCl в Sodium решены проблемы с переносимостью кода на разные программные и аппаратные платформы, обеспечена сборка в виде разделяемой библиотеки, поставляется стандартный набор заголовочных файлов, добавлены средства для установки и интеграции со сторонними проектами. Среди поддерживаемых в Sodium платформ отмечаются Bitrig, OpenBSD, Dragonfly BSD, NetBSD, FreeBSD, SmartOS, Mac OS X, Linux, Windows, iOS и Android. Базовый API сформирован для языка Си, но дополнительно поставляются биндинги для языков Ruby и Python.
По сравнению с OpenSSL, Sodium и NaCl предоставляют существенно более простой API, а также применяет по умолчанию безопасные опции и методы шифрования и хэширования. API OpenSSL слишком усложнён и предоставляет обилие криптографических примитивов, режимов и обработчиков, из которых трудно выбрать действительно безопасный набор. Sodium и NaCl решают проблему выбора и предоставляют из коробки готовый к использованию небольшой и понятный набор функций, содержащий только безопасные методы.
API Sodium включает следующие возможности:
- Операции шифрования с использованием аутентифицированных открытых и симметричных (shared-key) ключей, позволяющие гарантировать, что зашифрованное сообщение останется в тайне и не сможет быть изменено атакующим;
- Создание и проверка цифровых подписей по открытым и симметричным ключам. Позволяет получателю проверить, что сообщение отправлено именно тем, от кого его ожидали получить и не было изменено третьим лицом;
- Операции хэширования, позволяющие сформировать слепок от сообщения, имеющий фиксированную длину, дающий возможность проверить соответствие хэшу начального сообщения, но не позволяющий восстановить элементы сообщений из хэша;
- Средства для формирования для хэш таблиц непредсказуемых ключей из коротких сообщений, позволяющие исключить проведение DoS-атак через манипуляции с коллизиями хэшей. В качестве функции хэширования используется метод SipHash-2-4, отличающийся высокой производительностью и непредсказуемым результатом операции;
- Безопасный генератор псевдослучайных чисел, пригодный для использования в криптографических операциях.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.