Make your own free website on Tripod.com

 
OSS - One-Time-Pad Ciphering System.

 

diskette.gif (257 Byte) Software-Download Version 1.0 (Win9x/WinME/WinNT/WinXP/Win2000)

diskette.gif (257 Byte) Software-Download Version 1.0 (C/C++ Quellcode für "Visual C++")

diskette.gif (257 Byte) Online HTML-Dokumentation (diese Seite inklusive Bilder)

 

1.0 Was ist ein One-Time-Pad Ciphering System?

One-Time-Pad ist eine offene private Initiative für die Implementierung des einfachen Verschlüsselungsverfahrens, dem "One-Time-Pad" (OTP). Es bietet nicht nur eine theoretisch unknackbare Verschlüsselung, sondern auch eine benutzerfreundliche offene Plattform unter Windows Betriebssystemen an. Die Arbeitsweise der Software ist kein Geheimnis. Laden Sie auch die Quellcodes herunter und studieren Sie die einfach gehaltene Software oder erweitern Sie die Software nach Ihren Befürnissen.

Warum ich diese Arbeiten für (fast) Jedermann zur Verfügung stelle, hat gewisse Gründe und Motivationen: Ich protestiere!

  • Die Bewahrung und Förderung der Demokratie.

Mit diesem System ist auch ein Stück Demokratie gewahrt. Es sichert die pluralistische Meinungsfindung, ohne von außen eine Gegenmaßname zu initieren oder zu ermöglichen. Stichwort: Abhörmaßnahmen der Geheimdienste im Auftrag der Regierungen.

Wenn eine sich als demokratisch bezeichnende Regierung das Verschlüsseln von Informationen verbietet, so kann nicht im geringsten die Rede von Demokratie sein. Das ist feinste Heuchlerei und antidemokratisch! Gerade in der Demokratie soll die Meinungsfindung und -Bildung weder kontrolliert noch bewusst beeinflusst werden.

  • Die Bewahrung des Menschenrechts auf Privatsphäre.

Lassen Sie sich Ihr Recht auf Privatsphäre nicht absprechen. Das ist Ihr Grundrecht. Schon in der Vergangenheit haben Menschen ihre Geheimnisse versteckt. Das Verstecken von Informationen ist heute nicht wesentlich anders - vielleicht zunehmend digital. Lassen wir nicht zu, zum "gläsernen Menschen" zu werden.

Im Zeitalter der Vernetzung (Internet) ist das Verstecken von Informationen geradezu essentiell geworden. Mehr kriminelle Menschen tummeln sich in Online-Netzen und versuchen in Rechnersysteme (auch Ihres) einzubrechen, um dort wichtige Dokumente zu stehlen. Dokumente, die Kontonummern, Transaktionsnummern (TAN), Verträge oder andere sensible Daten enthalten können.

  • Die Antwort auf die neue Telekommunikationsverordnung(en) und Befugnisse der Geheimdienste.

Seit dem II. September wissen wir, dass viele Menschenrechtseinschränke Massnahmen mit der sog. "Kampf gegen den Terrorismus"-Argument begründet wird. Wenn ich ehrlich bin, kann ich diese Gesülze nicht mehr hören. Dass die Bundesbürger nun mehr auch bewacht werden, ohne dass ein Verdacht auf kriminelle Taten vorliegt, ist für mich ein Bruch der Menschenrechte. Auch der Email-Verkehr wird auf Jahre hin gespeichert und archiviert. Was kommt als nächstes? Werden "Andersdenkende" in Zukunft anders behandelt? Und wie sieht die Behandlung aus? Werde ich als Entwickler dieses einfachen Programms als "Terrorist" abgestempelt? Wird diese Software in Zukunft verboten werden? Entsprechende Bestrebungen liegen ja nun vor. Alles eine Frage der Zeit.

Wenn Sie dieses Programm richtig einsetzen, werden sich die Geheimdienste dumm und dämlich ärgern. Das verspreche ich Ihnen.

Seit dem II. September wissen wir auch, daß unsere Welt in weit mehr Achsen unterteilt ist als die Nord-Süd oder die Ost-West-Achse. Dieses Programm erweitert die Achsen um einige mehr, um der geschichtlichen Entwicklung der Gesellschaft gerecht zu werden. Auch eine Form von Protest meinerseits.

 

Für mich genug Protest hier. Mein Lohn ist Euer zahlreicher Gebrauch, Mutation und Entwicklung dieses Programms. Kommen wir zur Geschichte und Theorie des Verfahrens.

 

1.1 Die Geschichte des One-Time-Pads.

Fast undenkbar, aber wahr: Das One-Time-Pad (Einmalblock) ist das perfekte Verschlüsselungskonzept. Es ist nicht nur praktisch, sondern auch theoretisch unknackbar. 1917 wurde es von Major Joseph Mauborgne und Gilbert Vernam von AT&T erfunden. Im zweiten Weltkrieg wurde das One-Time-Pad von der englischen Entschlüsselungstruppe von Bletchley Park benutzt, um dem Premierminister die Nachrichten zu übermitteln, die von den Deutschen mit der Enigma verschlüsselt worden waren und die Engländer geknackt hatten. Bis vor wenigen Jahren sollen die Gespräche über den "heissen Draht" zwischen dem Weissen Haus und dem Kreml mit Hilfe eines One-Time-Pads verschlüsselt worden sein.

Die Haupteinsatzgebiete des One-Time-Pads waren die Spionage und die Diplomatie.

Ein Spion führt beispielsweise einen solchen unauffälligen kleinen Block (siehe rechte Grafik) mit sich. Auf jeder Seite dieses Blockes befinden sich zufällige Folgen von Schlüsselbuchstaben, die für bessere Lesbarkeit in kleinen Gruppen angeordnet sind. Sein Auftraggeber befindet sich in Besitz eines identischen Blockes. Der Inhalt des Blockes und auch seine Existenz sind natürlich von beiden Seiten absolut geheimzuhalten.

Empfängt nun einer von beiden eine verschlüsselte Nachricht, so verwendet er den Schlüssel auf dem obersten Blatt um die Nachricht zu entschlüsseln. Danach vernichtet er das oberste Blatt. Sendet er seinerseits eine Nachricht, so verwendet er wiederum das oberste Blatt zur Verschlüsselung und vernichtet es ebenfalls sofort nachdem er die verschlüsselte Nachricht erstellt hat.

otp.jpg (32867 Byte)
Ein russisches
One-Time-Pad
1.2 Anwendungsgebiete des One-Time-Pads

Dieses Verschlüsselungsverfahren ist eine synchrone Stromchiffrierung und erfordert einen geheimen langen Schlüssel zwischen den Kommunikationspartnern. Der Hauptanwendungszweck dieses Programms dürfte die Verschlüsselung von Nachrichten (Emails, Dokumente, etc.) sein. Anders als bei asynchronen Verfahren wie PGP (Pretty Good Privacy), muss der Schlüssel bereits vorher über einen sicheren Kanal ausgetauscht worden sein, bevor die verschlüsselte Kommunikation als "sicher" gelten kann. Der Schlüssel könnte z.B. auf einer DVD, CD oder einer Speicherkarte vorliegen und bei einem privaten Zusammentreffen ausgetauscht worden sein.

Mit diesem Programm ist auch das Verschlüsseln von sensiblen Dateien des Anwenders möglich.

Eine Authentifizierung der Nachricht sowie des Absenders wird mit diesem Programm nicht vorgenommen.

 

1.3 Bedingungen für absolut sichere Verschlüsselung

Ich will ihnen sagen, warum die Überschrift in Wirklichkeit nicht korrekt ist. Merken Sie sich eins: Es gibt keine absolut sichere Verschlüsselung oder Systeme! Selbst äußerst sichere Systeme haben ihre Schwachstellen. Diese sollten Sie jedoch unbedingt kennen.

Damit eine Nachricht absolut (Wort relativieren) sicher verschlüsselt ist, müssen folgende Punkte für die One-Time-Pad-Verschüsselung erfüllt sein:

  • Der Schlüssel muss stets genau gleich lang sein wie der Klartext:

Jedes Datenbit verbraucht genau ein Schlüsselbit. Wenn die zu verschlüsselnden Daten recht umfangreich werden, brauchen Sie entsprechend gleich große Schlüsseldatei. Das war vielleicht früher ein Problem - heute jedoch nicht mehr. Dieses Programm ermöglicht die Verwendung eines Schlüsselpools, welche in wenigen Augenblicken komfortabel erstellt werden kann. Eine sehr große Schlüsseldatei wird so lange zum Verschlüsseln verwendet, bis diese verbraucht ist. Das Programm verweigert die Verschlüsselung, wenn dieser Punkt nicht mehr erfüllt werden kann. In diesem Fall muß der Anwender einen neuen Schlüssel generieren oder zur Verfügung stellen.

  • Der Schlüssel muss streng zufällig sein:

Streng zufällig bedeutet, daß die Schlüsselbits statistisch gleich verteilt sind und durch keine Gesetzmässigkeit (mathematisch) modelliert werden kann. Die Menge der Einsen sollte in etwa der Menge der Nullen sein. Es gilt keine Gesetzmässigkeit im Schlüssel zu hinterlassen. Nur Chaos und echten Zufall. Die Gesetzmässigkeit könnte das Rekonstruieren oder das Abschätzen des Schlüssels und damit zur Reduzierung der Menge aller möglichen Schlüssel zur Folge haben.

Obwohl dieses Programm mit einem eigenen Zufallszahlengenerator ausgestattet ist, erzeugt er keine echten Zufallszahlen. Sie werden als Pseudozufallszahlen bezeichnet. Von einem Startwert wird der nächste Wert durch eine einfache Formel berechnet:

Zufallszahl(neu) = Zufallszahl(alt)*a + b

Die Parameter a und b definieren den Zufallszahlengenerator und damit auch die Pseudozufallszahlenfolge. Ein guter Zufallszahlengenerator erzeugt wenige oder keine Löcher im Zahlenraum (Löcher = nicht verwendete Zufallszahlen) und statistisch gleich verteile Werte. Die Parameter a (Multiplikand) und b (Summand) können mit diesem Programm frei definiert werden und ermöglicht damit einen zusätzlichen Schüssel von 31+31 = 62 Bits. Die Zahl 31 kommt aus maximalem Fassungsvermögen für eine 32-Bit long Zahl, wobei das Vorzeichenbit nicht verwendet wird. Die Werte von a und b sind groß gewählt, daß ein Überlauf des Wertebereichs bewusst ausgenutzt wird.

Im Programm wird allerdings häufig nach dem Startwert des Zufallszahlengenerators abgefragt, welches dem Zufallszahl (alt) von oben entspricht.

  • Der Schlüssel darf nur ein einziges Mal verwendet werden:

Das ist sehr wichtig, da eine Überschneidung von schon verwendeten Schlüsseln einen möglichen Angriff bietet und damit das System unsicher macht. Wie schon im ersten Punkt erwähnt, verhindert das Programm das mehrfache Verwenden von Schlüssel (Pad).

Der Beweis für die theoretische Sicherheit des One-Time-Pads ist denkbar einfach:

Wenn der Angreifer nicht im Besitz des Schlüssels ist, würde er durch eine Brute-Force-Attacke des Schlüsselraums alle möglichen Texte erhalten. Inklusive der eigentlichen Nachricht. Doch der Inhalt der entschlüsselten Nachricht kann sehr viele andere sinnvolle und unsinnige Texte ergeben. Der Angreifer weiss nicht, welchen sinnvollen Text er sozusagen "geknackt" hat. Die eigentliche Nachricht ist demnach nur mit dem Schlüssel korrekt entschlüsselbar. Warum er hier den Brute-Force-Attack nehmen muss, ist dass der Schlüssel gleich verteilt ist, d.h. es gibt für ihn keinen statistischen Anhaltspunkt zum Schätzen oder Reduzieren des Schlüsselraums. Eine Brute-Force-Attacke für z.B.: 1000 Zeichen kann sehr sehr lange dauern. 1000! (Fakultät) mögliche Schlüssel muß er ausprobieren und er bekommt 1000! verschiedene Texte. Da kann er gleich den Text erraten und spart sich zusätzliche Rechenzeit.

Die Sicherheit nimmt drastisch ab, wenn der Schlüssel mehrfach verwendet wird und der Angreifer im Besitz von mehreren verschlüsselten Nachrichten ist.

Weitere Bedingungen für die sichere Verschlüsselung:

  • Sichere Aufbewahrung des Schlüssels:

Die Verschlüsselung ist so sicher, wie die Aufbewahrung des Schlüssels selbst. In der Regel werden Sie Ihr Schlüssel so lang wie das Fassungsvermögen einer CD oder Speicherkarte gestalten. Das Ablegen des Schlüssels auf die Festplatte ist weniger sicher, da in gewissen Fällen entweder Ihr Rechnersystem kaputt gehen oder durch hörere Macht/Diebstahl entwendet werden könnte. Das gleiche gilt auch für die CD´s oder Speicherkarte. Aus Sicherheitsgründen sollten Sie eine Kopie ihres Schlüssels örtlich und unter Geheimhaltung anderswo lagern. Sonst haben Sie selbst keine Möglichkeit der Entschlüsselung, falls Sie Ihr Schlüssel verlieren.

  • Zusätzlicher Schlüssel (Passwort) für den Schlüssel (Pad):

Für den Verlust des Schlüssels durch unbekannte Angreifer habe ich eine zusätzliche Verschlüsselung durch eine Passwortabfrage implementiert. Diesen Passwort schreiben Sie bitte nirgendwo auf! Sie lernen diesen auswendig und haben es fortan im Kopf gespeichert. Selbst wenn der Angreifer voll im Besitz des langen Schlüssels (Pads) ist, hat er mit einer 128 Bit Verschlüsselung zu tun und diese werden ihm zusätzliche Kopfzerbrechen bereiten. Aus dem Passwort wird ein 128 Bit MD5-Hashcode errechnet, welche in vollem Masse für die Verschlüsselung verwendet wird. Eine Brute-Force-Attacke auf eine 128-Bit Verschlüsselung ist momentan aussichtslos und lässt die verschlüsselte Nachricht schneller verfallen, als die Zeit zum knacken notwendig ist.

Auch hier muss ich auf die Schwachstelle hinweisen: Durch Folter und Erpressung kann das Passwort dennoch spielend herausgefunden werden!

  • Vernichten des verbrauchten Schlüssels (Pads):

Sie können Ihr Schlüssel dennoch auf Ihre Festplatte kopieren und das Programm so einstellen, dass es verbrauchte Schlüssel nach der Verschlüsselung sofort vernichtet. In den Einstellungen finden Sie die Option "Schlüssel nach dem Verbrauchen löschen", die Sie für diesen Modus aktivieren. Die Schlüsseldatei sollte nicht mit Schreibschutz versehen sein, da das Löschen von verbrauchten Bits sonst nicht möglich ist. Genauso wenig, wie das Löschen von Bits auf einer CD. Mit dieser Methode geben Sie dem Angreifer keine Möglichkeit der Entschlüsselung und das Programm realisiert den echten One-Time-Pad (zur Erinnerung: Einmalblock der Russen). Eine bereits verschlüsselte Botschaft kann dann nur noch durch die Sicherheitskopie oder durch die Gegenstelle der Kommunikation entschlüsselt werden. Was Sie verschlüsseln, können Sie dann lokal nicht mehr Entschlüsseln. Seien Sie also vorsichtig, wie sie was verschlüsseln. Sonst verschlüsseln Sie Ihre Daten perfekt. So perfekt, dass nicht mal Sie mehr entschlüsseln können.

Das Vernichten der verbrauchten Schlüssel wird durch das Schreiben von 0xFF (255) in die Schlüsseldatei (Pad) erreicht.

  • Austausch des Schlüssel über einen sicheren Kanal:

Eine sichere Kommunikation ist nur dann gewährleistet, wenn der Schlüssel zwischen den Kommunikationspartnern über einen sicheren Kanal ausgetauscht wurde. Eine CD mit dem Schlüssel kann z.B. leicht als Musik-CD getarnt und mit der Post versendet werden. Wenn das nicht reicht, könnte die CD sogar in den Anfangstracks echte Musik enthalten. Natürlich ist der beste Schutz der direkte persönliche Austausch des Schlüssels. Auch die Parameter des Systems (Zufallszahlengenerator) und Passwörter können dann sicher ausgetauscht werden.

1.3 Synchronisation des One-Time-Pads

Da dieses Verschlüsselungssystem eine synchrone Verschlüsselung ist, müssen die Kommunikationspartner aufeinander abgestimmt bzw. "synchronisiert" werden. Das bedeutet, dass beide Partner wissen, welchen Schlüssel (Pad), Passwort und die Parameter für den Zufallszahlengenerator sie verwenden. Eine kleinste Abweichung (1 Bit) dieser Parameter führt zu völlig unterschiedlichen Ergebnissen.

Die einzige Information, die für die Synchronisation der Entschlüsselung notwendig ist, ist die Referenz auf den Schlüssel (Pad). Diese Referenz wird in Abhängigkeit des Passworts durcheinander gemischt und an den Anfang der verschlüsselten Botschaft drangehängt. Die Referenz ist 32-Bit lang und entspricht vier Bytes oder sechs alphanumerische Zeichen in ASCII-6-Bit Darstellung (mehr dazu siehe unten). Der Schlüssel kann maximal zwei Gigabyte (2^31) lang werden, da das Vorzeichenbit der Referenz nicht benutzt wird.

Die Parameter für den Zufallszahlengenerator werden nicht in der verschlüsselten Botschaft mitgespeichert. Ebenso wenig der Dateiname des Schlüssels. Mehr Parameter führen zu einer Erweiterung des Schlüsselraums und machen das Leben eines Angreifers umso schwieriger. Deswegen sollten Sie alle Parameter mit der Sicherheitskopie des Schlüssels gut aufheben.

1.4 Die Datengewinnung für den Schlüssel (Pad).

Es gibt zahlreiche Methoden, die sich eignen, Daten für den Schlüssel zu gewinnen. Es gilt stets die oben angeführten Punkte für sichere Verschlüsselung zu beachten. Versuchen Sie möglichst viel natürlichen Zufall in den Schlüssel einfliessen zu lassen.

Einige mögliche Datenquellen will ich hier aufführen:

  • Eigene Bilder mit der Digitalkamera oder Videokamera aufzeichnen:

Halten Sie die Digitalkamera z.B. in eine belebte Fussgängerzone. Ich bin mir sicher, dass der Bildinhalt einem nicht modellierbarem Zustand und damit dem Zufall entspricht. Den Zustand nochmal zu rekonstruieren halte ich für ziehmlich unwahrscheinlich. Am Besten eignen sich die Bilddaten, die aus einer Komprimierung resultieren. Also JPG, MPG und GIF sind hervorragende Kandidaten. Die unkomprimierten Datenquellen können wir nicht gebrauchen, da sie weniger gut gleich verteilt sind. Die Komprimierung lässt die für den Schlüssel störende Redundanz weg. Kennungen und Tags in den Bildformaten werden ohnehin unleserlich durch das Mischen und Normalisieren (siehe unten) entstellt.

Das Verwenden von gesammelten Bildern aus dem Netz eignet sich weniger gut, da auch die potentiellen Angreifer diese Bilder aus dem Netz beschaffen können. Ihre privaten Bilder jedoch eignen sich gut. Haben Sie keine Angst, dass man die Bilder aus dem Schlüssel evtl. rekonstruieren könnte. Die Daten werden ja für den endgültigen Schlüssel wild gemischt und ein Rekonstruieren ist sehr sehr schwierig, je mehr Mischvorgänge Sie vornehmen.

  • Geräusche aus dem Rauschen des Radioempfängers oder Wasserfalls aufzeichnen:

Haben Sie schon mal einen Kurzwellenempfänger bedient? Da gibt es allerlei "Rauschen" und viel zu hören. Wie wäre es, wenn Sie dieses Rauschen aufzeichnen und als MP3-Format abspeichern? Das MP3-Format eignet sich besser als die nicht komprimierte WAV-Version. Da liessen sich wirklich etliche Gigabytes an wirklich zufälligen Daten aufzeichnen.

Das Verwenden von ihren MP3-Musik-Sammlungen für den Schlüssel eignen sich ebenso wenig, denn auch hier können die potentiellen Angreifer über den Ladentisch die Musikstücke beschaffen oder aus dem Netz beziehen. Auch hier ist die Individualität wichtig.

Wie wäre es, wenn Sie ins Mikrofon reinsprechen und aus einem interessanten Buch etwas vorlesen und dabei Ihr eigenes Gespräch aufzeichnen? Dieses als MP3 kodiertes Gespräch ist auch bestens geeignet.

Natürlich können Sie auch das Knacken eines Geigerzählers aufzeichnen. Aber wer hat schon radioaktive Isotope und Geigerzähler?

  • Pseudozufallszahlenfolge

Wenn Sie wirklich keine andere Möglichkeit haben, Quelldaten für den Schlüssel zu beschaffen, dann bleibt nur noch eins: Pseudozufallszahlenfolgen generieren. Wie das genau im Detail geht, können Sie weiter unten nachlesen. Ich will hier das Prinzip etwas erläutern, warum Pseudozufallszahlen unter bestimmten Bedingungen auch zu einem echten Zufall werden können: Sie bringen den Zufall in Form von zufällig gewählten Parametern für den Zufallszahlengenerator. Dabei können Sie den Startwert zufällig bestimmen. Auch die anderen Faktoren (a,b) können Sie pro Schritt beliebig ändern. Je mehr Sie solche verschiedenen Parameter zum Generieren, Mischen und Normalisieren der Zufallszahlenfolge hineinbringen, umso besser und quasi "zufälliger" kann der Schlüssel werden.

Spielen Sie mit den Parametern, um möglichst mehr Freiheitsgrade reinzubringen. Mit jedem Mischvorgang können Sie den Schlüsselraum um 2^(31 - ca. 125 Bits) erweitern. Das hängt von der Wahl der Mischparameter ab.

Wie ich zu 125 Bit komme, erläutere ich hier:
- Startwert für den Zufallszahlengenerator ergibt 31 Bit,
- Zufallszahlenmultiplikand 31 Bit
- Zufallszahlensummand 31 Bit
- Sagen wir die Fenstergröße ist 16 Bit und
- die Anzahl der Vertauschungen auch 16 Bit

= ergibt 125 Bit.

Ich empfehle den mehrfachen (5-10) Mischvorgang für den Schlüssel.

1.5 Die Verschlüsselung des OSS One-Time-Pad.

Die Art und Weise, wie dieses Programm die Daten verschlüsselt/entschlüsselt ist kein Geheimniss. Bitte sehen Sie den Source-Code an, um tiefer in die Materie einzusteigen. Ich würde es nicht veröffentlichen, wenn ich an die Stärke der Verschlüsselung nicht vertrauen würde. Ich werde im Folgenden nur grobe Hinweise auf die Arbeitsweise geben. Die ursprüngliche One-Time-Pad Verschlüsselung wird in dieser Software durch eine zusätzliche Verschlüsselung (Passwort) erweitert.

1. Aus dem Passwort wird ein 128 Bit langer MD5-Hash Code errechnet. Aus dem 128 Bit MD5-Hash Code werden weitere Parameter berechnet, die für den Zufallszahlengenerator als Startwerte dienen. Der MD5-Hash Code ist ein "The MD5 Message-Digest Algorithm" von R. Rivest und kann unter RFC 1321 im Internet nachgelesen werden.

2. In Abhängigkeit des 128 Bit MD5-Hash Codes wird das Alphabet (Look-Up-Tabelle = LUT) der Verschlüsselung ermittelt. Das Alphabet ist eine Substitutionstabelle für verschlüsselte Zeichen. Dazu wird eine identische Look-Up-Tabelle (LUT[0]=0, LUT[1]=1, .., LUT[255] = 255) initialisiert und die Tabelle bis zu max. 512 mal die Inhalte der Tabelle vertauscht. Die Anzahl und Art der Vertauschung erfolgt sozusagen zufällig und ist abhängig vom Passwort (MD5-Hash Code). Das verschlüsselte Zeichen wird durch den Inhalt der Look-Up-Tabelle später ersetzt, welche als Substitution bezeichnet wird. Substitution verändert die statistische Verteilung einer Nachricht nicht, wenn diese statisch (fest) gehalten wird. In diesem System aber ist diese Tabelle eine mutierende Anmassung für den Angreifer. Denn sie verändert sich mit jedem verschlüsseltem Zeichen.

3. Jedes einzelne Zeichen wird durch den Schlüssel (Pad) verschlüsselt (XOR-Verknüpfung). Das legendäre One-Time-Pad findet hier seine Anwendung. Die statische Verteilung der Nachricht wird durch die statistische Verteilung des Schlüssels ersetzt bzw. damit verknüpft. Dieser Arbeitsschritt ist die stärkste Verschlüsselung hier.

4. Die Bits jedes verschlüsselten Zeichens werden nach Schritt 3 bis zu vier mal "gemischt". Die Anzahl ist aus der Zweierbitgruppierung des 128-Bit MD5-Hash Codes hergeleitet. Damit können 64 verschiedene Vertauschungen vorgenommen werden. Welche Bits vertauscht werden, hängt wiederum vom MD5-Hash Code ab, da die Startzufallszahlen von dort abgeleitet werden. Diese Operation bezeichnet man als Transposition, da die Bits des verschlüsselten Zeichens örtlich verändert werden. Die Blockgrösse ist demnach auf 8 (8-Bit) beschränkt. Die Transposition verändert die statistische Verteilung der Nachricht.

5. Nach jedem verschlüsselten Zeichen werden vier Einträge des Alphabets vertauscht. Damit ändert sich das Alphabet dynamisch mit jeder Verschlüsselung. Die Vertauschungen erfolgen in Abhängigkeit von Startzufallszahlen des 128-Bit MD5-Hash Codes. Diese dynamische Veränderung des Alphabets verändert die statistische Verteilung der Nachricht und damit ein guter Arbeitsschritt im Gegensatz zu statischer (feste) Substitution.

6. Der MD5-Code selbst wird nach jedem verschlüsseltem Zeichen gemischt. Dies hat Einfluss auf Schritt 4 für das nächste zu verschlüsselnde Zeichen.

Wie Sie sehen, geht der 128-Bit MD5-Hash Code in unterschiedlichen Varianten in die Verschlüsselung ein. Ich weiss, manche Schritte wären nicht unbedingt nötig gewesen, aber wer schon einmal paranoide Verfolgungswahnvorstellungen erlebt hat wie ich, kann nicht genug Zeit und Kreativität in die Verschlüsselung investieren. Obwohl für jedes zu verschlüsselnde Zeichen etliche Zufallszahlen ermittelt werden und damit das einfache Verschlüsselungssystem dadurch langsamer und rechenintensiver wird, habe ich gutes Vertrauen an die Chip-Industrie, das sie durch die Weiterentwicklung immer schnellerer Prozessoren in Zukunft wieder Wett machen werden.

1.0 OSS One-Time-Pad Bedienungsanleitung

Ab hier beginnt die Bedienungsanleitung für die Software.

1.1 Installation

Die Installation ist denkbar einfach: Auf die gewünschte Festplatte und Verzeichnis das Programm OneTimePad.exe kopieren und anschliessend eine Verknüpfung darauf anlegen. Mehr ist nicht drin. Daher fand ich ein Installationsprogramm für überflüssig.

1.2 Lizenzvereinbarungen

Wenn Sie das Programm zum Ersten mal starten, werden Sie über die sonderbar klingenden Lizenzvereinbarungen informiert, die Sie natürlich zustimmen müssen, wenn Sie dieses Programm einsetzen wollen. Wie Sie auch bald feststellen werden, gibt es eine von mir bestimmte "Achse der Auserwählten", die einen Zugang zu diesem Programm haben. Sollten Sie nicht zur "Achse der Auserwählten" angehören, dann ist es höchste Zeit, dass Sie Ihren eigenen One-Time-Pad schreiben (Quellcodes liegen ja vor).

1.2 Erscheinungsbild des Programms

Das Erscheinungsbild ist in der Abbildung unten zu sehen:

otp-prg1.jpg (63535 Byte)

Das Programm ist eine typische 32-Bit Dialogbox-Anwendung unter Microsoft Windows(TM)- Plattformen. Die Fenstergrösse kann frei verändert werden. Die Kontroll-Elemente passen sich an Fenstergrösse automatisch an. Unten im Fenster ist eine Statuszeile für Fehlermeldungen vorgesehen.

Kontroll-Element Beschreibung
Textfeld In diesem Textfeld kann ein Text editiert und angesehen werden. Nach dem Öffnen einer Textdatei, wird der Inhalt der Textdatei im Textfeld angezeigt. Im Textfeld kann der Text entweder verschlüsselt oder auch entschlüsselt werden. Nach dem Verschlüsseln wird der Text durch die kodierten Zeichen (ASCII-6-Bit) ersetzt. Zum Entschlüsseln muss im Textfeld entsprechend kodierte Zeichen enthalten sein und das entschlüsselte Ergebnis wird im Textfeld ersetzt.

Zweckmässig ist das Einfügen und Kopieren des Textes in die Zwischenablage. So kann z.B. der Inhalt einer Email schnell verschlüsselt bzw. wieder entschlüsselt werden.

Das Textfeld ist auf maximal 30.000 Zeichen begrenzt. Ein überbleibsel aus der 16-Bit Welt. Wer das verbockt hat, soll sich mal bei mir melden.

Schlüssel In der Popup-Box ist der aktuell angewählte Schlüssel zu sehen. In Klammern jeweils die Anzahl der verbrauchten Schlüssel in Bytes, die Gesamtschlüssellänge in Bytes und die prozentuale Verbrauchsanzeige. Wenn die Länge die 1024 oder 1024*1024 Grenze überschreitet, wird sie entsprechend in kB oder MB Einheit dargestellt.

Ein neuer Schlüssel kann durch "..."-Button durchsucht und eingestellt werden. Ist der Schlüssel schon bereits in der Historie-Liste eingetragen, so kann er schnell über die Popup-Box-Auswahl angewählt werden. Das Programm ist in der Lage bis zu acht Schlüssel gleichzeitig zu verwalten. Das Umschalten von Schlüssel geht daher denkbar einfach. Nur sollten Sie die Schlüssel dann nicht durcheinander bringen.

Verschlüsseln Verschlüsselt den Text im Textfeld und ersetzt diesen dann mit kodierten Zeichen. Die Zeichen enthalten folgende Zeichen: 0-9, A-Z, a-z, + und /. Damit kann der verschlüsselte Text auch als Email verschickt werden.

Das Verschlüsseln beinhaltet das Abfragen eines Passworts Ihrer Wahl (siehe folgende Grafik).

otp-pwd.jpg (9831 Byte)

Das Passwort ist gegenüber Tippfehler durch doppelte Abfrage gesichert. Das Passwort fliesst in die Verschlüsselung mit ein und bietet einen doppelten Schutz vor Verlust des eigentlichen Schlüssels (Pads) an den Unberechtigten. Ein Fall, welches eigentlich nicht passieren darf, in der Realität aber häufig vorkommt (durch Beschlagnahme des Rechners/CD´s, Razien, höhere Gewalt, Diebstahl, etc.). Das Passwort wird nicht mit der Verschlüsselten Nachricht gespeichert. Bitte merken Sie Ihr Passwort gut und schreiben Sie diesen niemals auf! Solche Passwörter müssen Sie im Kopf haben, wo sie sicher aufbewahrt werden können. Denn das Entschlüsseln funktioniert nur mit dem richtigen Passwort korrekt. Jede erdenkliche Abweichung produziert 2^128 - 1 andere Möglichkeiten und damit andere Botschaften.

Entschlüsseln Entschlüsselt die verschlüsselte Nachricht im Textfeld. Bevor entschlüsselt werden kann, muss das Textfeld kodierte ASCII-6 Bit Zeichen enthalten und ein Passwort wird zum entschlüsseln abgefragt. Die verschlüsselte Nachricht im Textfeld wird durch die entschlüsselte Nachricht überschrieben.
Beenden Beendet das Programm. Die Fenstergrösse und Position wird beim Beenden gesichert, so dass das Programm beim nächsten Starten an der selben Stelle wieder erscheint.

Zur Veranschaulichung das Resultat der Verschlüsselung des Textes im Textfeld oben:

otp-prg2.jpg (47787 Byte)

Wie oben zu sehen ist, ist der Schlüssel um 225 Zeichen weniger geworden (aus ca. 74,4 MB Schüssel). Und mal ehrlich: Sieht der kodierte Text nicht schön unordentlich aus? Das Programm hinterlässt ausser der Referenz auf Schlüsselposition keine weiteren Indizien auf den verwendeten Schlüssel, Version oder Art der Kodierung. Dies ist voll beabsichtigt und dient der Desinformation. Auch die Kodierung wurde so gewählt, dass sie anderen Verfahren sehr ähnelt. Dies ist die sog. ASCII-6 Bit Kodierung. Die einzige Kodierung, die druckbare Zeichen enthält und durch insgesamt 6-Bit Code Länge und damit mit 2^6 = 64 Zeichen kodierbar ist.

Das Entschlüsseln würde die Verbrauchsanzeige nicht beeinflussen. Das Entschlüsseln ist resistent gegenüber bestimmten Email-Gewohnheiten: Das Einrücken der Antwort-Zeilen mit ">", "-", oder "["-Zeichen. Alle Zeichen, die nicht der ASCII-6 Bit-Codes (0-9, A-Z, a-z, + und /) angehören, werden als Leerzeichen interpretiert und weggefiltert. Somit kann aus Emails stammende verschlüsselte Nachricht vollständig über die Zwischenablage importiert werden, ohne die lästigen Zeichen am Zeilenanfang löschen zu müssen.

1.3 Kodierungsarten und Dateiformate

Dieses Programm bietet zwei Varianten der Kodierung für die Verschlüsselung:

  • ASCII-6-Bit

Diese Variante (wie schon oben erwähnt) ermöglicht das Versenden der verschlüsselten Nachricht in einer Email. Denn die verschlüsselte Botschaft wird durch eine reduzierte ASCII-Tabelle umgewandelt. Nicht druckbare Zeichen und Sonderzeichen werden also nicht verwendet. Wenn man alphanumerische (A-Z, a-z, 0-9) Zeichen untersucht, so ergibt das insgesamt 62 druckbare Zeichen, die in 6-Bit Kodierung gut Platz haben. Von 2^6 = 64 möglichen Codes müssen noch zwei verbleibende Codes (62, 63) mit druckbaren Zeichen kodiert werden. Die Sonderzeichen + und / füllen die reduzierte ASCII-Tabelle auf. Um die ASCII-6-Bit Kodierung zu erreichen, wird der 8-Bit Datenstrom in einen 6-Bit Datenstrom umgewandelt und der daraus resultierende Code (Wertebereich 0 - 63) durch den Inhalt der reduzierten ASCII-Tabelle ersetzt. Um der besseren (Un-)Lesbarkeit willen, wird die Ausgabe auf 40 Zeichen pro Zeile formatiert.

Beispiel für eine ASCII-6-Bit Kodierung:

nROeCZuosM/zKgKbCBiHlvqHWds22lSFvvqGJqoJ
8r80+1cPVc8WWmsdQCngn5OEaZbOuoudOYy6PMKn

Dieses Programm bietet auch die Möglichkeit, binäre Dateien in ASCII-6 Bit Kodierung umzuwandeln und umgekehrt.

  • Binär

Diese Variante belässt die kodierten Datenbytes so wie sie sind. Die Verschlüsselung erfolgt dann auch Byte Weise (Code Wertebereich 0-255).

2.0 Schlüssel (Pad) generieren

Mit dem Menübefehl "Kryptographie/Schlüssel Generator.." wird die Schlüsselerzeugung schrittweise eingeleitet. Es sind insgesamt drei Schritte dazu notwendig, wovon Schritt zwei auch entfallen kann, wenn ein bestehender Schlüssel weiter verändert werden soll.

2.1. Dateiname des Schlüssels festlegen.

otp-padgen1.jpg (61459 Byte)

Mit dem Button "Durchsuchen .." wird der Dateiname des Schlüssels auf dem jeweiligem Laufwerk und Pfad eingestellt und eingegeben. Für Schritt zwei den "Weiter"-Button drücken, sobald diese aktiv wird.

2.2. Datenquellen festlegen und Schlüssel erzeugen

otp-padgen2.jpg (106409 Byte)

In diesem zweiten Schritt definieren Sie die Quelldaten für den Schlüssel (Pad). Dazu können beliebige Dateien herangezogen und/oder Zufallszahlenfolgen generiert werden. Das Listenfeld akzeptiert "Drag & Drop"-Mechanismus und kann mit dem Datei Explorer Dateien oder ganze Verzeichnisse importieren. Zum Importieren erscheint eine Drag & Drop Dialogbox, in der die Dateimaske als Filter eingestellt werden kann (siehe untere Grafik). 

otp-dragdrop.jpg (11775 Byte)

Sie können ebenso mit dem "Dateien hinzufügen.."-Button eine oder mehrere ausgewählte Dateien hinzufügen. Mit dem "Zufallszahlen hinzufügen.."-Button wird eine Zufallszahlenfolge zum Schlüssel hinzugefügt. Die Parameter der Zufallszahlenfolge kann in der darauf folgenden Dialogbox eingestellt werden (siehe folgende Grafik).

otp-padgen2b.jpg (8522 Byte)

Zufallszahl ist der Random-Seed-Wert (Startwert) für den Zufallszahlengenerator. Der Button rechts daneben initialisiert diesen Wert mit aktueller Zeit und würfelt diesen neu aus. Anzahl Bytes gibt die Menge der Zufallszahlenfolge in Bytes an.

Über der Liste ist der Dateiname des Schlüssels mit der Gesamtlänge der Listenoperationen in Klammern angegeben. Der Inhalt der Liste ist für die folgenden zwei Befehle entscheidend. Die Liste wird dabei sequentiel von oben nach unten bearbeitet. Dateien werden hierbei 1:1 zum Schlüssel kopiert.

Der "Neu erstellen"-Button legt eine leere Schlüsseldatei an und fügt die in der Liste angegebenen Operationen hinzu.

Der "Zum Schlüssel hinzufügen"-Button fügt zum bestehenden Schlüssel die angegebenen Operationen hinzu.

Da die Schlüsselgeneration - je nach Datenvolumen - länger dauern kann, erscheint eine Dialogbox zum Mitlesen oder zum vorzeitigen Abbrechen.

otp-padgen2a.jpg (14094 Byte)

Wenn Sie den Schlüssel nicht ändern möchten, können Sie auch direkt zum Schritt drei übergehen.

2.3. Schlüssel mischen und normalisieren

otp-padgen3.jpg (32424 Byte)

Bis jetzt ist der Schlüssel, den Sie generiert haben nichts wert. Den nötigen Feinschliff erledigt der dritte Schritt. Wieder ist der Schlüsselname oben zu sehen. Diesmal aber ist die Gesamtlänge des Schlüssels in (k/M)Bytes angegeben.

Der "Mischen"-Button mischt die Schlüsseldatei von Anfang bis zum Ende gut durch. Die Mischparameter werden in einer Dialogbox eingegeben (siehe folgende Grafik).

otp-padgen3a.jpg (18986 Byte)

Zu sehen wieder der Startwert für den Zufallszahlengenerator. Die Mischoperation erfolgt jeweils in einem fest definiertem Daten-Fenster. Zunächst werden die Datenbytes des Schlüssel in ein Daten-Fenster geladen. Die Fenstergrösse kann in der Dialogbox eingegeben werden. Ebenso die Anzahl der Vertauschungen und Anzahl der Misch-Durchläufe. In diesem Daten-Fenster werden solange Vertauschungen von Datenbytes vorgenommen, bis die maximale Gesamtzahl erreicht ist. Die gemischten Datenbytes werden zurückgeschrieben und anschliessend wird das Fenster um die Hälfte der Fenstergrösse weiter verschoben und ein erneutes Mischen des Daten-Fenster erfolgt. Der Vorgang dauert solange, bis die Datei vollständig bearbeitet wurde. Erst dann ist der erste Durchlauf beendet und wird so lange wiederholt, bis auch hier die maximale Gesamtdurchlaufzahl erreicht wurde. Der Mischvorgang kann in einer Dialogbox zum Mitlesen verfolgt werden und kann je nach Datenvolumen auch längere Zeit in Anspruch nehmen. Bitte haben Sie Geduld hierbei, denn das Mischen des Schlüssels ist sehr wichtig.

Ebenso wichtig ist das Normalisieren des Schlüssels und sollte nach jedem Mischen erfolgen. Das Normalisieren sorgt dafür, das Wiederholungen von Schlüsseldaten in einem fest definierten Fenster eliminiert werden, um die Gleichverteilung des Schlüssel zu erreichen. Die Wiederholungen werden durch das erneute zufällige Auswürfeln ersetzt.

otp-padgen3b.jpg (14265 Byte)

Ein zu kleines Fenster lässt entsprechend mehr Wiederholungen zu (relativ zur Gesamtgrösse, aber nicht im definierten Fenster). Ein zu grosser (max. 255) entspreichend weniger und das Normalisieren kann auch entsprechend länger andauern.

Das Normalisieren ist eine zerstörerische Operation auf die statistische Häufigkeit des Schlüssels, das Mischen dagegen nicht. Deshalb sollte der Schlüssel mindestens einmal normalisiert werden, am Besten nach dem Mischen.

Der "Statistik"-Button ist für die statistische Analyse des Schlüssels vorgesehen. Das Ergebnis wird in zwei Meldungsfenstern ausgegeben. Das erste Fenster enthält die Statistik über die Daten des Schlüssels. Wichtige Parameter sind hierbei Korr (Korrelationsfaktor - sollte Nahe bei 0 sein), Kov (Kovarianz, sollte so gross wie möglich sein), YMin (sollte 0 sein), YMax (sollte 255 sein), YM (Mittelwert, sollte um 128.0 sein), StdY (Standardabweichung der Werte). Das zweite Fenster enthält das Ergebnis der statistischen Auswertung des Histogramms über die Schlüsselwerte. Wer sich mit Statistik näher befassen möchte, der sei auf die Literatur der Mathematik verweisen. Die Statistik-Operation ändert den Schlüssel nicht.

Mit "Fertig stellen"-Button kann der Schlüssel Generator beendet werden. So, jetzt kann endlich der neue Schlüssel eingestellt und (ge/ver-)braucht werden. Das Programm unterstütz allerdings Schlüssel bis zu einer maximalen Grösse von 2 GB (2^31 Byte). Sollten Sie mehr Datenvolumen zum Verschlüsseln haben, so müssen Sie mehrere Schlüssel generieren und nach dem Verbrach den neuen Schlüssel einstellen. Sie sollten allerdings wissen, welche Nachrichten/Dateien Sie mit welchem Schlüssel verschlüsselt haben. Das Programm hinterlässt gewollt keine Hinweise darauf. Und noch was: Sollten Sie das Programm so eingestellt haben, das der Schlüssel nach Gebrauch gelöscht wird (sog. Verbrauchen von Schlüssel), dann sollten Sie zu diesem Zweck irgendwo an einem sicheren Ort eine Sicherheitskopie zum Entschlüsseln parat haben. Sonst verschlüsseln Sie Ihre Daten absolut sicher. So sicher, dass nicht einmal Sie einen Zugriff auf Ihre verschlüsselten Daten haben. Das nennt man dann die "Totale Sicherheit". Auch das ist mit diesem Programm möglich. ;-)

3.0 Menübefehle

3.1 Datei/Öffnen

Öffnet eine Textdatei und lädt den Textinhalt in das Textfeld.

3.2 Datei/Speichern unter

Speichert den Inhalt des Textfeldes in eine Textdatei ab.

3.3 Bearbeiten/Rückgängig (Ctrl-Z)

Macht die letzte Edit-Operation im Textfeld rückgängig.

3.4 Bearbeiten/Ausschneiden (Ctrl-X)

Schneidet den markierten Anteil des Textfeldes aus und kopiert diesen in die Zwischenablage des Programms. Der ausgeschnittene Bereich kann in anderen Programmen wieder eingefügt werden.

3.5 Bearbeiten/Kopieren (Ctrl-C)

Kopiert den markierten Anteil des Textfeldes in die Zwischenablage des Programms. Der kopierte Bereich kann in anderen Programmen wieder eingefügt werden.

3.6 Bearbeiten/Einfügen (Ctrl-V)

Fügt Text aus der Zwischenablage ins Textfeld an der Cursorposition ein.

3.7 Bearbeiten/Alles markieren

Markiert den gesamten Text im Textfeld.

3.8 Bearbeiten/Löschen

Löscht den gesamten Text aus dem Textfeld.

3.9 Kryptographie/Schlüssel Generator

Schlüsselgenerator starten. Ein Schlüssel kann in drei Schritten erzeugt werden. Mehr dazu siehe oben Kapitel Schlüssel (Pad) generieren.

3.10 Kryptographie/Datei(en) verschlüsseln

Mit diesem Befehl können eine oder mehrere Dateien verschlüsselt werden. In einer Dateiauswahl Dialogbox können Sie mit Shift- und Control-Tasten die zu verschlüsselnden Dateien auswählen. ESC-Taste bricht die Funktion ab. Nach der Auswahl der Dateien werden Sie nach einem Passwort für die Verschlüsselung abgefragt. Die Verschlüsselung beginnt, alsbald das Passwort eingegeben wurde. Bei einer größeren Liste der Dateien, wird eine Statusbox über den Verlauf der Verschlüsselung angegeben, die Sie bei Bedarf mit der Abbruch-Taste abbrechen können (Abbruch nur Dateiweise möglich).

Sollten Sie die Einstellung "Quell-Dateien nach Operation löschen" aktiviert haben, werden Sie zuvor gefragt, ob die Quelldateien nach der Verschlüsselung wirklich unwiederbringlich gelöscht werden sollen. Die Löschung erfolgt mehrstufig: Die Datei wird zunächst bitweise gelöscht, d.h. der Dateninhalt wird überschrieben und anschließend über die Dateioperation gelöscht. Nach der Verschlüsselung bleibt eine namensgleiche Datei mit der Dateiendung ".1tp", die in der Einstellung vorgegeben ist.

Merken Sie sich bitte die entsprechende Schlüsseldatei und den Passwort gut, denn nur mit diesen Informationen ist eine korrekte Entschlüsselung möglich.

3.11 Kryptographie/Datei(en) entschlüsseln

Dieser Befehl ist die Umkehrung des Verschlüsselungsvorgangs, die Entschlüsselung. In einer Dateiauswahl Dialogbox wählen Sie alle verschlüsselten Dateien (Dateiendung ".1tp") an, die Sie wieder entschlüsseln möchten. Eine Mehrfachauswahl ist möglich. Nach der Auswahl der Dateien erfolgt die Abfrage des Passworts. Ist die Liste der Entschlüsselungen groß, so wird der Verlauf in einer Statusbox angezeigt. Ein Abbruch des Vorgangs ist nur Dateiweise möglich. Die entschlüsselten Dateien sind durch den Dateinamenpräfix gekennzeichnet. Der Standardwert ist das Tilde-Zeichen (~).

3.12 Kryptographie/Datei(en) verschlüsseln (ASCII-6 Bit)

Dieser Befehl verschlüsselt eine oder mehrere Dateien (Mehrfachauswahl ist möglich) und wandelt diese anschließend in eine ASCII-6-Bit Kodierung um. Die verschlüsselte Datei kann mit herkömmlichen Texteditoren angesehen oder mit Emailprogrammen als Textanlage versendet werden. An den Dateinamen der verschlüsselten Datei wird Standardmässig ".asc" angefügt (siehe Einstellungen).

Das gleiche Ergebniss kann erreicht werden, wenn eine binär verschlüsselte Datei in eine ASCII-6 Bit Kodierung umgewandelt wird.

3.13 Kryptographie/Datei(en) entschlüsseln (ASCII-6 Bit)

Dieser Befehl entschlüsselt eine oder mehrere ASCII-6 Bit kodierte verschlüsselte Dateien (Mehrfachauswahl ist möglich) in die ursprüngliche Form der Datei. Die entschlüsselten Dateien sind durch den Dateinamenpräfix gekennzeichnet. Der Standardwert ist das Tilde-Zeichen (~).

Das gleiche Ergebniss kann durch die Umwandlung der ASCII-6 Bit Datei in eine Binärdatei und anschliessendem binärem Entschlüsseln erreicht werden.

3.14 Kryptographie/Datei(en) umwandeln: Binär -> ASCII-6 Bit

Eine binär Datei wird in eine ASCII-6 Bit Datei umgewandelt (Mehrfachauswahl ist möglich). Dabei wird der 8-Bit Datenstrom in einen 6-Bit Datenstrom umgewandelt und die Codes durch eine reduzierte ASCII-Tabelle mit druckbaren Zeichen ersetzt. Damit können beliebige Dateien als Textanlage in einer Email versendet werden. Die Gegenstelle wandelt diese Textanlage wieder zurück.

Bei der Umwandlung entsteht eine neue Datei mit der Dateinamenserweiterung ".asc", die in den Einstellungen definiert ist.

3.15 Kryptographie/Datei(en) umwandeln: ASCII-6 Bit -> Binär

Eine ASCII-6 Bit Datei wird in ihre ursprüngliche Form zurückgewandelt. In einer Dateiauswahl Dialogbox können alle ASCII-6 Bit Dateien (*.asc) angewählt werden, die zurück in original Code umgewandelt werden sollen. Dabei entstehen neue Dateien mit dem Dateinamenspräfix Tilde-Zeichen (~). Den Präfix können Sie in den Einstellungen definierten.

3.16 Einstellungen/Einstellungen

In einer Dialogbox können verschiedene Einstellungen des Programm definiert werden (siehe folgende Abbildung).

otp-prg-settings.jpg (27425 Byte)

Die Einstellwerte haben folgende Bedeutungen:

Einstellwert Bedeutung Standardwert
Dateipräfix für Entschlüsselung/Dekodierung Für die Entschlüsselung und Dekodierung von Dateien wird der Inhalt der Editbox an den Dateinamen vorangestellt. Dies soll die entschlüsselte/dekodierte Datei kennzeichnen. Tilde-Zeichen (~)
Dateiendung für Verschlüsselung Für die Verschlüsselung von Dateien wird der Inhalt der Editbox an den Dateinamen angefügt. Der volle Dateiname bleibt erhalten - lediglich dieser Einstellwert wird angefügt. .1tp
Dateiendung für ASCII-6-Bit Kodierung Für die ASCII-6-Bit Kodierung von Dateien und Verschlüsselung wird der Inhalt der Editbox an den Dateinamen angefügt. .asc
Zufallszahlengenerator: Multiplikand Zufallszahlengenerator-Parameter a 254327641
Zufallszahlengenerator: Summand Zufallszahlengenerator-Parameter b 665238751
Schlüssel nach dem Verbrauchen löschen Checkbox ermöglicht bei aktiviertem Zustand das Löschen von verbrauchten Schlüsseln. Damit kann das echte One-Time-Pad realisiert werden. Doch Vorsicht! Kann bei unsachgemässer Verwendung zu Datenverlust führen. Nicht aktiv
Quell-Dateien nach Operation löschen Checkbox ermöglicht bei aktiviertem Zustand das Löschen von bearbeiteten Dateien. Das können sein:
- Nach Verschlüsselung das Löschen der Originaldatei
- Nach Entschlüsselung das Löschen der verschlüsselten Datei
- Nach Kodierung/Dekodierung das Löschen von Quelldatei

Auch hier ist vorsicht geboten. Kann bei unsachgemässer Verwendung zu Datenverlust führen.

Nicht aktiv

Die Standardwerte-Taste überschreibt alle Wert mit Standardwerten. Mit OK-Taste werden die veränderten Werte übernommen und in die Einstellungen zurückgespeichert. Die Abbrechen-Taste verwirft alle Veränderungen der Einstellungen.

3.17 Einstellungen/Testen (verschlüsseln/entschlüsseln/kodieren)

Dieser Befehl diente hauptsächlich mir, um die Algorithmen zu testen. Wer jedoch den Algorithmus ändert, kommt ohne diese Testfunktion kaum aus. Die Testfunktion verschlüsselt, entschlüsselt (binär und ASCII-6 Bit), kodiert und dekodiert. Wird irgendein Fehler detektiert, weil ein Bit irgendwo nicht übereinstimmt, kommt eine Fehlermeldung. Bei erfolgreichem Arbeiten der Funktionen wird eine Erfolgsmeldung ausgegeben. Die Testfunktion kann auf eine oder mehrere Dateien angewendet werden, wobei die Quelldateien nicht verändert werden. Alle temporäre Dateien werden anschliessend gelöscht. Diese Funktion verbraucht den Schlüssel und sollte nur mit Testschlüsseln ausgeführt werden. Während des Testens wird der Verlauf in einer Statusbox Datei Weise angezeigt, welche mit Abbruch-Taste abgebrochen werden kann.

3.18 ?/Info über

Zeigt Informationen über das Programm (siehe folgende Abbildung).

otp-about.jpg (23222 Byte)

3.19 ?/Lizenzvereinbarungen

Na, Sie wissen schon: "Achse der Auserwählten". Testen Sie ihre Freunde, ob Sie auch dazugehören. ;-)


(C) 2003 by OSS
Für weiterführende Links und Inhalte, für die ich keinen Einfluss habe, distanziere ich mich hiermit ausdrücklich.

Letzte Aktualisierung: 01.04.2003