Archiv verlassen und diese Seite im Standarddesign anzeigen : Mal was theoretisches...
the-WebCoder
16.04.2001, 13:00
was muß ich beachten, wenn ich eine symmetrische Verschlüsselung erstellen will?
Gibt es eine möglich keit mit Gelitkommazahlen zu arbeiten, da int Zahlen zu leicht zu knacken sind?
Hat irgend jemand ein Beispiel für so eine Verschlüsselung? Bitte keinen PGP-Source oder ähnliches... etwas was auch ein normaler Programmierer versteht!
Danke.
Achja... welche bücher sind zu empfehlen?
Exekutor
17.04.2001, 11:30
1. Warum sind Integerzahlen leicht zu knacken? Sind IDEA,AES etc. leicht zu knacken?
Ok, was musst du beachten wenn du eine symmetrische Verschlüsselung erstellst?
Die Chiffrierung darf sich nicht mit noch soviel bekanntem oder gewählten Klartext brechen lassen. Für Laien (dazu zähle ich mich auch) ist das eigentlich unmöglich, was dich aber nicht davon abhalten sollte es zu versuchen.
2. Ja Beispiele hab ich, nachfolgend ein unsicheres 4 Runden Feistel Netzwerk:
void encrypt(unsigned int *data, unsigned int *key){
unsigned int l,r,help;
int rnd;
l = data[0]; /* left 32 bit block */
r = data[1]; /* right 32 bit block */
for(rnd=0;rnd<ROUNDS;rnd++){ /* 4 round Feistel network (encrypt) */
help = l ^ f(r,key[rnd]);
l = r;
r = help;
}
data[0] = l;
data[1] = r;
}
void decrypt(unsigned int *data, unsigned int *key) {
unsigned int l,r,help;
int rnd;
l = data[0]; /* left 32 bit */
r = data[1]; /* right 32 bit */
for(rnd=ROUNDS-1;rnd>=0;rnd--){ /* 4 round Feistel network (decrypt) */
help = r ^ f(l,key[rnd]);
r = l;
l = help;
}
data[0] = l;
data[1] = r;
}
/* the weak part of the cipher: the f function:
just a simple xor */
unsigned int f(unsigned int right, unsigned int key){
right ^= key;
return (right);
}
Das Problem hierbei ist die f-Funktion. Sie verknüpft einfach 32 Bit Klartext mit 32 Bit des Schlüssels per xor. Hier ist etwas besseres von nöten, denn so ist der Algo mit einem bekanntem Klartext zu knacken.
Denk dir was aus um es zu verbessern, dann knack deine Verbesserung, verbessere sie wieder usw.
3. Bücher:
'Abenteuer Kryptologie'
und 'Angewandte Kryptographie', beide erschienen im Addison-Wesley Verlag.
Hi,
@Exekutor: Wenn du Laie bist was sind dann wir die Hausdeppen vom Dienst??
Aber zum Thema ich wusste nicht
das sich IDEA und AES mit int zahlen betreiben lassen ich dachte immer da braucht
man big integers ?
Exekutor
18.04.2001, 11:48
Ich kenn mich zwar mit Kryptanalyse ein bischen besser aus, aber bin trotzdem Laie, ihr seid deshalb nicht gleich die Hausdeppen vom Dienst ;). Profis sind Leute wie Biham, Coppersmith etc.
Mit Integer meinte ich nur, dass es sich um Ganzzahlen handelt und nicht um Gleitkommazahlen.
IDEA arbeitet mit lediglich 16 Bit Worten (liest 64 Bit ein und zerlegt diese dann in 4 Teile)
AES keine Ahnung, muss gestehen, dass ich den noch nicht angeschaut habe.
Linuxbär
19.04.2001, 18:04
Hi Executer, ich habe dein One-Time-Pad ausprobiert, kannst du mir vielleicht ne kleine Erklährung geben wieso er nicht zu knacken ist?
Ich mir auch ne Art überlegt wie man einen Text etc. verschlüsseln könnte.
Man wandelt ertsmal alle Buchstaben(Verschiedene Zeichen der Tatatur) um in Zahlen.
Jedoch nicht a=1, b=2, c=3, sondern man gibt den Zahlen eine Auswahl:
a = 1 bis 200
b = 200 bis 400
c = 400 bis 600
.....
das heisst die Buchstaben können irgendeine Zufallszahl zwischen den beiden Zahlen denen man sie unterteilt hat annehmen, das natürlich per Zufall.
Entschlüsseln geht ganz einfach:
if text > 0 and text < 200 then text = a
if text > 200 and text < 400 then text = b
if text > 400 and text < 600 then text = c
würde so was auch gehen, man könnte dann noch die Zahlen tauschen und so:
a = 34 bis 87
b = 33 bis -43
c = -43 bis -56
.....!
wahrscheinlich gibt es das schon, aber trotztdem würde ich gern wissen wollen wieso das One-Time-Pad nicht zu knacken ist, hast du vielleicht icq, dann könntest du es mir dort auch schreiben.
Ciao
Mathias
Linuxbär
19.04.2001, 19:31
Aaah, so jetzt habe ich es verstanden, aber ich habe gerade noch mal dein Beispiel gelesen, da steht drinn er währe nur dann zu knacken wenn man ne Zeitmaschine hätte, das verstehe ich jetzt nicht.
Ich erklähre das mal eben für alle weil du es nicht ganz richtig erklährt hast(?)
Nachricht 11110000 (binär)
Schlüssel 10011101 (binär, zufall)
Das ganze jetzt XORen, dann sieht die End Nachricht so aus 01101101
Die Formael währe:
Verschlüsselte Nachricht = VN
Normale Nachricht = NN
Schlüssel = k
XOR = +
Formel: VN = NN + k
Du hast recht man kann es nicht knacken, auser wenn man den Schlüssel hat, dann könnte man eine Eqivalenz Umformung machen:
NN = VN + k
Trotztdem raff ich das mit der Zeitmaschine nicht, vielleicht hast du das nur so gesagt!!
Egal, schreib zurück
Mathias
Exekutor
20.04.2001, 13:39
Wenn man ne Zeitmaschine hat, kann man zum Zeitpunkt der Verschlüsselung zurück fliegen und den Schlüssel klauen. Wahr nicht so ernst zu nehmen.