Home » Tutorials » Sonstiges » Steganographie

Steganographie

Warum sollte man codieren?

Schon in der Antike wurde versucht, die eigenen Absichten vor den Spionen des Feindes zu schützen. Julius Caesar verwendete Algorithmen, die mit der Zeit immer mehr verfeinert wurden. Er benutzte sie, damit seine Kriegsgegner, sollten sie einen Kurier abfangen, den Text seiner Anordnungen nicht lesen konnten.
Die Kunst der Codierung wurde auch in den nächsten Jahrtausenden genutzt, wenn auch in teilweise stark verbesserter Form und überwiegend zu diplomatischen, wirtschaftlichen und militärischen Zwecken. Die Idee, dass man selber als Bürger etwas verschlüsseln muss, ist erst in der Neuzeit entstanden. In einer Zeit, in der man Überweisungen über das Internet tätigen kann, wo nicht nur der Provider, sondern auch jeder, der eine Leitung anzapft, den Datenverkehr mitlesen kann, ist es unumgänglich, dass die Daten verschlüsselt gesendet werden.
Aber nicht nur finanzielle Belange werden verschlüsselt. Für viele Leute, die auf ihre persönlichen Rechte pochen, ist es wichtig, dass Organisationen wie die NSA (National Security Angency, Behörde der USA) keinen Einblick in ihre Daten haben, weil sie ansonsten ihre Privatsphäre verletzt sehen. Ähnliches gilt auch für die Industrie, die sich gegen Industriespionage schützen muss. Da es zur Zeit keinen bekannten Algorithmus gibt, der absolut sicher verschlüsselt, muss die Stärke der Verschlüsselung entsprechend hoch gewählt sein, um jeden, der wieder entschlüsseln will, durch den Aufwand abzuschrecken.
Wenn man aber nur wichtige Nachrichten verschlüsselt, kann der Überwacher diese wichtige Nachricht leicht erkennen, die es zu entschlüsseln gilt. Daher sollte man auch unwichtige Übermittlungen verschlüsseln, um die wichtigen zu tarnen. Noch besser ist es, die Nachricht so zu verbergen, dass überhaupt nicht gemerkt wird, dass eine Botschaft übermittelt wurde, aber dazu später.

Codierung aus alter Zeit

Der bereits oben erwähnte Caesar-Algorithmus stellt die Grundlage der Kryptographie (gr. u. lat.: Geheimschrift) der heutigen Zeit dar. Bei Caesar wurde jeder Buchstabe des Alphabets durch den nachfolgenden Buchstaben ersetzt, bzw. der letzte Buchstabe durch den ersten. Satzzeichen und Länge der Wörter wurden belassen. Aus „AVE CAESAR“ wurde „BWF DBFTBS“, was nicht leserlich, aber leicht, wenn gewusst wie, zu entschlüsseln war.

Unverschlüsselt a b c d etc. y z
Verschlüsselt b c d e etc. z a

Eine verfeinerte Version dieses Algorithmus war es, die einzelnen Buchstaben nicht immer um ein Zeichen zu verschieben, sondern durch ein anderes Zeichen zu ersetzen. Heutzutage ist dies durch die XOr-Methode häufig in Sharewareprogrammen zu finden, die die richtige Registrierungsnummer verheimlichen und das benötigte Passwort vor Crackern schützen wollen. Dabei wird jedes Zeichen binär mit XOr verschlüsselt: Aus „a“, Nummer 97 in der ASCII-Tabelle, also 01100001 binär, wird Mithilfe des in Delphi leicht zu benutzenden Befehls „XOr 62“ (62 wird hier als Beispiel verwendet), also 00111110 Binär, ein 01011111, also „_“.

Buchstabe „a“ 1 1 1
XOr 62 1 1 1 1 1
Verschlüsselt „_“ 1 1 1 1 1 1

Ein wichtiger Vorteil dieser Methode ist es, dass man, wenn man den verschlüsselten Text noch einmal verschlüsselt, wieder den ursprünglichen Text erhält, so dass der Codierungs- und Decodierungsalgorithmus der gleiche ist. Aber auch diese Methode lässt sich durch einen statistischen Angriff sehr leicht knacken, da zum Beispiel Leerzeichen und das „e“ viel häufiger vorkommen als das „x“. Dadurch lässt sich vermuten, welches Zeichen ursprünglich welches andere Zeichen war. Um dies zu umgehen, wird bei neueren Methoden jedes Zeichen anders verändert als sein Vorgänger, so dass das erste Zeichen mit XOr 13, das zweite Zeichen mit einer anderen Zahl usw. verschlüsselt wird. Die Reihenfolge der Zahlen, mit denen verschlüsselt wird, ist der Schlüssel. Die Länge eines solchen Schlüssels wird in Bit angegeben, da es üblich ist, den Schlüssel nach einer bestimmten Anzahl von Zeichen zu wiederholen. Ansonsten müsste der Schlüssel genauso lang wie die Nachricht sein. Üblich sind hierbei 8 Zeichen (64 Bit) oder 16 Zeichen (128 Bit). Um eine solche Verschlüsselung zu knacken ist es nötig, alle möglichen Schlüssel auszuprobieren oder den Schlüssel beim Austausch abzufangen.