1
7/26/2019 Pollard's Rho Method for Integer Factorization http://slidepdf.com/reader/full/pollards-rho-method-for-integer-factorization 1/1 Pollard’s rho method for integer factorization Take a random simple polynomial f(x) Select random x[0] modulo N  Calculate the sequence x[k] = f(x[k – 1]) (mod N) Try to find i, j such that gcd(x[i] – x[j], N) > 1 Example Let N  = 2201563909 Take f(x) = x 2 +1 and x[0] = 1 k x[k] k x[k] 0 1 25 1077875755 1 2 26 1303402581 2 5 27 1707604086 3 26 28 1450968387 4 677 29 1591943676 5 458330 30 1123057002 6 917817546 31 1926309314 7 1743380218 32 569611500 8 1816802026 33 979736529 9 695887043 34 1053690280 10 817990692 35 939106819 11 48986256 36 2025326098 12 1453621353 37 1125959908 13 1918793074 38 1673844090 14 1387024984 39 315866819 15 164159872 40 341237546 16 390550985 41 785965123 17 202786826 42 451119219 18 1910461892 43 2058907796 19 1089532744 44 750224477 20 494556923 45 15248908 21 1112874269 46 15123885 22 47867972 47 415167671 23 1259747674 48 739925488 24 688846363 49 81649162 We have x[43] – x[11] = 2009921540 (mod N) and gcd(2009921540, N) = 1201 We also have x[45] – x[7] = 473432599 (mod N) and gcd(473432599, N) = 1301 We get N = 1201*1301*1409

Pollard's Rho Method for Integer Factorization

Embed Size (px)

Citation preview

Page 1: Pollard's Rho Method for Integer Factorization

7/26/2019 Pollard's Rho Method for Integer Factorization

http://slidepdf.com/reader/full/pollards-rho-method-for-integer-factorization 1/1

Pollard’s rho method for integer factorization

Take a random simple polynomial f(x) 

Select random x[0] modulo N  

Calculate the sequence x[k] = f(x[k – 1]) (mod N)

Try to find i, j such that gcd(x[i] – x[j], N) > 1

Example

Let N  = 2201563909

Take f(x) = x2+1 and x[0] = 1

k x[k] k x[k]0 1 25 1077875755

1 2 26 1303402581

2 5 27 1707604086

3 26 28 1450968387

4 677 29 1591943676

5 458330 30 1123057002

6 917817546 31 1926309314

7 1743380218 32 569611500

8 1816802026 33 979736529

9 695887043 34 1053690280

10 817990692 35 939106819

11 48986256 36 2025326098

12 1453621353 37 1125959908

13 1918793074 38 1673844090

14 1387024984 39 315866819

15 164159872 40 341237546

16 390550985 41 785965123

17 202786826 42 451119219

18 1910461892 43 2058907796

19 1089532744 44 750224477

20 494556923 45 1524890821 1112874269 46 15123885

22 47867972 47 415167671

23 1259747674 48 739925488

24 688846363 49 81649162

We have x[43] – x[11] = 2009921540 (mod N) and gcd(2009921540, N) = 1201

We also have x[45] – x[7] = 473432599 (mod N) and gcd(473432599, N) = 1301

We get N = 1201*1301*1409