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 über eine entsprechende Schlüsseldatei
angegeben wird.
§
Ggf. stellt
der Benutzer ebenfalls eine sogenannte Überladedatei und entsprechende
Überladeparameter zur Verfügung (Überladeinformationen).
§
Das Programm
berechnet aus diesen Ausgangsdaten einen Satz von Parametern, der zur
eigentlichen Kodierung verwendet wird.
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 (!).
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.