Knowledge (XXG)

Pollard's rho algorithm for logarithms

Source 📝

1822: 1494: 3024:
i x a b X A B ------------------------------ 1 2 1 0 10 1 1 2 10 1 1 100 2 2 3 20 2 1 1000 3 3 4 100 2 2 425 8 6 5 200 3 2 436 16 14 6 1000 3 3 284 17 15 7 981 4 3 986 17 17 8 425 8 6 194
1817:{\displaystyle {\begin{aligned}g(x,k)&={\begin{cases}k&x\in S_{0}\\2k{\pmod {n}}&x\in S_{1}\\k+1{\pmod {n}}&x\in S_{2}\end{cases}}\\h(x,k)&={\begin{cases}k+1{\pmod {n}}&x\in S_{0}\\2k{\pmod {n}}&x\in S_{1}\\k&x\in S_{2}\end{cases}}\end{aligned}}} 1399: 4027: 3108: 298: 3171: 1486: 1444: 1499: 642: 3325: 487: 3411: 3370: 1273: 1233: 765: 731: 4031: 92: 697: 3539: 1174: 374: 3267: 3204: 1070: 1010: 3572: 1265: 418: 155: 59: 3230: 2309: 2283: 345: 112: 930: 903: 872: 845: 818: 3025:
17 19 .............................. 48 224 680 376 86 299 412 49 101 680 377 860 300 413 50 505 680 378 101 300 415 51 1010 681 378 1010 301 416
3455: 3431: 1142: 1118: 1090: 1030: 970: 950: 788: 574: 554: 534: 514: 398: 325: 238: 218: 198: 178: 135: 3532: 3764: 4092: 3706: 3525: 3635: 3812: 3031: 577: 3610: 3721: 3759: 3696: 243: 3640: 3603: 3901: 3792: 3711: 3701: 3577: 3729: 3982: 3113: 1449: 1407: 3977: 3906: 3807: 3373: 583: 3944: 490: 23: 3858: 1394:{\displaystyle f(x)={\begin{cases}\beta x&x\in S_{0}\\x^{2}&x\in S_{1}\\\alpha x&x\in S_{2}\end{cases}}} 4023: 4013: 3972: 3748: 3742: 3716: 3587: 3473: 3272: 423: 31: 4008: 3949: 3379: 3338: 1179: 736: 702: 3911: 3784: 3630: 3582: 64: 3926: 3817: 650: 4037: 3987: 3967: 645: 1147: 350: 3688: 3663: 3592: 35: 4047: 4042: 3934: 3916: 3891: 3853: 3597: 3239: 3176: 1688: 1532: 1297: 1035: 975: 4087: 4052: 4018: 3939: 3843: 3802: 3797: 3774: 3678: 301: 3883: 3830: 3827: 3668: 3567: 3490: 768: 27: 3624: 3617: 4003: 3959: 3673: 3650: 1238: 699:
is assumed to be random-looking and thus is likely to enter into a loop of approximate length
2311:, 2 generates the group of units modulo 1019). The algorithm is implemented by the following 403: 140: 44: 3848: 3482: 3209: 2288: 2262: 330: 305: 97: 908: 881: 850: 823: 796: 3838: 3737: 791: 3868: 3769: 3754: 3658: 3559: 3440: 3416: 1127: 1103: 1075: 1015: 955: 935: 773: 559: 539: 519: 499: 383: 377: 310: 223: 203: 183: 163: 120: 4081: 3863: 3548: 875: 3873: 3233: 1121: 115: 3503: 380:
the exponents are equivalent modulo the order of the base, in this case modulo
3517: 3551: 767:
steps. One way to define such a function is to use the following rules:
3494: 3467:
Pollard, J. M. (1978). "Monte Carlo methods for index computation (mod
3434: 158: 3502:
Menezes, Alfred J.; van Oorschot, Paul C.; Vanstone, Scott A. (2001).
3486: 2312: 3103:{\displaystyle 2^{681}5^{378}=1010=2^{301}5^{416}{\pmod {1019}}} 3521: 3385: 3344: 1806: 1650: 1387: 489:. Solutions to this equation are easily obtained using the 293:{\displaystyle \alpha ^{a}\beta ^{b}=\alpha ^{A}\beta ^{B}} 4068:
indicate that algorithm is for numbers of special forms
2259:
Consider, for example, the group generated by 2 modulo
3166:{\displaystyle (416-378)\gamma =681-301{\pmod {1018}}} 1481:{\displaystyle h:G\times \mathbb {Z} \to \mathbb {Z} } 1439:{\displaystyle g:G\times \mathbb {Z} \to \mathbb {Z} } 3443: 3419: 3382: 3341: 3275: 3242: 3212: 3179: 3116: 3034: 2291: 2265: 1497: 1452: 1410: 1276: 1241: 1182: 1150: 1130: 1106: 1078: 1038: 1018: 978: 958: 938: 911: 884: 853: 826: 799: 776: 739: 705: 653: 586: 562: 542: 522: 502: 426: 406: 386: 353: 333: 313: 246: 226: 206: 186: 166: 143: 123: 100: 67: 47: 3996: 3958: 3925: 3882: 3826: 3783: 3687: 3649: 3558: 637:{\displaystyle x_{i}=\alpha ^{a_{i}}\beta ^{b_{i}}} 3449: 3425: 3405: 3364: 3319: 3261: 3224: 3198: 3165: 3102: 2303: 2277: 1816: 1480: 1438: 1393: 1259: 1227: 1168: 1136: 1112: 1084: 1064: 1024: 1004: 964: 944: 924: 897: 866: 839: 812: 782: 759: 725: 691: 636: 568: 548: 528: 508: 481: 412: 392: 368: 339: 319: 292: 232: 212: 192: 172: 149: 129: 106: 86: 53: 3376:, the running time of the combined algorithm is 3533: 3320:{\displaystyle 2^{519}=1014=-5{\pmod {1019}}} 482:{\displaystyle (B-b)\gamma =(a-A){\pmod {n}}} 8: 3406:{\displaystyle {\mathcal {O}}({\sqrt {p}})} 3365:{\displaystyle {\mathcal {O}}({\sqrt {n}})} 1228:{\displaystyle G=S_{0}\cup S_{1}\cup S_{2}} 3540: 3526: 3518: 760:{\displaystyle {\sqrt {\frac {\pi n}{8}}}} 726:{\displaystyle {\sqrt {\frac {\pi n}{8}}}} 3442: 3418: 3393: 3384: 3383: 3381: 3352: 3343: 3342: 3340: 3301: 3280: 3274: 3247: 3241: 3211: 3184: 3178: 3147: 3115: 3084: 3078: 3068: 3049: 3039: 3033: 2290: 2264: 1797: 1772: 1744: 1728: 1700: 1683: 1641: 1613: 1594: 1566: 1550: 1527: 1498: 1496: 1474: 1473: 1466: 1465: 1451: 1432: 1431: 1424: 1423: 1409: 1378: 1350: 1332: 1318: 1292: 1275: 1240: 1219: 1206: 1193: 1181: 1149: 1129: 1105: 1077: 1056: 1043: 1037: 1017: 996: 983: 977: 957: 937: 916: 910: 889: 883: 858: 852: 831: 825: 804: 798: 775: 740: 738: 706: 704: 677: 664: 652: 626: 621: 609: 604: 591: 585: 561: 541: 521: 501: 463: 425: 405: 385: 360: 355: 352: 332: 312: 284: 274: 261: 251: 245: 225: 205: 185: 165: 142: 122: 99: 72: 66: 46: 420:is one of the solutions of the equation 87:{\displaystyle \alpha ^{\gamma }=\beta } 692:{\displaystyle f:x_{i}\mapsto x_{i+1}} 20:Pollard's rho algorithm for logarithms 3021:The results are as follows (edited): 376:and noting that two powers are equal 7: 874:of approximately equal size using a 3309: 3155: 3092: 2926:"%3d %4d %3d %3d %4d %3d %3d 1752: 1745: 1708: 1701: 1621: 1614: 1574: 1567: 1169:{\displaystyle \alpha ,\beta \in G} 471: 369:{\displaystyle {\alpha }^{\gamma }} 3335:The running time is approximately 14: 3749:Special number field sieve (SNFS) 3743:General number field sieve (GNFS) 3511:Handbook of Applied Cryptography 580:to find a cycle in the sequence 3302: 3262:{\displaystyle \gamma _{2}=519} 3148: 3085: 578:Floyd's cycle-finding algorithm 464: 3400: 3390: 3359: 3349: 3313: 3303: 3206:is a solution as expected. As 3199:{\displaystyle \gamma _{1}=10} 3159: 3149: 3129: 3117: 3096: 3086: 1756: 1746: 1712: 1702: 1673: 1661: 1625: 1615: 1578: 1568: 1517: 1505: 1470: 1428: 1286: 1280: 1251: 1065:{\displaystyle x_{i}\in S_{2}} 1005:{\displaystyle x_{i}\in S_{1}} 670: 475: 465: 460: 448: 439: 427: 22:is an algorithm introduced by 1: 3707:Lenstra elliptic curve (ECM) 3372:. If used together with the 3236:, there is another solution 491:extended Euclidean algorithm 4093:Number theoretic algorithms 2404:/* 2^{10} = 1024 = 5 (N) */ 2383:/* generator */ 2362:/* N = 1019 -- prime */ 2285:(the order of the group is 4109: 4014:Exponentiation by squaring 3697:Continued fraction (CFRAC) 3474:Mathematics of Computation 4061: 157:. The algorithm computes 3374:Pohlig–Hellman algorithm 2317: 1859:, or failure Initialise 1260:{\displaystyle f:G\to G} 3927:Greatest common divisor 413:{\displaystyle \gamma } 150:{\displaystyle \alpha } 54:{\displaystyle \gamma } 41:The goal is to compute 32:Pollard's rho algorithm 4038:Modular exponentiation 3451: 3427: 3407: 3366: 3321: 3263: 3226: 3225:{\displaystyle n=1018} 3200: 3167: 3104: 2305: 2304:{\displaystyle n=1018} 2279: 2278:{\displaystyle N=1019} 1818: 1482: 1440: 1395: 1261: 1229: 1170: 1138: 1114: 1086: 1066: 1026: 1006: 966: 946: 926: 899: 868: 841: 814: 784: 761: 727: 693: 638: 570: 550: 530: 510: 483: 414: 394: 370: 341: 340:{\displaystyle \beta } 321: 294: 234: 214: 194: 174: 151: 131: 108: 107:{\displaystyle \beta } 88: 55: 30:problem, analogous to 16:Mathematical algorithm 3765:Shanks's square forms 3689:Integer factorization 3664:Sieve of Eratosthenes 3452: 3433:is the largest prime 3428: 3408: 3367: 3322: 3264: 3227: 3201: 3168: 3105: 2306: 2280: 1819: 1483: 1441: 1396: 1262: 1230: 1171: 1139: 1115: 1087: 1067: 1027: 1007: 967: 947: 927: 925:{\displaystyle S_{0}} 900: 898:{\displaystyle x_{i}} 869: 867:{\displaystyle S_{2}} 842: 840:{\displaystyle S_{1}} 815: 813:{\displaystyle S_{0}} 785: 762: 728: 694: 639: 571: 551: 531: 511: 484: 415: 395: 371: 342: 322: 295: 235: 215: 195: 175: 152: 132: 109: 89: 56: 36:integer factorization 26:in 1978 to solve the 4043:Montgomery reduction 3917:Function field sieve 3892:Baby-step giant-step 3738:Quadratic sieve (QS) 3441: 3417: 3380: 3339: 3273: 3240: 3210: 3177: 3114: 3032: 2289: 2263: 1495: 1450: 1408: 1274: 1239: 1180: 1148: 1128: 1104: 1076: 1036: 1016: 976: 956: 936: 909: 882: 851: 824: 797: 774: 737: 703: 651: 584: 560: 540: 520: 500: 424: 404: 384: 351: 331: 311: 300:. If the underlying 244: 224: 204: 184: 164: 141: 121: 98: 65: 45: 4053:Trachtenberg system 4019:Integer square root 3960:Modular square root 3679:Wheel factorization 3631:Quadratic Frobenius 3611:Lucas–Lehmer–Riesel 576:the algorithm uses 496:To find the needed 3945:Extended Euclidean 3884:Discrete logarithm 3813:Schönhage–Strassen 3669:Sieve of Pritchard 3447: 3423: 3403: 3362: 3317: 3259: 3222: 3196: 3163: 3100: 2301: 2275: 1884:← 1 ∈ 1814: 1812: 1805: 1649: 1478: 1436: 1391: 1386: 1257: 1225: 1176:, and a partition 1166: 1134: 1110: 1082: 1062: 1022: 1002: 962: 942: 922: 895: 864: 837: 810: 780: 757: 723: 689: 634: 566: 546: 526: 506: 479: 410: 390: 366: 337: 327:, by substituting 317: 290: 230: 210: 190: 170: 147: 127: 104: 84: 51: 28:discrete logarithm 4075: 4074: 3674:Sieve of Sundaram 3450:{\displaystyle n} 3426:{\displaystyle p} 3398: 3357: 1833:: a generator of 1137:{\displaystyle n} 1113:{\displaystyle G} 1085:{\displaystyle b} 1025:{\displaystyle a} 965:{\displaystyle b} 945:{\displaystyle a} 932:then double both 783:{\displaystyle G} 755: 754: 721: 720: 569:{\displaystyle B} 549:{\displaystyle A} 529:{\displaystyle b} 509:{\displaystyle a} 393:{\displaystyle n} 320:{\displaystyle n} 233:{\displaystyle B} 213:{\displaystyle A} 193:{\displaystyle b} 173:{\displaystyle a} 130:{\displaystyle G} 4100: 4024:Integer relation 3997:Other algorithms 3902:Pollard kangaroo 3793:Ancient Egyptian 3651:Prime-generating 3636:Solovay–Strassen 3549:Number-theoretic 3542: 3535: 3528: 3519: 3514: 3508: 3498: 3481:(143): 918–924. 3456: 3454: 3453: 3448: 3432: 3430: 3429: 3424: 3412: 3410: 3409: 3404: 3399: 3394: 3389: 3388: 3371: 3369: 3368: 3363: 3358: 3353: 3348: 3347: 3326: 3324: 3323: 3318: 3316: 3285: 3284: 3268: 3266: 3265: 3260: 3252: 3251: 3231: 3229: 3228: 3223: 3205: 3203: 3202: 3197: 3189: 3188: 3172: 3170: 3169: 3164: 3162: 3109: 3107: 3106: 3101: 3099: 3083: 3082: 3073: 3072: 3054: 3053: 3044: 3043: 3017: 3014: 3011: 3008: 3005: 3002: 2999: 2996: 2993: 2990: 2987: 2984: 2981: 2978: 2975: 2972: 2969: 2966: 2963: 2960: 2957: 2954: 2951: 2948: 2945: 2942: 2939: 2936: 2933: 2930: 2927: 2924: 2921: 2918: 2915: 2912: 2909: 2906: 2903: 2900: 2897: 2894: 2891: 2888: 2885: 2882: 2879: 2876: 2873: 2870: 2867: 2864: 2861: 2858: 2855: 2852: 2849: 2846: 2843: 2840: 2837: 2834: 2831: 2828: 2825: 2822: 2819: 2816: 2813: 2810: 2807: 2804: 2801: 2798: 2795: 2792: 2789: 2786: 2783: 2780: 2777: 2774: 2771: 2768: 2765: 2762: 2759: 2756: 2753: 2750: 2747: 2744: 2741: 2738: 2735: 2732: 2729: 2726: 2723: 2720: 2717: 2714: 2711: 2708: 2705: 2702: 2699: 2696: 2693: 2690: 2687: 2684: 2681: 2678: 2675: 2672: 2669: 2666: 2663: 2660: 2657: 2654: 2651: 2648: 2645: 2642: 2639: 2636: 2633: 2630: 2627: 2624: 2621: 2618: 2615: 2612: 2609: 2606: 2603: 2600: 2597: 2594: 2591: 2588: 2585: 2582: 2579: 2576: 2573: 2570: 2567: 2564: 2561: 2558: 2555: 2552: 2549: 2546: 2543: 2540: 2537: 2534: 2531: 2528: 2525: 2522: 2519: 2516: 2513: 2510: 2507: 2504: 2501: 2498: 2495: 2492: 2489: 2486: 2483: 2480: 2477: 2474: 2471: 2468: 2465: 2462: 2459: 2456: 2453: 2450: 2447: 2444: 2441: 2438: 2435: 2432: 2429: 2426: 2423: 2420: 2417: 2414: 2411: 2408: 2405: 2402: 2399: 2396: 2393: 2390: 2387: 2384: 2381: 2378: 2375: 2372: 2369: 2366: 2363: 2360: 2357: 2354: 2351: 2348: 2345: 2342: 2339: 2336: 2333: 2330: 2327: 2324: 2321: 2310: 2308: 2307: 2302: 2284: 2282: 2281: 2276: 1840:: an element of 1823: 1821: 1820: 1815: 1813: 1809: 1808: 1802: 1801: 1777: 1776: 1759: 1733: 1732: 1715: 1653: 1652: 1646: 1645: 1628: 1599: 1598: 1581: 1555: 1554: 1487: 1485: 1484: 1479: 1477: 1469: 1445: 1443: 1442: 1437: 1435: 1427: 1404:and define maps 1400: 1398: 1397: 1392: 1390: 1389: 1383: 1382: 1355: 1354: 1337: 1336: 1323: 1322: 1266: 1264: 1263: 1258: 1234: 1232: 1231: 1226: 1224: 1223: 1211: 1210: 1198: 1197: 1175: 1173: 1172: 1167: 1143: 1141: 1140: 1135: 1119: 1117: 1116: 1111: 1091: 1089: 1088: 1083: 1071: 1069: 1068: 1063: 1061: 1060: 1048: 1047: 1031: 1029: 1028: 1023: 1011: 1009: 1008: 1003: 1001: 1000: 988: 987: 971: 969: 968: 963: 951: 949: 948: 943: 931: 929: 928: 923: 921: 920: 904: 902: 901: 896: 894: 893: 873: 871: 870: 865: 863: 862: 846: 844: 843: 838: 836: 835: 819: 817: 816: 811: 809: 808: 792:disjoint subsets 789: 787: 786: 781: 766: 764: 763: 758: 756: 750: 742: 741: 732: 730: 729: 724: 722: 716: 708: 707: 698: 696: 695: 690: 688: 687: 669: 668: 643: 641: 640: 635: 633: 632: 631: 630: 616: 615: 614: 613: 596: 595: 575: 573: 572: 567: 555: 553: 552: 547: 535: 533: 532: 527: 515: 513: 512: 507: 488: 486: 485: 480: 478: 419: 417: 416: 411: 399: 397: 396: 391: 375: 373: 372: 367: 365: 364: 359: 346: 344: 343: 338: 326: 324: 323: 318: 299: 297: 296: 291: 289: 288: 279: 278: 266: 265: 256: 255: 239: 237: 236: 231: 219: 217: 216: 211: 199: 197: 196: 191: 179: 177: 176: 171: 156: 154: 153: 148: 136: 134: 133: 128: 113: 111: 110: 105: 93: 91: 90: 85: 77: 76: 60: 58: 57: 52: 4108: 4107: 4103: 4102: 4101: 4099: 4098: 4097: 4078: 4077: 4076: 4071: 4057: 3992: 3954: 3921: 3878: 3822: 3779: 3683: 3645: 3618:Proth's theorem 3560:Primality tests 3554: 3546: 3506: 3501: 3487:10.2307/2006496 3466: 3463: 3439: 3438: 3415: 3414: 3378: 3377: 3337: 3336: 3333: 3276: 3271: 3270: 3243: 3238: 3237: 3208: 3207: 3180: 3175: 3174: 3112: 3111: 3074: 3064: 3045: 3035: 3030: 3029: 3026: 3019: 3018: 3015: 3012: 3009: 3006: 3003: 3000: 2997: 2994: 2991: 2988: 2985: 2982: 2979: 2976: 2973: 2970: 2967: 2964: 2961: 2958: 2955: 2952: 2949: 2946: 2943: 2940: 2937: 2934: 2931: 2928: 2925: 2922: 2919: 2916: 2913: 2910: 2907: 2904: 2901: 2898: 2895: 2892: 2889: 2886: 2883: 2880: 2877: 2874: 2871: 2868: 2865: 2862: 2859: 2856: 2853: 2850: 2847: 2844: 2841: 2838: 2835: 2832: 2829: 2826: 2823: 2820: 2817: 2814: 2811: 2808: 2805: 2802: 2799: 2796: 2793: 2790: 2787: 2784: 2781: 2778: 2775: 2772: 2769: 2766: 2763: 2760: 2757: 2754: 2751: 2748: 2745: 2742: 2739: 2736: 2733: 2730: 2727: 2724: 2721: 2718: 2715: 2712: 2709: 2706: 2703: 2700: 2697: 2694: 2691: 2688: 2685: 2682: 2679: 2676: 2673: 2670: 2667: 2664: 2661: 2658: 2655: 2652: 2649: 2646: 2643: 2640: 2637: 2634: 2631: 2628: 2625: 2622: 2619: 2616: 2613: 2610: 2607: 2604: 2601: 2598: 2595: 2592: 2589: 2586: 2583: 2580: 2577: 2574: 2571: 2568: 2565: 2562: 2559: 2556: 2553: 2550: 2547: 2544: 2541: 2538: 2535: 2532: 2529: 2526: 2523: 2520: 2517: 2514: 2511: 2508: 2505: 2502: 2499: 2496: 2493: 2490: 2487: 2484: 2481: 2478: 2475: 2472: 2469: 2466: 2463: 2460: 2457: 2454: 2451: 2448: 2445: 2442: 2439: 2436: 2433: 2430: 2427: 2424: 2421: 2418: 2415: 2412: 2409: 2406: 2403: 2400: 2397: 2394: 2391: 2388: 2385: 2382: 2379: 2376: 2373: 2370: 2367: 2364: 2361: 2358: 2355: 2352: 2349: 2346: 2343: 2340: 2337: 2334: 2331: 2328: 2325: 2323:<stdio.h> 2322: 2319: 2287: 2286: 2261: 2260: 2257: 2252: 2246: 2240: 2217: 2206: 2197: 2186: 2177: 2166: 2151: 2141: 2130: 2115: 2105: 2090: 2080: 2069: 2054: 2043: 2032: 2017: 2006: 1991: 1980: 1970: 1955: 1949: 1939: 1924: 1918: 1903: 1883: 1876: 1869: 1811: 1810: 1804: 1803: 1793: 1785: 1779: 1778: 1768: 1760: 1735: 1734: 1724: 1716: 1684: 1676: 1655: 1654: 1648: 1647: 1637: 1629: 1601: 1600: 1590: 1582: 1557: 1556: 1546: 1538: 1528: 1520: 1493: 1492: 1448: 1447: 1406: 1405: 1385: 1384: 1374: 1366: 1357: 1356: 1346: 1338: 1328: 1325: 1324: 1314: 1306: 1293: 1272: 1271: 1237: 1236: 1215: 1202: 1189: 1178: 1177: 1146: 1145: 1126: 1125: 1102: 1101: 1098: 1074: 1073: 1072:then increment 1052: 1039: 1034: 1033: 1014: 1013: 1012:then increment 992: 979: 974: 973: 954: 953: 934: 933: 912: 907: 906: 885: 880: 879: 854: 849: 848: 827: 822: 821: 800: 795: 794: 772: 771: 743: 735: 734: 709: 701: 700: 673: 660: 649: 648: 622: 617: 605: 600: 587: 582: 581: 558: 557: 538: 537: 518: 517: 498: 497: 422: 421: 402: 401: 382: 381: 354: 349: 348: 329: 328: 309: 308: 280: 270: 257: 247: 242: 241: 222: 221: 202: 201: 182: 181: 162: 161: 139: 138: 119: 118: 96: 95: 68: 63: 62: 43: 42: 17: 12: 11: 5: 4106: 4104: 4096: 4095: 4090: 4080: 4079: 4073: 4072: 4070: 4069: 4062: 4059: 4058: 4056: 4055: 4050: 4045: 4040: 4035: 4021: 4016: 4011: 4006: 4000: 3998: 3994: 3993: 3991: 3990: 3985: 3980: 3978:Tonelli–Shanks 3975: 3970: 3964: 3962: 3956: 3955: 3953: 3952: 3947: 3942: 3937: 3931: 3929: 3923: 3922: 3920: 3919: 3914: 3912:Index calculus 3909: 3907:Pohlig–Hellman 3904: 3899: 3894: 3888: 3886: 3880: 3879: 3877: 3876: 3871: 3866: 3861: 3859:Newton-Raphson 3856: 3851: 3846: 3841: 3835: 3833: 3824: 3823: 3821: 3820: 3815: 3810: 3805: 3800: 3795: 3789: 3787: 3785:Multiplication 3781: 3780: 3778: 3777: 3772: 3770:Trial division 3767: 3762: 3757: 3755:Rational sieve 3752: 3745: 3740: 3735: 3727: 3719: 3714: 3709: 3704: 3699: 3693: 3691: 3685: 3684: 3682: 3681: 3676: 3671: 3666: 3661: 3659:Sieve of Atkin 3655: 3653: 3647: 3646: 3644: 3643: 3638: 3633: 3628: 3621: 3614: 3607: 3600: 3595: 3590: 3585: 3583:Elliptic curve 3580: 3575: 3570: 3564: 3562: 3556: 3555: 3547: 3545: 3544: 3537: 3530: 3522: 3516: 3515: 3499: 3462: 3459: 3446: 3422: 3402: 3397: 3392: 3387: 3361: 3356: 3351: 3346: 3332: 3329: 3315: 3312: 3308: 3305: 3300: 3297: 3294: 3291: 3288: 3283: 3279: 3258: 3255: 3250: 3246: 3221: 3218: 3215: 3195: 3192: 3187: 3183: 3161: 3158: 3154: 3151: 3146: 3143: 3140: 3137: 3134: 3131: 3128: 3125: 3122: 3119: 3098: 3095: 3091: 3088: 3081: 3077: 3071: 3067: 3063: 3060: 3057: 3052: 3048: 3042: 3038: 3023: 2318: 2300: 2297: 2294: 2274: 2271: 2268: 2256: 2253: 2244: 2235: 2223:return failure 2212: 2204: 2192: 2184: 2171: 2160: 2146: 2135: 2124: 2110: 2099: 2085: 2074: 2063: 2048: 2037: 2026: 2011: 2000: 1985: 1975: 1965: 1953: 1944: 1934: 1922: 1913: 1901: 1881: 1874: 1867: 1826: 1825: 1824: 1807: 1800: 1796: 1792: 1789: 1786: 1784: 1781: 1780: 1775: 1771: 1767: 1764: 1761: 1758: 1755: 1751: 1748: 1743: 1740: 1737: 1736: 1731: 1727: 1723: 1720: 1717: 1714: 1711: 1707: 1704: 1699: 1696: 1693: 1690: 1689: 1687: 1682: 1679: 1677: 1675: 1672: 1669: 1666: 1663: 1660: 1657: 1656: 1651: 1644: 1640: 1636: 1633: 1630: 1627: 1624: 1620: 1617: 1612: 1609: 1606: 1603: 1602: 1597: 1593: 1589: 1586: 1583: 1580: 1577: 1573: 1570: 1565: 1562: 1559: 1558: 1553: 1549: 1545: 1542: 1539: 1537: 1534: 1533: 1531: 1526: 1523: 1521: 1519: 1516: 1513: 1510: 1507: 1504: 1501: 1500: 1476: 1472: 1468: 1464: 1461: 1458: 1455: 1434: 1430: 1426: 1422: 1419: 1416: 1413: 1402: 1401: 1388: 1381: 1377: 1373: 1370: 1367: 1365: 1362: 1359: 1358: 1353: 1349: 1345: 1342: 1339: 1335: 1331: 1327: 1326: 1321: 1317: 1313: 1310: 1307: 1305: 1302: 1299: 1298: 1296: 1291: 1288: 1285: 1282: 1279: 1256: 1253: 1250: 1247: 1244: 1222: 1218: 1214: 1209: 1205: 1201: 1196: 1192: 1188: 1185: 1165: 1162: 1159: 1156: 1153: 1133: 1109: 1097: 1094: 1081: 1059: 1055: 1051: 1046: 1042: 1021: 999: 995: 991: 986: 982: 961: 941: 919: 915: 892: 888: 861: 857: 834: 830: 807: 803: 779: 753: 749: 746: 719: 715: 712: 686: 683: 680: 676: 672: 667: 663: 659: 656: 629: 625: 620: 612: 608: 603: 599: 594: 590: 565: 545: 525: 505: 477: 474: 470: 467: 462: 459: 456: 453: 450: 447: 444: 441: 438: 435: 432: 429: 409: 400:, we get that 389: 378:if and only if 363: 358: 336: 316: 287: 283: 277: 273: 269: 264: 260: 254: 250: 229: 209: 189: 169: 146: 126: 103: 83: 80: 75: 71: 50: 15: 13: 10: 9: 6: 4: 3: 2: 4105: 4094: 4091: 4089: 4086: 4085: 4083: 4067: 4064: 4063: 4060: 4054: 4051: 4049: 4046: 4044: 4041: 4039: 4036: 4033: 4029: 4025: 4022: 4020: 4017: 4015: 4012: 4010: 4007: 4005: 4002: 4001: 3999: 3995: 3989: 3986: 3984: 3981: 3979: 3976: 3974: 3973:Pocklington's 3971: 3969: 3966: 3965: 3963: 3961: 3957: 3951: 3948: 3946: 3943: 3941: 3938: 3936: 3933: 3932: 3930: 3928: 3924: 3918: 3915: 3913: 3910: 3908: 3905: 3903: 3900: 3898: 3895: 3893: 3890: 3889: 3887: 3885: 3881: 3875: 3872: 3870: 3867: 3865: 3862: 3860: 3857: 3855: 3852: 3850: 3847: 3845: 3842: 3840: 3837: 3836: 3834: 3832: 3829: 3825: 3819: 3816: 3814: 3811: 3809: 3806: 3804: 3801: 3799: 3796: 3794: 3791: 3790: 3788: 3786: 3782: 3776: 3773: 3771: 3768: 3766: 3763: 3761: 3758: 3756: 3753: 3751: 3750: 3746: 3744: 3741: 3739: 3736: 3734: 3732: 3728: 3726: 3724: 3720: 3718: 3717:Pollard's rho 3715: 3713: 3710: 3708: 3705: 3703: 3700: 3698: 3695: 3694: 3692: 3690: 3686: 3680: 3677: 3675: 3672: 3670: 3667: 3665: 3662: 3660: 3657: 3656: 3654: 3652: 3648: 3642: 3639: 3637: 3634: 3632: 3629: 3627: 3626: 3622: 3620: 3619: 3615: 3613: 3612: 3608: 3606: 3605: 3601: 3599: 3596: 3594: 3591: 3589: 3586: 3584: 3581: 3579: 3576: 3574: 3571: 3569: 3566: 3565: 3563: 3561: 3557: 3553: 3550: 3543: 3538: 3536: 3531: 3529: 3524: 3523: 3520: 3512: 3505: 3500: 3496: 3492: 3488: 3484: 3480: 3476: 3475: 3470: 3465: 3464: 3460: 3458: 3444: 3436: 3420: 3395: 3375: 3354: 3330: 3328: 3310: 3306: 3298: 3295: 3292: 3289: 3286: 3281: 3277: 3256: 3253: 3248: 3244: 3235: 3219: 3216: 3213: 3193: 3190: 3185: 3181: 3156: 3152: 3144: 3141: 3138: 3135: 3132: 3126: 3123: 3120: 3093: 3089: 3079: 3075: 3069: 3065: 3061: 3058: 3055: 3050: 3046: 3040: 3036: 3022: 2316: 2314: 2298: 2295: 2292: 2272: 2269: 2266: 2254: 2251: 2247: 2239: 2234: 2230: 2227: 2224: 2220: 2216: 2211: 2207: 2200: 2196: 2191: 2187: 2181: 2175: 2170: 2164: 2159: 2155: 2150: 2145: 2139: 2134: 2128: 2123: 2119: 2114: 2109: 2103: 2098: 2094: 2089: 2084: 2078: 2073: 2067: 2062: 2058: 2052: 2047: 2041: 2036: 2030: 2025: 2021: 2015: 2010: 2004: 1999: 1995: 1989: 1984: 1978: 1974: 1968: 1964: 1960: 1956: 1947: 1943: 1937: 1933: 1929: 1925: 1916: 1912: 1908: 1904: 1897: 1893: 1890: 1887: 1880: 1873: 1866: 1862: 1858: 1854: 1850: 1846: 1843: 1839: 1836: 1832: 1829: 1798: 1794: 1790: 1787: 1782: 1773: 1769: 1765: 1762: 1753: 1749: 1741: 1738: 1729: 1725: 1721: 1718: 1709: 1705: 1697: 1694: 1691: 1685: 1680: 1678: 1670: 1667: 1664: 1658: 1642: 1638: 1634: 1631: 1622: 1618: 1610: 1607: 1604: 1595: 1591: 1587: 1584: 1575: 1571: 1563: 1560: 1551: 1547: 1543: 1540: 1535: 1529: 1524: 1522: 1514: 1511: 1508: 1502: 1491: 1490: 1489: 1462: 1459: 1456: 1453: 1420: 1417: 1414: 1411: 1379: 1375: 1371: 1368: 1363: 1360: 1351: 1347: 1343: 1340: 1333: 1329: 1319: 1315: 1311: 1308: 1303: 1300: 1294: 1289: 1283: 1277: 1270: 1269: 1268: 1254: 1248: 1245: 1242: 1220: 1216: 1212: 1207: 1203: 1199: 1194: 1190: 1186: 1183: 1163: 1160: 1157: 1154: 1151: 1131: 1123: 1107: 1095: 1093: 1079: 1057: 1053: 1049: 1044: 1040: 1019: 997: 993: 989: 984: 980: 959: 939: 917: 913: 890: 886: 877: 876:hash function 859: 855: 832: 828: 805: 801: 793: 777: 770: 751: 747: 744: 717: 713: 710: 684: 681: 678: 674: 665: 661: 657: 654: 647: 627: 623: 618: 610: 606: 601: 597: 592: 588: 579: 563: 543: 523: 503: 494: 492: 472: 468: 457: 454: 451: 445: 442: 436: 433: 430: 407: 387: 379: 361: 356: 334: 314: 307: 304:is cyclic of 303: 285: 281: 275: 271: 267: 262: 258: 252: 248: 227: 207: 187: 167: 160: 144: 137:generated by 124: 117: 114:belongs to a 101: 81: 78: 73: 69: 48: 39: 37: 34:to solve the 33: 29: 25: 21: 4065: 3896: 3747: 3730: 3722: 3641:Miller–Rabin 3623: 3616: 3609: 3604:Lucas–Lehmer 3602: 3510: 3478: 3472: 3468: 3334: 3269:, for which 3173:, for which 3027: 3020: 2258: 2249: 2242: 2237: 2232: 2228: 2225: 2222: 2218: 2214: 2209: 2202: 2198: 2194: 2189: 2182: 2179: 2173: 2168: 2162: 2157: 2153: 2148: 2143: 2137: 2132: 2126: 2121: 2117: 2112: 2107: 2101: 2096: 2092: 2087: 2082: 2076: 2071: 2065: 2060: 2056: 2050: 2045: 2039: 2034: 2028: 2023: 2019: 2013: 2008: 2002: 1997: 1993: 1987: 1982: 1976: 1972: 1966: 1962: 1958: 1951: 1945: 1941: 1935: 1931: 1927: 1920: 1914: 1910: 1906: 1899: 1895: 1891: 1888: 1885: 1878: 1871: 1864: 1860: 1856: 1852: 1848: 1844: 1841: 1837: 1834: 1830: 1827: 1403: 1267:be the map 1144:, and given 1122:cyclic group 1099: 644:, where the 495: 116:cyclic group 40: 24:John Pollard 19: 18: 3897:Pollard rho 3854:Goldschmidt 3588:Pocklington 3578:Baillie–PSW 3504:"Chapter 3" 1877:← 0, 1870:← 0, 1863:← 0, 1847:An integer 790:into three 4088:Logarithms 4082:Categories 4009:Cornacchia 4004:Chakravala 3552:algorithms 3461:References 3331:Complexity 1851:such that 240:such that 61:such that 3983:Berlekamp 3940:Euclidean 3828:Euclidean 3808:Toom–Cook 3803:Karatsuba 3296:− 3245:γ 3182:γ 3142:− 3133:γ 3124:− 2315:program: 1791:∈ 1766:∈ 1722:∈ 1635:∈ 1588:∈ 1544:∈ 1471:→ 1463:× 1429:→ 1421:× 1372:∈ 1361:α 1344:∈ 1312:∈ 1301:β 1252:→ 1213:∪ 1200:∪ 1161:∈ 1158:β 1152:α 1124:of order 1096:Algorithm 1050:∈ 990:∈ 769:Partition 745:π 711:π 671:↦ 619:β 602:α 455:− 443:γ 434:− 408:γ 362:γ 357:α 335:β 282:β 272:α 259:β 249:α 145:α 102:β 82:β 74:γ 70:α 49:γ 38:problem. 3950:Lehmer's 3844:Chunking 3831:division 3760:Fermat's 3413:, where 3028:That is 2320:#include 2201:← 2188:≠ 2152:← 2116:← 2091:← 2055:← 2018:← 1992:← 1957:← 1926:← 1905:← 1898:+ 1 1894:← 646:function 159:integers 94:, where 4066:Italics 3988:Kunerth 3968:Cipolla 3849:Fourier 3818:FĂŒrer's 3712:Euler's 3702:Dixon's 3625:PĂ©pin's 3495:2006496 3327:holds. 3232:is not 3110:and so 2896:new_xab 2872:new_xab 2848:new_xab 2410:new_xab 2255:Example 2142:), 2106:), 2044:), 2007:), 1950:), 1919:), 1845:output: 4048:Schoof 3935:Binary 3839:Binary 3775:Shor's 3593:Fermat 3493:  3435:factor 3007:return 2932:" 2920:printf 2455:switch 2248:) mod 2226:return 2221:r = 0 2081:) 1981:) 1828:input: 1235:, let 905:is in 847:, and 733:after 556:, and 220:, and 3869:Short 3598:Lucas 3507:(PDF) 3491:JSTOR 3234:prime 2998:break 2695:break 2626:break 2584:alpha 2557:break 2443:& 2431:& 2419:& 2386:const 2371:alpha 2365:const 2326:const 2180:while 1120:be a 1032:, if 972:; if 878:. If 306:order 302:group 3864:Long 3798:Long 3471:)". 3311:1019 3290:1014 3220:1018 3157:1018 3094:1019 3059:1010 2827:< 2716:void 2710:main 2653:beta 2632:case 2563:case 2476:case 2407:void 2392:beta 2338:1018 2299:1018 2273:1019 1889:loop 1446:and 1100:Let 952:and 4028:LLL 3874:SRT 3733:+ 1 3725:− 1 3573:APR 3568:AKS 3483:doi 3437:of 3307:mod 3282:519 3257:519 3153:mod 3145:301 3139:681 3127:378 3121:416 3090:mod 3080:416 3070:301 3051:378 3041:681 2809:int 2803:for 2764:int 2725:int 2707:int 2440:int 2428:int 2416:int 2389:int 2368:int 2329:int 2313:C++ 1750:mod 1706:mod 1619:mod 1572:mod 1488:by 536:, 469:mod 347:as 200:, 4084:: 4032:KZ 4030:; 3509:. 3489:. 3479:32 3477:. 3457:. 3194:10 2989:== 2980:if 2977:); 2929:\n 2917:); 2893:); 2869:); 2836:++ 2241:− 2219:if 2208:− 2178:) 2176:−1 2167:, 2165:−1 2140:−1 2131:, 2129:−1 2104:−1 2079:−2 2070:, 2068:−2 2053:−1 2042:−2 2033:, 2031:−2 2016:−1 2005:−2 1990:−1 1979:−1 1971:, 1969:−1 1948:−1 1940:, 1938:−1 1917:−1 1855:= 1092:. 820:, 516:, 493:. 180:, 4034:) 4026:( 3731:p 3723:p 3541:e 3534:t 3527:v 3513:. 3497:. 3485:: 3469:p 3445:n 3421:p 3401:) 3396:p 3391:( 3386:O 3360:) 3355:n 3350:( 3345:O 3314:) 3304:( 3299:5 3293:= 3287:= 3278:2 3254:= 3249:2 3217:= 3214:n 3191:= 3186:1 3160:) 3150:( 3136:= 3130:) 3118:( 3097:) 3087:( 3076:5 3066:2 3062:= 3056:= 3047:5 3037:2 3016:} 3013:; 3010:0 3004:} 3001:; 2995:) 2992:X 2986:x 2983:( 2974:B 2971:, 2968:A 2965:, 2962:X 2959:, 2956:b 2953:, 2950:a 2947:, 2944:x 2941:, 2938:i 2935:, 2923:( 2914:B 2911:, 2908:A 2905:, 2902:X 2899:( 2890:B 2887:, 2884:A 2881:, 2878:X 2875:( 2866:b 2863:, 2860:a 2857:, 2854:x 2851:( 2845:{ 2842:) 2839:i 2833:; 2830:n 2824:i 2821:; 2818:1 2815:= 2812:i 2806:( 2800:; 2797:b 2794:= 2791:B 2788:, 2785:a 2782:= 2779:A 2776:, 2773:x 2770:= 2767:X 2761:; 2758:0 2755:= 2752:b 2749:, 2746:0 2743:= 2740:a 2737:, 2734:1 2731:= 2728:x 2722:{ 2719:) 2713:( 2704:} 2701:} 2698:; 2692:; 2689:n 2686:% 2683:) 2680:1 2677:+ 2674:b 2671:( 2668:= 2665:b 2662:; 2659:N 2656:% 2650:* 2647:x 2644:= 2641:x 2638:: 2635:2 2629:; 2623:; 2620:n 2617:% 2614:) 2611:1 2608:+ 2605:a 2602:( 2599:= 2596:a 2593:; 2590:N 2587:% 2581:* 2578:x 2575:= 2572:x 2569:: 2566:1 2560:; 2554:; 2551:n 2548:% 2545:2 2542:* 2539:b 2536:= 2533:b 2530:; 2527:n 2524:% 2521:2 2518:* 2515:a 2512:= 2509:a 2506:; 2503:N 2500:% 2497:x 2494:* 2491:x 2488:= 2485:x 2482:: 2479:0 2473:{ 2470:) 2467:3 2464:% 2461:x 2458:( 2452:{ 2449:) 2446:b 2437:, 2434:a 2425:, 2422:x 2413:( 2401:; 2398:5 2395:= 2380:; 2377:2 2374:= 2359:; 2356:1 2353:+ 2350:n 2347:= 2344:N 2341:, 2335:= 2332:n 2296:= 2293:n 2270:= 2267:N 2250:n 2245:i 2243:a 2238:i 2236:2 2233:a 2231:( 2229:r 2215:i 2213:2 2210:b 2205:i 2203:b 2199:r 2195:i 2193:2 2190:x 2185:i 2183:x 2174:i 2172:2 2169:b 2163:i 2161:2 2158:x 2156:( 2154:h 2149:i 2147:2 2144:b 2138:i 2136:2 2133:a 2127:i 2125:2 2122:x 2120:( 2118:g 2113:i 2111:2 2108:a 2102:i 2100:2 2097:x 2095:( 2093:f 2088:i 2086:2 2083:x 2077:i 2075:2 2072:b 2066:i 2064:2 2061:x 2059:( 2057:h 2051:i 2049:2 2046:b 2040:i 2038:2 2035:a 2029:i 2027:2 2024:x 2022:( 2020:g 2014:i 2012:2 2009:a 2003:i 2001:2 1998:x 1996:( 1994:f 1988:i 1986:2 1983:x 1977:i 1973:b 1967:i 1963:x 1961:( 1959:h 1954:i 1952:b 1946:i 1942:a 1936:i 1932:x 1930:( 1928:g 1923:i 1921:a 1915:i 1911:x 1909:( 1907:f 1902:i 1900:x 1896:i 1892:i 1886:G 1882:0 1879:x 1875:0 1872:b 1868:0 1865:a 1861:i 1857:b 1853:a 1849:x 1842:G 1838:b 1835:G 1831:a 1799:2 1795:S 1788:x 1783:k 1774:1 1770:S 1763:x 1757:) 1754:n 1747:( 1742:k 1739:2 1730:0 1726:S 1719:x 1713:) 1710:n 1703:( 1698:1 1695:+ 1692:k 1686:{ 1681:= 1674:) 1671:k 1668:, 1665:x 1662:( 1659:h 1643:2 1639:S 1632:x 1626:) 1623:n 1616:( 1611:1 1608:+ 1605:k 1596:1 1592:S 1585:x 1579:) 1576:n 1569:( 1564:k 1561:2 1552:0 1548:S 1541:x 1536:k 1530:{ 1525:= 1518:) 1515:k 1512:, 1509:x 1506:( 1503:g 1475:Z 1467:Z 1460:G 1457:: 1454:h 1433:Z 1425:Z 1418:G 1415:: 1412:g 1380:2 1376:S 1369:x 1364:x 1352:1 1348:S 1341:x 1334:2 1330:x 1320:0 1316:S 1309:x 1304:x 1295:{ 1290:= 1287:) 1284:x 1281:( 1278:f 1255:G 1249:G 1246:: 1243:f 1221:2 1217:S 1208:1 1204:S 1195:0 1191:S 1187:= 1184:G 1164:G 1155:, 1132:n 1108:G 1080:b 1058:2 1054:S 1045:i 1041:x 1020:a 998:1 994:S 985:i 981:x 960:b 940:a 918:0 914:S 891:i 887:x 860:2 856:S 833:1 829:S 806:0 802:S 778:G 752:8 748:n 718:8 714:n 685:1 682:+ 679:i 675:x 666:i 662:x 658:: 655:f 628:i 624:b 611:i 607:a 598:= 593:i 589:x 564:B 544:A 524:b 504:a 476:) 473:n 466:( 461:) 458:A 452:a 449:( 446:= 440:) 437:b 431:B 428:( 388:n 315:n 286:B 276:A 268:= 263:b 253:a 228:B 208:A 188:b 168:a 125:G 79:=

Index

John Pollard
discrete logarithm
Pollard's rho algorithm
integer factorization
cyclic group
integers
group
order
if and only if
extended Euclidean algorithm
Floyd's cycle-finding algorithm
function
Partition
disjoint subsets
hash function
cyclic group
C++
prime
Pohlig–Hellman algorithm
factor
Mathematics of Computation
doi
10.2307/2006496
JSTOR
2006496
"Chapter 3"
v
t
e
Number-theoretic

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑