CyberGlossary

Криптография

Salsa20

Определение

Поточный шифр с 256-битным ключом, разработанный Дэниелом Бернштейном в 2005 году; вошёл в портфель eSTREAM и стал непосредственным предшественником ChaCha20.

Salsa20 — поточный шифр, опубликованный Дэниелом Бернштейном в 2005 году и включённый в финальный программный портфель европейского конкурса eSTREAM. Он формирует ключевую последовательность, применяя 20 раундов (Salsa20/20) — или сокращённые варианты Salsa20/12 и Salsa20/8 — quarter-round функции на основе сложения, циклического сдвига и XOR к 512-битному внутреннему состоянию, полученному из 256-битного ключа, 64-битного nonce и счётчика блоков. Алгоритм быстр в программной реализации, выполняется за постоянное время и хорошо сопротивляется криптоанализу за пределами атак на сокращённые раунды. Сегодня его в основном заменил ChaCha20 с улучшенной диффузией и длиннее nonce, но Salsa20 живёт в варианте XSalsa20 с расширенным nonce, применяемом в библиотеке NaCl/libsodium и исторически в скрытых сервисах Tor.

Примеры

  • Функция secretbox в NaCl/libsodium использует XSalsa20-Poly1305 как AEAD по умолчанию.
  • Salsa20/12 вошёл в финальный программный портфель eSTREAM.

Связанные термины