Mysterys lösen: Das Rätsel besteht nur aus Nullen und Einsen (oder HexCode)

Umrechnungen
Umwandlung in ASCII
Alternative Binär-Kodierungen
Spezielle Binär-Kodierungen
Falsche Freunde
Kompaktere Binär-Darstellungen
Klassische Binär-Kodierungen
Binärzeichen zu Grafik
Binärcode zu Datei / Magic Bytes
Binäre Hash-Werte
Moderne binäre Verschlüsselungen


Wie in Mysterys lösen: Das Rätsel besteht nur aus Ziffern und Zahlen unter Zahlenbasen angedeutet, gibt es mehr als nur eine mögliche Art zu rechnen. Wir Menschen benutzen das Dezimalsystem, wohl, weil wir zehn Finger haben.

Die Elektronik, auf der Computer basieren kennt hingegen nur zwei Zustände: "an und aus" bzw. "geladen und ungeladen", symbolisiert durch eine 1 für an und einer 0 für aus. So findet man das auch auf vielen Ein-/Ausschaltern wieder. Das Symbol ( | ) ist aus einer Eins und einer Null zusammengesetzt.

So eine 1 oder 0 wird auch als Bit bezeichnet. Das nur mit diesen zwei Ziffern gerechnet wird bezeichnet man als Dual- oder Binärsystem. Für den Computer gibt es nur 1 und 0, aber für die Leute, die die Computer programmieren müssen, ist das ein bisschen umständlich und lang, darum haben sie immer 4 Bits zu einem Nibble zusammengefasst. Mit 4 Bits kann man von 0 bis 15 zählen, für die Zahlen 10 bis 15 werden, damit alles einstellig bleibt, die Buchstaben A bis F benutzt. Ein Nibble mit der Bezeichnung Fhex hat also den dezimalen Wert 15dez. Die ersten Personal Computer hatten 4-Bit-Mikroprozessoren wie etwa den Intel 4004.

Fasst man zwei Nibbles zu 4 Bit zusammen, hat man 8 Bits oder ein Byte. Zur Darstellung schreibt man einfach die beiden Nibbles hintereinander: zuerst das höherwertige, das man mal 16 nehmen muss und dann das niederwertige, das man mal 1 nehmen muss, um auf den dezimalen Wert zu kommen. AAhex sind also 10dez x 16dez + 10dez = 170dez. Das nennt sich dann Hexadezimal-System (wegen der Basis 16) und man fasst damit immer ein Vielfaches von 8 Bits zusammen. Mit einem Byte kann man von 00 bis FF in hex bzw. 0 bis 255 in Dezimal zählen.

Alternative Schreibweise der Bits

Außer der heute in der Informatik üblichen Schreibweise für binäre Codes mit Nullen und Einsen gibt es auch noch andere Symbole, die für 0 und 1 verwendet werden. Diese müssen gegebenenfalls vorher durch 0 und 1 ersetzt werden, damit die Dekodierung funktioniert.
1: 1 oder L oder High oder wahr (w) oder true (t) 0: 0 oder O oder Low oder falsch (f) oder false (f)
Die Symbole L und O stammen aus der ursprünglichen Digitaltechnik. Als Eselsbrücke für "L" kann man sich "Licht an" denken.
High und low stehen für die Signalpegel, wie man sie z. B. auf einem Oszilloskop sehen kann. Bei "high" ist der Signalpegel "hoch", z. b. 5 Volt, bei "low" ist der Signalpegel "niedrig", meist Null Volt.
Wahr und falsch bzw. true und false kommen aus der Logik und kommen unter anderem bei der Verwendung von logischen Gattern in der Digitaltechnik vor.

Umrechnungen

Man kann Binär (also Nullen und Einsen) nach Hexadezimal (Ziffern 0 bis F) und natürlich auch nach Dezimal (Ziffern 0 bis 9) umrechnen. Und damit sind wir auch schon bei der häufigsten Art der Kodierungen, die Binär- oder Hex-Zahlen als Resultat haben.

65dez = 41 hex = 0100 0001bin = 0101okt
Wie man zu dezimal umrechnet: 41 hex = 4*16+1 = 65 0101okt = 1*82+1=64+1=65 0100 0001bin = 1*27+1*20=64+1=65 Hervorragend für Umrechnungen geeignet ist der Window-Taschenrechner im Programmierer-Modus (Alt+3):



Für Hexadezimal nach Dezimal umrechnen klickt man zuerst auf "Hex", gibt die 41 ein und danach kann man auf "Dez" oder "Bin" klicken, um nach dorthin umzurechnen. Aber natürlich bietet auch der Mysterymaster entsprechende Funktionen zur Umrechnung". Und auch auf Kryptografie.de gibt es weitere Erklärungen zu binär, hexadezimal und oktal.

Welche Zahlenbasis man bei einem Code vor sich hat, kann man nicht immer hundertprozentig genau feststellen, z. B. wenn man nur eine "41" hat. das kann Hexadezimal, dezimal, aber auch oktal sein. Aber spätestens bei längeren Zahlenkolonnen wird man Hex daran erkennen können, dass auch die Zeichen "A" bis "F" vorkommen und Oktal daran, dass die Ziffern 8 und 9 fehlen.

Umwandlung in ASCII

Mit einem Bytewert (der in dez., hex. oder okt. angegeben sein kann) kann man vorzüglich ein ASCII-Zeichen und damit einen Text darstellen. Das kommt recht häufig vor. Der Text nord vier sieben grad drei fuenf punkt drei acht neun ost null null sieben grad drei fuenf punkt drei vier eins kann kodiert sein dezimal als 110 111 114 100 32 118 105 101 114 32 115 105 101 98 101 110 32 103 114 97 100 32 100 114 101 105 32 102 117 101 110 102 32 112 117 110 107 116 32 100 114 101 105 32 97 99 104 116 32 110 101 117 110 32 111 115 116 32 110 117 108 108 32 110 117 108 108 32 115 105 101 98 101 110 32 103 114 97 100 32 100 114 101 105 32 102 117 101 110 102 32 112 117 110 107 116 32 100 114 101 105 32 118 105 101 114 32 101 105 110 115. Sowas kann man ganz gut an dem 32 alle paar Zeichen erkennen, wobei 32 für das Leerzeichen steht. Ansonsten bewegen sich die angegebenen Zahlen normalerweise im Bereich von 48 ("0", Null) und 119 ("z",kleines Z).

Hexdezimal sieht der gleiche Text so aus: 6e 6f 72 64 20 76 69 65 72 20 73 69 65 62 65 6e 20 67 72 61 64 20 64 72 65 69 20 66 75 65 6e 66 20 70 75 6e 6b 74 20 64 72 65 69 20 61 63 68 74 20 6e 65 75 6e 20 6f 73 74 20 6e 75 6c 6c 20 6e 75 6c 6c 20 73 69 65 62 65 6e 20 67 72 61 64 20 64 72 65 69 20 66 75 65 6e 66 20 70 75 6e 6b 74 20 64 72 65 69 20 76 69 65 72 20 65 69 6e 73 Die Formatierung in Zweiergruppen, die übrigens nicht sein muss, und dass 0...9 und A...Z vorkommen, verraten den Hex-Code.

Binärcode ist noch leichter zu erkennen: 01101110 01101111 01110010 01100100 00100000 01110110 01101001 01100101 01110010 00100000 01110011 01101001 01100101 01100010 01100101 01101110 00100000 01100111 01110010 01100001 01100100 00100000 01100100 01110010 01100101 01101001 00100000 01100110 01110101 01100101 01101110 01100110 00100000 01110000 01110101 01101110 01101011 01110100 00100000 01100100 01110010 01100101 01101001 00100000 01100001 01100011 01101000 01110100 00100000 01101110 01100101 01110101 01101110 00100000 01101111 01110011 01110100 00100000 01101110 01110101 01101100 01101100 00100000 01101110 01110101 01101100 01101100 00100000 01110011 01101001 01100101 01100010 01100101 01101110 00100000 01100111 01110010 01100001 01100100 00100000 01100100 01110010 01100101 01101001 00100000 01100110 01110101 01100101 01101110 01100110 00100000 01110000 01110101 01101110 01101011 01110100 00100000 01100100 01110010 01100101 01101001 00100000 01110110 01101001 01100101 01110010 00100000 01100101 01101001 01101110 01110011 Einmal an der Achter-Gruppierung hier, die wieder nicht gegeben sein muss, aber wenn sie gegeben ist, können führende Nullen weggelassen werden. Und zum Zweiten natürlich daran, dass nur Nullen uns Einsen vorkommen.

Alternative Binär-Kodierungen

Normalerweise gilt die Regel 8421 für die Wertigkeit eines Nibbles. Das heißt, eine Eins ganz rechts hat die Wertigkeit 1, die links daneben 2 usw. 1111bin steht also normalerweise für 8 + 4 + 2 + 1 = 15. Es gibt aber noch andere, selten benutzte Arten eine Dezimalzahl zu kodieren, etwa 7421, 5421, 5311 oder die Gray-Kodierung. Diese Kodierungen werden auch BCD (Binary Coded Decimal) genannt. Wie sie genau funktionieren, erklärt der vorstehende Link.

Auch wenn diese alternative Kodierungen eher einen historische Bedeutung haben, könnte ein Owner darauf kommen, eine Folge von Einser und Nullen anders als nach dem Schema 8421 zu kodieren. Darum wollte ich dies hier kurz erwähnen. Normalerweise sollten diese Kodierungen beim Geocaching nicht zur Anwendung kommen, aber man weiß ja nie.

Spezielle Binär-Kodierungen

Was im Speicher des Computers steht, wird immer als binär betrachtet. Wenn der Computer etwa eine Dezimalzahl mit Nachkommastellen speichert, dann tut er dies nicht als Text wie etwa "3,14159265358979", weil das mit 16 Byte mehr Speicher als nötig belegen würde. Stattdessen speichert er das als 4009 21FB 5444 2D11 (hex), was nur 8 Byte benötigt. Diese Kodierung nennt sich IEEE 754 Kodierung für Gleitkommazahlen.

Es gibt sicher eine ganze Menge speziellen Dekodierungen, diese sind aber meist so speziell, dass sie bei Geocaching Mysterys nicht eingesetzt werden. Viele benötigen Spezialwissen.

Falsche Freunde

In die Schublade "Täuschen und Tarnen", die manche Owner gerne mal aufmachen, fällt es einen Binärcode anzugeben, der keiner ist.

So muss der Bacon Code nicht zwingend mit A und B geschrieben sein, was spricht denn dagegen, 0 und 1 stattdessen zu verwenden? Allerdings hat der Bacon Code normalerweise eine 5er-Gruppierung. Die haben aber auch der echten Binärcodes Baudot und Murray Code (siehe weiter unten). Wie die beiden Kandidaten nichts bringen, also dran denken, dass es eventuell auch ein getarnter Bacon sein könnte.

Und auch der Morse Code hat zwei Zeichen. Naja, eigentlich drei: Punkt, Komma, Leerzeichen. Das Leerzeichen könnte man ja beibehalten. Allerdings ergibt das eine seltsame Gruppierung.
00 1010 0000 1000 00 10 110 0 1 01 010 10 1 0 010 11 111 010 000 0 1010 111 100 0
sieht schon ein wenig komisch aus, was die Gruppierung angeht.

Und auch Tom-Tom kennt nur zwei Zeichen und das Leerzeichen: / und \. Auch einfach durch 0 und 1 zu ersetzen.

Das selbe gilt für Decabit mit seinen Minus- und Pluszeichen.

Und ganz ähnlich ist der Gauß-Weber Telegrafen-Code, der entweder Plus- und Minus oder Links und Rechts benutzt.

Selbst die Erhebungen bei der Braille Blindenschrift und der Barbier Nachtschrift kann man mit Null und Eins darstellen.

Oder die Punkte beim Murray Klappentelegraph Code oder beim 9-Punkt Code. Die könnte man auf genau dieselbe Art ersetzen.

Ähnliches gilt auch für die diversen Barcodes und den Steinheil Code.

Ein Blick auf den Artikel Mysterys lösen: Das Rätsel besteht aus eingebbaren Sonderzeichen (Punkte, Striche, Klammern etc.) kann sich lohnen, um einen solchen Kandidaten zu enttarnen.

Kompaktere Binär-Darstellungen

Wir haben ja oben am Beispiel "nord vier sieben grad drei fuenf punkt drei acht neun ost null null sieben grad drei fuenf punkt drei vier eins" schon gesehen, wie lang die binäre Darstellungen mit Nullen und Einsen wird. Da ist die hexadezimale Darstellung schon sehr viel kürzer. Aber es geht noch kürzer, denn wir haben ja nicht nur die Ziffern und die Buchstaben von A bis F zur Verfügung, sondern noch viele andere Buchstaben, die wir benutzen können. Je mehr Zeichen wir benutzen können, desto kürzer wird der Code.

Mit den folgenden Kodierungen können Binärdaten, bei dem jedes Byte einen Wert zwischen 0 und 255 haben kann, mithilfe von druck- und kopierbaren Zeichen dargestellt werden. Es ist zwar unsinnig normalen Text damit darzustellen, denn der besteht ja schon aus druck- und kopierbaren Zeichen, aber wir wollen trotzdem bei dem Beispiel bleiben. nord vier sieben grad drei fuenf punkt drei acht neun ost null null sieben grad drei fuenf punkt drei vier eins ... sieht in der Kodierung Base32 so aus:
NZXXEZBAOZUWK4RAONUWKYTFNYQGO4TBMQQGI4TFNEQGM5LFNZTCA4DVNZVXIIDEOJSWSIDBMNUHIIDOMV2W4IDPON2CA3TVNRWCA3TVNRWCA43JMVRGK3RAM5ZGCZBAMRZGK2JAMZ2WK3TGEBYHK3TLOQQGI4TFNEQHM2LFOIQGK2LOOM======
... sieht in der Kodierung Base64 so aus:
bm9yZCB2aWVyIHNpZWJlbiBncmFkIGRyZWkgZnVlbmYgcHVua3QgZHJlaSBhY2h0IG5ldW4gb3N0IG51bGwgbnVsbCBzaWViZW4gZ3JhZCBkcmVpIGZ1ZW5mIHB1bmt0IGRyZWkgdmllciBlaW5z
Die Gleichheitszeichen am Ende sind Füllzeichen, die bei Base32 und Base64 vorkommen können, aber nicht müssen (wenn eben nichts aufzufüllen ist). Sind sie vorhanden, ist dies ein sicheres Erkennungszeichen.

... sieht in der Kodierung Base85 so aus:
<~DJsQ++EhI1EZfF;AR]4g+D5_'A0>E'ASE9!F_,H&+E2I@CNL\0Eb/r-@:Ntm+Dtb5DBNk=F<GIDCht53F_kk:F(o2pASrW'Ea`K$A9)6q+D,b-DIt#1F`(u:+CoM(BcqS5ATAo)Bl7t~>
... sieht in der Kodierung Uuencode so aus:
;F]R9"!V:65R('-I96)E;B!G&lt;F%D(&1R96D@9G5E;F8@<;'5N:W0@9')E:2!A8VAT(&YE=6X@;W-T(&YU;&P@;G5L;"!S:65B96X@9W)A9"!D<F5I(&9U96YF('!U;FMT(&1R96D@=FEE&lt;B!E:6YS
... sieht in der Kodierung XXencode so aus:
PaxmN0-qOKJm65BdNK7ZPW-bQa3Y64FmNKYUNbJZPaMUQ5JiOrEUN57ZOG-VMqVo64tZRKsUPrBo64tpP4kUPbJgP0-nOKJWNKsUNr7VN0-YQaJd64NpNKta65-pPaho64FmNKYURaZZQW-ZOKtn
Die kompakten Binär-Kodierungen erkennt man meist daran, dass auch Sonderzeichen zum Einsatz kommen, aber nur solche, die auch druckbar sind. Klassische Verschlüsselungen hingegen haben meist nur einen Zeichenraum von A bis Z, eventuell inklusive Ziffern.

Klassische Binär-Kodierungen

Schon vor den Computern gab es Binär-Kodierungen, z. B. für Fernschreiber. Aus dieser Zeit stammen die folgende Kodierungen. Wieder hält unser Beispiel Text "nord vier sieben grad drei fuenf punkt drei acht neun ost null null sieben grad drei fuenf punkt drei vier eins" her.

Baudot Code (CCITT 1) sieht so aus:
11011 00111 11001 01111 10000 10111 00011 00010 11001 10000 10001 00011 00010 01001 00010 11011 10000 01010 11001 00100 01111 10000 01111 11001 00010 00011 10000 01011 00101 00010 11011 01011 10000 11111 00101 11011 11100 10101 10000 01111 11001 00010 00011 10000 00100 01101 01110 10101 10000 11011 00010 00101 11011 10000 00111 10001 10101 10000 11011 00101 11110 11110 10000 11011 00101 11110 11110 10000 10001 00011 00010 01001 00010 11011 10000 01010 11001 00100 01111 10000 01111 11001 00010 00011 10000 01011 00101 00010 11011 01011 10000 11111 00101 11011 11100 10101 10000 01111 11001 00010 00011 10000 10111 00011 00010 11001 10000 00010 00011 11011 10001
Dem Baudot-Code (auch Fernschreibcode oder Telexcode) reichten 5 Bits, womit 25 = 32 Zeichen unterschieden werden konnten. Das würde aber nur für die 26 Großbuchstaben und ein paar Satz- und Steuerzeichen ausreichen und nicht mehr für die 10 Ziffern. Darum gibt es einen Umschaltcode, der zwischen Buchstaben und Ziffern und Sonderzeichen umschaltet. Erkennbar ist der Baudot-Code an der 5er-Gruppierung. Oder wenn keine Gruppierung vorhanden ist an der Teilbarkeit der Binärcodelänge durch 5.

Murray Code (CCITT 2) sieht so aus:
01100 11000 01010 01001 00100 11110 00110 00001 01010 00100 00101 00110 00001 11001 00001 01100 00100 11010 01010 00011 01001 00100 01001 01010 00001 00110 00100 01101 00111 00001 01100 01101 00100 10110 00111 01100 01111 10000 00100 01001 01010 00001 00110 00100 00011 01110 10100 10000 00100 01100 00001 00111 01100 00100 11000 00101 10000 00100 01100 00111 10010 10010 00100 01100 00111 10010 10010 00100 00101 00110 00001 11001 00001 01100 00100 11010 01010 00011 01001 00100 01001 01010 00001 00110 00100 01101 00111 00001 01100 01101 00100 10110 00111 01100 01111 10000 00100 01001 01010 00001 00110 00100 11110 00110 00001 01010 00100 00001 00110 01100 00101
Im Prinzip funktioniert der Murray Code ganz ähnlich dem Baudot-Code, kodiert die Zeichen aber anders.

Binärzeichen zu Grafik

Mit einem Binärcode kann man auch ganz vorzüglich Grafiken wiedergeben. Es liegt dabei nahe, dass eine Eins für ein schwarzes Kästchen und eine Null für einen weißes bzw. leeres Kästchen steht. Auf kariertes Papier kann man dann nach und nach eine Grafik "zaubern" - vorausgesetzt, der Owner hat das Rätsel so ausgelegt. Ein kleines Beispiel dazu:
FE 28 BF 80 82 A7 A0 80 BA 09 2E 80 BA EF 2E 80 BA 44 AE 80 82 D9 20 80 FE AA BF 80 00 72 00 00 FB D7 D5 00 98 A8 D1 00 2A A3 BD 80 ED 0A 88 80 9E 6D 63 80 C9 44 D5 00 B3 BF 9D 80 9D 70 F8 80 AB 36 FA 00 00 C9 8C 00 FE C2 AB 80 82 28 8D 00 BA AF FB 80 BA E1 6F 80 BA BA 46 80 82 92 BC 80 FE B8 3F 80
ist eindeutig ein Hex-Code, erkennbar an den verwendeten Zeichen. Den umgewandelt zu binär (nach dem ausführen Gruppierung 32 anwenden) ergibt: 11111110001010001011111110000000 10000010101001111010000010000000 10111010000010010010111010000000 10111010111011110010111010000000 10111010010001001010111010000000 10000010110110010010000010000000 11111110101010101011111110000000 00000000011100100000000000000000 11111011110101111101010100000000 10011000101010001101000100000000 00101010101000111011110110000000 11101101000010101000100010000000 10011110011011010110001110000000 11001001010001001101010100000000 10110011101111111001110110000000 10011101011100001111100010000000 10101011001101101111101000000000 00000000110010011000110000000000 11111110110000101010101110000000 10000010001010001000110100000000 10111010101011111111101110000000 10111010111000010110111110000000 10111010101110100100011010000000 10000010100100101011110010000000 11111110101110000011111110000000 wobei hier auffällt, dass am rechten Rand lauter Nullen sind. Das könnten Füll-Nullen sein, damit man auf die 8 Bits pro Byte kommt. Wenn man jetzt für jede Eins ein Kästchen auf dem Karopapier ausmalt (bzw. "Binär s/w" im MysteryMaster anklickt), dann erhält man eine QR-Code-Grafik:



QR-Codes sind bei Geocaches sehr beliebt, da man sie einfach mit einer Smartphone-App lesen kann.

Binärcode zu Datei / Magic Bytes

Eine lange binäre Folge kann aber auch dazu bestimmt sein, als Datei gespeichert zu werden, um danach mit einem geeigneten Programm geöffnet zu werden. Eventuell ist die angegebene Bytefolge ja eine JPEG oder PNG-Datei, auf der sich dann wieder etwas erkennen lässt. Oder ein Zip-File. Um heraus zu finden, ob es sich um eine Datei und um welchen Dateityp es sich handelt, helfen häufig die Magic Bytes am Dateianfang (Liste bei Wikipedia). Hier eine kleine Auswahl der häufigsten Magic Bytes: Hex-Code am Datei-Anfang....Ende ASCII Dateiformat FF D8 FF E0 00 10 4A 46 49 46 00 01....FF D9 ÿØÿà..JFIF.. JPEG-Grafik 89 50 4E 47 0D 0A 1A 0A....49 45 4E 44 AE 42 60 82 ‰PNG....IEND®B`‚ PNG-Grafik 47 49 46 38 37 61....00 00 3B GIF87a..... ; GIF-Grafik 47 49 46 38 39 61....00 00 3B GIF89a..... ; GIF-Grafik 42 4D BM BMP-Grafik (Windows) 38 42 50 53 8BPS Photoshop Grafik 41 47 44 33 AGD3 FreeHand 8 Grafik 50 4b 03 04 PK.. Zip-Archiv (PkZip) 52 61 72 21 1A 07 00 Rar!... RAR-Archiv 37 7A BC AF 27 1C 7z¼¯'. 7-Zip-Archiv 42 5A 68 BZh Bzip2-Archiv 1F 8B ?‹ GZip-komprimierte Datei 4D 53 43 46 MSCF Microsoft komprimierte Datei (.cab) 25 50 44 46 2D .PDF- PDF-Dokument 25 21 50 53 .!PS PostScript-Dokument 49 44 33 ID3 MP3-Sounddatei 52 49 46 46 ?? ?? ?? ?? 57 41 56 45 RIFF????WAVE Wav-Sounddatei 52 49 46 46 ?? ?? ?? ?? 41 56 49 20 RIFF????AVI. Avi-Videodatei 4F 67 67 53 OggS Ogg-Sounddatei 46 4F 52 4D ?? ?? ?? ?? 41 49 46 46 FORM????AIFF AIFF Sounddatei 4D 54 68 64 MThd Midi Sounddatei 30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C 0&²uŽfÏ.¦Ù?ª.bÎl WMA, WMF, ASF Sound-/Videodatei 1A 45 DF A3 .Eߣ Matroska Videodatei (.mkv) 00 00 01 BA ...º MPEG-Videodatei 00 00 01 B3 ...³ MPEG-Videodatei Um den Hexcode als Datei speichern zu können, benötigt man einen sogenannten Hex-Editor. Ich empfehle hier die Freeware HxD von Maël Hörz. In den Hex-Editor kann man den Hexcode hineinkopieren und das dann als Datei speichern, die man dann je nach Dateiart öffnen kann, etwa mit einem Grafikprogramm.

Binäre Hash-Werte

Binäre Hash-Werte sind sozusagen eine Prüfsumme über eine lange Datei. Nach einem bestimmten mathematischem Schema, einem Algorithmus, werden hier die einzelnen Bytes einer Datei oder eines Textes miteinander verknüpft und ergeben am Ende die Prüfsumme über alle Bytes, den sogenannten Hashwert. Diese hat je nach Art des Algorithmus eine bestimmte Länge, an dem er erkennbar ist.

Als Mystery Aufgabe wird gerne mal verlangt eine bestimmte Koordinate zu erraten, indem man ein Programm schreibt, dass alle möglichen Koordinatenvarianten durchprobiert und dafür jeweils einen Hash ausrechnet, bis der richtige (im Listing angegebene) Hash gefunden ist. Da das auch mal gerne Millionen von Kombinationen ergeben kann, sind solche Mysteries nur von Leuten lösbar, die programmieren können. Mit einem Hash-Taschenrechner oder Einzelabfragen auf die Hash-Algorithmen auf Kryptografie.de wird man nur bedingt weit kommen.

Normalerweise sollte im Listing angegeben werden, wie der Hashwert lautet und das eigentlich immer als Hex-Code. Und außerdem, um welchen Hash-Algorithmus es sich handelt. Ist dies nicht der Fall kann die folgende Tabelle weiterhelfen, die die Bitlänge der Hash-Algorithmen angibt.

Dabei bedeuten etwa 128 Bit = 16 Byte (Bits durch acht) = 32 Hex-Zeichen (Bits durch vier) .

Bitlänge HashwertHash-Algorithmus
8 bit LCR-8 Prüfsumme
32 bit Adler 32
32 bit CRC-32
128 bit MD2 Hash
128 bit MD4 Hash
128 bit MD5 Hash
128, 160 bit RIPEMD Hash
128, 256 bit Snefru Hash
128, 160, 192, 224, 256 bit HAVAL Hash
160 bit HAS-160 Hash
160 bit SHA-1 Hash
192 (128, 160) bit Tiger Hash
224, 256, 384, 512 bit BLAKE
224, 256, 384, 512 bit Blue Midnight Wish
224, 256, 384, 512 bit CubeHash
224, 256, 384, 512 bit Echo Hash
224, 256, 384, 512 bit Fugue Hash
224, 256, 384, 512 bit Grøstl Hash
224, 256, 384, 512 bit Hamsi Hash
224, 256, 384, 512 bit JH Hash
224, 256, 384, 512 bit Keccak Hash
224, 256, 384, 512 bit Luffa Hash
224, 256, 384, 512 bit SHA-3 Hash
224, 256, 384, 512 bit Shabal Hash
224, 256, 384, 512 bit Shavite Hash
224, 256, 384, 512 bit SIMD Hash
224, 256, 384, 512 bit Skein Hash
256 bit GOST Hash
256 bit Panama Hash
256 bit Radio Gatún Hash
256, 384, 512 bit SHA-2 Hash
256, 512 bit BLAKE2
512 bit Whirlpool Hash


Moderne binäre Verschlüsselungen

In die Kategorie Moderne binäre Verschlüsselungen fallen alle Verschlüsselungen, die binäre Daten mit einem binären Schlüssel verschlüsseln. Diese sind normalerweise sehr sicher und ohne Schlüssel nicht zu knacken. Die AES Chiffre zum Beispiel ist in den USA für staatliche Dokumente mit höchster Geheimhaltungsstufe zugelassen.

nord vier sieben grad drei fuenf punkt drei acht neun ost null null sieben grad drei fuenf punkt drei vier eins kodiert mit dem Schlüssel "supergeheim" ergibt zum Beispiel
0561BAD5 8812B8A3 8C7B32E7 EDC970FB FE0CFF85 CCF2CE69 AF1643E4 D6EC8C1D C3AF3AF5 9A8DD2D3 9CE30370 E427760A 096ECAFD 0FC718DB 793F7DBA 8DD23074 9758C986 7D02D350 A2C6C2AA 4451F43C 79A7BE6D CB1E4F81 E5952558 4CEF5E83 3F0AD901 80AB3CEC 7C11D518 CD3B951A
Rechnet man für das Ergebnis die Shannon Entropie aus, ergibt sich ein Wert von 6,468. Das ist ungefähr die Entropie zufällig zusammengewürfelter Binärzeichen. Aber das ist ja auch der Sinn einer guter Chiffre: keine Ansatzpunkte zu bieten, sie analysieren und cracken zu können.

Man kann also mithilfe der Entropie abschätzen, ob es sich um eine starke Chiffre handelt. Allerdings kann es sich auch um einen guten Komprimierungsalgorithmus handelt. Der funktioniert ja so, dass Wiederholungen in einer Datei "herausgekürzt" werden. Übrig bleibt auch eine zufällig aussehende Entropie. Komprimierte Datei erkennt man allerdings wieder an den Magic Bytes am Anfang (siehe weiter oben).

Hat man festgestellt, eine starke binäre Chiffre vor sich zu haben, dann hilft nur die Suche nach dem Schlüssel, um sie dechiffrieren zu können. Irgendeinen Hinweis Darauf wird es im Cachelisting geben.