Diskussion:Rabin-Kryptosystem

message: Waehrend es mir relativ leicht faellt, den RSA-Algorithmus umzusetzen, habe ich bei dem Rabin-Verfahren sozusagen unueberwindliche Schwierigkeiten. Entweder ein paar der Formeln sind nicht korrekt, oder/und in der Erklaerung sind ein paar Sachen unstimmig bzw. schlecht ruebergebracht. So komme ich nur auf zwei "Wurzeln" statt auf vier. Und von den zwei Wurzeln hat moch nie der Wert die Umkehrung zum Klartext (nicht einmal Zuffaellig) ergeben. --Arbol01 12:06, 24. Jun 2004 (CEST)
replies: text: Beachte, dass +/-r und +/-s in einem Ring liegen. -r ist also nicht -5, wenn r=5 ist. Klärt das Deine Frage vielleicht? Wenn ja, wie könnte man es anschaulicher schreiben, so dass der nächste nicht wieder vor dem gleichen Problem steht? Stern 00:12, 25. Jun 2004 (CEST)
thread_title: Umsetzung

message: Bevor ich kurz vor 02:00 Uhr (griechischer Zeit) letzte Nacht zu Bett gegangen bin, hat sich mir ein schlimmer Verdacht gebildet:
m^2 \mod n ist nämlich nichts anderes, als ein Quadratischer Rest, der dazu nicht zu einer Primzahl, sondern zu einer zusammengesetzten Zahl ist. Solche Quadratischen Reste sind symmetrisch. Beispiel 11:
 0^2 \mod 11 = 0
 1^2 \mod 11 = 1
 2^2 \mod 11 = 4
 3^2 \mod 11 = 9
 4^2 \mod 11 = 5
 5^2 \mod 11 = 3
 6^2 \mod 11 = 3
 7^2 \mod 11 = 5
 8^2 \mod 11 = 9
 9^2 \mod 11 = 4
 10^2 \mod 11 = 1
Das bedeutet, das sich manche m ein c teilen müssten.
Nun ist 11 eine Primzahl, und ein gesuchtes n ein Produkt zweier Primzahlen mit einer bestimmten Bedingung (p und q sollen Mod 4 gleich 3 sein). Also habe ich mal das Gleiche mit der Zahl 77 gemacht:
[ 1, 34, 43, 76] => 1
[ 2,  9, 68, 75] => 4
[ 3, 25, 52, 74] => 9
[ 4, 18, 59, 73] => 16
[ 5, 16, 61, 72] => 25
[ 6, 27, 50, 71] => 36
[ 7, 70]         => 49
[ 8, 36, 41, 69] => 64
[10, 32, 45, 67] => 23
[11, 66]         => 44
[12, 23, 54, 65] => 67
[13, 20, 57, 64] => 15
[14, 63]         => 42
[15, 29, 48, 62] => 71
[17, 38, 39, 60] => 58
[19, 30, 47, 58] => 53
[21, 56]         => 56
[22, 55]         => 22
[24, 31, 46, 53] => 37
[26, 37, 40, 51] => 60
[28, 49]         => 14
[33, 44]         => 11
[35, 42]         => 70
Zu den meisten c gehören also 4 m. Dazu paßt gut, das bei der entschlüsselung das c die vier Wurzeln r, (-r), s und (-s) zurückliefert.
[13, 20, 57, 64] => 15  "Im Beispiel gilt m \in \{ 64, \mathbf{20}, 13, 57 \}."
Etwas, was vieleicht fehlen würde, wäre ein Mathematischer Multiplexer. --Arbol01 08:52, 25. Jun 2004 (CEST)
thread_title:  Quadratischer Rest 

message: in meinen Ohren klingt das unnötig gestelzt und gewollt mathematisch. In der Mathematik gehen Formulierungen, die mit es seien x und y beginnen und am besten noch mit o.B.d.A. gespickt werden, normalerweise mit dann gilt weiter. Das ist hier nicht der Fall. Der Konjunktiv ist IMHO unangebracht. Zur Schlüsselerzeugung wählt man zwei verschiedene, möglichst große Primzahlen ähnlicher Größenordnung. Die beiden Primzahlen p und q bilden den geheimen Schlüssel. Das Produkt wird als öffentlicher Schlüssel bekannt gemacht Rat 18:46, 27. Jun 2004 (CEST)
replies: text: Die Langform wäre ja "Es seien p und q mit dem Wert sowienoch beispielhaft angenommen. natürlich kann man das auch mit "Im Beispiel haben p und q den Wert sowienoch" schreiben. In der Tat entwickelt jede Wissenschaft eine Sprache, die sich von den Gewohnheit der Umgangssprache entfernt. Als jemand, der im fach drin ist, merkt man das aber oft nicht. Darum ändere einfach die Stellen so um, dass sie eingängiger sind! Stern 20:54, 27. Jun 2004 (CEST)
thread_title:  Es seien p und q ... 

message: Fuer den Moment, aber nicht fuer immer, ist sind Rabin-Verfahren und RSA aus dem Schneider. Aber nicht fuer immer, denn:
*:c = [k1  k2  k3  k4]
c ist der gemeinsame quadratische Rest, der bei dem Quadrieren jeder der Klartext-Zahlen k1 bis k4 entsteht.
:c = k12 mod n = k22 mod n = k32 mod n = k42 mod n
k1 bis k4 stehen dabei in einer bestimmten Beziehung:
:k2 - k1 = k4 - k3 = x1
:k3 - k1 = k4 - k2 = x2
x1 und x2 enthalten nun jeweils p bzw. q als Faktoren, nicht aber beide Faktoren zusammen. Selbst wenn eine Faktorisierung von x1 und x2 zu schwierig sein sollte, ist es doch einfach, über den Euklidschen Algorithmus den ggT von n und x1 bzw. den ggT von n und x2 zu bestimmen.
Damit besitzt man die beiden Bestandteile p und q des geheimen Schlüssels.
:Sorry, aber ihr sollte besser die Bezeichnungen aus dem Artikel verwenden, so dass die Sache hier noch nachvollziehbar ist. Dort ist der Klartext mit m und nicht mit k bezeichnet, bzw die mittels p,q berechnet Lösung (mögliche Werte für m) heißen dort +/-r und +/-s. Die Primzahl p (nicht jedoch q) ist Teiler von (r+s) und q (nicht jedoch p) ist Teiler von (r-s). Dies ist aus den im Artikel angegeben Formeln leicht ersichtlich. Damit ist jedoch die Berechnung von p,q ein Kinderspiel, da p=ggT(r+s,n) und q=ggT(r-s,n). Die Berechnung des ggT erfordert maximal ein paar Millisekunden. Daher darf offensichtlich nur einer der Werte s,r bekannt gegeben werden. Ob das Verfahren unter dieser Voraussetzung dann sicher ist, vermag ich nicht zu beurteilen. Tatsache ist, dass nur einer der "Wurzeln" bekannt sein darf, weil sonst p,q sofort berechenbar sind. Die Behauptung, die Sicherheit des Rabin-Verfahrens sei mit der Schwierigkeit der Bestimmung der Primfaktorzerlegung quasi äquivalent, kann damit wohl als abwegig bezeichnet werden. Benutzer:Fsswsb 24.05.06   
  
gilt immer noch, und es ist eine Statistische Frage, je ein (k1 bzw. k4) und ein (k22 bzw. k32) zu finden, um ein Quadrupel zu finden, um n zu knacken.
*Reicht es ebenfalls ein a zu finden, fuer das gilt a2 mod n = b2, so das gilt c*n = a2 - b2.
Auch das ist eine statistische Frage.
und zuletzt noch eines
*Wenn ich aus   a2 mod n = b2 p und q berechnen kann, warum soll man nicht einen Weg finden, aus a2 mod n = b mit (b ist kein Quadrat) p und q zu ermitteln.
Fazit: Zwei Statistische Probleme und eine Tueftelei --Arbol01 10:27, 29. Jun 2004 (CEST)
replies: text: Wie gesagt: Es lässt sich zeigen, dass Rabin und das Faktorisierungsproblem kongruent sind. Wenn Du eine Möglichkeit zur Faktorisierung gefunden hast, dann kannst Du Rabin brechen. Dies Versuchen Mathematiker schon seit Jahrhunderten. Ich lobe Deine kritischen Fragen, aber gerade RSA wird in der Realität vielfach eingesetzt, weil es als kaum zu brechen gilt. AUs Zeitmangel kann ich Deine Ideen leider nicht prüfen, aber behalte immer im Auge, dass in der Kryptologie sehr viel geforscht wird. Das soll jetzt wieder nicht heißen, dass Du Unrecht hast, aber wie gesagt, der Fachwelt ist momentan bei Rabin nur eine Schwäche wegen des Angriff mit bekanntem Geheimschlüssel bekannt. Faktorisieren kann sie nicht. Stern 10:35, 29. Jun 2004 (CEST)
replies: text: Auch das Finden der Faktoren von großen zusammengesetzten Zahlen ist letzten Endes nur Statistik. Findet man zufällig einen passenden Faktor, kann man durch Multiplikation leicht prüfen, ob es der richtige ist. Wenn man zum systematischen Durchprobieren aller Kandidaten 10^100 Jahre braucht, ist das auch mit der Statistik so eine Sache. Im Schnitt wird man nach der halben Zeit fündig, mit 5*10^99 immer noch ziemlich lange. Dass es keinen einfachen Weg zur Faktorisierung großer Zahlen gibt, ist nicht bewiesen. Man hat nur noch keinen gefunden, obwohl man seit langem danach sucht. Quantencomputer, wenn es sie denn bereits gäbe, sind in der Lage große Zahlen zu faktorisieren, daher ist man fieberhaft auf der Suche nach praktikablen Alternativen zu RSA, Rabin, ElGamal etc. --Rat 23:29, 29. Jun 2004 (CEST)
thread_title: Sicherheit Teil 2

message: Vielleicht sollte etwas früher erwähnt werden, dass nicht die Sicherheit beweisbar ist, sondern lediglich die Äquivalenz Rabin mit Schlüssel n knacken <=> Faktorisieren von n
Da die praktische Unmöglichkeit des Faktorisierens großer Zahlen zwar vermutet wird (mit gutem Grund) aber nicht bewiesen ist, ist das Rabin Verfahren "nur" genauso sicher, wie die Geheimhaltung der Faktoren von n. Sorgt man für die Eindeutigkeit der passenden Quadratwurzel, spielt man an den Voraussetzungen herum, so dass die Äquivalenz nicht mehr gilt. Es könnte sein, dass man sich damit irgendwo versehentlich ein Türchen öffnet, dass den Klartext offenbart, ohne dass man die Faktoren kennt. Welches Türchen das sein könnte, weiß niemand bzw. er sagt es nicht. Übrigens kann man das Verfahren auch gegen Chosen-Ciphertext Attacken sicher machen, aber eben auch nur unter Veränderung der Voraussetzungen, so dass die Äquivalenz flöten geht. Das Stichwort lautet OAEP (Optimal Asymmetric Encryption Padding). Ob sowas allerdings noch ins Wiki gehört? --Rat 00:08, 30. Jun 2004 (CEST)
thread_title:  Beweisbare Sicherheit 

message: Die genannte Kongruenzbedingung ist lediglich notwendig, um die Entschlüsselung erheblich zu vereinfachen. (Dann sind die Quadratwurzeln mit wenigen Rechenoperationen zu ermitteln). Ich würde den Absatz daher hinter "Entschlüsseln" als Zusatzinformation stellen --00:08, 30. Jun 2004 (CEST)
thread_title: Kongruenzbedingung

message: In dem Abschnitt steht:
"Jeder quadratische Rest c hat genau vier verschiedene Quadratwurzeln modulo n = pq."
Das ist i.A. falsch, denn: sei p=3,q=7, d.h. n=21 (beachte: 7=3 mod 4). Dann hat
z.B. die [7] die genau die Wurzeln [7] und [14]. (da 0=7 mod 7, insb. also
m_q = 0 (Def. von m_q siehe Abschnitt "Entschlüsselung")).79.225.247.185 12:59, 2. Apr. 2009 (CEST)
thread_title:  Fehler im Abschnitt "Verschlüsselung"