CyberGlossary

Criptografia

Salsa20

Definição

Cifra de fluxo com chave de 256 bits desenhada por Daniel J. Bernstein em 2005, incluída no portefólio eSTREAM e antecessora direta do ChaCha20.

O Salsa20 é uma cifra de fluxo publicada por Daniel J. Bernstein em 2005 e selecionada para o portefólio final de software do concurso europeu eSTREAM. Gera um fluxo de chave aplicando 20 rondas (Salsa20/20) — ou variantes reduzidas Salsa20/12 e Salsa20/8 — de uma função quarter-round baseada em soma, rotação e XOR sobre um estado interno de 512 bits derivado de uma chave de 256 bits, um nonce de 64 bits e um contador de bloco. É rápido em software, em tempo constante, e tem resistido à criptanálise para além dos ataques contra versões com rondas reduzidas. Foi em larga medida substituído pelo ChaCha20 (melhor difusão e nonce maior), mas continua presente na variante XSalsa20 de nonce alargado utilizada na biblioteca NaCl/libsodium e historicamente nos serviços ocultos do Tor.

Exemplos

  • O secretbox do NaCl/libsodium usa XSalsa20-Poly1305 como AEAD predefinido.
  • O Salsa20/12 fez parte do portefólio final do eSTREAM.

Termos relacionados