HC-128 / HC-256 Chiffre
Kategorisierung: | Moderne binär-basierte Stromchiffre |
Herkunft / Verwendung: |
HC-128 bzw. HC-256 ist eine 2004 von Hongjun Wu entwickelte Stromchiffre mit einer Schlüssellänge von 128 bit (entsprechend 16 Zeichen) bzw. 256 bit (entsprechend 32 Zeichen). HC war Kandidat beim eStream Projekt des ECRYPT-Netzwerkes, einem Kryptowettbewerb, der von 2004 bis 2008 lief und das Ziel verfolgte, Vorschläge für neue Stromchiffren entgegenzunehmen, kryptologisch zu untersuchen und zu bewerten und so empfehlenswerte Verfahren zu finden. Das eStream Projekt lief über drei Phasen: Phase 1, die bis März 2006 lief, war eine allgemeine Beurteilung und Analyse der eingereichten 34 Kandidaten. Hier wurden offensichtliche Schwächen erkannt. Phase 2, im August 2006 gestartet, untersuchte die Kandidaten, die weitergekommen waren insbesondere auch auf Design und Performance und beinhaltete weitere Kryptoanalysen. Phase 3 schließlich, im April 2007 gestartet und im April 2008 beendet, verglich die übrigen 14 Kandidaten miteinander und kürte die besten als empfehlenswert: vier in der Kategorie Software-Implementierung und drei in der Kategorie Hardware-Implementierung. HC (in der 128 bit Version) schaffte es bis in Phase 3 des Wettbewerbs und wurde auch als einer der sieben empfehlenswerten Algorithmen eingestuft. HC ist für die Implementierung in Software optimiert. HC ist für kommerziellen und nicht-kommerziellen Gebrauch freigegeben. Es sind bisher keine Schwächen in HC bekannt geworden, die einen Angriff ermöglichen, der effizienter als ein Brute-Force-Attack wäre. |
Beschreibung des Algorithmus
Der Algorithmus funktioniert mit einer Schlüssellänge von 128 bit und einer Initialisierungsvektorlänge von 128 bit bei HC-128 bzw. einer Schlüssellänge von 256 bit und einer Initialisierungsvektorlänge von 256 bit bei HC-256.HC-256 arbeitet mit zwei internen Tabellen P und Q, die jeweils 1024 32-bit breite Worte umfassen und braucht damit für seinen Statusspeicher 8192 Bytes. HC-128 benötigt entsprechend die Hälfte an Speicher, also 4096 Bytes. Damit ist HC-128 der speicherhungrigste unter den Phase3-Kandidaten und für die Hardware-Implementierung eher ungeeignet. Bei jedem Statusupdate bei der Verschlüsselung wird in beiden Tabellen jeweils ein 32-bit-Wort mittels einer nichtlinearen Funktion aktualisiert. Nach 2048 Schritten ist demnach der gesamte Inhalt der Tabellen ausgetauscht worden.
Mittels einer 32-bit zu 32-bit Zuordnungsfunktion ähnlich der Ausgabefunktion von Blowfish wird ein 32-bit-Wort generiert, die dann noch eine lineare Bit-Maskierungsfunktion durchläuft, bevor sie zum Schlüsselstrom wird. Dazu werden die Tabelle P und Q ähnlich wie beim SHA-256-Verfahren per S-Box kombiniert.
HC-128 verhält sich gleich, nur mit redizierter Schlüssel- und IV-Länge und weniger Einträgen in den Tabelle P und Q. Außerdem werden die Schritte angeglichen, sprich halbiert.
Beispiel
Klartext: | BeispielklartextBeispielklartext (32 Bytes) |
Schlüssel: | Schokoladentorte (16 Bytes, 128 bit) |
IV: | 00000000 00000000 00000000 00000000 (hex 16 Bytes, 128 bit) |
Chiffrat: | 84E63BDA F6FCA9AC 4705E479 0195A28E BAE7D5FF AFBE1859 1E917DED 43F8A410 (hex) |
Klartext: | BeispielklartextBeispielklartext (32 Bytes) |
Schlüssel: | Schokoladentorte mit Vanillesoße (32 Bytes, 256 bit) |
IV: | 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 (hex 32 Bytes, 256 bit) |
Chiffrat: | E77072F9 1059E568 B8836433 11544634 8216115B 7FE99270 EF679AE0 4588E454 (hex) |
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.Einen eventuell zu berücksichtigen Initialisierungsvektor (IV) können Sie, durch Komma getrennt, nach dem Schlüssel angeben.
Quellen, Literaturverweise und weiterführende Links
Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 298Homepage des eSTREAM Projekts
