JH Hash
Kategorisierung: | Modern / Hashes und Prüfsummen |
Herkunft / Verwendung: |
JH ist eine Hashfunktion, die von Hongjun Wu 2008 entwickelt wurde. JH war einer der Finalisten im SHA-3-Auswahlverfahren der NIST. Die Hashlänge ist variabel und beträgt 224, 256, 384, oder 512 bit (entsprechend 28, 32, 48 oder 64 Bytes).
|
Spezifikation des Algorithmus
JH vereinigt die Vorteile der Blockchiffren
AES. JH basiert auf einer Blockchiffre mit konstantem Schlüssel und einer Größe des Datenblocks von 1024 Bit. In jeder der 42 Runden werden vier Bit in eine von zwei 4x4
S-Boxen substituiert. Welche der S-Boxen gerade angewandt wird, richtet sich nach einem Schlüsselbit. In nächsten Schritt folgt ein Mix zwei dieser 4-Bit-Abschnitte, ähnlich wie bei
AES. Zum Schluss einer Runde werden die 4-Bit-Abschnitte dann permutiert, so dass jeder in der nächsten Runde mit einem anderen gemischt wird. Die Verarbeitung geschieht in 512-bit-Blöcken, wobei ein Block mit der ersten Hälfte des Datenblocks XOR-verknüpft wird, anschließend wird der Datenblock verschlüsselt, worauf der Nachrichtenblock mit der zweiten Hälfte des Datenblocks XOR-verknüpft wird. Nachdem so alle Nachrichtenblöcke verarbeitet wurden, entnimmt man dem Datenblock den Hashwert.
Eine genaue Spezifikation findet sich auf der
Website des Autors.
Beispiel
Klartext: | Beispielklartext |
JH-224 Hash: | 330B668A 62618345 4D868E38 86EC8CC8 10AAF29E 5B77BDEF BE2C14FC |
JH-256 Hash: | 6F2C14B2 C3C6BBF5 44A41128 E1507D68 C163483B 0AAD88FB AE1756B6 0A891AC9 |
JH-384 Hash: | 58A4C4D4 5CFCE896 E6CC9F2E 48B5DDB5 A1F9ED31 25C30D6E 4F249FFE 2C287683 22540C4A CA09E070 70413372 D66C4100 |
JH-512 Hash: | 81CFB166 1FD100E3 E17D7545 210EEB50 772E3663 D558CDC8 F8525F1E EC44DF8A AF95411D 058B46AE E00B6D4D A631B32A 5D2322DC 3F074C4F 8D591718 9852E3FE |
Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (Decoder / Encoder / Solver-Tool)