CAST Chiffre
Kategorisierung: | Moderne binär-basierte Blockchiffre |
Herkunft / Verwendung: |
CAST steht für die Initialen der Entwickler Carlisle Adams und Stafford Tavares, die diese Blockchiffre mit 40 bis 128 bit (5 bis 16 Bytes) Schlüssellänge 1996 kreierten. CAST (genauer: CAST5 oder CAST-128, es gibt einen Nachfolger namens CAST-256) wurde zwar 1996 zum Patent angemeldet, darf aber weltweit lizenzfrei in Anwendungen eingesetzt werden. CAST bietet eine höhere Geschwindigkeit als DES und gilt als noch nicht gebrochen. |
Beschreibung des Algorithmus
CAST5 ist eine Blockchiffre mit 64 bit Blockgröße und einer Schlüssellänge bis 128 bit. Sie arbeitet als Feistel-Netzwerk und benutzt in 3 Runden S-Boxen und binäre Operationen. In jeder Runde wird ein Datenwort mit einem Schlüsselwort verknüpft (je nach Runde durch Addition, XOR oder Subtraktion) und schlüsselabhängig rotiert. Dann wird es in vier Abschnitte von je 8 Bit geteilt, die in jeweils einer 8x32 Bit-S-Box substituiert werden. Deren Ausgaben werden miteinander durch die Operationen Addition, Subtraktion und XOR verknüpft. Deren Reihenfolge wird von Runde zu Runde rotiert. Mit dem Ergebnis wird schließlich das andere Datenwort (die zweite Blockhälfte) durch XOR modifiziert.Beispiel
Klartext: | BeispielklartextBeispielklartext (32 Bytes, 4 Blöcke) |
Schlüssel: | Schokoladentorte (16 Zeichen, 128 bit, volle Schlüssellänge) |
Chiffrat CBC: | EF794497 0A8D7E53 33BED964 31BDCB29 F963F296 DC65A87D 4A4B1E15 924FD3E8 (hex) |
Chiffrat ECB: | EF794497 0A8D7E53 B99CBF21 73241367 EF794497 0A8D7E53 B99CBF21 73241367 |
Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)
Die Länge des Textes sollte durch 8 (=Blocklänge) teilbar sein. Kürze Texte werden mit Nullbytes rechts aufgefüllt. Die Länge des Ergebnisses ist immer durch 8 teilbar und damit ggf. bis zu 7 Bytes länger als der Klartext.Der Schlüssel sollte min. 16 Zeichen lang sein, besser noch ein binärer Hash mit min. 128 Bit. Längere Schlüssel werden automatisch gekürzt. Den optionalen Initialisierungsvektor (IV) mit 8 Byte Länge geben Sie durch Komma getrennt als 2. Angabe im Schlüsselfeld an. Kürzere IV werden mit Nullen rechts aufgefüllt, längere auf richtige Länge gekürzt.
Wenn Sie Texte eingeben, die nicht als Hex-Sequenz (ohne Leerzeichen) interpretiert werden können, erfolgt eine automatische Umsetzung in eine Hex-Sequenz buw. Binärdaten. Ist das Ergebnis nicht umsetzbar in druckbare ASCII-Zeichen, erfolgt eine automatische Ausgabe in Hex.