Wie bereits angedeutet, werden hierfür folgende Elemente des CAST-128 weiter verwendet:
Im Speziellen wird der Algorithmus wie folgt beschrieben: Sei ein 128-Bit-Block mit jew. 32-Bit und sei
die Kurznotation für
und
die Kurznotation für
wobei als ``Vorwärts-Vierer-Runde'' und als ``Rückwärts-Vierer-Runde'' bezeichnet wird.
Sei weiterhin die Menge der 5-Bit-Rotations-Schlüssel für die -te Vierer-Runde. Analog sei die Menge der 32-Bit-Masken-Schlüssel für die -te Vierer-Runde.
Sei ein 256-Bit-Block mit jew. 32-Bit und sei
wobei auch als ``Vorwärts-Oktave'' bezeichnet wird.
Sei desweiteren
die Kurznotation für
wobei die niederwertigsten Bits von darstellt. Analog sei
die Kurznotation für
Nun kann die Verschüsselung selbst definiert werden:
Zur Entschlüsselung wird der gleiche Algorithmus verwendet werden, nur muß hierbei (vorher) die Reihenfolge der Vierer-Rundenschlüssel umgekehrt werden:
Wie schon angedeutet, wird für den CAST-256 ein neuer Algorithmus für die Berechnung der Rundenschlüssel angegeben:
Initialisierung:
Rundenschlüsselberechnung:
Falls der ``Primärschlüssel'' kleiner als 256 Bit sein sollte, wird dieser bis 256 Bits links (niederwertig) mit Nullen aufgefüllt.