CAST-256 Chiffre

Herkunft / Verwendung: CAST-256 (auch CAST6) ist eine 1998 publizierte Blockchiffre. Sie stellt eine Erweiterung und Verbesserung der Blockchiffre CAST-128 dar. Beide basieren auf den Designmethoden von CAST welche von Carlisle Adams and Stafford Tavares entwickelt wurden.

CAST-256 war im Auswahlverfahren um den Advanced Encryption Standard (AES) des NIST, konnte sich aber nicht durchsetzen, weil andere Kandidaten performanter waren. CAST-256 lässt einem die Wahl bei der Schlüssellänge von 128, 192 und 256 Bit. CAST-256 benutzt eine Blocklänge von 16 Bytes, das heißt, dass ein Chiffrat 15 Zeichen länger werden kann als der ursprüngliche Klartext. Es empfiehlt sich, als Schlüssel den Hash eines Klartextpasswortes zzgl. eines (wenn gewünscht gehashten) Salts zu benutzen, z. B. SHA-256 für die 256-bit-Variante von CAST-256. Dies ergibt eine gute Sicherheit..

CAST-256 darf weltweit kosten- und lizenzfrei in allen kommerziellen und nicht-kommerziellen Anwendungen eingesetzt werden.

Beschreibung des Algorithmus

CAST-256 ist wie CAST-128 eine Feistelchiffre und verwendet die gleiche Rundenfunktion, bei der unter anderem vier S-Boxen eingesetzt werden. Es weist aber eine andere Blockgröße von vier Wörtern zu je 32 Bit und eine Rundenanzahl von 48 auf. In jeder Runde wird aus einem Datenwort und 37 Schlüsselbits ein weiteres Wort berechnet, das mit einem anderen Datenwort XOR-verknüpft wird.

CAST-256 ist genauer in RFC 2612 spezifiziert.

Beispiel

Klartext:BeispielklartextBeispielklartext (32 Bytes, 2 Blöcke)
Schlüssel:Schokoladentorte (16 Zeichen, entsprechend wird diese Bitstärke 128 bit gewählt)
Chiffrat ECB:6CA83DC4 FAA7D3E0 A44EF4A5 F222F69E 6CA83DC4 FAA7D3E0 A44EF4A5 F222F69E (hex)*

*Beachten Sie die Wiederholung im Modus ECB

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)

Die Länge des Textes sollte durch 16 (=Blocklänge) teilbar sein. Kürze Texte werden mit Nullbytes rechts aufgefüllt. Die Länge des Ergebnisses ist immer durch 16 teilbar und damit ggf. bis zu 15 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 (durch Wiederholung) erweitert auf 24 oder 32 Bytes und es wird automatisch eine bessere Verschlüsselungsstärke (Bitlänge) gewählt.
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.



Quellen, Literaturverweise und weiterführende Links

Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 153