Matematik
Pollards rho algortime
Hej er der nogen som kan hjælpe mig med at forstå pollards rho algortime
Hvordan faktoriser man 262063
ved hjælp af Pollards ρ algoritme med funktionen ??(??) = ??^2 + 1.
Det ville være aller bedst hvis der en som kan uploade et maple dokument, hvor det er vist, men ellers er det fint med en beskrivelse nedenfor
Svar #1
25. marts 2020 af peter lind
Du kan da også prøve hvilken ulige tal der går op tallet. Det skulle højst tage lidt over 500 forsøg. Det er ingenting i et program. Det kan også klares ret nemt i et regneark
Du kan jo også bruge dit CAS værktøj
Svar #2
25. marts 2020 af andersmogense (Slettet)
Peter lind, tror ikke helt jeg forstår dit svar, eller måske forstår du ikke hvad jeg søger. Mit problem er jeg ikke helt forstår Pollards rho algoritme og dermed søger en slags vejledning til hvordan med faktoriserer 262063 med en funktion som er f(x)=x^2+1
Svar #3
25. marts 2020 af peter lind
Algoritmen er beskrevet i henvisningen i #1
Hvis der er noget du ikke forstår der må du vende tilbage med en forklaring om hvad du ikke forstår
Svar #4
25. marts 2020 af andersmogense (Slettet)
Jamen tror jeg mangler en forståelse af algoritmen og har læst dit link til wikipedia nu, men har stadig nogle ting jeg undrer mig over, men som jeg ikke kan forklare. Men en ting jeg søger svar på er dog, hvordan RSA kan angribes med pollards rho
Har du adgang til maple?
Svar #5
25. marts 2020 af peter lind
I RSA er der et hemmeligt tal n=p*q Algoritmen bliver brudt hvis man kender p og q. Kodningen sker med et tal e. Med euklids udviddede algoritme kan man nemt finde d, og så er algoritmen brudt
Jeg har ikke maple
Svar #6
25. marts 2020 af andersmogense (Slettet)
Jamen det forstår jeg godt, det jeg bare ikke forstår er hvordan man gør det med pollards rho.
Har fået denne tilsendt, men forstår ikke, hvad 13 og 503 betyder
Svar #8
25. marts 2020 af peter lind
Den implementere bare pollands algoritme'
I stedet for at starte med x=2 starter den med et tilfældigt tal mellem 1 og n-1
Hvad den ikke siger men hvad den gør i eksemplet er at rækkefølgen af x er derefter derefter x, f(x), f(f(x)), f(f(f(x))) ... o.s.v.
det er let at kontrollere at man i eksemplet bruger 2, f(2) = 5, f(5) = 26, f(26) = 677
Der er da ikke noget 13 og 503
Svar #9
25. marts 2020 af andersmogense (Slettet)
Tusind tak for hjælpen det hjalp en del, men i nede i højre hjørne af billedet får man svaret 13 og 503
Svar #11
25. marts 2020 af andersmogense (Slettet)
Er det rigtigt forstået at f(2)=5 f(5)=26 osv. når jeg har gjort det 13 gange så får jeg 262063?
Svar #12
25. marts 2020 af peter lind
Ja bortset fra at du ikke får 262063 men får 503 der går op i 262063. Du har altså fundet en faktor i 262063
Svar #13
25. marts 2020 af andersmogense (Slettet)
Ja 503 er en primfaktor i 262063, men de 13 iterationer forstår jeg ikke helt. Hvad er det der er 13 gentagelser af?
Svar #14
25. marts 2020 af peter lind
Det er antal gange den har kørt gennem algoritmen og i dette tilfælde antal gange den har beregnet GCD. I eksemplet på internettet er det angivet som i. Her er den kørt 4 gange gennem algoritmen
Svar #15
25. marts 2020 af andersmogense (Slettet)
Det begynder at give mening, men når du siger GCD, så er det jo det samme som sfd (største fælles divisor) så for hvad er 503 fælles. Men det kan da ikke passe for både tallet selv 262063 og 521 er større og går op i 262063?
Svar #17
26. marts 2020 af andersmogense (Slettet)
Glem de 2 forrige spørgsmål. Ud fra vedhæftet fil, kan du så forklare mig, hvorfor jeg ikke får 521 efter de 13 iterationer?
Svar #18
26. marts 2020 af andersmogense (Slettet)
Okay har fundet ud af mine forhen værende spørgsmål, så bare glem dem, og indtil videre tusind tak Peter Lind. Nu har jeg brugt en del af dagen på at selv studere, jeg er kommet en del længere. Ved godt at når jeg har lavet et vis antal iterationer og får den ene primfaktor, så kan jeg regne den anden ud. Her får jeg 503 og kan udregne at 521 er den anden. Hvordan kan man angribe RSA med dette system? Er det fordi man kan bruge det til at udregne phi(N) eller N eller noget helt tredje?
Svar #19
26. marts 2020 af peter lind
Man kender jo e. For d gælder at e*d ≡ mod (p-1))(q-1)+1 dvs. at d er den inverse til e modulo (p-1)(q-1)+1. Den kan man finde ved hjælp af euklids udvidede algoritme
Svar #20
26. marts 2020 af andersmogense (Slettet)
Ja ved godt man kan bruge euklids algoritme, men hvordan kan man bruge pollards rho til at angribe RSA?

