| Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a. |
Diskussion: One Time Pad in a Nutshell ;) im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Der einzige mathematisch (beweisbar) sichere Algorithmus ist der One Time Pad (OTP). Das Teil ist eigentlich (theoretisch) auf alles ...
![]() |
| | #1 (permalink) |
| Registriert seit: 29.06.03 ![]() Likes: 0 | Anzeige Der einzige mathematisch (beweisbar) sichere Algorithmus ist der One Time Pad (OTP). Das Teil ist eigentlich (theoretisch) auf alles anwendbar und funktioniert wie folgt: man nehme n Bit, die man verschlüsseln möchte, baue sich einen echt zufälligen Schlüssel (darf nicht irgendwie vorhersagbar sein, dh wenn man bits x1-xn kennt darf man nich xn+1 vorhersagen können.) in selber Länge. Jetzt addiert man die beiden Zahlen mod 2 -> es kommt wieder nur {0,1} raus. BSP: Codierung a=0000, b=00001, c=00010..z=11001, ä=11010, ö=11011, ü=11100, ","=11101, "."=11110, ?=11111 (normales dual-hochzählen, google hilft falls du es nicht verstehst) zu verschlüsselnder Text: wurst In unserer Codierung: 10111 10100 10001 10010 10011 Wir wählen einen Schlüssel in selber Länge: "klaus" wird zu: 01010 01011 00000 10100 10010 Die eigentliche Verschlüsselung ist sehr einfach: XOR (exklusiv oder) 1 XOR 1 = 0 (weil beides wahr(1) ist. exklusiv oder heisst aber "entweder oder", also ist das ergebnis 0 - für falsch) 0 XOR 0 = 0 (auch falsch weil beides falsch ist) 1 XOR 0 = 1 (wahr weil eines wahr ist, das andere falsch) 0 XOR 1 = 1 (s.o.) XOR ist quasi wahr, falls die parameter ungleich sind für {0,1} OK. genug Theorie, jetzt wird verschlüsselt ![]() also verschlüsseln wir unsere "wurst" mit dem Schlüssel "klaus" 10111 10100 10001 10010 10011 01010 01011 00000 10100 10010 11101 11111 10001 00110 00001 unten steht nun also unser Chiffrat. Wieder in lesbaren Text übersetzt ergibt das dann: ",?rgb" Ohne den Schlüssel "klaus" kann nun niemand (auch nicht mit unendlicher Rechenleistung) den Klartext bestimmen. Wenn man das ganze mit Bruteforce (alle möglichen Schlüssel testen, es sind hier 2^25=33554432) angeht und wirklich alle Schlüssel ausprobiert.. dekodieren wir es ersteinmal mit unserem bekannten Schlüssel ![]() Die Dechiffrierung funktioniert sehr einfach: man macht einfach wieder ein Chiffrat XOR Schlüssel und erhält wieder den Klartext: 11101 11111 10001 00110 00001 01010 01011 00000 10100 10010 10111 10100 10001 10010 10011 man vergleiche.. es ist wieder unsere "wurst". BRUTEFORCE-ATTACKE: wenn man jetzt alle möglichen Schlüssel testet, also 00000 00000 00000 00000 00000 bis 11111 11111 11111 11111 11111 und ihn zum entschlüsseln mit der verschlüsselten wurst XORt, erhält man 2^25 verschiedene Klartexte mit selber Länge, also auch "orden", "maria", "knopf"... sämtliche 5-Stellige Buchstabenkombinationen. Niemand kann nachvollziehen, welcher Klartext der originale war. qed. ![]() Man wird sich jetzt evtl denken "Hey toll, alle krypto-Probleme der Welt gelöst, ich muss zum Patentamt!", aber so toll ist diese Chiffre nicht wirklich: Wenn man 100 MB verschlüsseln möchte, muss man auch einen Schlüssel von 100MB haben. Also muss der Empfänger der verschlüsselten Nachricht auch den Schlüssel auf einem SICHEREN Weg erhalten. Da kann man gleich die Nachricht auf dem sicheren Weg übertragen (Oder ein ausreichend grosse Codebook an beide Parteien verteilen). Wenn man den Schlüssel von 100 auf 1 MB verkürzt und 100 Mal aneinanderreiht, ist das System nicht mehr "uneingeschränkt sicher", denn dann gibt es Angriffsmöglichkeiten. (Schreib ich vll mal was drüber falls es wen interessiert) |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Once upon a time in IRC | sw33tlull4by | Fun Section | 3 | 27.09.09 00:17 |
| "Linux Kernel in a Nutshell" als Open Book | xbeduine | Linux/UNIX | 0 | 11.01.07 19:50 |
| First Time | DocZimmermann | Spiced Pork and Ham - Spam & seine Brüder | 17 | 25.06.05 12:38 |
| Time out-Problem | paulk | Die Problemzone | 2 | 18.06.04 14:23 |