Faktorisieren ist nur im wesentlich äquivalent zur Lösung des RSA-Problems, wenn die Parameter keine besonderen Strukturen haben und das ganze Verfahren sauber implementiert ist.
Es ist zB leicht aus diesem öffentlichen 1024-Bit-Schlüssel
Code:
n = 11035463747532637445226478138892854615229059147212549
68896762858332342093837672821832724506937118395830515
42309222330083659850689603243353126318276768089312034
96804364642955524979983163555511613010051847637101545
96069745366463800922497122292314425797037111134964839
84161919815499556858239868898947449128902601
e = 26326725747121311076993928624541179659819098893929617
86499375829797582796176216915533598300276887773916687
83001258781296352479713656037757260244893098410205283
74818927737874803364784332966924327053140787641069444
36542882371682465118650762071857029055046908790050276
263181232199669270812448604459328490393
innerhalb von Millisekunden p und q auszurechnen. Warum? Weil RSA nur dann sicher ist, wenn die Schlüssellänge ausreichend ist
und Schlüsselerzeugung + Verfahrensimplementation korrekt sind. Warum ist das hier nicht der Fall? Antwort: hier ist der
private Exponent
Code:
d = 25490678353771676657590727529736038476443354503415832
014317168968016770420021
viel zu klein, so daß die sogenannte Wiener-Attacke angewendet werden kann. Es gibt zahlreiche weitere Fehlermöglichkeiten für RSA-Implementationen.