Eigene absolut sichere Schlüssel zu erstellen ist durchaus möglich. Von einem Schlüssel, der wirklich aus reinem Zufall entstanden ist, hängt die Sicherheit jeder Verschlüsselung ab. Die Breite "meiner" Verschlüsselung per Excel-Tabelle ist zwar mit 343 Bits riesig groß, aber die vorhersehbaren Schlüssel sind ein Schwachpunkt. "Vorhersehbar" heißt, dass die verwendete Funktion "rand()" niemals echte Zufallszahlen liefert. Das kann kein Computer schaffen.
(Warum das so ist, erklärt euch besser die Wikipedia)
Nimmt man allerdings keinen Startwert aus dem Zufallszahlengenerator deiner Programmiersprache, sondern etwas anderes wie eine Datei mit echt zufälligen Inhalten ... dann gelingt es dir auch mit "Hausmitteln", einen absolut zufälligen Schlüssel zu erzeugen. Deine damit verschlüsselte Nachricht wird nicht zu knacken sein, solange
- du den Schlüssel nur einmal benutzt
- du den Schlüssel an den Empfänger auf absolut sicherem Wege übermittelst
- auch dieser den Schlüssel nur einmal zum Entschlüsseln nimmt und
- die Datei, die für die Erzeugung verwendet wurde, gleich nach Gebrauch endgültig gelöscht wird.
Eine Datei mit echt zufälligem Inhalt
Alle Werkzeuge dafür hast du wahrscheinlich schon im Haus. Du brauchst nur dein Smartphone. Nehmen wir eine beliebige Szene, die sich im Millisekundentakt ändert und sich niemals wiederholt:
- Sich bewegende Blätter und Äste im Wald (Foto)
- Blätterrauschen im Wald bei Wind (Audio)
- Straßenverkehrsgeräusche (Audio)
- usw.
Es kommt auf den Inhalt nicht an! Das Foto kann unscharf sein, oder falsch belichtet - es ist egal. Die Audiodatei kann miese Qualität haben - egal! Es kommt nur darauf an, dass die Aufnahme (Foto oder Audio) nicht wieder neu aufgenommen werden könnte - also echter Zufall ist!
In MS Excel kann eine Prozedur diese Datei nun mit sha256 hashen und damit endgültig aufbereiten. So sieht das als Quelltext aus (hat übrigens Google KI so vorgeschlagen, lief auf Anhieb ohne jede Änderung!):
Aus meiner Audiodatei mit 7.521.205 Bytes Größe erzeugte das Makro diesen Schlüssel:
202748ae067541ac5dee4c02142fb72efba361cf5b4125aeb831b90aef37530d
Verändert man in der Audiodatei nur ein einziges Byte, erzeugt das Makro nunmehr diesen Schlüssel:
49b834a9710250ce2af718649bc9be18d921d45aa493af4b115205543f0ce319
Ihr seht - schon winzige Änderungen lösen ein komplett anderes Ergebnis aus. Ich könnte die Audiodatei im Original sogar hochladen, bei > 7 Millionen Bytes wüßte man immer noch nicht, an welcher Stelle welche Änderungen vorgenommen wurden (Zeichen gelöscht? Hinzugefügt? Wie viele? Ersetzt? Ja, aber durch was, und wieviel?). Das ist theoretisch mit brachialer Rechenleistung noch herauszubekommen. Da setzt der Hash an, den man nicht zurückrechnen könnte. Aus dem Hash kann nicht auf das Ausgangsprodukt sicher geschlossen werden.
Variante für manuelles Arbeiten mit Vigenère-Tabelle
Dieses Script erzeugt einen Schlüssel, der nur Buchstaben enthält:
Zusammenfassung
Du kannst mit MS Excel einen Text unknackbar verschlüsseln. Du brauchst eine Datei, die von dir erzeugt wird und nur einmal für die Schlüsselerzeugung verwendet wird. Danach muss sie unwiederbringlich gelöscht werden. Du kannst in der Datei, wenn sie ein paar MByte groß ist, immer wieder ein paar Bytes an verschiedenen Stellen mit einem gewöhnlichen Editor löschen, speichern, Schlüssel erzeugen lassen, usw. Auch diese Schlüssel sind nicht wiederherstellbar.
Jetzt muss natürlich der Empfänger den jeweiligen Schlüssel kennen und besitzen. Den Austausch erledigt man am besten (und umständlichsten) persönlich. Für den "Hausgebrauch" mag ein USB-Stick reichen. Ein gedruckter Block mit einem Blatt pro Schlüssel, den man sofort nach Gebrauch verbrennt, ist aber sicherer.
Der größte Feind einer sicheren Verschlüsselung ist die Bequemlichkeit des Benutzers. Das war schon immer so.
Nun viel Spaß beim Tüfteln! Bessere Programmierer als ich einer bin, werden sicher eine Menge Möglichkeiten zusätzlich entdecken und umsetzen.
Braucht man das?
Für mich und die meisten hier ist es Spielerei. Aber es ist denkbar, eines Tages unter anderen Umständen anders kommunizieren zu müssen. Denkt mal an einen Regimegegner, dem ihr eine sichere Nachricht hinterlassen wollt (oder umgekehrt). Eine verschlüsselte Datei, als Audiofile gedacht, wird nicht abspielbar sein - sie erregt aber kaum Aufmerksamkeit. Sie lässt sich schnell übertragen.