jukaukor

PollardRho.jl

Sep 3rd, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. # RSA-avaimen murtaminen: tulontekijöiden p ja q löytäminen
  2. # Pollard Pho-menetelmällä
  3. # Sopii suurillekin (yli 100 bit avaimille)
  4. # Pääosa source: Pollard Rho algorithm - Wikipedia
  5. # Juhani Kaukoranta, versio 4.9.2019
  6. # Julia ohjelma: PollardRho.jl
  7.  
  8. function PollardRho(n)
  9. x, y, p = 2, 2, 1
  10. f(x) = mod(x^2+1, n)
  11. while p == 1
  12. x = f(x)
  13. y = f(f(y))
  14. p = gcd(abs(x-y),n)
  15. end
  16. if p == n
  17. println( "Ei tekijöitä, avain alkuluku tms")
  18. else
  19. q = div(n,p)
  20. println("Luvun ",n," tekijät:")
  21. println(p," ja ",q)
  22. end
  23. end
  24. time0 = time()
  25. PollardRho(big(901034073179246410820309035297))
  26. time1 = time()
  27. print("Aikaa kului ",time1-time0," sekuntia")
Advertisement
Add Comment
Please, Sign In to add comment