Montag, 4. April 2011
Weil’s gerade so schön ist, jetzt noch ein bißchen Kryptologie
Themen: Sicherheit
sileas, 19:53h
Da ich ja eben schon mal Verschlüsselung erwähnt habe, bringe ich jetzt noch zwei Schmankerln, die ich bei Bruce Schneier gefunden habe.
. . .
Schmankerl Nummer eins: Spaß mit Binärzahlen
In der aktuellen Ausgabe von Cabinet steht ein interessanter Artikel über William F. Friedman, einen der ganz großen Namen in der (jüngeren) Geschichte der Kryptologie, und einen von ihm wiederentdeckten und anscheinend mit großem Erfolg angewandten binären Code, der auf einer zuerst von Francis Bacon beschriebenen Methode basiert (also mindestens 400 Jahre alt ist).
Gut, wenn man’s ganz genau nimmt, handelt es sich nicht so sehr um Verschlüsselung wie um eine Kombination aus einem ganz einfachen Code und einer steganographischen Methode. Aber auf jeden Fall ist die Sache ganz schön cool. Der Artikel trägt dem schon im Titel Rechnung: „How to Make Anything Signify Anything“, also in etwa „Wie man beliebigen Sachen beliebige Bedeutungen zuweist“.
Da es sich bei dem Teil dieser Methode, der aus dem binären Code besteht, um einen ganz banalen monoalphabetischen Ersetzungscode handelt, sind die so verschlüsselten Botschaften natürlich sehr leicht knackbar, sobald der Geheimtext, der einem vorliegt, aus mehr als nur ein paar Wörtern besteht. Aber die Steganographie-Komponente sorgt halt dafür, daß die so verschlüsselten Nachrichten eben nicht als solche erkannt werden.
Das ist ja der Clou bei Steganographie; daß nur der Empfänger weiß, daß dieser Gegenstand oder diese Sequenz eine geheime Nachricht enthält, während alle „Uneingeweihten“ da nur einen ganz normalen Gegenstand (z. B. ein Urlaubsfoto) oder eine ganz normale Sequenz (z. B. ein Musikstück) sehen.
In dem Foto ganz am Anfang des Artikels ist eine Botschaft in der Körperhaltung der abgebildeten Personen verschlüsselt. Details werden im Artikel verraten; da gibt’s auch einen Link zu einer Version des Photos, in der sie die Botschaft (bzw. die einzelnen Buchstaben) auf die Leute draufgephotoshoppt haben.
Hach, ich liebe kreative Steganographie. :-D
In dem Artikel wird nicht nur die Variante beschrieben, die im Foto verwendet wurde, sondern auch noch ein paar andere. Man kann mit dieser Methode seine geheimen Nachrichten beispielsweise auch in Musikstücken verstecken. Und in den Kommentaren zu dem Blogeintrag, durch den ich auf diese Sache überhaupt erst aufmerksam wurde, kommen die Leute auch noch auf ein paar andere Arten, wie sich so ein binärer Code einsetzen läßt.
Wie gesagt, ich liebe kreative Steganographie.... . .
Schmankerl Nummer zwei: Wie man’s nicht macht
In Großbritannien wurde gerade ein Angestellter von British Airways zu einer längeren Haftstrafe verurteilt, der terroristische Anschläge auf Flugzeuge und/oder die IT-Infrastruktur seines Arbeitgebers geplant hatte.
Zu dem gegen ihn verwendeten Beweismaterial gehörten unter anderem verschlüsselte Dokumente mit belastendem Inhalt.
Soweit, so gut.
Die Dokumente mit diesem belastenden Inhalt hatte er ganz, ganz supertoll verschlüsselt. Nämlich mit einer monographischen und monoalphabetischen Methode, die so alt ist, daß sie nach ihrem ersten bekannten Benutzer „Caesar-Verschlüsselung“ heißt. Dabei wird ganz einfach jeder Buchstabe des Klartextes durch den Buchstaben ersetzt, der im Alphabet soundsoviel Stellen weiter hinten steht. Die Zahl, um die man im Alphabet weitergeht, wird vorher zwischen Sender und Empfänger vereinbart.
(Um es mit Sueton zu sagen: „Si qua occultius perferenda erant, per notas scripsit, id est sic structo litterarum ordine, ut nullum verbum effici posset: quae si qui investigare et persequi velit, quartam elementorum litteram, id est D pro A et perinde reliquas commutet.“ Caesar hat als „Schlüsselzahl“ also die 3 verwendet – bzw. die 4, da die alten Römer beim Weiterzählen das, von dem aus weitergezählt wurde, mitzählten.)
Sehr leicht zu knacken, sowas. Jeder Buchstabe des Geheimtextes entspricht einem, und genau einem, und immer demselben Buchstaben des Klartextes. Dazu braucht man nicht einmal Kryptologe oder auch nur Mathematiker zu sein, deshalb findet man solche „Geheimbotschaften“ auch hin und wieder in Rätselzeitschriften.
Wenn man so etwas vor sich hat, guckt man zuerst nach sogenannten „Musterwörtern“, das sind Wörter, die mindestens einen Buchstaben mehr als einmal enthalten. Damit kann man – je nach Art und Länge des Geheimtextes und der Sprache, in der er geschrieben ist – oft schon ziemlich viel einfach erraten. (Ganz einfaches Beispiel: Für das Wort „XYXY“ gibt es in einem deutschen Text nicht viele Möglichkeiten; als erste fallen mir „Mama“, „Papa“ sowie die Namen „Didi“ und „Mimi“ ein.) Manchmal kann man sogar aus der Art der Musterwörter erraten, in welcher Sprache der Text geschrieben ist! In einer Paläographie-Vorlesung hatten wir mal als Gruppenaufgabe so einen Beispieltext in unbekannter Sprache („stellt euch vor, ihr seid Archäologen und habt den gerade ausgebuddelt“), der unter anderem das Wort „XYYXXZ“ enthielt. Das brachte uns schließlich auf die richtige Lösung: Es handelte sich um einen finnischen Text und dieses eine Wort, das wir als erstes entschlüsselten, war maamme, „unser Land“.
Ich habe vor allem mit englischsprachigen (ich nenne die jetzt mal) „Caesar-Kryptogrammen“ Erfahrung. Da gucke ich zuerst immer nach zwei Sachen: Erstens nach kurzen Wörtern (3 bis 5 Buchstaben), die mit denselben beiden Buchstaben anfangen – das ist oft „th“ („the“, „this“, „that“, „then“, „there“ usw.). Und zweitens nach ein- und zweibuchstabigen Wörtern – die zweibuchstabigen sind solche Sachen wie Präpositionen („in“, „on“, „as“, „at“ usw.) oder andere häufige Wörter („he“, „is“, „we“ usw.); bei einbuchstabigen kann es sich nur um „a“ und „I“ handeln. Manchmal habe ich das große Glück, daß der Text ein Wort mit Apostroph enthält; dabei handelt es sich entweder um die Kurzform eines Hilfsverbs oder um einen Genitiv, was mir wiederum mindestens einen neuen Buchstaben bringt.
Für andere Sprachen gibt es ähnliche Regeln.
Natürlich kann man es dem Gegner etwas schwerer machen, indem man einfach auf Wortzwischenräume und Satzzeichen verzichtet! Dann hat sich’s mit der Suche nach Musterwörtern und kurzen Wörtern. Man sieht ja nicht mehr, wo ein Wort aufhört und das nächste anfängt. Man kann seinen Lesern auch mit etwas Humor das Leben schwermachen, indem man statt gewöhnlicher Buchstaben im Geheimtext seltsame Symbole verwendet, z. B. aus einem Dingbat-Font. ;-) (Das tun unter anderem Terry Pratchett in „Making Money“ mit den Dialogstellen, wo die Leute die Golem-Sprache sprechen (die außer den Golems selber nur zwei der Protagonisten beherrschen), und Walter Moers in „Die 13 ½ Leben des Käpt’n Blaubär“ in dem Dialog zwischen Professor Nachtigaller und dem Zamomin.)
Man kann es dem Gegner auch schwermachen, indem man nicht ausgerechnet einen monographischen und monoalphabetischen Code benutzt. Die oben beschriebene binäre Methode ist ja immerhin halbwegs polygraphisch, da jedem einzelnen Zeichen im Klartext nicht etwa ein Zeichen im Geheimtext entspricht, sondern eine Sequenz von mehreren Zeichen. Bei sowas muß man erst einmal auf die Länge der Sequenz kommen. Und schlaue Verschlüßler sorgen natürlich dafür, daß die Gesamtlänge des Geheimtext nicht glatt durch die Länge der Sequenz teilbar ist, z. B. indem sie hinten noch ein paar Zeichen ohne jegliche Bedeutung anhängen.
Wenn man das Ganze dann noch irgendwie steganographisch versteckt, ist die Botschaft wesentlich besser beschützt, als wenn man sie mit einem einfachen banalen Caesar... äh, naja, siehe oben.
Nun gut, diesen Fehler machen ja nicht ganz so wenige Leute. Wenn man seine Geheimbotschaften nicht gerade elektronisch verschickt, ist es halt immer noch einfacher, einen einfachen monoalphabetischen Ersetzungschiffre zu verwenden, als sich seine Botschaft von Hand durch den kompletten Blowfish (oder was auch immer) durchzunudeln.
Aber dieser bestimmte Mensch hatte einen ganz besonderen Grund, warum er keine modernen Verschlüsselungsalgorithmen verwendete. Nein, nicht etwa Faulheit, sondern: Diese neumodischen Verschlüsselungsmethoden wurden alle von Ungläubigen entwickelt! Die können ja gar nicht sicher sein! (Der Mann ist nämlich anscheinend Islamist.)
<kopfschüttel>
Vielleicht sollte dem mal jemand erzählen, daß auch die alten Römer „Ungläubige“ in seinem Sinne waren? Beziehungsweise noch viel schlimmer: nämlich Polytheisten?
In der aktuellen Ausgabe von Cabinet steht ein interessanter Artikel über William F. Friedman, einen der ganz großen Namen in der (jüngeren) Geschichte der Kryptologie, und einen von ihm wiederentdeckten und anscheinend mit großem Erfolg angewandten binären Code, der auf einer zuerst von Francis Bacon beschriebenen Methode basiert (also mindestens 400 Jahre alt ist).
Gut, wenn man’s ganz genau nimmt, handelt es sich nicht so sehr um Verschlüsselung wie um eine Kombination aus einem ganz einfachen Code und einer steganographischen Methode. Aber auf jeden Fall ist die Sache ganz schön cool. Der Artikel trägt dem schon im Titel Rechnung: „How to Make Anything Signify Anything“, also in etwa „Wie man beliebigen Sachen beliebige Bedeutungen zuweist“.
Da es sich bei dem Teil dieser Methode, der aus dem binären Code besteht, um einen ganz banalen monoalphabetischen Ersetzungscode handelt, sind die so verschlüsselten Botschaften natürlich sehr leicht knackbar, sobald der Geheimtext, der einem vorliegt, aus mehr als nur ein paar Wörtern besteht. Aber die Steganographie-Komponente sorgt halt dafür, daß die so verschlüsselten Nachrichten eben nicht als solche erkannt werden.
Das ist ja der Clou bei Steganographie; daß nur der Empfänger weiß, daß dieser Gegenstand oder diese Sequenz eine geheime Nachricht enthält, während alle „Uneingeweihten“ da nur einen ganz normalen Gegenstand (z. B. ein Urlaubsfoto) oder eine ganz normale Sequenz (z. B. ein Musikstück) sehen.
In dem Foto ganz am Anfang des Artikels ist eine Botschaft in der Körperhaltung der abgebildeten Personen verschlüsselt. Details werden im Artikel verraten; da gibt’s auch einen Link zu einer Version des Photos, in der sie die Botschaft (bzw. die einzelnen Buchstaben) auf die Leute draufgephotoshoppt haben.
Hach, ich liebe kreative Steganographie. :-D
In dem Artikel wird nicht nur die Variante beschrieben, die im Foto verwendet wurde, sondern auch noch ein paar andere. Man kann mit dieser Methode seine geheimen Nachrichten beispielsweise auch in Musikstücken verstecken. Und in den Kommentaren zu dem Blogeintrag, durch den ich auf diese Sache überhaupt erst aufmerksam wurde, kommen die Leute auch noch auf ein paar andere Arten, wie sich so ein binärer Code einsetzen läßt.
Wie gesagt, ich liebe kreative Steganographie...
In Großbritannien wurde gerade ein Angestellter von British Airways zu einer längeren Haftstrafe verurteilt, der terroristische Anschläge auf Flugzeuge und/oder die IT-Infrastruktur seines Arbeitgebers geplant hatte.
Zu dem gegen ihn verwendeten Beweismaterial gehörten unter anderem verschlüsselte Dokumente mit belastendem Inhalt.
Soweit, so gut.
Die Dokumente mit diesem belastenden Inhalt hatte er ganz, ganz supertoll verschlüsselt. Nämlich mit einer monographischen und monoalphabetischen Methode, die so alt ist, daß sie nach ihrem ersten bekannten Benutzer „Caesar-Verschlüsselung“ heißt. Dabei wird ganz einfach jeder Buchstabe des Klartextes durch den Buchstaben ersetzt, der im Alphabet soundsoviel Stellen weiter hinten steht. Die Zahl, um die man im Alphabet weitergeht, wird vorher zwischen Sender und Empfänger vereinbart.
(Um es mit Sueton zu sagen: „Si qua occultius perferenda erant, per notas scripsit, id est sic structo litterarum ordine, ut nullum verbum effici posset: quae si qui investigare et persequi velit, quartam elementorum litteram, id est D pro A et perinde reliquas commutet.“ Caesar hat als „Schlüsselzahl“ also die 3 verwendet – bzw. die 4, da die alten Römer beim Weiterzählen das, von dem aus weitergezählt wurde, mitzählten.)
Sehr leicht zu knacken, sowas. Jeder Buchstabe des Geheimtextes entspricht einem, und genau einem, und immer demselben Buchstaben des Klartextes. Dazu braucht man nicht einmal Kryptologe oder auch nur Mathematiker zu sein, deshalb findet man solche „Geheimbotschaften“ auch hin und wieder in Rätselzeitschriften.
Wenn man so etwas vor sich hat, guckt man zuerst nach sogenannten „Musterwörtern“, das sind Wörter, die mindestens einen Buchstaben mehr als einmal enthalten. Damit kann man – je nach Art und Länge des Geheimtextes und der Sprache, in der er geschrieben ist – oft schon ziemlich viel einfach erraten. (Ganz einfaches Beispiel: Für das Wort „XYXY“ gibt es in einem deutschen Text nicht viele Möglichkeiten; als erste fallen mir „Mama“, „Papa“ sowie die Namen „Didi“ und „Mimi“ ein.) Manchmal kann man sogar aus der Art der Musterwörter erraten, in welcher Sprache der Text geschrieben ist! In einer Paläographie-Vorlesung hatten wir mal als Gruppenaufgabe so einen Beispieltext in unbekannter Sprache („stellt euch vor, ihr seid Archäologen und habt den gerade ausgebuddelt“), der unter anderem das Wort „XYYXXZ“ enthielt. Das brachte uns schließlich auf die richtige Lösung: Es handelte sich um einen finnischen Text und dieses eine Wort, das wir als erstes entschlüsselten, war maamme, „unser Land“.
Ich habe vor allem mit englischsprachigen (ich nenne die jetzt mal) „Caesar-Kryptogrammen“ Erfahrung. Da gucke ich zuerst immer nach zwei Sachen: Erstens nach kurzen Wörtern (3 bis 5 Buchstaben), die mit denselben beiden Buchstaben anfangen – das ist oft „th“ („the“, „this“, „that“, „then“, „there“ usw.). Und zweitens nach ein- und zweibuchstabigen Wörtern – die zweibuchstabigen sind solche Sachen wie Präpositionen („in“, „on“, „as“, „at“ usw.) oder andere häufige Wörter („he“, „is“, „we“ usw.); bei einbuchstabigen kann es sich nur um „a“ und „I“ handeln. Manchmal habe ich das große Glück, daß der Text ein Wort mit Apostroph enthält; dabei handelt es sich entweder um die Kurzform eines Hilfsverbs oder um einen Genitiv, was mir wiederum mindestens einen neuen Buchstaben bringt.
Für andere Sprachen gibt es ähnliche Regeln.
Natürlich kann man es dem Gegner etwas schwerer machen, indem man einfach auf Wortzwischenräume und Satzzeichen verzichtet! Dann hat sich’s mit der Suche nach Musterwörtern und kurzen Wörtern. Man sieht ja nicht mehr, wo ein Wort aufhört und das nächste anfängt. Man kann seinen Lesern auch mit etwas Humor das Leben schwermachen, indem man statt gewöhnlicher Buchstaben im Geheimtext seltsame Symbole verwendet, z. B. aus einem Dingbat-Font. ;-) (Das tun unter anderem Terry Pratchett in „Making Money“ mit den Dialogstellen, wo die Leute die Golem-Sprache sprechen (die außer den Golems selber nur zwei der Protagonisten beherrschen), und Walter Moers in „Die 13 ½ Leben des Käpt’n Blaubär“ in dem Dialog zwischen Professor Nachtigaller und dem Zamomin.)
Man kann es dem Gegner auch schwermachen, indem man nicht ausgerechnet einen monographischen und monoalphabetischen Code benutzt. Die oben beschriebene binäre Methode ist ja immerhin halbwegs polygraphisch, da jedem einzelnen Zeichen im Klartext nicht etwa ein Zeichen im Geheimtext entspricht, sondern eine Sequenz von mehreren Zeichen. Bei sowas muß man erst einmal auf die Länge der Sequenz kommen. Und schlaue Verschlüßler sorgen natürlich dafür, daß die Gesamtlänge des Geheimtext nicht glatt durch die Länge der Sequenz teilbar ist, z. B. indem sie hinten noch ein paar Zeichen ohne jegliche Bedeutung anhängen.
Wenn man das Ganze dann noch irgendwie steganographisch versteckt, ist die Botschaft wesentlich besser beschützt, als wenn man sie mit einem einfachen banalen Caesar... äh, naja, siehe oben.
Nun gut, diesen Fehler machen ja nicht ganz so wenige Leute. Wenn man seine Geheimbotschaften nicht gerade elektronisch verschickt, ist es halt immer noch einfacher, einen einfachen monoalphabetischen Ersetzungschiffre zu verwenden, als sich seine Botschaft von Hand durch den kompletten Blowfish (oder was auch immer) durchzunudeln.
Aber dieser bestimmte Mensch hatte einen ganz besonderen Grund, warum er keine modernen Verschlüsselungsalgorithmen verwendete. Nein, nicht etwa Faulheit, sondern: Diese neumodischen Verschlüsselungsmethoden wurden alle von Ungläubigen entwickelt! Die können ja gar nicht sicher sein! (Der Mann ist nämlich anscheinend Islamist.)
<kopfschüttel>
Vielleicht sollte dem mal jemand erzählen, daß auch die alten Römer „Ungläubige“ in seinem Sinne waren? Beziehungsweise noch viel schlimmer: nämlich Polytheisten?