Zum Inhalt springen
uencoder

Serpent

Serpent ist eine symmetrische Blockchiffre, die von Ross Anderson und anderen für den AES-Wettbewerb entworfen wurde; sie nutzt 128-Bit-Blöcke mit 128/192/256-Bit-Schlüsseln und ist für ihre große Sicherheitsmarge bekannt.

Zweck

Sie bot eine konservativere Sicherheitsmarge als Rijndael (32 statt 10 Runden) und tauschte Geschwindigkeit gegen Vertrauen gegenüber der Kryptoanalyse.

Mechanismus

Sie ist ein 32-rundiges SPN (Substitutions-Permutations-Netzwerk). Jede Runde wendet acht parallele 4×4-S-Boxen, eine lineare Transformation und ein XOR mit dem Rundenschlüssel an. Die S-Boxen sind per Bitslicing implementiert, um Timing-Angriffe zu vermeiden; die Schlüsselplanung erzeugt 33 Unterschlüssel à 128 Bit.

Anwendungsfälle

  • Forschung zum AES-Wettbewerb
  • Anforderungen mit hoher Sicherheitsmarge
  • Kryptografie-Unterricht
  • Analyse konservativer Entwürfe

Beispiele

  • Eingabe
    key=256bit, data=16bytes
    Output
    16-byte ciphertext

    AES finalist

Häufige Fehler

Misusing an unoptimized software implementation yields poor performance
Use bitslice-optimized implementations

Verwandte Begriffe

Verwandte Tools

References