Home > Algorithmen > GOST

Algorithmen

GOST

GOST ist die russische Antwort auf DES. Während im Westen DES der Standard war, benutzte man im Osten GOST. Wie fast alle anderen Verfahren verarbeitet der Algorithmus 64-Bit-Blöcke, die Schlüssellänge beträgt jedoch im Gegensatz zu DES und IDEA 256 Bit. Auch die Rundenanzahl übertrifft die von DES: Stolze 32! GOST verwender acht S-Boxen, mit denen die Klartextbytes permutiert werden.

  1. Der 64-Bit-Datenblock wird in zwei Hälften aufgeteilt, L und R.
  2. R wird der temporären Variable T zugewiesen (T = R).
  3. Der Schlüssel der aktuellen Runde wird zu R addiert (R = R + Ki).
  4. Der rechte Teil, also R, durchläuft die S-Box-Permutation:
  5. R wird mit L per xor verknüpft.
  6. T wird L zugewiesen (L = T).

Die temporäre Veriable T benötigen wir, um den Inhalt von R zu speichern, bevor wir R verändern. Denn das unveränderte R soll nachher wieder L zugewiesen werden. Diese Konstruktion ist – wie viele andere Algorithmen auch – ein sog. Feistel-Netzwerk. Um die Teilschlüssel (subkeys, repräsentiert durch Ki, wobei i die aktuelle Runde ist) zu erhalten, teilen wir den 256-Bit-Schlüssel in 8 Teile zu je 32 Bit auf. Da wir jedoch 32 Subkeys benötigen, werden die 8 Teilschlüssel zunächst dreimal wiederholt (= 24 Runden) und einmal in der umgekehrten Reihenfolge verwendet; insgesamt kommen wir somit auf 32 Runden, in denen die 8 Teilschlüssel viermal zum Einsatz kommen.

Wie bei DES gibt es auch bei GOST Gerüchte über eine Hintertür – wie gesagt, nur Gerüchte (gibt es die nicht bei jedem Krypto-Algorithmus?). Trotzdem benutzen viele statt der im GOST-Standard angegebenen S-Boxen lieber die S-Boxen von DES – ob das nun so viel besser ist, sei dahingestellt (bedenken Sie die zahlreichen Gerüchte über DES, vor allem in Bezug auf die NSA!). Die hoch gewählte Schlüssellänge ist allerdings verlockend: Es gibt 2256 mögliche Schlüssel, d. h. ungefähr so viele Möglichkeiten wie es vermutlich im Universum Atome gibt (1080). Selbst wenn wir einen 128-Bit-Schlüssel innerhalb einer Sekunde zu knacken vermochten (was eher einer hypothetischen Wunschvorstellung gleicht), wären immer noch 1031 Jahre nötig, um einen 256-Bit-Schlüssel zu brechen.