Пока вы не указали источник, вот один. На самом деле семейство XSalsa описано в статье Бернштейна;
Означает ли «X» в XSalsa20Poly1305 просто 192-битный одноразовый номер?
Да, это означает, что размер одноразового номера XSalsa — 192-битный, а Salsa — 64-битный. Это настолько огромно, что даже для случайных одноразовых номеров приходится генерировать $2^{96}$ однородные одноразовые номера, чтобы столкновение произошло с вероятностью 50%. Это очень важно в долгосрочных ключах. Если повторно используется пара (ключ, одноразовый номер), конфиденциальность теряется. 192-бит предотвращает это. Для криптографии это почти никогда не произойдет.
Есть ли значительное преимущество в использовании XSalsa20Poly1305?
- Очевидным является длинный одноразовый номер.
- Другой - это Poly1305 — лучший аутентификатор, чем GCM.
- Он имеет очень хорошую производительность процессора благодаря дизайну ARX, превосходит AES в чистом процессоре и даже может конкурировать с AES-NI.
Сравнение OpenSSL (ChaCha, а не Salsa);
тип |
16 байт |
64 байта |
256 байт |
1024 байта |
8192 байта |
16384 байта |
чача20 |
361334.62k |
665775.85k |
1334323.20k |
2750173.87k |
2945690.28k |
2972353.50k |
aes-128-ctr NI |
525049.40k |
1867614.12k |
3840132.18k |
5231174.31k |
5816388.27k |
5875471.70k |
aes-128-ctr |
190707.84k |
228983.55k |
236486.66k |
243153.92k |
242283.86k |
242614.27k |
Также обратите внимание, что в статье Бернстайн представил доказательства безопасности; если Salsa20 безопасна, то и XSalsa тоже.
Доказано, что 15 раундов Salsa20 защищены от дифференциальных атак.
Обратите внимание, что есть новый вариант семейства Salsa; семья ЧаЧа. Семейство ChaCha нацелено на увеличение диффузии за раунд практически с той же скоростью. Семейство ChaCha адаптировано больше, чем семейство Salsa, TLS 1.3 использует ChaCha20-Pol1305.
У ChaCha20 также есть XChaCha20-Poly1305 (черновик ietf), в котором используются те же 192-битные одноразовые номера. Предпочтительнее XSalsa20-Poly1305. Отметим, что семейство Ча-Ча менее изучено, чем семейство Сальса, в связи с тем, что Сальса представлена в проект eSTREAM.
Если есть возможность, отдайте предпочтение XChaCha20-Poly1305.
Обратите внимание, что аутентифицированное шифрование является обязательным при передаче, рекомендуется для остальных данных.