Guikachu
Mit Hilfe von Guikachu [6] lassen sich ganz ähnlich wie bei Glade sogenannte Ressourcen-Dateien für Palm OS erstellen. So ist es möglich, komfortabel verschiedene Widgets eines graphischen Interfaces zu positionieren, Menüs und Dialoge zu erstellen und das Ganze als XML-Datei abzuspeichern. Guikachu ist allerdings nicht in der Lage, die erstellte Datei selbst zu kompilieren - stattdessen muss das Interface über Datei/RPC exportieren oder mit dem Programm guikachu2rcp in einem für Pilrc [7] lesbaren Format exportiert werden. Guikachu2rcp ist eigentlich nur ein einfaches Bash-Skript, das XML-Dateien mit Hilfe von XSLT in ein anderes Format umwandelt - die eigentliche Transformation überlässt es dabei Xsltproc. Um das Interface tatsächlich in ein Programm einzubinden, bedarf es aber noch mehr Programmen: In den Prc-Tools [8] finden sich eine Reihe von Programmen, die dabei helfen, Code für den im Palm verwendeten Dragonball-Prozessor zu produzieren und zu debuggen. Außerdem benötigt man ein Palm OS SDK, welches die nötigen Includes mitbringt und sich unter [9] finden lässt. In dem von Palm angebotenen SDK-Archiv findet sich neben der Dokumentation ein RPM-Paket, das unter Debian leicht mit alien umgewandelt werden kann. Zusätzlich müssen Debian-Benutzer mit
ln -s /opt/palmdev/sdk-4/ /usr/share/prc-tools/sdk-4
einen symbolischen Link anlegen. Andere Distributionen suchen unter /usr/local/palmdev/ nach dem SDK - der Link muss dann in dieses Verzeichnis gelegt werden.
Genigma
Genigma [10] ist ein Emulator der deutschen Enigma - der wahrscheinlich medienwirksamsten Verschlüsselungsmaschine aller Zeiten, die in zahlreichen Büchern und Filmen verarbeitet und missbraucht wurde. Auch wenn die grundlegende Kryptoanalyse der Enigma von einem polnischen Team durchgeführt wurde, wurde erst im britischen Bletchley Park die sogenannte "Bomb" entwickelt, die durch das Prüfen von Standardphrasen (sogenannte Cribs) sehr schnell nach möglichen Schlüsseln suchen konnte. Mit an der Entwicklung beteiligt war Alan Turing, der mit seiner Forschung die Grundlage für moderne Computer legte. Eben dieser fehlt übrigens im demnächst erscheinenden Film [11] völlig, da seine Homosexualität keine massentaugliche Liebesgeschichte hergegeben hätte.
Alle Typen der Enigma teilen das selbe grundlegenden Prinzip der "Rotoren", deren Anzahl je nach Modell variierte. Genigma emuliert das Modell M3, bei dem drei von fünf möglichen Rotoren zum Einsatz kamen. Dieses Modell wurde von Luftwaffe und Wehrmacht eingesetzt - die in Schiffen und U-Booten einsetzten Modelle waren noch etwas komplexer. Jeder Rotor besaß 26 Ein- bzw. Ausgänge, die in einer bestimmten Weise verdrahtet waren. So wird ein auf der schreibmaschinenartigen Tastatur getippter Buchstabe mehrmals durch einen anderen Buchstaben ersetzt - dank einem Reflektor, der an der letzten Walze angeschlossen ist, wird diese Substitution sogar zweimal vollzogen. Zusätzlich erschwert wird die Kryptoanalyse noch durch ein Steckerbrett, mit dem bestimmte Buchstaben ausgetauscht werden. Außerdem wurden die Rotoren nach jedem Tastendruck gedreht, was die Chiffrierung für jeden Buchstaben änderte.
Um tatsächlich einen Text in Genigma zu verschlüsseln, muss man nun also unter Walze 1-3 jeweils eine Zahl zwischen 1 und 5 eintragen, die für einen Rotor steht - jeder Rotor ist natürlich nur einmal vorhanden. Zusätzlich lässt sich die Ringeinstellung verändern - auf dem Ring befanden sich analog zu den Kontakten der Walze die Buchstaben von A bis Z. Die Einstellung B kommt also einer Verschiebung des Rings um eine Stelle gleich. Genauso lässt sich auch die Walze selbst vor Beginn der Chiffrierung drehen - dafür die Einstellung "Start". Im Steckerfeld können Buchstabenpaare angegeben werden, um das Ergebnis noch weiter zu verschleiern. Natürlich darf auch hier jeder Buchstabe nur einmal verwendet werden. Neben dem GNOME-Interface lässt sich Genigma auch von der Kommandozeile aus bedienen - genauere Informationen zu den Optionen finden sich in der entsprechenden Manpage.
Benötigte Bibliotheken:
Guikachu:gnomemm, libxml1, libglade, gdk-pixbuf, xsltproc
Infos
[1] http://www.theregister.co.uk/content/4/23919.html
[3] http://www.theregister.co.uk/content/4/23978.html
[4] http://developer.gnome.org/dotplan/notes/vicious-build-scripts.html
[5] http://www.gnome.org/~jdub/garnome/
[6] http://cactus.rulez.org/projects/guikachu/
[7] http://www.ardiri.com/index.cfm?redir=palm&cat=pilrc
[8] http://prc-tools.sourceforge.net
[9] http://www.palmos.com/dev/tools/
[10] http://home.pages.at/kingleo/development/gnome/gnome-en.html