Sodium: простая и надёжная криптографическая библиотека Большинство проблем с криптографической защитой современных веб-сервисов и других приложений связано вовсе не со слабостями в шифрах, а с неправильным использованием криптографических инструментов. Например, библиотека OpenSSL предоставляет в распоряжение разработчика множество криптографических примитивов. К сожалению, многие разработчики приходят в замешательство от такого разнообразия и излишне сложных программных интерфейсов. В попытке решить проблему пару лет назад была создана криптографическая библиотека NaCl («Соль»). Набор настроек в этой библиотеке подобран таким образом, что при её использовании просто невозможно выбрать слабую криптографическую защиту. Впрочем, эта библиотека не получила широкого распространения по объективным причинам: фактически, её можно использовать только в некоторых Unix-системах; скомпилированный код гарантированно работал только на той машине, где был скомпилирован; библиотека вообще не предназначалась для совместного использования и т.д. Хорошая новость в том, что сейчас ситуация коренным образом изменилась. Сотрудник компании OpenDNS Фрэнк Денис (Frank Denis) вчера представил новую криптографическую библиотеку Sodium, которая основана на NaCl, но лишена всех её недостатков: это универсальная, кросс-платформенная библиотека, которая идёт в пакетах и инсталляторах для многих ОС и может работать через API. Поддерживаемые платформы — Bitrig, OpenBSD, Dragonfly BSD, NetBSD, FreeBSD, SmartOS, OSX, Linux, Windows, iOS и Android. Что делает Sodium? Асимметричное и симметричное шифрование Подпись и проверка подписи Хеширование Хеш-код аутентификации сообщений Безопасная генерация псевдослучайных чисел Как уже было сказано, для каждой операции предусмотрен простой минимальный набор параметров с нулевой вероятностью ошибки. Автор постарался, чтобы библиотека Sodium была исключительно проста и удобна в использовании. 07.03.2013 http://www.xakep.ru/post/60240/
Представлена новая криптографическая библиотека Sodium Компания OpenDNS представила новую свободную криптографическую библиотеку Sodium, совместимую на уровне API с библиотекой NaCl (Networking and Cryptography library), развиваемой Дэниэлом Бернштейном (Daniel J. Bernstein, автор qmail и djbdns), и предоставляющей функции для организации защищённого сетевого взаимодействия, шифрования и работы с цифровыми подписями. В отличие от 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, отличающийся высокой производительностью и непредсказуемым результатом операции; Безопасный генератор псевдослучайных чисел, пригодный для использования в криптографических операциях. 07.03.2013 http://www.opennet.ru/opennews/art.shtml?num=36331 http://labs.umbrella.com/2013/03/06/announcing-sodium-a-new-cryptographic-library/