Sternstunden der Kryptoanalyse (Der Geschichte erster Teil)

[Eine aktualisierte Fassung dieses und des Folge-Posts gibt es inzwischen hier]

Zur Abwechslung heute mal ein Thema, das wenngleich nicht direkt mit Tesla, so doch mit der Prozessierung von Texten zu tun hat. Es geht um eine Episode in der Geschichte der Kryptoanalyse, die ich auch in meiner Arbeit thematisiere und die sich in vergleichsweise jüngerer Zeit zutrug. Vielleicht gelingt es mir, durch ihre Schilderung anschaulich darzulegen, dass auch im Zeitalter von Computern und Internet nicht nur moderne, berechnungsintensive Chiffrierverfahren schwer zu knackende Geheimtexte erzeugen, sondern dass dies durchaus auch historischen Chiffren gelingen kann.

Eine solche Chiffre findet sich zum Beispiel in der Steganographia, die in den Jahren 1499/1500, gleichsam am Scheitel der Zeitenwende vom Mittelalter zur Neuzeit, vom Sponheimer Abt Johannes Trithemius zu Papier gebracht wurde. Das Buch besteht aus drei Teilen, obwohl es von Trithemius selbst eigentlich als fünfbändiges Werk angekündigt wurde. Trithemius‘ Ankündigung großspurig zu nennen, wäre ohnehin schlichtweg eine Untertreibung, so schreibt sein Biograph Klaus Arnold:

“Denn was wird nicht alles versprochen: Im ersten Buch eine Geheimschrift, die in einem unverdächtigen Text verborgen sein soll, im zweiten eine Technik der Nachrichtenübermittlung mit Hilfe eines Boten, der von der Botschaft selbst keine Kenntnis hat, oder auch ohne Zuhilfenahme eines Boten; das dritte Buch ermögliche es einem ungelehrten Manne, der nur seine Muttersprache beherrscht, innerhalb von zwei Stunden lateinische Briefe zu lesen, zu schreiben und zu verstehen, das vierte soll lehren, Nachrichten beim Essen, Sprechen oder Musizieren mitzuteilen. Der Inhalt des fünften Buches soll noch unbekannt bleiben, alles genannte jedoch ohne Täuschung oder magische Kunststücke vonstatten gehen.”

Was heute wohl einfach unbeachtet in irgendeinem Blog gepostet und umgehend vergessen würde, stieß zur damaligen Zeit auf ein großes Interesse und noch größere Skepsis. Vor allem die damals noch mächtige, Wissenschaften und gesamtes Schriftum bestimmende katholische Kirche betrachtete die Vorankündigung argwöhnisch und schickte einen ihrer führenden intellektuellen Köpfe, den Pariser Philosophen und Theologen Carolus Bovillus in die rheinhessische Provinz, um dort nach dem Rechten zu sehen. Für Trithemius wird dieser Besuch zum Desaster, Bovillus zeigt sich über den Text der Steganographia entsetzt und spricht offen von Gotteslästerung, was zur damaligen Zeit auch außerhalb des nordamerikanischen Bible Belts recht ungute Konsequenzen hatte. Der eigentlich fromme Trithemius wird in den Augen der Öffentlichkeit zu einem okkulten Magier und die Steganographia muss über ein Jahrhundert auf ihre Veröffentlichung (1606) warten – um nur drei Jahre später (1609) für rund 250 fast 300 Jahre auf dem Index der von der katholischen Kirche verbotenen Bücher (Index Librorum Prohibitorum) zu landen.

Hier reicht der Platz nicht aus, um herauszuarbeiten, woran genau Bovillus Anstoß nahm (das mag man in meiner Arbeit – oder besser noch bei Arnold – nachlesen, wenn man will). Großen Anteil hatten wohl vor allem die arkansprachlichen Beschwörungsformeln, auf denen ein kompliziertes, zweistufiges Schlüsselsystem beruhte, das den Chiffren der ersten beiden Teile der Steganographia zugrundeliegt. Trithemius legt selbst in einer Frühfassung des Werkes (den Clavis Steganographiae) dar, wie mit den Beschwörungsformeln zu verfahren ist, verschweigt dies aber anscheinend gegenüber Bovillus. Der versteht nichts und wittert – wie könnte es anders sein – Teufelswerk, mit den oben beschriebenen Folgen.

Die Auflösung zu den Chiffrierverfahren der ersten beiden Bücher der Steganographia liefert Trithemius also selbst. Anders verhält es sich beim dritten Teil. Dieser fällt zudem aus der Reihe, als dass er sehr viel kürzer als die anderen beiden Bücher ausfällt (er enthält ein einziges Kapitel gegenüber 32 im ersten und 24 Kapitel im zweiten Buch) und eher an ein Fragment denn an ein ausgearbeitetes Werk erinnert. Lange Zeit wurde bezweifelt, ob in ihm überhaupt ein Verschlüsselungsverfahren beschrieben wird oder ob es sich nur um eine Art schwarzer Magie, Pseudowissenschaft und/oder hermetisches Geplänkel handelt. In der Einleitung legt Trithemius dar, dass er ein Verfahren beschreibt, das auf den sieben Planeten sowie den 21 Geistern beruhe und mit dem die Weitergabe von Informationen ohne Wörter, Bücher und Boten möglich sein soll. Garniert ist das kurze Kapitel mit diversen Tabellen, die kosmologische Ereignisse in zeitlichen Abläufen zusammenstellen. Ein Ausschnitt einer solchen Tabelle ist zeigt das folgende Bild

Ausschnitt aus dem geheimnisvollen dritten Buch der Steganigraphia
Ausschnitt aus dem geheimnisvollen dritten Buch der Steganigraphia (Quelle: Herzog August Bibliothek, Wolfenbüttel)

Scheinbar wusste fast 500 Jahre niemand etwas mit diesen Tabellen anzufangen. Erst in den 90er Jahren des 20. Jahrhunderts änderte sich das. Doppelt. Davon mehr im nächsten Post. [Sorry, der Cliffhanger war nicht beabsichtigt. Vielleicht komme ich am Wochenende dazu, die Geschichte zuende zu erzählen.]

Literatur

  • Klaus Arnold (1971): Johannes Trithemius (1462-1516), Schöningh, Würzburg.
  • Johannes Trithemius: Steganographia [. . . ]. Preafixa est hvic operi sva clavis, Frankfurt: Berner 1606 (geschrieben 1499). Faksimiles unter http://diglib.hab.de/wdb.php?dir=drucke/fb-243
  • Johannes Trithemius: “Apologetische Vorrede” zur “Steganographia”, in: Heinrich Cornelius Agrippa’s von Nettesheim Magische Werke sammt den geheimnisvollen Schriften des Petrus von Abano, [. . . und] Abt Tritheim von Spanheim [. . . I. Zum ersten Male vollstandig in’s Deutsche iibersetzt. Bd 1-5. 4. Aufl. (Berlin 1924); Nachdruck der 5 Bücher in 2 Banden Schwarzenburg: Ansata-Verlag 1979; hier Bd 2, 5. Buch, S. 304. – LateinischerWortlaut der “Praefatio” in: Steganographia. Hoc est: Ars per occvltam scriptorvm animi svi volvntatem absentibvs aperiendi certa [. . . ]. Praefixa est hvic operi sva clavis [. . . ]. Frankfurt: Berner 1606.
  • Johannes Trithemius: Brief an Arnold Bostius in Gent. Datiert auf den 25. März 1499. Paris, Bibliothek Mazarine, Signatur 1565[1308], zuletzt gedruckt bei Paulus Volk: Abt Johannes Trithemius, in: Rheinische Vierteljahresblätter 27 (1962), S. 42ff.

Öffentlich und Open Access

Titelblatt
Abstract

Die wissenschaftliche Kommunikation und der Austausch von Forschungsergebnissen beruhte lange Zeit einzig auf der Veröffentlichung und der Rezeption von Fachbüchern und -artikeln. Erst in der jüngeren Vergangenheit wurden auch Lösungen entworfen, wie die dem Forschungsprozess zugrundeliegenden sowie die aus diesem resultierenden Daten ausgetauscht werden können. Eine zentrale Rolle spielt dabei die beständig fortschreitende Entwicklung innerhalb der Informationstechnologie.

Im Rahmen dieser Arbeit wurde ein Software-System entwickelt, das es erlaubt, Experimente auszutauschen. Damit ist ein Wissenschaftler in der Lage, die Grundlage seiner empirischen Forschung direkt weiterzugeben. Dieses System ist das Text Engineering Software Laboratory, kurz Tesla. Es stellt eine Arbeitsumgebung für Wissenschaftler, die auf textuellen Daten arbeiten, bereit. Innerhalb dieser Arbeitsumgebung können in einem Client Experimente mithilfe eines graphischen Workflow-Editors sowie diverser Konfigurations-Editoren zusammengestellt werden. Diese werden auf einem Server ausgeführt und können dann wieder im Client auf unterschiedliche Arten visualisiert werden. Die Experimente werden dabei vollständig dokumentiert (Ausgangsdaten, angewendete Verfahren, Resultate). Diese Dokumentation kann exportiert und distribuiert werden, so dass die Experimente jederzeit von anderen Nutzern des Systems reproduziert werden können.

Die Arbeit geht zunächst darauf ein, welche Bereiche der Wissenschaft in das Feld der Textprozessierung fallen. Daraus werden Anforderungen abgeleitet, welche von diesen Wissenschaften als Basis für Forschungen an ihrem Gegenstandsbereichen und deren Weitergabe gestellt werden. Auf dieser Grundlage wird das System Tesla vorgestellt, das den formulierten Ansprüchen gerecht wird. Dabei werden die wichtigsten Features behandelt, die Tesla dem Anwender bietet. Die Demonstration des Systems erfolgt am Beispiel einer Analyse des sogenannten Voynich-Manuskripts. Dieses Dokument wurde 1912 in Italien entdeckt und stammt mutmaßlich aus dem 15. Jahrhundert. Das Manuskript enthält einen Text eines unbekannten Autors, dessen Inhalt bisher nicht entschlüsselt werden konnte. Bisher wurde auch noch kein Verschlüsselungsverfahren gefunden, das einen vergleichbaren Text erzeugt, was sich mit dieser Arbeit ändert.

Download der Dissertation von der USB Köln

Supplemente zur Dissertation auf meiner Institutsseite

Ästhetik auf dem Weg oder lieber im Ziel?

Die letzte Woche habe ich fast ausschließlich damit zugebracht, ein Titelblatt für die Veröffentlichung meiner Dissertation zu entwerfen. Seit gestern bin ich einigermaßen zufrieden mit dem Ergebnis, eigentlich ging es die ganze Zeit nur darum, folgendes Bild zu erzeugen:

Cloud_120209
Es handelt sich um eine sogenannte WordCloud, welche die Häufigkeiten der Wörter eines Eingabetextes (in diesem Fall der Text meiner Dissertation selbst) in Relation zueinander abbildet. D.h. Je häufiger ein Wort im Text vorkommt, desto größer wird es dargestellt. Wer sich schon einmal mit Sprachstatistik beschäftigt hat, weiß natürlich, dass im Deutschen die Konjunktion „und“ sowie der bestimmte Artikel in seinen unterschiedlichen Formen (die, der, das) am häufigsten auftreten und sich dabei leidlich an die vom Zipfschen Gesetz vorgegebenen Verhältnisse halten.

Es erschien mir relativ witzlos, mein Titelblatt mit einer WordCloud zu verzieren, die auf den ersten Blick den Eindruck macht, sie wäre aus einem beliebigen deutschen Text erzeugt worden. Vielmehr sollte schon durch die Wolke der Leserin bzw. dem Leser ein Eindruck gegeben werden, was sie bzw. ihn im Text selbst erwartet. Dazu musste ich die WordCloud irgendwie dazu bringen, die Wörter, die häufig vorkommen, aber uninteressant sind, zu ignorieren und dafür die weniger häufig vorkommenden, aber immer noch frequenten Wörter meiner Dissertation darzustellen.

Einen solchen Filterprozess kann man durch unterschiedliche Verfahren realisieren. Wenn man ein ganzes Textkorpus hat, so ist die sauberste Methode das TF-IDF-Verfahren. Bei diesem wird die Auftrittshäufigkeit eines Wortes innerhalb eines Dokuments (Term Frequency, TF) in Relation gesetzt zur Vorkommenshäufigkeit des Wortes in allen Dokumenten des Korpus (Document Frequency, DF, für die Berechnung muss diese invertiert werden, deswegen IDF). Diese Methode funktioniert sehr gut und wird im Information Retrieval (vereinfacht Suchmaschinentechnologie) mit großem Erfolg angewendet.

Hat man kein Vergleichskorpus zur Hand, so muss man sich irgendwie anders behelfen. Ich habe z.B. festgestellt, dass eigentlich die Nomen in meinem Text die klarste Aussage darüber treffen, was darin behandelt wird. Nur wie kommt man an die Nomen? Dazu gibt es natürlich Tagger und schon sind wir bei einer Aufgabe, die man doch eigentlich auch mit Tesla erledigen kann, denn die Stuttgarter Computerlinguisten waren so nett, uns zu erlauben, Ihren TreeTagger in Tesla zu nutzen. Dazu habe ich dann noch eine Stoppwortliste geschaltet und zwei Filter, von denen einer die Nomen des Taggers und der andere die Nicht-Stoppwörter des Gazetteers durchlässt sowie einen Rewriter, der die beiden gefilterten Ströme kombiniert und voila – fertig ist das Tesla-Experiment:

cloud_experiment_120209

Leider war ich mit dem Ergebnis nicht vollständig zufrieden – offenbar werden mehr Wörter als Nomen ausgezeichnet, als ich das will (z.B. „kurz“, „führt“), außerdem gibt es im Text noch ein paar Latex-Überbleibsel, die mein Reader noch nicht richtig verarbeiten kann und die deswegen im Resultat landen (z.B. „hbt“, „L3cm“). Außerdem habe ich einen Stemmer vergessen, deswegen taucht z.B. „Komponente“ auch im Plural auf:

[Das Ergebnis kann man im Header dieses Blogs hier bestaunen]

Jetzt wäre es möglich, diese Dinge tatsächlich innerhalb von Tesla zu lösen – einen Stemmer haben wir da auch (den Snowball Stemmer), den ich allerdings noch konfigurieren müsste, da er auch Derivative auf ihre Grundform zurückführen will. In den LatexReader hab ich zwar schon viel Hirnrindenenergie investiert, verbesserbar ist der aber natürlich immer. Das mit den falsch positiven Nomen könnte ich unter Kontrolle bekommen, wenn ich noch eine Komponente erzeugen würde, die mir Kleingeschriebenes aussortiert (ein hoch auf die deutsche Großschreibung), usw. usf.

Ich habe mich letztlich entschieden, eine quick-and-dirty-Pipeline zu bauen, die zwar Tesla-Komponenten nutzt, aber nicht im Workflow-Editor zusammengebaut und auf dem Tesla-Server ausgeführt wird. Ja, werden jetzt vielleicht einige von euch sagen – da bauen die eine Riesensoftware und dann nutzen sie sie selbst nicht mal. Richtig, kann ich da nur sagen – Tesla kann zwar so gut wie alles (sogar selbst eine Cloud visualisieren), manche Anwendungen verlangen aber weniger eine exakte Reproduzierbarkeit als vielmehr möglichst flexible Eingriffe in den Prozess, der zum Endergebnis führt. Ich habe mich im oben beschriebenen Fall dazu entschieden, eine schnelle Lösung zu verfolgen, um die Ästhetik des Resultats zu optimieren. Hätte ich mein Titelblatt mit Tesla erzeugt, so hätte ich jetzt ein für die ganze Welt reproduzierbares Experiment, das mein Titelbild erzeugt. Ich denke, da gibt es wichtigere Experimente, die auf diese Weise durchgeführt werden sollten.

Mein Post ist schon wieder zu lang geworden, eigentlich wollte ich noch etwas über die Cloud-Software Cloudio meines Kollegen Stephan Schwiebert schreiben, die sowohl Teil von Tesla ist, aber auch standalone genutzt werden kann. Mit ihr wurden die beiden Clouds oben erzeugt – versucht sowas mal mit Wordle. Ich lass mich demnächst mal drüber aus (oder Stephan nen Gastbeitrag).

Kurzanleitung zum Import von Experimenten in Tesla

Auf unserer englischsprachigen Tutorial-Seite fehlt noch eine Anleitung zum Import von Experimenten aus MyExperiment. Da die Seite automatisch gebildet wird, ändert sich das heute auch nicht mehr. Deswegen hier eine Kurzanleitung für diejenigen, die nicht abwarten können. (Update: Inzwischen gibt es das Tutorial natürlich – hier)

  1. Tesla von der Download-Seite herunterladen und entpacken (Achtung – ist ein großes Ding. Kann man aber auch viel mit machen).
  2. Die entpackte Tesla.exe Datei (das ist der Client) starten, dann den Server starten (wie im Server-Tutorial beschrieben)
  3. Die Experimente aus MyExperiment herunterladen, z.B. das Pack, welches ich hier erwähnt habe, und entpacken.
  4. Die für die Experimente benötigten Texte (z.B. die aus dem Pack) müssen über den Tesla Corpus Manager auf den Server geladen werden (wie in diesem Tutorial beschrieben).
  5. Jetzt müssen die Experimente selbst in den Client gelangen. Der einfachste Weg dahin ist momentan (wir arbeiten an einer schöneren Lösung) der, in die „Tesla-Developer“-Perspektive zu wechseln (Window –> Open Perspective –> Tesla Developer) und die Experimente in den Ordner „Tesla –> Experiments“ zu kopieren (siehe Screenshot unten).
  6. Dann zurück in die Linguisten-Perspektive (einfach das Icon anklicken), Experiment auswählen, wenn gewünscht modifizieren und schließlich den kleinen Run-Button in der oberen Menüleiste drücken, um es auszuführen. Ausführung und Ergebnispräsentation sind auch nochmal ausführlich auf der Tutorial-Seite beschrieben.

Viel Spaß!

Ich lass die Katze raus

Jetzt kann ich endlich all die guten Vorsätze umsetzen, die ich letztes Jahr niedergeschrieben habe. Der Support von MyExperiment war so nett, Tesla als Workflow-Tool aufzunehmen, so dass man jetzt Tesla-Experimente über MyExperiment sharen kann. Zwar werden die Metadaten von Tesla-Experimenten noch nicht automatisch ausgewertet, so dass man sie manuell eingeben muss, das wird sich aber vielleicht demnächst ändern – insofern irgendeine Förderungseinrichtung mal erkennen sollte, welches Potential unser System hat (dazu wann anders mal mehr).

Das sollte aber kein allzu großes Hindernis darstellen – der Upload-Dialog ist relativ übersichtlich und schnell erledigt. Ich habe jetzt die ersten drei thematisch zusammenhängenden Experimente meiner Diss hochgeladen und außerdem mit den benötigten Rohmaterialien – den Texten – zu einem sogenannten Pack verschnürt, dass sich jetzt einfach aus MyExperiment herunterladen lässt.

Mit der Veröffentlichung der Experimente lasse ich auch eine Katze aus dem Sack, die da nun schon relativ lange drin geschmort hat. Ich habe zwar in meiner Dissertation (Titel: „Textprozessierung – Design und Applikation“) vor allem über die Motivation für Tesla und seine grundlegende Architektur geschrieben, seine Anwendbarkeit musste ich aber natürlich auch an einem Anwendungsfall demonstrieren. Nach langer Suche nach einem geeigneten Thema bin ich dann auf das Voynich-Manuskript gestoßen, das mir direkt als das prototypische Szenario für die Prozessierung von Texten ins Herz schoss, denn es ist ein Text, der

  1. in einer kanonischen Fassung vorliegt (dem Voynich Interlinear Archive File, in dem eine ganze Reihe verschiedener Transkriptionen aligniert sind),
  2. Grund für unzählige Analysen unterschiedlicher Dokumentationsgüte war, die nie in einer nachvollziehbaren Form zusammengebracht wurden,
  3. ein Geheimnis trägt, dem trotz aller Bemühungen bisher noch niemand auf die Spur gekommen ist.

Aktueller Stand der Forschung ist der, dass kein Chiffrierverfahren bekannt ist, dessen Anwendung einen Text erzeugt, der die Eigenarten des Voynich-Manuskripts aufweist. Ohne jetzt zu sehr ins Detail zu gehen – ich habe eine Chiffre gefunden, die meiner Meinung nach genau dies leisten kann. Sie wurde vom deutschen Abt Johannes Trithemius im dritten Teil seiner Polygraphia beschrieben. Als Beleg für die Ähnlichkeit führe ich die oben referenzierten Experimente an. In den nächsten Tagen werde ich dann meine Wege zur Entschlüsselung des VM-Textes online stellen. Um es vorwegzunehmen – es braucht niemand Angst zu haben, dass ich im Besitz des Klartextes bin (sofern es überhaupt einen solchen geben sollte). Möglicherweise kann ich aber Wege zu dessen Rekonstruktion aufzeigen.