Zum Inhalt springen
uencoder

Salsa20

Salsa20 ist eine von Daniel Bernstein entworfene Stromchiffre, die auf ARX-Operationen mit 20 Runden basiert; sie ist ein von eSTREAM empfohlenes Verfahren und der Vorgänger von ChaCha20.

Zweck

Sie bietet schnelle, zeitkonstant sichere Stromverschlüsselung und umgeht die Komplexität von Padding und Betriebsmodi bei Blockchiffren.

Mechanismus

Der Zustand ist eine 4×4-Matrix (Konstante σ, Schlüssel, Nonce, Zähler). In jeder Runde wird die Quarter-Round-Funktion (Addieren-Rotieren-XOR) auf jede Spalte und jede Zeile angewendet. Nach 20 Runden wird der Zustand zum Ausgangszustand addiert, um den Schlüsselstrom zu erzeugen.

Anwendungsfälle

  • Von eSTREAM empfohlenes Verfahren
  • Die Kryptobibliothek NaCl
  • Kryptografische Forschung
  • Lehrbeispiele

Beispiele

  • Eingabe
    key=256bit, nonce=64bit
    Output
    keystream

    ChaCha20 is its improved successor

Häufige Fehler

Using Salsa20 instead of the safer ChaCha20
Prefer ChaCha20-Poly1305

Verwandte Begriffe

Verwandte Tools

References