-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
16. Sep 2012
Gemachter Mann weil alleine schon die Preise und Ehrungen im Bereich Mathematik die Millionengrenze überschreiten dürften. Verheimlichen und an Geheimdienste verkaufen würde ich nicht im Traum in Erwägung ziehen da diese nachdem ich ihnen alles verraten habe sicherstellen müssen das dieses Geheimnis auch geheim bleibt. Mein Leben wäre beendet.
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
12. Nov 2011
Ja genauso aber man muß sicherstellen das alle drei Primzahlen unterschiedlich sind. Angenommen zwei Primzahlen wären gleich dann ergibt sich N = P^2 * Q, und das wäre wiederum eine sehr schlechte Idee ;) Es gäbe dann wieder bessere Faktorisierungsverfahren. Letzendlich ist das exakt das was Gammatester meinte.
Gruß Hagen
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
11. Nov 2011
Ne eben nicht, das Gegenteil wäre der Fall. Je zusammengestzter N ist desto kleiner werden seine Primzahlpotenzen der Faktorisation und das würde bedeuten das umgekehrt exponentiell die Geschwindigkeit des Knackens wächst. Es erleichtert also das Knakcen von RSA da es gerade an dem Punkt wodurch RSA erst sicher wird eine Schwäche einbaut.
Es gibt/gab Versuche mit RSA in dieser Richtung weil...
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
11. Nov 2011
Diese Annahme ist korrekt und falsch zugleich. Mathem. kann man RSA auch mit zusammengesetzten Zahlen machen das wäre dann ein RSA dessen N aus mehr als 2 Primzahlen besteht. Das ist aber kryptographisch nur dann vergleichbar sicher zu einem RSA Modul aus 2 Primzahlen wenn alle Primzahlen so groß sind wie die 2 Primzahlen. Dh. ein 1024 Bit RSA Schlüssel besteht aus zwei Primnzahlen a 512 Bit....
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
11. Nov 2011
Ja kann man. Die Sicherheit von RSA, bzw. jeder Kryptographie kannst du dir so vorstellen:
Ich baue einen riesigen Sandhaufen und setze mich drauf. Vorher berechne ich das ich 100 Jahre leben möchte und das mich keiner in dieser Zeit vom Haufen stoßen kann. Ergo berechne ich wie lange ein Angreifer benötigen würde um meinen Sandhaufen zu erklimmen. Dann schütte ich den Sandhaufen so hoch das...
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
11. Nov 2011
ich denke du verstehst mich falsch.
Du berechnest nicht P,Q direkt aus N sondern du gehst alle Primzahlen per Brute Force durch, also Trial & Error. Wenn es eine mathm. Formel gäbe mit der man aus N direkt dessen Primzahlfaktorization berechnen könnte dann wärste jetzt ein gemachter Mann.
Der RSA Schlüssel, bzw. dessen Sicherheit besteht nur aus P*Q=N wobei P,Q zur privaten Schlüsselform...
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
10. Nov 2011
Leider ist das was du als Beispiel bringst ebenfalls nicht richtig. Du berechnest nicht direkt aus dem öffentlichen Schlüssel den privaten sondern du testest alle Kandidaten durch bis es stimmt. Das ist ein Unterschied.
Man kann N faktorisieren und das wird letzendlich, nach meinem Wissenstand, immer ein Such-Algorithmus sein der letzendlich per Trial&Error funktioniert.
Ich kenne kein...
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
2. Jun 2006
Das stimmt ja auch:
1 = U * A + V * B, umgestellt zu unseren Parametern
1 = (E^-1) * E + V * Phi(N)
1 = -83 * 229 + 66 * 288
e^-1 = d = -83
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
2. Jun 2006
Falsch bzw. richtig ;)
Also nochmal
1 = D * E mod Phi(N) -> D = E^-1 mod Phi(N).
Wir arbeiten hier immer in Modularen Ringen und somit sind alle Resultate ganze Zahlen. Da das Modul Phi(N) und N positive Zahlen sind könnte man das sogar einschränken auf die natürlichen Zahlen, sprich ganze positive Zahlen.
Das was dich nun stört ist die separate Betrachtung von E^-1. Als einfache...
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
2. Jun 2006
repeat
repeat
P = RandomPrime() // Primzahl P erzeugen
Q = RandomPrime() // Primzahl Q erzeugen
N = P * Q // Public Modul N erzeugen
E = Random() mod (2^(Ln2(Ln2(N)) * 4)) // public Exponent erzeugen, sollt BitSize(BitSize(N))*4
// Bits groß...
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
1. Jun 2006
1 == e*d mod Phi(N), stellen wirs mal um ergibt dann
d = e^-1 mod Phi(N)
du musst also das Multiplikative Inverse von E berechen, also E^-1 mod X und hast dann D direkt berechnet.
Man macht dies intern fast immer mit dem Erweiterten ggT() oder in englisch dem extended GCD().
Der eggT() berechnet
D = U * A + V * B
-
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
1. Jun 2006
Sorry aber deine Frage ist sehr unklar.
Du möchtest den Privaten RSA Schlüssel aus dem öffentlichen Exponenten E und Phi == (P-1) * (Q-1) berechnen. Das geht nur über die Faktorization des öffentlichen Modulus N = P * Q. Dh. das was du machen möchtest ist es einen öffentlichen RSA Schlüssel zu knacken, richtig ?
Falls die beiden Primzahlen P,Q entsprechend groß und sauber gewählt wurden,...