Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

One Time Pad in a Nutshell ;)

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 ...

Antwort
Alt 31.03.04, 20:28   #1 (permalink)
 
Registriert seit: 29.06.03
TheVoid Leistung: Facit NTK
Likes: 0
Standard One Time Pad in a Nutshell ;)

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)

TheVoid ist offline   Mit Zitat antworten
Alt 01.04.04, 09:44   #2 (permalink)
Senior Member
 
Registriert seit: 23.12.03
silenced Leistung: Facit NTK
Likes: 0
Standard

Du könntest das Keypad auch durch eine logarythmische Cäsarreihe ersetzen und dann kommen wir in den Bereich: Systeme
silenced ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » One Time Pad in a Nutshell ;)
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ä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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61