GOST 28147-89 Chiffre

Kategorisierung:Moderne binär-basierte Blockchiffre
Herkunft / Verwendung:GOST steht für Gosudarstvennyi Standard Soyuza SSR und ist das russische Normungsinstitut, also das Gegenstück zum NIST der USA. Die unter GOST 28147-89 standardisierte Chiffre ist eine Feistel-Chiffre mit 256 bit Schlüssellänge, was 32 Zeichen entspricht.

Die Chiffre wurde 1970 entwickelt und als "streng geheim" klassifiziert, 1990 wurde sie dann zu "geheim" heruntergestuft und schließlich 1994 veröffentlicht. GOST war das sowjetische Gegenstück zum US-amerikanischem DES. Es gibt auch eine GOST genannte Hash-Funktion.

Beschreibung des Algorithmus

GOST ist eine 64-bit Blockchiffre mit einer 256-bit Schlüssellänge. Es ist als Feistelnetzwerk mit 32 Runden konstruiert. In jeder Feistelnetzwerkrunde wird ein 32-bit-Unterschlüssel modulo 32 addiert und das Ergebnis durch eine Ebene von S-Boxen geschickt. Das Resultat wird dann um 11 Bits nach links rotiert.

Die Unterschlüssel werden in einer vordefinierten Reihenfolge benutzt. Der 256-bit Schlüssel wird in 32-bit Unterschlüssel zerlegt, jeder Unterschlüssel wird 4 mal im Algorithmus benutzt. Die ersten 24 Runden werden die Unterschlüssel der Reihenfolge nach benutzt, die letzten 8 Runden in umgekehrter Reihenfolge.

Die S-Boxen erwarten eine 4-bit Eingabe und erzeugen eine 4-bit Ausgabe. Die S-Box Ersetzung besteht aus einer 4 x 4 S-Box Konstruktion, die benutzerspezifisch realisiert werden und zur zusätzlichen Sicherheit geheimgehalten werden kann. So waren auch im ursprünglichen GOST Standard keine S-Boxen vorgegeben. Später setzte sich als gebräuchlichste die GOST R 34.12-2015 S-Box durch: 1 C 4 6 2 A 5 B 9 E 8 D 7 0 3 F 1 2 6 8 2 3 9 A 5 C 1 E 4 7 B D 0 F 3 B 3 5 8 2 F A D E 1 7 4 C 9 6 0 4 C 8 2 1 D 4 F 6 7 0 A 5 3 E 9 B 5 7 F 5 A 8 1 6 D 0 9 3 E B 4 2 C 6 5 D F 6 9 2 C A B 7 8 1 4 3 E 0 7 8 E 2 5 6 9 1 C F 4 B 0 D A 3 7 8 1 7 E D 0 5 8 3 4 F A 6 9 C B 2 Der komplette Standard / Algorithmus kann in englisch unter RFC 5830 bei der IETF nachgelesen werden.

Beispiel

Klartext:Beispielklartext (2 Blöcke zu 8 Byte (64 bit))
Schlüssel:SchokoladentorteSchokoladentorte (32 Byte, 256 bit)
Chiffrat:E05F62BA0CA8D8D9D1000602A37C6D32 (hex)
Chiffrieren / dechiffrieren: Beispielklartext -> 42 65 69 73 70 69 65 6C 6B 6C 61 72 74 65 78 74 SchokoladentorteSchokoladentorte -> 53 63 68 6F 6B 6F 6C 61 64 65 6E 74 6F 72 74 65 ... Chiffrat E0 5F 62 BA 0C A8 D8 D9 D1 00 06 02 A3 7C 6D 32 SchokoladentorteSchokoladentorte -> 53 63 68 6F 6B 6F 6C 61 64 65 6E 74 6F 72 74 65 ... Beispielklartext -> 42 65 69 73 70 69 65 6C 6B 6C 61 72 74 65 78 74

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

Wenn Sie Texte eingeben, die nicht als Hex-Sequenz (ohne Leerzeichen) interpretiert werden können, erfolgt eine automatische Umsetzung in eine Hex-Sequenz. Ist Das Ergebnis umsetzbar in druckbare ASCII-Zeichen, erfolgt eine automatische Umsetzung von Hex.



Quellen, Literaturverweise und weiterführende Links

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