Es ist mal wieder so weit. Facebook spinnt, und lässt mich nichts mehr posten. Kenn ich schon, dann weiche ich einfach mal auf meine eigene Website aus. Da kann ich posten was, wo und wann ich will.
Schauen wir uns das nochmal an. Tatsächlich schon fast perfekt. Noch nicht optimal für die Verarbeitung beliebiger digitaler Daten. Wir brauchen aber nicht viel ändern, nur einen anderen Zeichensatz wählen. Statt dem Alphabet nehmen wir Bytewerte oder 8-Bitstrings, die wir auch als die Zahlen 0-255 interpretieren können. Es gibt sogar 256-Fakultät Möglichkeiten die Zahlen durch 8-Bitstrings darzustellen. Wir können eine zufällig auswählen. Wir haben damit bereits quasi unendlich viele verschiedene Verschlüsselungsverfahren, alle extrem sicher. Wenn wir Zeichen, 8-Bitstrings oder Bytes, Zeichen für Zeichen verschlüsseln, können wir auf diese Weise absolut sicher verschlüsseln. Ja, sonst alles genau wie beim klassischen One-Time-Pad mit der Addition modulo 256, statt modulo 26 oder auch bitweise, die berühmte XOR-Verknüpfung.
Alles was uns zur tatsächlich perfekten Verschlüsselung mit dem Computer noch fehlt, ist ein Zufallsgenerator. Nein, kein Münzwurf, viel zu kompliziert und extrem langsam, aber auch nicht wirklich hundert Prozent perfekt, denn bei einer real exitierenden Münze ist die Wahrscheinlichkeit für Zahl oder Kopf auch nicht wirklich exakt gleich. Mit dem Computer berechneter Zufall kann aber hochgradig gleichverteilt sein und ist von echtem Münzwurf auch kaum zu unterscheiden. Entsprechend ist die Verschlüsselung auch mindestens ebenso sicher. Der folgende simple Algorithmus ist fast perfekt.
Wir schreiben die Zahlen 0 bis N-1 auf N Karten, wobei N = 256 die Zahl der
Zeichen in unserem Alphabet ist. Wir ordnen die N Karten auf einem
Kreis, ähnlich dem Ziffernblatt einer Uhr an, in rein zufälliger Reihenfolge. Ein
Zeiger der Uhr läuft immer im Kreis von einer Zahl zur Nächsten. Der zweite Zeiger
springt zufällig herum. Dies wird erreicht, indem dieser zweite Zeiger
um den Kartenwert, auf den der
erste Zeiger zeigt, weitergedreht wird. Die beiden Karten, auf die
beide Zeiger zeigen werden vertauscht - fertig! Ja, das ist unser Zufallsgenerator.
Zum Beispiel die Werte auf die der zweite Zeiger zeigt oder dessen Position,
könnten als Zufallswerte, Bytes im Falle N = 256, betrachtet
werden.
Vorsicht: Steht der zweite Zeiger einen Schritt
vor dem ersten Zeiger und zeigt auf die Zahl 1, dann
ändert sich daran nichts mehr! Beide werden je ums eins verdreht
und nach dem Tausch zeigt der zweite Zeiger wieder auf die
Eins. Es entsteht ein kurzer
Zyklus mit nur N mal (N-1) sich ständig wiederholenden
Werten. Dies kann aber nicht eintreten, wenn die
Werte nicht von Beginn an so gewählt werden, wenn wir
zum Beispiel mit identischen Positionen der Zeiger
beginnen, wie bei RC4 vorgesehen. Wir dürfen aber
NICHT mit zufälligen Positionen starten.
Es ist wirklich simpel, total simpel, aber nicht zu knacken. Die Karten
werden ständig gemischt, da immer zwei Karten vertauscht werden. Es gibt N x (N-1) x (N-2) x ... x 3 x 2 x 1,
also N Fakultät
Möglichkeiten die Karten anzuordnen, quasi unendlich viele bei N = 256.
Setze: Zeiger_A = beliebiger Startwert, Zeiger_B := Zeiger_A Wiederhole: Zeiger_A := ( Zeiger_A + 1 ) modulo N Zeiger_B := ( Zeiger_B + SBOX [Zeiger_A] ) modulo N temp := SBOX [Zeiger_A] + SBOX [Zeiger_B] SBOX [Zeiger_A] := temp - SBOX [Zeiger_A] SBOX [Zeiger_B] := temp - SBOX [Zeiger_B] output := SBOX [temp modulo N] drucke output
Wir
können mit einer beliebigen Vertauschung der 256 Zahlen beginnen, zum Beispiel
[87, 33, 26, 245, 178, 116, 171, 190, 232, 215, 242, 237, 96, 209, 102, 67, 243, 183, 37, 149, 182, 153, 195, 34, 1, 3, 5, 248, 81, 40, 117, 191, 13, 4, 214, 147, 161, 160, 2, 23, 192, 50, 234, 107, 156, 211, 181, 122, 76, 143, 164, 85, 155, 46, 210, 187, 47, 120, 144, 94, 133, 168, 109, 101, 12, 72, 128, 152, 179, 16, 226, 202, 220, 228, 66, 193, 55, 28, 208, 19, 21, 158, 6, 31, 57, 44, 59, 154, 186, 167, 163, 142, 239, 79, 135, 227, 121, 235, 221, 216, 230, 98, 246, 7, 131, 233, 90, 197, 18, 145, 78, 138, 115, 255, 52, 151, 110, 63, 68, 162, 127, 200, 82, 25, 139, 253, 175, 217, 225, 252, 123, 42, 60, 61, 251, 170, 15, 140, 36, 27, 97, 231, 166, 29, 254, 54, 49, 30, 125, 203, 24, 83, 207, 91, 58, 89, 17, 194, 159, 229, 74, 185, 73, 10, 180, 218, 65, 105, 69, 118, 106, 137, 84, 41, 113, 8, 184, 45, 53, 88, 213, 126, 80, 9, 247, 56, 240, 172, 199, 148, 136, 189, 249, 134, 48, 100, 238, 71, 222, 174, 165, 236, 92, 77, 244, 22, 14, 43, 130, 204, 177, 20, 146, 99, 119, 201, 104, 62, 70, 132, 176, 169, 157, 35, 51, 39, 219, 150, 173, 38, 64, 108, 212, 205, 114, 241, 75, 0, 111, 86, 103, 129, 124, 224, 223, 112, 196, 188, 141, 32, 11, 206, 198, 250, 95, 93]
Wenn diese Vertauschung keiner kennt und niemand weiß wie
sie berechnet wurde, komplett unknackbar.
>>> import random >>> s=range(256) >>> i=255 >>> while i > 0: ... r = int(i*random.random()) ... s[i],s[r] = s[r],s[i] ... i = i - 1 ... >>> s [158, 216, 84, 12, 66, 99, 68, 144, 177, 64, 244, 60, 234, 247, 27, 176, 249, 53 ...
Wir könnten RC4 so modifzieren, so dass diese zufällige Vertauschung unserer Startwert ist statt [0, 1, 2, ..., 254, 255]. Dieser modifizierte RC4, könnte sonst völlig unverändert bleiben, kann niemals geknackt werden, wenn der zufällig gewählte Startwert nicht bekannt ist. Die S-Box kann in Abhängigkeit von Passwort weiter durchgemischt werden, wie im Originalverfahren oder auch leicht abgewandelt. Natürlich könnten weitere Zeiger hinzugefügt werden. Jeder weitere Zeiger könnte um den Wert auf den der vorherige Zeiger zeigt weitergedreht werden und die Karten an allen Zeigerpositionen oder auch nur an zwei, vertauscht werden. Wenn aas Verfahren im Detail nicht bekannt ist, kann es schon gar nicht geknackt werden. (Vorausgesetzt: Startwert Zeiger_A gleich Startwert Zeiger_B)
Ja, das ist im Kern der RC4. Der sogenannte KSA dient der Berechnung der Kartenanordnung zu Beginn aus einem Passwort. Dieser Teil, nur dieser Teil, des Algoritmus ist noch nicht wirklich perfekt. Die Berechnung einer zufälligen Reihenfolge ist aber kein echtes Problem, siehe Fischer-Yates-Shuffle. Wenn es denn unbedingt echter Zufall sein soll, auch kein Problem. Wir könnten zum Beispiel zum Beispiel Zufallsbilder nehmen, die wir mit dem Handy fotografieren. Die Bits sind dann noch nicht perfeckt gleichverteilt, aber wenn wir die Bilder noch einmal verschlüsseln mit Pseudozufall, der sehr gut gleich verteilt ist. Etwas total Simples wie nächster Zufallswert gleich x' = (a*x + b) mod m reicht schon. Natürlich könnten wir auch wieder RC4 nehmen, um die Bilder zu verschlüsseln, dann sind wir ganz auf der sicheren Seite und haben echten Zufall, der auch noch extrem gleichverteilt ist. Selbst der Schlüsselaustausch ist dann relativ einfach, wir tauschen die Bilder einfach über das Internet aus. Niemand wird ahnen, dass die Bilder nach RC4-Verschlüsselung als One-Time-Pad dienen.
Nachteil einer einfachen Stromchiffre ist, dass immer wieder ein neuer Schlüssel benutzt werden muss, damit wirklich höchste Sicherheit erreicht wird. Aber wir können die verschlüsselten Zeichen benutzen, um den Zufallsgenerator zu beeinflussen, so dass sich ab der ersten Änderung in der Nachricht eine völlig andere Zufallsfolge ergibt. Wird der Nachricht ein Zeitstempel vorangestellt, wird die eigentliche Nachricht mit einem perfekten One-Time-Pad verschlüsselt, auch wenn sich das Passwort nicht ändert.
Wozu DES? Ich sage einfach nur sinnlos kompliziert und wegen 56 Bits nicht wirklich sicher. Das gesamte, Design, warum gerade Bit Nummer x mit mit Bit Nummer y getauscht wird, nicht nur die S-Boxen, alles fällt vom Himmel. Wozu die Bit-Vertauschungen, die in keiner Weise vom Schlüssel abhängen? Aber egal, der Vorteil der Blockchiffre ist, dass unterschiedliche Nachrichten sorglos mit dem gleichen Passwort verschlüsselt werden können. Als Triple-DES kann der DES zur sicheren Verschlüsselung dienen. Mit 3 mal 16 Runden ist er zweifellos extrem sicher. Schon mit Kanonen auf Spatzen geschossen, aber sicher und es könnten natürlich Details, zum Beispiel die S-Boxen, geändert werden und der DES wäre sicherlich immer noch sicher, tatsächlich völlig unknackbar, wenn noch nicht einmal die S-Boxen bekannt wären.
Ich kann heute, 4.6.16, auf Facebook nichts mehr posten. Meine neueste Erkenntnis in Sachen Krypto: Auch die Zweifachverschlüsselung mit DES ist bereits sicher. Auch Meet-in-the-Middle nützt am Ende dem Codeknacker nichts. Der Clou dabei, es ist zwar möglich einen (2x56 Bit)-Doppelschlüssel zu finden, aber das ist nicht der Richtige! Ja, wenn es viel mehr Schlüsselbits gibt als Nachrichtenbits, dann gibt es viele Schlüssel, die vermeintlich passen. Dem Codeknacker hilft dies wenig, denn der falsche Schlüssel kann nur einen Block entschlüsseln, den er ohnehin schon kennt. Ja - stimmt - es hat lange gedauert, bis ich darauf gekommen bin. Ich hatte es lange geglaubt, dass der Triple-DES wirklich nötig ist. Ja, da habe ich mich auch täuschen lassen.
Wenn ihr das jetzt nicht verstanden habt, egal, alles was ihr über Verschlüsselung verstehen braucht, ist das One-Time-Pad. Die Verschlüsselung Zeichen für Zeichen mit einem zufälligen Schlüssel so lang wie die Nachricht, ist unknackbar, also bereits perfekt.
Jetzt müssen wir nur noch Zufallszeichen generieren. Auch das ist ein Kinderspiel
mit dem Computer. Wir produzieren die Zufallszeichen mit einem Programm, das Sender
und Empfänger benutzen, um die identische Zufallsfolge zu erzeugen. Wir benutzen dazu
keinen supertollen Algorithmus, keinen Kryptostandard, sondern unsere eigene Software,
ganz ähnlich dem berühmten RC4, ARC4, Arcfour oder wie immer wir es nennen wollen.
Wenn ihr RC4 nicht kennt, lest einfach mal in Wikipedia nach ;)
Gestern habe ich ein Programm geschrieben,
um die Periodenlänge einer abgespeckten Variante zu finden. Schon bei N = 13, statt N = 256,
wiederholt sich da gar nichts mehr. Der Rechner rechnet Tage, um eine Wiederholung
zu finden. Also, bereits RC4 mit N = 16 (Halbbyte- oder Hexzeichenverschlüsselung) ist quasi
unknackbar und für die diversen Varianten von RC4 gilt dies natürlich auch. Es ist
allerdings nicht unbedingt clever, wirklich weniger als als N = 256 zu nehmen, weil die
Berechnung ohnehin schon rasend schnell ist, schneller als die Datenübertragung. Die
Datenverarbeitung erfolgt meist byteweise, so dass alles andere die Sache nur unnötig kompliziert
macht.
Hören wir uns das, ja da muss er selber lachen, einmal an und schauen in Wipedia nach. Der DES wurde natürlich auch auf der anderen Seite des Eisernen Vorhangs studiert. Die Russen haben erkannt, dass die Grundidee von Feistel im Prinzip total einfach ist. Sie kann aufbauend auf der Grundidee des One-Time-Pads verstanden werden kann. Die Nachricht selbst wird benutzt, um das One-Time-Pad zu generieren (Autokey). Nach Feistel wird zunächst nur die halbe Nachricht verschlüsselt, die andere Hälfte dient als Schlüssel, genauer zur Berechnung des Schlüssels aus dem festen Schlüssel (32 Bit-Rundenschlüssel). Diese Berechnung ist bei GOST ein simples XOR der 32-Bit-Nachrichten-Bits mit dem Rundenschlüssel, einige Substitutionen (S-Boxen) und eine Verschiebung, ein Rollen um 11 von 32 Bits nach links. Die S-Boxen können als weiterer Schlüssel betrachtet werden, verschiedene Institutionen, wie Banken, nutzen ihre eigenen S-Boxen. Im zweiten Schritt, der zweiten Runde, wird die Verschlüsselung erneut auf das Ergebnis der ersten Runde angewendet, mit vertauschten Hälften, so dass danach die gesamte Nachricht verschlüsselt ist. Diese Verschlüsselung ist noch nicht perfekt, weil die Nachricht kein perfekt zufälliger Schlüssel ist. Daher werden diese Verschlüsselungen wiederholt durchgeführt, insgesamt 32 Runden. Die Nachricht erscheint dabei immer zufälliger. Nach 32 Runden, praktisch ein perfektes One-Time-Pad. Bei 256 Bits ist auch Brute-Force völlig illusorisch.
Der GOST wurde tatsächlich benutzt im kalten Krieg und noch heute wird er von größeren Banken benutzt. Selbstverständlich ist er sicher, obwohl er im Vergleich zum DES total simpel erscheint. Das Grundprinzip, die Feistel Chiffre, wurde vom DES übernommen, nur eine Vielzahl von sinnlosen Vertauschungen einfach weggelassen. Natürlich wurde der Schlüssel verlängert, von 56 Bits, auf 256 Bits, um Brute-Force, das Testen aller möglichen Schlüssel auszuschließen. Doch wir brauchen nicht wirklich Blockchiffren, eine simple Stromchiffre wie RC4 ist im Grunde schon ausreichend. Mit einigen zusätzlichen Zeigern und Substitutionen wie bei Spritz wird die Chiffre sicher nicht unsicherer. Wenn sie geheim ist, schadet dies gewiss auch nicht und schließt Brute-Force vollkommen aus. Wir können also verschlüsseln, selber verschlüsseln mit der eigenen Software und kein Geheimdienst dieser Welt kann dies knacken.
Die Walzen können mittels eines Zufallsgenerators komplett neu verkabelt werden.
Elektrofahrzeuge sind wahrhaft nichts wirklich Neues. Der Elektromotor wandelt elektrische Energie, physikalisch nicht ganz korrekt Strom, in mechanische Energie um. Der Wirkungsgrad ist etwa dreifach so hoch wie beim guten alten Ottomotor, dem Dieselmotor und auch Kohle- und Atomkraftwerken. Auch in Gaskraftwerken (GUD) ist der Wirkungsgrad mit bis zu 60 Prozent nicht ganz so hoch. Das Problem ist, wie kommt der Strom ins Fahrzeug? Eine schon seit eine Jahrhunderten praktizierte Lösung sind Oberleitungen. Bei Schienenfahrzeugen eine wirklich überzeugende Lösung.
Reine Elektroautos mit Batterie sind aber bei Lichte betrachtet keine sinnvolle Lösung, denn die Kosten sind zu hoch, die Reichweite zu kurz. Hybridfahrzeuge, die durch Kombination mit einem kleineren Verbrennungsmotor eine vernünftige Reichweite bei erträglichen Kosten ermöglichen, sind aber durchaus sinnvoll, da diese Fahrzeuge, auch bei Betrieb mit Ottomotor sehr sparsam und schadstoffarm sind. Werden Kraftstoffe aus erneuerbaren Energien verwendet, sind sie ebenso umweltfreundlich wie reine Elektroautos und trotzdem bezahlbar und alltagstauglich.
Der Fördertopf reicht gerade einmal für 400.000 Hybridautos, denn 400.000 x 3.000 Euro sind 1,2 Millarden Euro, die gesamte Fördersumme. Reine Elektroautos sind trotz höhere Prämie kaum attracktiv und werden weiterhin nur in vernachlässigbarem Umfang verkauft.
Elektroautos inklusive Hybridfahrzeuge können die CO2-Emissionen nicht in relevantem Maße senken. Mit Photovoltaik und Wärmedämmung können sie etwas reduziert werden. Doch es reicht gewiss auch nicht. Unter dem Strich bleibt es Fakt - ohne die Atomkraftwerke erreichen wir die selbst gesetzten Klimaziele nicht. Wir müssen uns in dieser Frage schon entscheiden, ob wir mehr CO2 in Kauf nehmen wollen oder doch lieber längere Laufzeiten.
Doch warum wollen wir die Atomkraftwerke eigentlich abschalten? Wenn die Dinger wirklich so gefährlich sind, warum schalten wir sie dann nicht sofort ab? Wir haben schließlich genügend Kohlekraftwerke in Reserve, um dies gefahrlos tun zu können.
Sind sie etwa gar nicht so gefährlich? Ja, warum dann überhaupt abschalten? Auf diese Fragen, gibt es keine überzeugenden Antworten.
Wenn wir tatsächlich bis 2022 die Atomkraftwerke in Deutschland abschalten, sind die konkreten Vereinbarungen Deutschlands zur Reduktion der Treibhausgasemissionen, 40 Prozent gegenüber 1990, überhaupt nicht einzuhalten. Da gibt es nicht zu deuteln, denn die erneuerbaren Energien erreichen beim Strom maximal 50 Prozent, nach optimististen Schätzungen. Die Bundesregierung geht sogar von deutlich unter 50 Prozent, sogar bis 2025, aus. Die Grünen reden ständig von 100 Prozent erneuerbaren Energien, aber erst in ferner, ferner Zukunft. Bis 2022 sind es jedenfalls keine 100 Prozent, nicht einmal 50 Prozent, das ist eine Tatsache, denn niemand bestreitet es ernsthaft. Die Erneuerbaren können die Atomkraftwerke also nicht ersetzen. Realistisch betrachtet könnten die Atomkraftwerke nur durch Kohlekraftwerke ersetzt werden, wenn auch die Kosten noch im Rahmen bleiben sollen. Damit sind die Zusagen Deutschlands, dem angeblichen Vorreiter in Sachen Klimaschutz, überhaupt nicht einzuhalten.
Doch es ist wahr! Eine Tonne Gestein, überall auf der Erde sogar auf dem Mond, enthält etwa 3,2 Gramm Uran, Uran-238 und ein wenig Uran-235. Bei der Spaltung von 235 Gramm des Uranisotops Uran-235 wird eine Energie von 200 Millionen mal 100 Kilojoule freigesetzt. Auch wenn nur ein Drittel davon in elektrischen Strom umgewandelt werden kann und nur 0,7 Prozent des Natururans aus dem spaltbaren Uran-235 besteht, es ist genug den Energiebedarf der Menschheit auf absehbare Zeit zu decken.
Daher die Idee warum nicht einfach auf meiner Website, einfach hier