Рейтинг:0

Как выбрать между AES256-GCM, XSalsa20Poly1305 и XChaCha20Poly1305?

флаг is

В libsodium есть 3 симметричных шифрования (потоковое шифрование): AES256-GCM (аппаратное ускорение), XSalsa20Poly1305 и XChaCha20Poly1305 (неизвестно, какая версия libsodium добавляет поддержку XChaCha20Poly1305).

Учитывая, что AES256-GCM будет основным выбором, если аппаратное обеспечение поддерживает его, поскольку это отраслевой стандарт, который обычно используется для хранения файлов или любой другой применимой платформы.

AES256-GCM обычно используется в файловых хранилищах, поскольку сервер запрашивает секрет пользователя, такой как пароли/парольная фраза, для получения ключа, а затем выполняет шифрование/дешифрование.

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

Если устройство не поддерживает AES256-GCM (аппаратное ускорение), как выбрать между XSalsa20Poly1305(crypto_secretbox_easy) и XChaCha20Poly1305(secretbox_xchacha20poly1305)?

kelalaka avatar
флаг in
Если оборудование отсутствует, XSalsa20 > XChaCha20 > AES-256 с размером ключа 256 бит. У нас есть множество рекомендаций по этому поводу на нашем сайте. [Имеет ли ChaCha20/Salsa ту же разрядность, что и AES, для ключей одинакового размера?](https://crypto.stackexchange.com/q/70894/18298). И обратите внимание, что Salsa — это обновленная версия ChaCha, а ChaCha/Salsa работают быстрее в программном обеспечении. [Является ли ChaCha20 более безопасным, чем AES, в отношении атак по сторонним каналам?] (https://crypto.stackexchange.com/a/48264/18298)
kelalaka avatar
флаг in
[Poly1305-AES против AES-GCM] (https://crypto.stackexchange.com/q/43112/18298). [Понимание влияния атак секционирования оракула на потоковые шифры](https://crypto.stackexchange.com/q/88716/18298)
kelalaka avatar
флаг in
Разве это не проблема аппаратного обеспечения/ОС? [Какие проблемы возникают при использовании Linux /dev/urandom для генерации криптографических ключей?] (https://crypto.stackexchange.com/q/85533/18298)? См. страницу libsodium https://doc.libsodium.org/generating_random_data
Hern avatar
флаг is
Хорошо, спасибо. я кое-чему научился
флаг cn
@kelalaka На самом деле ChaCha новее, чем Salsa, с улучшенной производительностью.
kelalaka avatar
флаг in
@LightBit это совершенно верно. Моя ошибка. Сальса в 2005 году, Ча-Ча в 2008 году. Спасибо за внимание.
Рейтинг:2
флаг cn

Это как бы субъективно. Все варианты должны быть хороши.

Если бы мне пришлось выбирать один, я бы выбрал XChaCha20Poly1305, так как аппаратная поддержка AES ограничена. Обычно он быстрее, чем программный AES, и защищен от атак по сторонним каналам.

Единственной причиной использования XSalsa20Poly1305 является поддержка старой библиотеки (что, вероятно, в любом случае не очень хорошая идея). Salsa20 старше и немного медленнее на большинстве процессоров, а также немного медленнее распространяется.

Hern avatar
флаг is
Так что это зависит от того, как на это смотреть. Если им нужна более проверенная версия потокового шифра, лучше выбрать XSalsa20Poly1305. Если они хотят иметь более быструю и «вероятно» более безопасную версию, выберите XChaCha20Poly1305.
флаг cn
@Hern Я бы сказал, что ChaCha лучше протестирована, чем Salsa, потому что она также используется для хэш-функции Блейка. Хотя сальса была выбрана для eSTREAM, ча-ча сейчас более популярна. Сальса всего на 3 года старше (на самом деле она была опубликована всего за 1 год до Ча-Ча). Google использует Ча-Ча. Многие UNIX-подобные операционные системы используют его для генератора случайных чисел.
Hern avatar
флаг is
Обновление: только что подтвердил кое-что с разработчиком libsodium, они сказали, что существование XChaCha20Poly1305 существует только для DNSCrypt, возможно, поэтому они не удосужились разместить документацию в своем репозитории libsodium-doc github и на своем веб-сайте (https:/ /doc.libsodium.org/)
Hern avatar
флаг is
Они не сказали, что он будет удален, поэтому моя привязка, вероятно, все еще может быть закодирована на месте.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.