Der Ablauf bis zur Kodierung von Daten
gestaltet sich wie folgt:
§
Der Benutzer (Anwender)
stellt dem Programm einen Ausgangs-Schlüssel zur Verfügung, der vom Benutzer
direkt über die Tastatur eingegeben (Direktschlüssel)
oder mit Hilfe von Maus-Bewegungen bei Parameterdatei-Behandlung (Zufallsschlüssel) oder über eine entsprechende Schlüsseldatei
angegeben wird.
§
Ggf. stellt
der Benutzer ebenfalls sogenannte Überladedateien
und entsprechende Überladeparameter zur Verfügung (Überladeinformationen).
§
Das Programm
berechnet aus diesen Ausgangsdaten einen Satz von Parametern, der zur
eigentlichen Kodierung verwendet und ggf. in einer Parameterdatei
gespeichert wird.
§
Wird eine
Parameterdatei verwendet, so kann diese Datei ebenfalls mit einem Parameterdatei-Sicherungsschlüssel gegen eine
missbräuchliche Verwendung gesichert werden.
Bei der
Schlüsseleingabe werden bei CODING1 256 bzw. 512 Zeichen, bei CODING2 131.072
bzw. 262.144 Zeichen und bei CODING3 50.331.648 bzw. 100.663.296 Zeichen als
maximale Zeichen angezeigt und potenziell akzeptiert.
Daher ist leicht
einzusehen, dass bei CODING2 und erst recht bei CODING3 sinnvollerweise mit Schlüsseldateien bzw. mit Überladedateien
im Direktmodus zu arbeiten ist, um nur ansatzweise die Bandbreite der
möglichen Schlüssel ausschöpfen zu können.
Umfasst ein
Schlüssel mehr als 256 /131.072 /50.331.648 Schlüsselzeichen, so wird der Rest
der Zeichen ignoriert. Werden hingegen weniger als diese Anzahl
Schlüsselzeichen angegeben, so werden die angegebenen Schlüsselzeichen so oft
wiederholt und ggf. am Ende abgeschnitten, bis genau 256 /131.072 /50.331.648
Schlüsselzeichen für die weitere Verarbeitung vorliegen. Trotzdem sollten
nicht zu wenige und nicht zu homogene Zeichen als Schlüsselzeichen angegeben
werden, da dies im Extremfall (z.B. nur hexadezimale Null-Zeichen) zu keiner
Verschlüsselung führen könnte (!).
Bei Verwendung
einer Parameterdatei wird vor der Erzeugung und abschließenden Speicherung der Parameter zur Kodierung von Daten die Güte des Ausgangs- bzw. des abgeleiteten
Schlüssels, aus dem diese Parameter erzeugt werden, in Form einer Statistik
ausgegeben (hier: CODING1):
Statistik-
+--------- Zeichen-Häufigkeiten in %: ---------+ % binäre Null-
Inhalt:
min.: max.: Mittelw.: Std.Abw.: 1en: Gruppen:
-------------------------------------------------------------------------------
Schlüssel:
0,00000000 1,56250000
(0,39062500) 0,38832041 49.36523437 93
Dabei gilt, dass ein Schlüssel um so
weitgehender einem „Zufallsschlüssel“ entspricht,
§
je näher die
Anzahl der Null-Gruppen, d.h. die Anzahl der Zeichen (Elemente), die nicht im
Schlüssel auftreten, am Wert 94 bzw. 24.101 bzw. 6.172.493
(CODING1/2/3) aller möglichen Zeichen (Elemente) liegt,
§
je dichter der
Prozentwert binärer Einsen an 50% liegt,
§
je dichter die
maximale Zeichen-Häufigkeit am Mittelwert liegt,
§
je kleiner die
Standardabweichung ist.
Bis auf die
genannten Extremfälle ist dem Verschlüsselungsergebnis auch bei kurzen
Schlüsseln nicht in irgend einer Form anzusehen, ob der Ursprungsschlüssel ein
kurzer oder langer Schlüssel war. Lediglich beim Suchen nach dem Schlüssel wird
ein Dritter wahrscheinlich zunächst kürzere Schlüssel ausprobieren, bevor er
längere Schlüssel in Betracht zieht - und dann wohl aufgibt.
Prinzipiell werden
alle Sonderzeichen außer Zeilenabschlusszeichen (meist durch
RETURN(¿)-Taste
erzeugt bzw. <carriage return><line feed> bzw. 0Dhex– plus 0Ahex–
Zeichen) als Bestandteil eines Schlüssels aus ASCII-Zeichen aufgefasst.
Zeilenabschlusszeichen dürfen auch bei der Schlüsseleingabe durch hexadezimale
Zeichen beliebig verwendet werden, um z.B. Schlüsselinformationen auf einzelne
Zeilen aufzuteilen. In Schlüsseldateien mit ASCII-Zeichen-Schlüssel werden
jedoch auch Zeilenabschlusszeichen als Teil des Schlüssels aufgefasst.