02.03.01 – symmetrische Verfahren

  1. Home
  2. /
  3. 02 – Kryptologie
  4. /
  5. 02.03 – Kryptographie
  6. /
  7. 02.03.01 – symmetrische Verfahren

Grundsätzlich kann man sagen, dass man eine mathematische Vorschrift verwendet, um aus einem Klartext einen Ciphertext zu erzeugen. Mit Hilfe eines Schlüssels wird jedes Zeichen oder Zeichengruppen umgewandelt. der Empfänger benötigt den gleichen Schlüssel und kehrt diese Operation um. Dies nennt man symmetrisch.

Die symmetrischen Verfahren werden in zwei Vorgehensweisen, Methoden eingeteilt: Transposition und Substitution.

Bei der Transposition wird die Reihenfolge der Klartext-Zeichen; bei der Substitution werden die Zeichen an sich verändert. Wir erinnern uns? Diffusion und Konfusion.

Betrachten wir mal verschiedene Verfahren aus diesen Kategorien:

  • Transposition
  • Substitution
  • Moderne Verfahren

Transposition

Ein einfaches Transpositionsverfahren ist die Spaltentransposition. Der Klartext wird fortlaufend bis zu einer festgelegten Spaltenzahl geschrieben, dann umgebrochen. Ggf. müssen gegen Ende, der letzten Zeile sogenannte Blindzeichen eingetragen werden, um die Matrix aufzufüllen.

Hierzu ein praktisches Beispiel:
Der Text „Dieser Text ist geheim“ wird bei einer zuvor festgelegten Spaltenzahl 5 (der Schlüssel) wie folgt umgewandelt:

DIESE 
RTEXT
ISTGE
HEIMX

Nun muss der Text spaltenweise ausgelesen und in eine Zeile geschrieben werden:

 DRIHITSEEETISXGMETEX

Der Empfänger kennt die Spaltenzahl, den Schlüssel, teilt die Gesamtlänge durch diese Zahl und erhält die Zahl der Zeilen. In unserem einfachen Beispiel haben wir die Spaltenzahl bei 1 beginnend ausgelesen.

Etwas komplizierter ist die Vorgehensweise, wenn ein Codewort oder ein anderer Schlüssel vereinbart wird, der die Reihenfolge des Auslesens und auch die Spaltenzahl vorgibt.

Beispiel: ALICE soll unser Codewort sein; die Buchstaben des Codewortes werden nun alphabetisch sortiert und erhalten dann in der Reihenfolge ihres Auftretens im Alphabet ihre Positionsziffer. Der Schlüssel entspricht dann der Reihenfolge der Ziffern, wie sie den Buchstaben des Codewortes zugeordnet sind, also 15423.

 Codewort ALICE
sortiert ACEIL
Position 12345
Schlüssel15423

Die Nachricht sähe dann so aus:

DRIHETEXSXGMITSEEETI

Ein anderes Beispiel für einen Schlüssel, wenn nämlich ein Buchstabe mehrfach vorkommt:

Codewort   SANDDORN
sortiert ADDNNORS
Position 12345678
Schlüssel 81423675

Außer der einfachen Spaltentransposition sind auch doppelte Transposition und eine gemischte Zeilen-Spaltentransposition (transposition double) bekannt. Bei letzterer werden die Zeilen nicht von oben nach unten gefüllt, sondern nach einer vorgegebenen Reihenfolge. Beispiel

 31425
2rtext
3istge
1diese
4heimx

Beim Auslesen wird die Reihenfolge der Spalten berücksichtigt, so dass sich in unserem Beispiel ergibt:

TSIEXGSMRIDHETEITEEX

Aber egal wie die Umstellung auch erfolgt, bis auf die Blindzeichen sind alle Zeichen des Ciphertextes auch Element des Klartextes. Ein Mangel, da außer der Diffusion nichts erreicht wurde. Auch moderne Verfahren wenden die Transposition an. Dabei werden aber nicht mehr einzelne Zeichen, sondern gleich ganze Klartextblöcke umgestellt. Ich gehe darauf an anderer Stelle ein.

Substitution

Substitutionsverfahren werden kryptographische Verfahren genannt, wenn sie die Zeichen des Klartextes durch andere Zeichen ersetzen. Dies können einerseits Phantasiezeichen, andererseits aber auch reale Buchstaben sein.

Man unterscheidet dabei Verfahren, die nur ein Geheimtextalphabet (monoalphabetische Substitution) und solche, die mehrere, wechselnde (polyalphabetische Substitution) verwenden.

Zum besseren Verständnis beginnen wir mit den monoalphabetischen Verfahren.

Monoalphabetische Substitution

Das bekannteste Verfahren ist der weiter oben schon erwähnte Cäsar-Code gewesen. Die Buchstaben des Klartextes wurden um drei Stellen nach rechts verschoben; der Schlüssel lautete somit 3.

Beispiel für Klartext- und Geheimtextalphabet:

abcdefghijklmnopqrstuvwxyz  Klar
YZABCDEFGHIJKLMNOPQRSTUVWX Geheim

Nachricht:

dies ist geheim Klartext
BGCQ GQR ECFCGK Ciphertext

Der Mangel dieses additiven Verfahrens ist offensichtlich: die Buchstaben behalten die Position des Klartextes bei, also keine Diffusion. Obwohl die Klartextzeichen gegen andere ersetzt werden, ist dennoch keine wirkliche Konfusion zu erkennen. Die sprachlichen, linguistischen Eigenschaften, die Häufigkeit, mit der bestimmte Buchstaben auftreten, wurde beibehalten. Eine trügerische Sicherheit, die dieses Verfahren bietet.

Ein weiteres Verfahren, das ähnlich funktioniert, ist ein multiplikatives Verfahren. Statt eine konstante Zahl zu jedem Wert zu addieren, wird hierbei jeder Buchstabenwert mit einer konstanten Zahl multipliziert und auf die 26 Buchstaben heruntergerechnet (das Ergebnis wird durch 26 geteilt und der neue Buchstabe erhält den verbleibenden ganzzahligen Rest; Modulo 26 wäre die mathematische Bezeichnung).

Beispiel: Setzt man den Buchstaben A zu 0, B zu 1 usw. dann erhält man mit dem Faktor 3 folgende Reihe:

abcdefghijklmnopqrstuvwxyz Klar
ADGJMPSVYBEHKNQTWZCFILORUX Geheim

Auch wenn das Verfahren komplexer als das additive Verfahren erscheint, so weist es exakt die gleichen Mängel auf wie dieses und ist genauso anfällig für einen kryptanalytischen Angriff. Als Schlüssel für dieses Verfahren kann darüber hinaus nicht jede Ziffer dienen, da in einigen Fällen das Dechiffrieren nicht den eindeutigen Klartext liefert.

Die oben geschilderten Fälle der additiven und multiplikativen Substitution sind Sonderfälle der Matrizenoperation. Diese wurde 1929 von Lester Hill, einem amerikanischen Mathematiker veröffentlicht. Sie beschreibt eine recht aufwändige Methode mit einer Reihe von einschränkenden Randbedingungen. Dennoch haftet auch diesem Verfahren das Problem an, das seine wesentlich einfacheren Varianten haben: fehlende Diffusion und keine echte Konfusion.

Polyalphabetische Substitution

In einer monoalphabetischen Substitution wird nur ein geringer Grad an Konfusion erreicht, da bestimmte Geheimtextzeichen häufiger als andere auftreten und diese aufgrund der 1:1-Beziehung der Alphabete den Häufigkeiten der Klartextzeichen entsprechen und somit Redundanz und statistische Muster weitgehend erhalten bleiben. Die eigentliche Forderung nach Verschleierung der Zusammenhänge zwischen Klartext und Chiffrat wird nicht erfüllt.

Dieses schon von Al-Kindi beschriebene und später von Leon Batista Alberti dokumentierte Problem, führte zu Überlegungen mehr als ein Geheimalphabet zu verwenden. Alberti beschrieb ein Verfahren mit 2 Geheimtextalphabeten. Er lieferte auch gleich eine Chiffrierscheibe, eine der ersten Geräte für die mechanisierte Verschlüsselung. Trithemius und Porta beschrieben es ähnlich. Dieses nennt man die polyalphabetische Substitution, die häufig verwendete Zeichen wie das E im Deutschen durch mehrere andere Zeichen ersetzt (homophone polyalphabetische Substitution).

Eleganter dagegen ist eine Chiffriervorschrift, die Blaise de Vigenère (1523-1596) um 1586 aus den Unterlagen Albertis, Trithemius und Portas beschrieb [Kahn]. Er reihte einfach mehrere verschiedene monoalphabetische Substitutionen aneinander. Dazu benötigt man ein Schlüsselwort, welches das jeweils zu verwendende Alphabet definiert. Der erste Buchstabe wurde mit dem ersten, der zweite Buchstabe mit dem zweiten Alphabet usw. verschlüsselt. Leerzeichen wurde ausgelassen. Benötigt wird dazu folgendes Gitter:

abcdefghijklmnopqrsruvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXYZA
CDEFGHIJKLMNOPQRSTUVXXYZAB
DEFGHIJKLMNOPQRSTUVWXYZABC
EFGHIJKLMNOPQRSTUVWXYZABCD
FGHIJKLMNOPQRSTUVWXYZABCDE
GHIJKLMNOPQRSTUVWXYZABCDEF
HIJKLMNOPQRSTUVWXYZABCDEFG
IJKLMNOPQRSTUVWXYZABCDEFGH
JKLMNOPQRSTUVWXYZABCDEFGHI
KLMNOPQRSTUVWXYZABCDEFGHIJ
LMNOPQRSTUVWXYZABCDEFGHIJK
MNOPQRSTUVWXYZABCDEFGHIJKL
NOPQRSTUVWXYZABCDEFGHIJKLM
OPQRSTUVWXYZABCDEFGHIJKLMN
PQRSTUVWXYZABCDEFGHIJKLMNO
QRSTUVWXYZABCDEFGHIJKLMNOP
RSTUVWXYZABCDEFGHIJKLMNOPQ
STUVWXYZABCDEFGHIJKLMNOPQR
TUVWXYZABCDEFGHIJKLMNOPQRS
UVWXYZABCDEFGHIJKLMNOPQRST
VWXYZABCDEFGHIJKLMNOPQRSTU
wXYZABCDEFGHIJKLMNOPQRSTUV
XYZABCDEFGHIJKLMNOPQRSTUVw
YZABCDEFGHIJKLMNOPQRSTUVWX
ZABCDEFGHIJKLMNOPQRSTUVWXY

Beispiel:

Schlüssel ALICEALICEALI
Klartext diesistgeheim
Chiffre DTMUMSEOGLETU

Allerdings ist hier schon erkennbar, dass nur wenige der 26 möglichen Geheimtextalphabete zum Einsatz kommen und daher erneut Regelmäßigkeiten erkennbar sein werden. In der Tat sind mathematisch-statistische Verfahren bekannt, die einen erfolgreichen Angriff ermöglichen.

Eine deutliche Verbesserung des Verfahrens kann man dadurch erzielen, dass alle 26 Alphabete zum Einsatz kommen, die Reihenfolge allerdings durch das Schlüsselwort, welches weniger Buchstaben hat als Alphabete zur Verfügung stehen, vorgegeben wird. In unserem Beispiel könnte der Schlüssel wie folgt aussehen

ALICEBDFGHJKMNOPQRSTUVWXYZ

Moderne Verfahren

Die modernen symmetrischen Verfahren, die den Einsatz von Rechenanlagen erfordern, sollen hier in den Grundzügen dargestellt werden. Sie sind keine Sonderform, vielmehr verwenden diese Verfahren alle Elemente von Transposition und Substitution.

DES, Triple-DES

DES steht für Data Encryption Standard. Dieses ursprünglich von IBM entwickelte Verschlüsselungsverfahren wurde in 1976 vom National Bureau of Standards (NBS, heute National Institute of Standards and Technology NIST) als Regierungsstandard der USA definiert. Die ursprüngliche Planung sollte eine Einbettung des Verfahrens in Hardware ermöglichen. Eine Implementierung in Software war zwar nicht vorgesehen, aber möglich. Das Verfahren ist dann allerdings weniger effizient und entsprechend langsam. Insgesamt sollte es leicht verständlich, preiswert umsetzbar, sicher und öffentlich sein. Die Sicherheit sollte von der Länge des Schlüssels abhängen.

Ein praktisches Beispiel für den Einsatz von DES nennt Gerling in seinem Buch: DES wurde vom PIN-Verfahren genutzt, um aus der Kontonummer, Bankleitzahl und Kartenfolgenummer die PIN zu berechnen. Mittlerweile wird hierfür 3DES (Triple DES) eingesetzt, was eine höhere Sicherheit bietet.

Die Idee ist, die zu verschlüsselnde Information in Blöcken von je 64 bit iterativ umzustellen (Transposition). Jede Iteration wird Runde genannt; 16 sind zu absolvieren. In jeder Runde sollen außerdem Gruppen von je 6 Bit durch nicht lineare Substitution in Gruppen zu je 4 Bit gewandelt werden. Dazu werden sogenannte S-Boxen verwendet, aus denen die Information ausgelesen wird.

IBM hatte allerdings Probleme den Algorithmus zu implementieren und beteiligte die National Security Agency (NSA). Diese änderte zunächst einmal die ursprünglich vorgesehene Schlüssellänge von 128 bit in 64 bit (da allerdings 8 bit als Paritätsbits benötigt werden, reduziert sich die Schlüssellänge auf effektive 56 bit!). Ferner änderten sie die Substitutionskonstanten der S-Boxen. Die Kürze des Schlüssel wurde schon 1975 bekannt, die Veränderung der S-Boxen dagegen erst 1990 als die Israelischen Kryptographen Eli Biham und Adi Shamir einen neuartigen Angriff, die differentielle Kryptanalyse publizierten.

DES wurde 1976 zum Standard. In 1997 initiierte die NIST eine Programm zur Ablösung des DES: Advanced Encryption Standard AES. Diese Ablösung erschien erforderlich, da schon Ende 1990 vermutet wurde, dass die NSA DES durch einen „Brute-Force-Angriff“ brechen konnte . Die Electronic Frontier Foundation bewies die Möglichkeit, als sie mit einer 250000$ Rechenmaschine DES innerhalb von Tagen brachen [EFF].

Wie funktioniert DES?

Die zu verschlüsselnde Information wird in 64 bit Klartextblöcke unterteilt. Dieser erste Klartextblock wird in einer ersten schlüsselunabhängigen Umstellung in zwei Blöcke zu je 32 bit geteilt, dem L- und R-Block (Eingangspermutation).

Es folgen nun die 16 Runden. Der R-Block der ersten Runde wird zum L-Block der zweiten Runde. Der L-Block der ersten Runde wird mit einer Funktion addiert, die den R-Block der ersten Runde und den Schlüssel verwendet. Diese Funktion, das zentrale Element des DES wird auch Rundenschlüssel genannt. Das Ergebnis ist der R-Block der zweiten Runde. In der 16. Runde werden allerdings der R- und L-Block nicht mehr über Kreuz vertauscht. Es folgt eine Abschlußpermutation, welche zur Eingangspermutation invers ist.

Der Rundenschlüssel, welcher bei jeder Runde erneut berechnet wird, setzt sich aus dem 32 bit R-Block und dem 48-bit Teilschlüssel zusammen.

Die 32 bit des R-Blocks werden durch Duplizierung bestimmter Bitstellen auf 48 bit expandiert.

Der 56 bit Schlüssel wird nach einer festen Regel umgestellt und in zwei 28 bit Blöcke geteilt. Diese Blöcke werden je nach Runde um einen oder zwei Stellen nach links geshiftet. Aus den dann vorliegenden Blöcken wird der 48 bit Teilschlüssel für die jeweilige Runde ermittelt.

Der expandierte R-Block und der Teilschlüssel werden modulo 2 addiert. Das Ergebnis wird in acht Gruppen zu je 6 bit aufgeteilt. Jeder 6 bit Block wird in eine Substitutionsbox (S-Boxen) für 4 verschiedene nichtlineare Substitutionen gegeben. Als Ergebnis erhält man in jeder der 8 Boxen eine 4 bit Ausgabe. Diese werden miteinander verbunden und abschließend nach einer festen Regel umgestellt. Damit steht der Rundenschlüssel zur Verfügung. Dieser bildet dann mit dem L-Block den R-Block der nächsten Runde.

DES-Algorithmus

Die Entschlüsselung erscheint zunächst kompliziert. Tatsächlich aber kann man der Grafik entnehmen, dass lediglich der Algorithmus in umgekehrter Richtung durchlaufen werden muss. Der L-Block einer jeden Runde wurde ohnehin ohne Modifikation aus dem R-Blocks der Vorrunde erstellt; er kann also direkt verwendet werden, um über den Rundenschlüssel den L-Block der Vorrunde zu berechnen.

Da die Sicherheit des DES nicht mehr gegeben war -seit Ende 1998 dürfen amerikanische Regierungsstellen kein einfaches DES mehr verwenden-, entschied man sich zu einer anderen Einsatzform, dem Triple-DES oder 3DES. Die Vorgehensweise ist recht simpel. Man verschlüsselt die Information mit DES und dem Schlüssel 1, dann entschlüsselt man mit dem Schlüssel 2 und schließlich verschlüsselt man erneut mit Schlüssel 3. Die theoretische Schlüssellänge beträgt daher 3*56=168 bit. Außerdem ist das System voll kompatibel zu DES, wenn die Schlüssel gleich sind.

IDEA

Die modernen symmetrischen Verfahren, die den Einsatz von Rechenanlagen erfordern, sollen hier in den Grundzügen dargestellt werden. Sie sind keine Sonderform, vielmehr verwenden diese Verfahren alle Elemente von Transposition und Substitution.

1990 entstand der Algorithmus PES, der als Vorläufer zu IDEA bekannt ist. Aufgrund einer Designschwäche war dieser Algorithmus aber anfällig gegen die differentielle Kryptanalyse nach Biham und Shamir. Eine Verbesserung in 1992 sicherte den Algorithmus dagegen; fortan wurde er IDEA (International Data Encryption Algorithm) genannt.

Der Algorithmus ist zwar von der Firma ASCOM (Schweiz) patentiert, darf aber zu nicht-kommerziellen Zwecken lizenzfrei verwendet werden. Dies ermöglichte die Implementierung von IDEA in PGP. Der Algorithmus gilt wegen dieser Implementierung als gut untersucht.

Es handelt sich um eine Blockchiffrierung, die 64-bit Klartextblöcke mit einem 128-bit Schlüssel verschlüsselt. Die Leitlinie der Entwickler Dr. X. Lai und Prof. J. Massey war die Mischung von Operationen unterschiedlicher algebraischer Gruppen, die zu einer Verwendung von Konfusion und Diffusion führen.

Die algebraischen Operationen sind:

  • XOR-Verknüpfung
  • Addition modulo 2^16
  • Multiplikation modulo 2^16 + 1 (dies entspricht den S-Boxen des DES, wobei allerdings derartige feste Tabellenwerte in IDEA nicht verwendet werden)

Es findet keine Vertauschung auf Bit-Ebene statt.

Nachfolgend soll die Vorgehensweise von IDEA näher erläutert werden. Hinweise und detaillierte Beschreibung für eine Implementierung finden sich im Internet [ Algorithmus-Programm]. Es wird daher auf große Detailtiefe verzichtet.

IDEA verwendet 52 16-bit-Teilschlüssel, die aus dem 128-bit-Schlüssel generiert werden:

  1. der 128-bit-Schlüssel wird in acht 16-bit-Schlüssel zerlegt.
  2. die Ziffern des 128-bit-Schlüssels werden 25 bit nach links geshiftet, was einen neuen 128-bit-Schlüssel ergibt, der wieder in acht 16-bit-Schlüssel zerlegt wird.

Der zweite Schritt wird nun wiederholt bis die 52 Teilschlüssel erzeugt sind. Wir nennen sie im weiteren Verlauf der Beschreibung s(1) bis s(52).

Ein 64-bit Klartextblock wird in vier 16-bit-Teilblöcke zerlegt, die wir zum besseren Verständnis p(1) bis p(4) nennen. Insgesamt erfolgt die Verschlüsselung in acht Runden. Je Runde werden sechs Teilschlüssel benötigt.

In der ersten Runde wird p(1) mit s(1) und p(4) mit s(4) multipliziert und s(2) zu p(2) sowie s(3) zu p(3) addiert. Dies liefert die Zwischenergebnisse z(1) bis z(4).

Nun werden z(1) mit z(3) und z(2) mit z(4) XOR verknüpft und geben die Teilergebnisse z(5) und z(6). z(5) wird mit s(5) multipliziert und ergibt z(7). Nun wird z(6) zu z(7) addiert, um z(8) zu liefern. z(8) wird mit s(6) zu z(9) multipliziert und z(9) zu z(7) addiert, was z(10) ergibt.

Als letzte Operation erfolgt eine XOR-Verknüpfung von

  • z(1) mit z(9) zu z(11)
  • z(3) mit z(9) zu z(12)
  • z(2) mit z(10) zu z(13)
  • z(4) mit z10) zu z(14)

Die Reihenfolge wird zum Abschluss der ersten Runde noch in z(11), z(13), z(12), z(14) geändert. Diese vier Blöcke stehen nun als Ausgang für die zweite Runde bereit.

Zum Abschluss der achten Runde werden allerdings die mittleren Teilergebnisse -wir nennen sie jetzt e(1) bis e(4)- nicht mehr vertauscht. Stattdessen werden e(1) mit s(49) und e(4) mit s(52) multipliziert, während e(2) zu s(50) und e(3) zu s(51) addiert werden. Das Ergebnis sind die verschlüsselten Blöcke c(1) bis c(4).

IDEA-Algorithmus

Eine Untersuchung der Verschlüsselungen mit IDEA ergab:

  • ein einzelnes Klartextbit wird über viele Ciphertextbits verteilt; die Frequenzanalyse zeigt eine nahezu statistische Verteilung
  • IDEA scheint resistent gegen differentielle Kryptanalyse
  • während bei anderen Algorithmen mehrere Werte für den Schlüssel als schwach bekannt sind, ist bei IDEA nur ein Schlüssel mit ausschließlich Nullwerten schwach
  • die Erzeugung der Teilschlüssel erzeugt regelmäßig schematisiert nach obiger Beschreibung; dies könnte eine Schwäche darstellen
  • die Notwendigkeit von 64-bit Klartextblöcken ist als Nachteil zu sehen: ein Einsatz lohnt sich daher immer bei großen Datenmengen, z.B. bei FTP-Verbindungen, weniger für Telnet-Sessions.

Noch immer sind viele wissenschaftliche Gruppen mit der Kryptanalyse von IDEA beschäftigt. Bislang wurde aber keine Schwäche bekannt.

Der Algorithmus lässt sich ferner gut in Hardware implementieren (VLSI-Chip).

CAST

Der Algorithmus CAST wurde von Carlisle Adams und Stafford Tavares Anfang der neunziger Jahre entwickelt. Auch wenn die Entwickler bislang das Gegenteil behauptet haben, so erweckt der Name den Anschein als wäre er aus den Initialen der beiden entstanden.

In dieser Darstellung wird nur auf die Version CAST-128 eingegangen, die auch bei Schlüssellängen von 80 bis 128 bit als CAST-5 bezeichnet wird [Algorithmus-Beschreibung]. CAST-5 ist der Standardalgorithmus (Default-Wert) in PGP und GnuPG.

CAST ist ebenfalls wie IDEA patentiert (Entrust Technologies), darf aber frei verwendet werden

Bei CAST handelt es sich um ein DES-ähnliches Substitutions-Permutations-Netzwerk (SPN). Er wird vollständig in dem RFC 2144 beschrieben. Es werden 64-bit Textblöcke mit einem variablen Schlüssel von 40 bis 128 bit (in 8-bit-Inkrementen) verarbeitet. Ab einer Schlüssellänge von 80 bit sind 16 Runden zu durchlaufen. CAST verwendet Substitutionsboxen, die im Anhang A der RFC aufgeführt sind.

Ein 64-bit Klartextblock wird in zwei 32-bit Blöcke P1 und P2 zerlegt. P1 (oder auch linker Block genannt) wird mit einem aus P2 (oder auch rechter Block genannt), den Teilschlüsseln und den S-Blöcken in einer Funktion F gebildeten Wert XOR-verknüpft, um dann selbst zum rechten Block der nächsten Runde zu werden. P2 wird unmittelbar ohne mathematische Behandlung zum linken Block der nächsten Runde.

Die angesprochene Funktion F benötigt 16 Teilschlüsselpaare zu je 32 bit (Km und Kr). Vom Teilschlüssel Kr werden lediglich die letzten 5 bit verwendet; er wird für den kreisförmigen Links-Shift benötigt). In der Operation O1 wird der rechte 32-bit Block (P2) mit dem 32-bit-Teilschlüssel Km verknüpft. Das Ergebnis wird einem kreisförmigen Links-Shift mit Kr unterzogen und anschließen in der Operation O2 mit den S-Boxen verknüpft. Die Operationen O1 und O2 sind rundenabhängig. Insgesamt werden drei verschiedene Typen unterschieden. Als mathematische Operationen werden Addition und Subtraktion modulo 2^32 und XOR-Verknüpfungen verwendet. Weitere Details sind der RFC 2144 zu entnehmen.

CAST-Algorithmus

Es sind keine schwachen Schlüssel bekannt. David Wagner, John Kelsey und Bruce Schneier haben einen related-key Angriff auf die CAST-64-Version erfolgreich durchführen können, dennoch kann gerade die 128-bit-Version als sicher angesehen werden. Es ist gilt als sicher, dass außer einem brute-force-Angriff keine erfolgversprechende Kryptanalyse möglich ist.

weiter zu den asymmetrischen Verfahren