URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 99042
[ Назад ]

Исходное сообщение
"Первый стабильный выпуск криптографической библиотеки Sodium"

Отправлено opennews , 25-Сен-14 12:39 
Увидел свет (https://github.com/jedisct1/libsodium/releases/tag/1.0.0) выпуск свободной криптографической библиотеки Sodium 1.0.0 (http://doc.libsodium.org/), совместимую на уровне API с библиотекой NaCl (http://nacl.cr.yp.to/) (Networking and Cryptography library) и предоставляющую функции для организации защищённого сетевого взаимодействия, шифрования и работы с цифровыми подписями. Выпуск 1.0 примечателен стабилизацией API и ABI, и обеспечением в дальнейшем обратной совместимости. Код библиотеки распространяется (https://github.com/jedisct1/libsodium) под свободной лицензией ISC.

В отличие от NaCl в Sodium решены проблемы с переносимостью кода на разные программные и аппаратные платформы, обеспечена сборка в виде разделяемой библиотеки, поставляется стандартный набор заголовочных файлов, добавлены средства для установки и интеграции со сторонними проектами. Среди поддерживаемых в Sodium платформ отмечаются Bitrig, OpenBSD, Dragonfly BSD, NetBSD, FreeBSD, SmartOS, Mac OS X, Linux, Windows, iOS и Android. Базовый API сформирован для языка Си, но дополнительно поставляются биндинги для языков  Ruby (https://github.com/cryptosphere/rbnacl) и Python (https://github.com/dstufft/pynacl).

По сравнению с OpenSSL, Sodium и NaCl предоставляют существенно более простой  API, а также применяет по умолчанию безопасные опции и методы шифрования и хэширования. API OpenSSL слишком усложнён и предоставляет обилие криптографических примитивов, режимов и обработчиков, из которых трудно выбрать действительно безопасный набор. Sodium и NaCl решают проблему выбора и предоставляют из коробки готовый к использованию небольшой и понятный набор функций, содержащий только безопасные методы.


API Sodium включает следующие возможности:


-  Операции шифрования с использованием аутентифицированных открытых и симметричных (shared-key) ключей, позволяющие гарантировать, что зашифрованное сообщение останется в тайне и не сможет быть изменено атакующим;


-  Создание и проверка цифровых подписей по открытым и симметричным ключам. Позволяет получателю  проверить, что сообщения отправлено именно тем, от кого его ожидали получить и не было изменено третьим лицом;

-  Операции хэширования, позволяющие сформировать слепок от сообщения, имеющий фиксированную длину, дающий возможность проверить соответствие хэшу начального сообщения, но не позволяющий восстановить элементы сообщений из хэша;

-  Средства для формирования  для хэш таблиц непредсказуемых ключей из коротких сообщений, позволяющие исключить проведение DoS-атак (http://www.opennet.me/opennews/art.shtml?num=35593) через манипуляции с коллизиями хэшей. В качестве функции хэширования используется метод SipHash-2-4 (https://131002.net/siphash/), отличающийся высокой производительностью и непредсказуемым результатом операции;

-  Безопасный генератор псевдослучайных чисел, пригодный для использования в криптографических операциях.


URL: https://github.com/jedisct1/libsodium/releases/tag/1.0.0
Новость: http://www.opennet.me/opennews/art.shtml?num=40674


Содержание

Сообщения в этом обсуждении
"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Anonim , 25-Сен-14 12:39 
Bitrig еще жив?

"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 25-Сен-14 21:07 
> Bitrig еще жив?

Пока да. Иногда там пилят интересные вещи, но с портабельностью всё грустно. О реальном использовании за пределами конторы Marco Peerboom ничего не знаю.


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено бедный буратино , 28-Сен-14 18:53 
> Пока да. Иногда там пилят интересные вещи

например?

кстати, они реально всё, что у них в портах лежит (а отличий от OpenBSD я пока не заметил) пересобирают clang, или всё же там в основном всё с gcc собрано?


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 25-Сен-14 21:43 
> Bitrig еще жив?

Что это за НЕХ и как она относится к сабжу?


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено anonymous , 25-Сен-14 13:13 
список алгоритмов на оф. сайте отсутствует

"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 25-Сен-14 13:26 
сводный - может быть. В документации на каждую функциональность указан используемый алгоритм. Например, http://doc.libsodium.org/hashing/generic_hashing.html Algorithm details

"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено anonymous , 25-Сен-14 14:35 
Сильно урезанный набор алгоритмов - OpenSSL для хомячков.

"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено ryzhov_al , 25-Сен-14 15:31 
Это просто nacl, допиленная для использования с dnscrypt-proxy.

"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 25-Сен-14 15:43 
Я так понимаю, что принцип был "не все алгоритмы одинаково полезны, как и не все их возможные параметры". Сам, выросший на принципах SHA-RSA-AES, с удивлением обнаружил кучу всего непонятного.

"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 25-Сен-14 17:27 
> и не все их возможные параметры". Сам, выросший на принципах SHA-RSA-AES,
> с удивлением обнаружил кучу всего непонятного.

Например, что
1) SHA-1 вообще прекращают использовать.
2) RSA - тормозной, с огромными ключами, с плохим соотношением размера ключа к стойкости.

Вообще, берштейновская криптография - выглядит очень интересно. Облажаться в crypto_box() довольно сложно, даже если вы и не знаете как он работает. Потому что нормальная подборка алгоритмов и дефолты. У 25519 - короткие (по сравнению RSA) ключи не в ущерб стойкости. Можно использовать вместо хэша/фингерпринта напрямую публичный ключ. Забавно, правда? А скорость работы - ну я вот тут поскрипел процессором и за 10 секунд сгенерил 200 000 пар ключей. Пусть RSA так попробует, да? :). Это означает что можно лепить временный ключ чуть ли не на каждый пакет. И да, если кто не заметил, API либы позволяет зная 32 байта пубкея получателя скроить ему (сетевой) пакет, который только он может расшифровать, будучи уверенным что это пришло от вас (вашего приватного ключа, парного заявленному вами вашему публичному). В отличие от SSL оно прекрасно относится к единичным пакетам в таком виде. Дяденька Берштейн показывает как делать криптографию для сетей правильно. Еще б этого академика немного слушали насчет IPv6... :)


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 25-Сен-14 17:45 
слушай, огромное спасибо. теперь начинаю понимать

"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 25-Сен-14 19:36 
> слушай, огромное спасибо. теперь начинаю понимать

Берштейн с его эллиптикой отбабахал очень красивый вариант Диффи-Хеллмана. D-H key exchange ... почти без key exchange? А что, круто придумано :).


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено aaa , 26-Сен-14 14:14 
Была задача,сложный роутер-сетевой экран с десятком подключённых сете, надо зашифровать каналы.

Использование OpenVPN или IPsec добавляло ещё интерфейсов и приходилось нщё больше усложнять правила сетевого экрана...

sodium сможет прозрачно для сетевого экрана, без добавления новых интерфейсов, шифровать соединения между двумя узлами сети?


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено anonymous , 27-Сен-14 13:49 
> Еще б этого академика немного слушали
> насчет IPv6... :)

Уточните, пожалуйста, как конкретно можно организовать криптографию на сетевом уровне, не согласовав предварительно ряд параметров. Т.е. не проделав ряд действий вручную. Имхо это корневая причина, почему ipsec в ipv6 не взлетел "правильно".


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 25-Сен-14 17:16 
> OpenSSL для хомячков.

Скорее, криптографическая либа с публичной криптографией сделанная не через ж...у, в отличие от OpenSSL.


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено annualslayer , 25-Сен-14 14:36 
а документация, кстати, аккуратненько так оформлена, приятно пользоваться.

жаль, что в многих проектах уделяют этому недостаточное внимание


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено pda , 25-Сен-14 13:58 
> и непредсказуемым результатом операции

Ммм... Выхлоп /dev/random в качестве хеш-функции для словарей...
(На самом деле, я знаю, что имелось ввиду. Но как написано! :)


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено metallica , 25-Сен-14 14:13 
> SmartOS

Ась?


"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 25-Сен-14 14:46 
Монструозный больно. Tweetnacl лучше и от системы тоже мало зависит.

"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 26-Сен-14 14:07 
NaCl хлорид натрия ака соль поваренная
:)

"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено Аноним , 27-Сен-14 16:50 
Ещё одна криптолиба на C. Доколе?!

"Первый стабильный выпуск криптографической библиотеки Sodium"
Отправлено umbr , 28-Сен-14 14:34 
АНБ одобряет ;)