CyberGlossary

Kryptografie

Salsa20

Definition

Stromchiffre mit 256-Bit-Schlüssel, 2005 von Daniel J. Bernstein entwickelt, im eSTREAM-Portfolio enthalten und direkter Vorgänger von ChaCha20.

Salsa20 ist eine Stromchiffre, die Daniel J. Bernstein 2005 veröffentlicht hat und die in das endgültige Software-Portfolio des europäischen eSTREAM-Wettbewerbs aufgenommen wurde. Sie erzeugt einen Schlüsselstrom, indem sie 20 Runden (Salsa20/20) – oder die reduzierten Varianten Salsa20/12 und Salsa20/8 – einer Viertelrunden-Funktion mit Add-Rotate-XOR-Operationen auf einen 512-Bit-Zustand anwendet, der aus 256-Bit-Schlüssel, 64-Bit-Nonce und Blockzähler gebildet wird. Salsa20 ist software-schnell, konstant in der Zeit und über reduzierte Runden hinaus kryptanalytisch stabil geblieben. Sie ist weitgehend durch ChaCha20 abgelöst, das bessere Diffusion und einen längeren Nonce besitzt, lebt aber in der XSalsa20-Variante mit erweitertem Nonce in NaCl/libsodium und historisch in Tor-Hidden-Services weiter.

Beispiele

  • Die secretbox in NaCl/libsodium nutzt XSalsa20-Poly1305 als Standard-AEAD.
  • Salsa20/12 war Teil des finalen eSTREAM-Portfolios.

Verwandte Begriffe