Am 25.07.12 23:52, schrieb Gottfried Helms:
> Wir hatten kürzlich eine Diskussion über RSA-Verschlüsselung.
> Viel mehr, als daß die Schwierigkeit des Code-Knackens
> darin besteht, die Faktoren eines Primzahl-Produkts g=p*q,
> wobei p und q vielstellige Primzahlen sind, z.B. aus dem Bereich
> von 10^50 oder 10^100 oder so, zu finden, weiß ich gar nicht.
>
> Nach meinem (zugegebenermaßen primitiven) Verständnis besteht
> die (theoretische) Schwierigkeit
> a) in der Anzahl der Primzahlen in einem Bereich der x-stelligen
> Zahlen
> b) in dem Problem in solch einem Bereich zwei Primfaktoren p*q zu
> finden, die p*q = g definieren.
Wie Robert schon schrieb, kann man leicht mit dem kleinen Fermat ein
paar Zahlen finden, die mit großer Wahrscheinlichkeit prim sind. Das
macht sogar Wolframalpha in Sekundenbruchteilen:
http://www.wolframalpha.com/input/?i=nextprime%281e50%29
Anschließend kann man mit dem AKS-Test die Primalität sogar beweisen, um
sicher zu gehen. AKS ist zwar aufwendiger, als ein paar mal
a^(n-1) mod n =? 1
zu berechnen, jedoch liefert es als nachgeschobenes Verfahren einen
Beweis. Dass umgekehrt die Faktorisierung viel schwieriger ist, liegt
daran, dass es eben nochmal exponentiell (in der Anzahl der Stellen)
aufwendig, alle möglichen Faktoren durchzugehen, während die
Primzahltests polynomiell in der Anzahl der Stellen zu haben sind. Man
muss lediglich darauf achten, dass p-q ebenfalls keine kleine Zahl ist,
sonst kann man mit dem Fermatschen Faktorisierungsalgorithmus das
Produkt zerlegen. Bei den üblichen Schlüssellängen reicht es aber
durchaus, p in der Nähe von 2*q zu suchen.
Christian