Verschlüsselungsmethode
Normale Programme
Wenn man sich die Funktionsweise der meisten Programme zur Verschlüsselung von Daten ansieht, kommt man zu folgendem Ergebnis:
Es wurde ein Algorithmus entwickelt, der, in Verbindung mit einem Passwort, die zu verschlüsselnden Daten so verändert, dass sie von Dritten nicht im Klartext gelesen werden können.
Das Ganze hat aber einen gewaltigen Haken. Kennt man den Algorithmus (Hacker nehmen dazu den Programmcode auseinander), benötigt man nur einen super schnellen Computer, um anhand der verschiedensten Passwort-Möglichkeiten (Brute-Force-Methode) daraus einen Klartext zu erzeugen. Wurde das Passwort einmal ermittelt, ist jede vorherige und nachfolgende Nachricht, die mit diesem Passwort verschlüsselt wurde, im Klartext lesbar.
Weiterhin ist bei den meisten Programmen das Endergebnis das Gleiche.
Ein Beispiel: Ich verschlüssele heute drei Dateien mit Programm XYZ. Würde ich morgen die unveränderten Originaldateien wieder verschlüsseln, wäre das Endergebnis identisch mit dem von heute.
Der andere Weg
Die einzige Möglichkeit, eine wie oben dargestellte Entschlüsselung per Brute-Force zu verhindern, ist auf einen im Programmcode vorhandenen Algorithmus, welcher Daten verändert, zu verzichten. Doch wie kann man so etwas bewerkstelligen? Es geht, auch wenn das die meisten Programmierer aus Unkenntnis heraus bestreiten!
OK, auch das, was wir anwenden ist eine Art von Algorithmus. Er ist simpel und funktioniert gänzlich anders und schaltet das oben beschriebene Risiko vollkommen aus.
Nehmen wir den ASCII-Code. Er besteht aus 256 Zeichen (0-255). Würde man hingehen und den kompletten ASCII-Code durcheinander würfeln, stünde z.B. der Buchstabe „A“ nicht mehr an Position 65 in der Reihenfolge, sondern an einer ganz anderen Stelle.
Diesen durcheinander gewürfelten ASCII-Code muss man natürlich als Datei bereit halten, um bei einer Verschlüsselung die neue Position des Buchstaben „A“ finden zu können. Diese Datei wird von uns als Schlüsseldatei bezeichnet.
Würde diese Schlüsseldatei nur aus den 256 ASCII-Zeichen bestehen, wäre eine Identifizierung des Buchstaben „A“ natürlich sehr schnell möglich, da es eine eindeutige Zuordnung zwischen dem zu verschlüsselnden Zeichen und der neuen Position innerhalb der Schlüsseldatei gibt.
Gibt es aber eine Schlüsseldatei, in der der komplette ASCII-Code z.B. 5.000 Mal vorkommt; und das natürlich zusammenhanglos, weil durch Zufallsprinzip angeordnet, ist eine eindeutige Zuordnung absolut unmöglich.
Soll zum Beispiel ein bestimmter Text verschlüsselt werden, sucht sich der von uns verwendete Algorithmus innerhalb der Schlüsseldatei per Zufallsprinzip eine von den im Beispiel genannten 5.000 möglichen Positionen heraus, in denen der Buchstabe „A“ zu finden ist. Der Wert, der zurück gegeben wird, ist die absolute Position innerhalb der Schlüsseldatei, also eine Zahl.
Je höher die Häufigkeit des kompletten ASCII-Codes innerhalb der Schlüsseldatei, je unwahrscheinlicher ist die Wiederholung eines der zurück gegebenen Zahlenwerte (absolute Position in der Schlüsseldatei).
Das, was den Hackern oder den Geheimdiensten bleibt, ist eine Unmenge an Zahlenwerten, die aber keinen absoluten Bezug zum zu verschlüsselnden Text bildet. Dies ist leicht nachprüfbar. Verschlüsselt man einen Text mittels Message-Encryptor und wiederholt die Verschlüsselung des gleichen Textes unmittelbar danach, kommen dabei ganz andere Zahlenwerte heraus. Man kann das so oft wiederholen, wie man will.
Die Länge des komplett zu verschlüsselnden Textes ist das Einzige, was sie ermitteln können, nicht jedoch den Inhalt.
Soll der Text entschlüsselt werden und die entsprechende Schlüsseldatei ist vorhanden, ist das recht einfach. Die in der Verschlüsselung verwendeten Zahlenwerte geben die Position innerhalb der Schlüsseldatei wider. Aneinander gereiht ergibt es den vorher verschlüsselten Text.
Da für jeden Kommunikationspartner eine eigene Schlüsseldatei erstellt wird, können Sie absolut sicher sein, dass niemand, außer Ihrem Kommunikationspartner, die von Ihnen versandten Daten entschlüsseln kann.
Es gibt allerdings auch einen kleinen Haken an der Sache, den wir nicht verheimlichen wollen. Derjenige, der die Schlüsseldatei erstellt, darf diese keinesfalls auf dem elektronischen Weg seinem Kommunikationspartner zukommen lassen. Eine persönliche Übergabe oder das Versenden per Post (außer bei Personen, die sowieso schon unter Beobachtung stehen) sind die einzig sichere Methode, eine Schlüsseldatei weiter zu geben.