Aller au contenu
uencoder

Salsa20

Salsa20 est un chiffrement de flux conçu par Daniel Bernstein, fondé sur des opérations ARX avec 20 tours ; c'est un algorithme recommandé par eSTREAM et le prédécesseur de ChaCha20.

Objectif

Il fournit un chiffrement de flux rapide et sûr à temps constant, en évitant la complexité du remplissage et des modes de chiffrement par blocs.

Mécanisme

L'état est une matrice 4×4 (constante σ, clé, nonce, compteur). Chaque tour applique le quart de tour (addition-rotation-XOR) à chaque colonne et chaque ligne. Après 20 tours, l'état est additionné à l'état initial pour produire le flux de clé.

Cas d’usage

  • Algorithme recommandé par eSTREAM
  • La bibliothèque de cryptographie NaCl
  • Recherche en cryptographie
  • Exemples pédagogiques

Exemples

  • entrée
    key=256bit, nonce=64bit
    Output
    keystream

    ChaCha20 is its improved successor

Erreurs courantes

Using Salsa20 instead of the safer ChaCha20
Prefer ChaCha20-Poly1305

Termes associés

Outils associés

References