150 likes | 260 Views
Factoring N=(p r )*q for large r. Ακέραιοι της μορφής N=(p r )*q Παρατηρήθηκε ότι η RSA decryption γίνεται πιο γρήγορα όταν το Ν είναι αυτής της μορφής . Electronic cash scheme για Ν= p 2 q. Εισαγωγή. Δυο λόγια για τη μέθοδο. Με τη μέθοδο αυτή
E N D
Ακέραιοι της μορφής N=(pr)*q Παρατηρήθηκε ότι η RSA decryption γίνεται πιο γρήγορα όταν το Ν είναι αυτής της μορφής. Electronic cash scheme για Ν=p2q Εισαγωγή
Δυο λόγια για τη μέθοδο Με τη μέθοδο αυτή • Για p,q πρώτους σταθερού μήκους ο N=(pr)*q παραγοντοποιείται ευκολότερα όσο μεγαλώνει το r. • Για r=O(logp) o αλγόριθμος παραγοντοποιεί το Ν σε πολυωνυμικό χρόνο. • Για r=O(log1/2p) o αλγόριθμος είναι γρηγορότερος από τον ταχύτερο μέχρι στιγμής ECM.
Lattices • Έστω ui,i=1,2,…,d γραμμικά ανεξάρτητα διανύσματα που ανήκουν στο Ζn.Το σύνολο όλων των ακέραιων γραμμικών συνδυασμών των ui λέγεται lattice.Είναι πλήρους βαθμού αν d=n. • Ένα πλήρους διάστασης lattice έχει ορίζουσα ίση με την ορίζουσα ενός dxd πίνακα με στήλες τα διανύσματα βάσης ui. • (LLL)Έστω L ένα lattice που παράγεται από τα <u1,…,ud>.Τότε ο αλγόριθμος LLL θα μας δώσει ένα διάνυσμα u τέτοιο ώστε: ||υ||<=2d/2det(L)1/d
Ιστορική αναδρομή • Ο Coppersmith έδειξε ότι γνωρίζοντας τα μισά πιο σημαντικά bits του π,δεχόμενοι ότι p και q έχουν το ίδιο μέγεθος,μπορούμε να παραγοντοποιήσουμε τον N=pq σε πολυωνυμικό χρόνο.(θεώρημα επίλυσης διμεταβλητών εξισώσεων στους ακεραίους). • Ο Howgrave-Graham έφτασε με διαφορετικό τρόπο στα ίδια αποτελέσματα,με επίλυση εξισώσεων μίας μεταβλητής στους ακεραίους. • Εμείς χρησιμοποιούμε τη μέθοδο του Howgrave-Graham.
Το θεώρημα Howgrave-Graham • Έστω h(x)=Σιαιχι,τότε ||h(x)||2=Σι|αι2|. • (HG98)Έστω h(x) ανήκει στο Ζ[x] πολυώνυμο βαθμού d.Υποθέτουμε ότι: • h(x0)=0modprmγια r,m θετικούς ακεραίους και |x0|<Χ • ||h(xΧ)||<prm/d1/2 Τότε η h(x0)=0 ισχύει στους ακεραίους.
Η βασική ιδέα Δίνονται: • N=(pr)*q • c,όπου q<pc • r Έστω ένας ακέραιος Ρ ώστε |Ρ-p|<X για κάποιο μεγάλο X και το πολυώνυμο f(x)=(P+x)r.Τότε το x0=p-P ικανοποιεί την f(x0)=0modpr,|x0|<X. Σχηματίζουμε ένα lattice με διανύσματα συντελεστές πολυωνύμων. Για κατάλληλο Χ ο LLL θα μας δώσει ένα διάνυσμα h(xX) ώστε ||h(xΧ)||<prm/d1/2.Αυτό μας δίνει την πολυωνυμική εξίσωση h(x0)=0modprm.Από το θεώρημα HG έχουμε h(x0)=0 στους ακεραίους και λύνοντάς τη βρίσκουμε το x0.Τέλος p=P+x0
Σχηματισμός lattice • Έστω m,d θετικοί ακέραιοι.Θεωρούμε τα πολυώνυμα: gi,k(x)=Nm-kxifk(x), με k=0,…,m,i>=0. • Το lattice L που θα χρησιμοποιήσουμε παράγεται από τα διανύσματα συντελεστών των πολυωνύμων: • gi,k(xΧ) για k=0,…,m-1 και i=0,…,r-1 • gj,m(xX) για j=0,...,d-mr-1
LLL • det(L)=det(M)<Nrm(m+1)/2Xb/2,b=d2 • Από τον LLL έχουμε ότι υπάρχει u στο L ώστε:||u||d<=2b/2det(L)<=2b/2 Nrm(m+1)/2Xb/2(1). • Το u είναι το διάνυσμα συντελεστών κάποιου πολυωνύμου h(xX) με ||h(xX)||=||u||.Ακόμα το h(xX) είναι ακέραιος γρ.συνδυασμός των gi,k(xX),άρα h(x0)=0modprm.
X,m,d • Για να εφαρμόσουμε το θ.HG πρέπει ||h(xΧ)||<prm/d1/2<prm.Από (1) παίρνουμε : (2X)b/2<prmdN-rm(m+1)/2.Όμως N<pr+cάρα (2X)b/2<prmd-r(r+c)m(m+1)/2. • Θέλουμε το μεγαλύτερο Χ που ικανοποιεί το φράγμα.Οι βέλτιστες τιμές για τα m,d είναι m0=d/(r+c)-1/2 και d0 τέτοιο ώστε d0/(r+c)-1/2 να είναι μεταξύ 1/2r+c από ακέραιο. • Έτσι παίρνουμε X<p1-c/(r+c)-2r/d. • d=2r(r+c)?
Πολυπλοκότητα • exp(n)=2n • Θεώρημα:Έστω N=prq και q<pcγια κάποιο c.Ο παράγοντας p μπορεί να βρεθεί από τα N,r,c από τον αλγόριθμο σε χρόνο: exp(logp(c+1/r+c))O(γ) όπου γ είναι ο χρόνος που χρειάζεται o LLL για lattice διάστασης O(r2) με στοιχεία μεγέθους O(rlogN).Ο αλγόριθμος είναι ντετερμινιστικός και ανήκει στο PSPACE.
Παρατηρήσεις • Όταν c=1 τότε η πολυπλοκότητα είναι της τάξης O(1/r).Έτσι όσο μεγαλύτερο το r,τόσο ευκολότερη η παραγοντοποίηση.Για r=εlogp,ε σταθερά,o αλγόριθμος τρέχει σε πολυωνυμικό χρόνο. Για μικρό r ή για μεγάλο c o αλγόριθμος τρέχει σε εκθετικό χρόνο. (Πάντως οι περισσότερες εφαρμογές έχουν c=1 ή μικρό).
Method Lattice Factoring Elliptic Curve Number Field Sieve Asymptotic running time exp((logp)1-ε) exp(1.414(logp)1/2(loglogp)1/2) exp(1.902(logN)1/3(loglogN)2/3 Σύγκριση με άλλες μεθόδους
Στην πράξη όμως • Για μικρούς ακεραίους και οι δύο άλλες μέθοδοι είναι ταχύτερες. • Όταν ο ακέραιος που θέλουμε να παραγοντοποιήσουμε έχει μέγεθος πάνω από 1000 bits τότε το Number Field Sieve δεν είναι πρακτικό.Όμως το ECM υπερτερεί αισθητά. • Αλλά:ο χρόνος του ECM αυξάνει εκθετικά όσο αυξάνεται το μέγεθος του ακεραίου,ενώ του LFM πολυωνυμικά.Εικάζεται ότι το LFM θα είναι ταχύτερο στην πράξη για p,q τουλάχιστον 400 bits και r>=20.(Δηλαδή πολύ μεγάλους ακέραιους)
Συμπεράσματα • Για ακεραίους της μορφής N=prq το πρόβλημα της παραγοντοποίησης γίνεται πιο εύκολο όσο μεγαλώνει το r,και για ορισμένες τιμές του r λύνεται σε πολυωνυμικό χρόνο.Επομένως οι ακέραιοι αυτοί πρέπει να χρησιμοποιούνται με προσοχή. • Ο αλγόριθμος δεν είναι ταχύτερος στην πράξη από τον ECM.Μπορεί να γίνει για μεγάλες τιμές των p,q,r. • Μειονέκτημα του αλγόριθμου:Για κάθε προσέγγιση P του p πρέπει να ξανατρέξουμε τον LLL.Εάν δεν δίνεται η προσέγγιση πρέπει να την βρούμε ψάχνοντας εξαντλητικά. • Ανοικτό πρόβλημα:Γενίκευση αλγορίθμου γιαακεραίους της μορφής N=prqs.