66:
128:
25:
578:
692:
1510:
implementation provides a simple demonstration of the generator, in particular regarding the three bit selection methods. It is important to note that the requirements imposed upon the parameters
961:
334:
2720:
2636:
1024:
602:
1125:
1151:
1105:
1078:
1051:
988:
824:
798:
850:
870:
758:
makes the algorithm faster, doing so also reduces the security. A 2005 paper gives concrete, as opposed to asymptotic, security proof of BBS, for a given
2667:
149:
142:
494:
611:
1153:= 9, 81, 236, 36, 31, 202. The following table shows the output (in bits) for the different bit selection methods used to determine the output.
2605:
2715:
2594:
766:. The result can also be used to guide choices of the two numbers by balancing expected security against computational cost.
192:
164:
171:
229:
211:
109:
87:
52:
875:
80:
278:
2541:
Sidorenko, Andrey; Schoenmakers, Berry (2005). "Concrete
Security of the Blum-Blum-Shub Pseudorandom Generator".
703:
38:
178:
1181:
732:
250:
2648:
160:
731:
grows large, distinguishing the output bits from random should be at least as difficult as solving the
2662:
74:
475:
An interesting characteristic of the Blum Blum Shub generator is the possibility to calculate any
453:
138:
2657:
91:
993:
587:
1164:
1110:
185:
2574:
1129:
1083:
1056:
1029:
966:
803:
777:
8:
872:
is the seed). We can expect to get a large cycle length for those small numbers, because
829:
605:
437:
44:
855:
485:
742:
The performance of the BBS random-number generator depends on the size of the modulus
2628:
2590:
441:
2700:
2620:
2582:
2550:
266:
2586:
573:{\displaystyle x_{i}=\left(x_{0}^{2^{i}{\bmod {\lambda }}(M)}\right){\bmod {M}}}
707:
2709:
2632:
1545:"Returns the number of 1-valued bits in the integer-encoded BITS."
687:{\displaystyle \lambda (M)=\lambda (p\cdot q)=\operatorname {lcm} (p-1,q-1)}
349:
262:
1719:"Returns the least significant bit of the integer-encoded BITS."
2690:
2685:
2646:
1507:
445:
397:
258:
254:
2554:
2647:
Geisler, Martin; Krøigård, Mikkel; Danielsen, Andreas (December 2004),
2619:(2). Society for Industrial & Applied Mathematics (SIAM): 364–383.
1159:
449:
370:
2695:
713:
2624:
1848:
generator parameters P, Q, and S (seed), and returning three values:
1632:"Returns the even parity bit of the integer-encoded BITS."
127:
1845:
Blum-Blum-Shub pseudorandom number generator, configured to use the
1842:"Returns a function of no arguments which represents a simple
2524:
2522:
2691:
BlumBlumShub, a Java-language implementation by Mark
Rossmiller
2519:
2307:"~&Keys: E = even parity, L = least significant"
1863:
Please note that the parameters P, Q, and S are not checked in
561:
536:
359:. At each step of the algorithm, some output is derived from
317:
1866:
accordance to the conditions described in the article."
706:
of factoring. When the primes are chosen appropriately, and
2721:
Cryptographically secure pseudorandom number generators
2606:"A Simple Unpredictable Pseudo-Random Number Generator"
2686:
GMPBBS, a C-language implementation by Mark
Rossmiller
2540:
1132:
1113:
1086:
1059:
1032:
996:
969:
878:
858:
832:
806:
780:
614:
590:
497:
281:
2575:"Comparison of Two Pseudo-Random Number Generators"
2573:Blum, Lenore; Blum, Manuel; Shub, Michael (1983).
2163:;; Update the state such that x becomes the new x.
1145:
1119:
1099:
1072:
1045:
1018:
982:
955:
864:
844:
818:
792:
686:
596:
572:
448:which is also a quadratic residue), and should be
328:
2707:
383:or one or more of the least significant bits of
1184:implementation that does check for primality.
956:{\displaystyle {\rm {gcd}}((p-3)/2,(q-3)/2)=2}
702:There is a proof reducing its security to the
2603:
2572:
2528:
1857:(3) the least significant bit of the number.
329:{\displaystyle x_{n+1}=x_{n}^{2}{\bmod {M}}}
2581:. Boston, MA: Springer US. pp. 61–78.
53:Learn how and when to remove these messages
2661:
406:should be an integer that is co-prime to
230:Learn how and when to remove this message
212:Learn how and when to remove this message
110:Learn how and when to remove this message
2076:;; Compute the random bit(s) based on x.
1411:"The RNG has fallen into a loop at
440:to 3 (mod 4) (this guarantees that each
73:This article includes a list of general
472:) (this makes the cycle length large).
2708:
1854:(2) the even parity bit of the number,
148:Please improve this article by adding
2604:Blum, L.; Blum, M.; Shub, M. (1986).
746:and the number of bits per iteration
369:; the output is commonly either the
121:
59:
18:
963:. The generator starts to evaluate
13:
887:
884:
881:
79:it lacks sufficient corresponding
14:
2732:
2679:
727:are output, then in the limit as
34:This article has multiple issues.
2642:from the original on 2021-08-14.
2352:"~&--------------"
126:
64:
23:
2673:from the original on 2016-03-31
2490:"~&~6d | ~d | ~d"
2199:;; Print the exemplary outputs.
42:or discuss these issues on the
2716:Pseudorandom number generators
2534:
944:
933:
921:
907:
895:
892:
681:
657:
645:
633:
624:
618:
551:
545:
272:Blum Blum Shub takes the form
1:
2507:
733:quadratic residuosity problem
251:pseudorandom number generator
150:secondary or tertiary sources
16:Pseudorandom number generator
2512:
348:is the product of two large
7:
2587:10.1007/978-1-4757-0602-4_6
2337:"~&x | E | L"
720:) lower-order bits of each
697:
10:
2737:
2565:
2529:Blum, Blum & Shub 1986
769:
2696:An implementation in Java
2613:SIAM Journal on Computing
2112:get-least-significant-bit
1707:get-least-significant-bit
1026:and creates the sequence
1524:
1522:(seed) are not checked.
1186:
1019:{\displaystyle x_{-1}=s}
704:computational difficulty
597:{\displaystyle \lambda }
2543:Cryptography and Coding
1120:{\displaystyle \ldots }
94:more precise citations.
2579:Advances in Cryptology
1147:
1121:
1101:
1074:
1047:
1020:
984:
957:
866:
846:
820:
794:
688:
598:
574:
330:
137:relies excessively on
2499:least-significant-bit
2475:least-significant-bit
2388:least-significant-bit
2193:least-significant-bit
2157:least-significant-bit
2106:least-significant-bit
1165:Least significant bit
1148:
1146:{\displaystyle x_{5}}
1122:
1102:
1100:{\displaystyle x_{2}}
1075:
1073:{\displaystyle x_{1}}
1048:
1046:{\displaystyle x_{0}}
1021:
985:
983:{\displaystyle x_{0}}
958:
867:
847:
821:
795:
689:
599:
575:
331:
269:'s one-way function.
265:that is derived from
1686:get-number-of-1-bits
1533:get-number-of-1-bits
1130:
1111:
1084:
1057:
1030:
994:
967:
876:
856:
830:
819:{\displaystyle q=23}
804:
793:{\displaystyle p=11}
778:
612:
588:
495:
484:value directly (via
279:
253:proposed in 1986 by
2555:10.1007/11586821_24
2531:, pp. 364–383.
2376:multiple-value-bind
2217:make-blum-blum-shub
2094:get-even-parity-bit
1797:make-blum-blum-shub
1620:get-even-parity-bit
1180:The following is a
845:{\displaystyle s=3}
606:Carmichael function
555:
418:are not factors of
315:
1143:
1117:
1097:
1070:
1043:
1016:
980:
953:
862:
842:
816:
790:
684:
594:
570:
515:
425:) and not 1 or 0.
326:
301:
2650:About Random Bits
2596:978-1-4757-0604-8
1851:(1) the number x,
1178:
1177:
865:{\displaystyle s}
750:. While lowering
442:quadratic residue
436:, should both be
240:
239:
232:
222:
221:
214:
196:
120:
119:
112:
57:
2728:
2701:Randomness tests
2674:
2672:
2665:
2655:
2643:
2641:
2610:
2600:
2559:
2558:
2538:
2532:
2526:
2503:
2500:
2497:
2494:
2491:
2488:
2485:
2482:
2479:
2476:
2473:
2470:
2467:
2464:
2461:
2458:
2455:
2452:
2449:
2446:
2443:
2440:
2437:
2434:
2431:
2428:
2425:
2422:
2419:
2416:
2413:
2410:
2407:
2404:
2401:
2398:
2395:
2392:
2389:
2386:
2383:
2380:
2377:
2374:
2371:
2368:
2365:
2362:
2359:
2356:
2353:
2350:
2347:
2344:
2341:
2338:
2335:
2332:
2329:
2326:
2323:
2320:
2317:
2314:
2311:
2308:
2305:
2302:
2299:
2296:
2293:
2290:
2287:
2284:
2281:
2278:
2275:
2272:
2269:
2266:
2263:
2260:
2257:
2254:
2251:
2248:
2245:
2242:
2239:
2236:
2233:
2230:
2227:
2224:
2221:
2218:
2215:
2212:
2209:
2206:
2203:
2200:
2197:
2194:
2191:
2188:
2185:
2182:
2179:
2176:
2173:
2170:
2167:
2164:
2161:
2158:
2155:
2152:
2149:
2146:
2143:
2140:
2137:
2134:
2131:
2128:
2125:
2122:
2119:
2116:
2113:
2110:
2107:
2104:
2101:
2098:
2095:
2092:
2089:
2086:
2083:
2080:
2077:
2074:
2071:
2068:
2065:
2062:
2059:
2056:
2053:
2050:
2047:
2044:
2041:
2038:
2035:
2032:
2029:
2026:
2023:
2020:
2017:
2014:
2011:
2008:
2005:
2002:
2001:;; x = x^2 mod M
1999:
1996:
1993:
1990:
1987:
1984:
1981:
1978:
1975:
1972:
1969:
1966:
1963:
1960:
1957:
1954:
1951:
1948:
1945:
1942:
1939:
1936:
1933:
1930:
1927:
1924:
1921:
1918:
1915:
1912:
1909:
1906:
1903:
1900:
1897:
1894:
1891:
1888:
1885:
1882:
1879:
1876:
1873:
1870:
1867:
1864:
1861:
1858:
1855:
1852:
1849:
1846:
1843:
1840:
1837:
1834:
1831:
1828:
1825:
1822:
1819:
1816:
1813:
1810:
1807:
1804:
1801:
1798:
1795:
1792:
1789:
1786:
1783:
1780:
1777:
1774:
1771:
1768:
1765:
1762:
1759:
1756:
1753:
1750:
1747:
1744:
1741:
1738:
1735:
1732:
1729:
1726:
1723:
1720:
1717:
1714:
1711:
1708:
1705:
1702:
1699:
1696:
1693:
1690:
1687:
1684:
1681:
1678:
1675:
1672:
1669:
1666:
1663:
1660:
1657:
1654:
1651:
1648:
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1612:
1609:
1606:
1603:
1600:
1597:
1594:
1591:
1588:
1585:
1582:
1579:
1576:
1573:
1570:
1567:
1564:
1561:
1558:
1555:
1552:
1549:
1546:
1543:
1540:
1537:
1534:
1531:
1528:
1502:
1499:
1496:
1493:
1490:
1487:
1484:
1481:
1478:
1475:
1472:
1469:
1466:
1463:
1460:
1457:
1454:
1451:
1448:
1445:
1442:
1439:
1436:
1433:
1430:
1427:
1424:
1421:
1418:
1415:
1412:
1409:
1406:
1403:
1400:
1397:
1394:
1391:
1388:
1385:
1382:
1379:
1376:
1373:
1370:
1367:
1364:
1361:
1358:
1355:
1352:
1349:
1346:
1343:
1340:
1337:
1334:
1331:
1328:
1325:
1322:
1319:
1316:
1313:
1310:
1307:
1304:
1301:
1298:
1295:
1292:
1289:
1286:
1283:
1280:
1277:
1274:
1271:
1268:
1265:
1262:
1259:
1256:
1253:
1250:
1247:
1244:
1241:
1238:
1235:
1232:
1229:
1226:
1223:
1220:
1217:
1214:
1211:
1208:
1205:
1202:
1199:
1196:
1193:
1190:
1156:
1155:
1152:
1150:
1149:
1144:
1142:
1141:
1126:
1124:
1123:
1118:
1106:
1104:
1103:
1098:
1096:
1095:
1079:
1077:
1076:
1071:
1069:
1068:
1052:
1050:
1049:
1044:
1042:
1041:
1025:
1023:
1022:
1017:
1009:
1008:
989:
987:
986:
981:
979:
978:
962:
960:
959:
954:
940:
914:
891:
890:
871:
869:
868:
863:
851:
849:
848:
843:
825:
823:
822:
817:
799:
797:
796:
791:
693:
691:
690:
685:
608:. (Here we have
603:
601:
600:
595:
579:
577:
576:
571:
569:
568:
559:
554:
544:
543:
534:
533:
523:
507:
506:
428:The two primes,
335:
333:
332:
327:
325:
324:
314:
309:
297:
296:
267:Michael O. Rabin
235:
228:
217:
210:
206:
203:
197:
195:
161:"Blum Blum Shub"
154:
130:
122:
115:
108:
104:
101:
95:
90:this article by
81:inline citations
68:
67:
60:
49:
27:
26:
19:
2736:
2735:
2731:
2730:
2729:
2727:
2726:
2725:
2706:
2705:
2682:
2677:
2670:
2653:
2639:
2625:10.1137/0215025
2608:
2597:
2568:
2563:
2562:
2539:
2535:
2527:
2520:
2515:
2510:
2505:
2504:
2501:
2498:
2496:even-parity-bit
2495:
2492:
2489:
2486:
2483:
2480:
2477:
2474:
2471:
2468:
2465:
2462:
2459:
2456:
2454:even-parity-bit
2453:
2450:
2447:
2444:
2441:
2438:
2435:
2432:
2429:
2426:
2423:
2420:
2417:
2414:
2411:
2408:
2405:
2402:
2399:
2396:
2393:
2390:
2387:
2385:even-parity-bit
2384:
2381:
2378:
2375:
2372:
2369:
2366:
2363:
2360:
2357:
2354:
2351:
2348:
2345:
2342:
2339:
2336:
2333:
2330:
2327:
2324:
2322:"~2%"
2321:
2318:
2315:
2312:
2309:
2306:
2303:
2300:
2297:
2294:
2291:
2288:
2285:
2282:
2279:
2276:
2273:
2270:
2267:
2264:
2261:
2258:
2255:
2252:
2249:
2246:
2243:
2240:
2237:
2234:
2231:
2228:
2225:
2222:
2219:
2216:
2213:
2210:
2207:
2204:
2201:
2198:
2195:
2192:
2190:even-parity-bit
2189:
2186:
2183:
2180:
2177:
2174:
2171:
2168:
2165:
2162:
2159:
2156:
2153:
2150:
2147:
2144:
2141:
2138:
2136:even-parity-bit
2135:
2132:
2129:
2126:
2123:
2120:
2117:
2114:
2111:
2108:
2105:
2102:
2099:
2096:
2093:
2090:
2088:even-parity-bit
2087:
2084:
2081:
2078:
2075:
2072:
2069:
2066:
2063:
2060:
2057:
2054:
2051:
2048:
2045:
2042:
2039:
2036:
2033:
2030:
2027:
2024:
2021:
2018:
2015:
2012:
2009:
2006:
2003:
2000:
1997:
1994:
1991:
1988:
1985:
1982:
1979:
1976:
1973:
1970:
1967:
1964:
1961:
1958:
1955:
1952:
1949:
1946:
1943:
1940:
1937:
1934:
1931:
1928:
1925:
1922:
1919:
1916:
1913:
1910:
1907:
1904:
1901:
1898:
1895:
1892:
1889:
1886:
1883:
1880:
1877:
1874:
1871:
1868:
1865:
1862:
1859:
1856:
1853:
1850:
1847:
1844:
1841:
1838:
1835:
1832:
1829:
1826:
1823:
1820:
1817:
1814:
1811:
1808:
1805:
1802:
1799:
1796:
1793:
1790:
1787:
1784:
1781:
1778:
1775:
1772:
1769:
1766:
1763:
1760:
1757:
1754:
1751:
1748:
1745:
1742:
1739:
1736:
1733:
1730:
1727:
1724:
1721:
1718:
1715:
1712:
1709:
1706:
1703:
1700:
1697:
1694:
1691:
1688:
1685:
1682:
1679:
1676:
1673:
1670:
1667:
1664:
1661:
1658:
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1613:
1610:
1607:
1604:
1601:
1598:
1595:
1592:
1589:
1586:
1583:
1580:
1577:
1574:
1571:
1568:
1565:
1562:
1559:
1556:
1553:
1550:
1547:
1544:
1541:
1538:
1535:
1532:
1529:
1526:
1504:
1503:
1500:
1497:
1494:
1491:
1488:
1485:
1482:
1479:
1476:
1473:
1470:
1467:
1464:
1461:
1458:
1455:
1452:
1449:
1446:
1443:
1440:
1437:
1434:
1431:
1428:
1425:
1422:
1419:
1416:
1413:
1410:
1407:
1404:
1401:
1398:
1395:
1392:
1389:
1386:
1383:
1380:
1377:
1374:
1371:
1368:
1365:
1362:
1359:
1356:
1353:
1350:
1347:
1344:
1341:
1338:
1335:
1332:
1329:
1326:
1323:
1320:
1317:
1314:
1311:
1308:
1305:
1302:
1299:
1296:
1293:
1290:
1287:
1284:
1281:
1278:
1275:
1272:
1269:
1266:
1263:
1260:
1257:
1254:
1251:
1248:
1245:
1242:
1239:
1236:
1233:
1230:
1227:
1224:
1221:
1218:
1215:
1212:
1209:
1206:
1203:
1200:
1197:
1194:
1191:
1188:
1137:
1133:
1131:
1128:
1127:
1112:
1109:
1108:
1091:
1087:
1085:
1082:
1081:
1064:
1060:
1058:
1055:
1054:
1037:
1033:
1031:
1028:
1027:
1001:
997:
995:
992:
991:
974:
970:
968:
965:
964:
936:
910:
880:
879:
877:
874:
873:
857:
854:
853:
831:
828:
827:
805:
802:
801:
779:
776:
775:
772:
725:
700:
613:
610:
609:
589:
586:
585:
564:
560:
539:
535:
529:
525:
524:
519:
511:
502:
498:
496:
493:
492:
486:Euler's theorem
483:
424:
405:
392:
382:
368:
320:
316:
310:
305:
286:
282:
280:
277:
276:
236:
225:
224:
223:
218:
207:
201:
198:
155:
153:
147:
143:primary sources
131:
116:
105:
99:
96:
86:Please help to
85:
69:
65:
28:
24:
17:
12:
11:
5:
2734:
2724:
2723:
2718:
2704:
2703:
2698:
2693:
2688:
2681:
2680:External links
2678:
2676:
2675:
2663:10.1.1.90.3779
2644:
2601:
2595:
2569:
2567:
2564:
2561:
2560:
2533:
2517:
2516:
2514:
2511:
2509:
2506:
1525:
1506:The following
1474:blum_blum_shub
1198:blum_blum_shub
1187:
1176:
1175:
1172:
1168:
1167:
1162:
1140:
1136:
1116:
1094:
1090:
1067:
1063:
1040:
1036:
1015:
1012:
1007:
1004:
1000:
977:
973:
952:
949:
946:
943:
939:
935:
932:
929:
926:
923:
920:
917:
913:
909:
906:
903:
900:
897:
894:
889:
886:
883:
861:
841:
838:
835:
815:
812:
809:
789:
786:
783:
771:
768:
754:or increasing
723:
699:
696:
683:
680:
677:
674:
671:
668:
665:
662:
659:
656:
653:
650:
647:
644:
641:
638:
635:
632:
629:
626:
623:
620:
617:
593:
582:
581:
567:
563:
558:
553:
550:
547:
542:
538:
532:
528:
522:
518:
514:
510:
505:
501:
479:
422:
403:
387:
377:
363:
338:
337:
323:
319:
313:
308:
304:
300:
295:
292:
289:
285:
243:Blum Blum Shub
238:
237:
220:
219:
202:September 2013
134:
132:
125:
118:
117:
100:September 2013
72:
70:
63:
58:
32:
31:
29:
22:
15:
9:
6:
4:
3:
2:
2733:
2722:
2719:
2717:
2714:
2713:
2711:
2702:
2699:
2697:
2694:
2692:
2689:
2687:
2684:
2683:
2669:
2664:
2659:
2652:
2651:
2645:
2638:
2634:
2630:
2626:
2622:
2618:
2614:
2607:
2602:
2598:
2592:
2588:
2584:
2580:
2576:
2571:
2570:
2556:
2552:
2548:
2544:
2537:
2530:
2525:
2523:
2518:
1935:;; M = p * q
1523:
1521:
1517:
1513:
1509:
1185:
1183:
1173:
1170:
1169:
1166:
1163:
1161:
1158:
1157:
1154:
1138:
1134:
1114:
1092:
1088:
1065:
1061:
1038:
1034:
1013:
1010:
1005:
1002:
998:
975:
971:
950:
947:
941:
937:
930:
927:
924:
918:
915:
911:
904:
901:
898:
859:
839:
836:
833:
813:
810:
807:
787:
784:
781:
767:
765:
761:
757:
753:
749:
745:
740:
738:
734:
730:
726:
719:
715:
711:
710:
705:
695:
678:
675:
672:
669:
666:
663:
660:
654:
651:
648:
642:
639:
636:
630:
627:
621:
615:
607:
591:
565:
556:
548:
540:
530:
526:
520:
516:
512:
508:
503:
499:
491:
490:
489:
487:
482:
478:
473:
471:
467:
463:
459:
455:
452:with a small
451:
447:
443:
439:
435:
431:
426:
421:
417:
413:
409:
402:
399:
394:
390:
386:
380:
376:
372:
366:
362:
358:
354:
351:
347:
343:
321:
311:
306:
302:
298:
293:
290:
287:
283:
275:
274:
273:
270:
268:
264:
260:
256:
252:
248:
244:
234:
231:
216:
213:
205:
194:
191:
187:
184:
180:
177:
173:
170:
166:
163: –
162:
158:
157:Find sources:
151:
145:
144:
140:
135:This article
133:
129:
124:
123:
114:
111:
103:
93:
89:
83:
82:
76:
71:
62:
61:
56:
54:
47:
46:
41:
40:
35:
30:
21:
20:
2649:
2616:
2612:
2578:
2546:
2542:
2536:
1950:;; x0 = seed
1519:
1515:
1511:
1505:
1179:
1174:1 1 0 0 1 0
1171:0 1 1 0 1 0
773:
763:
759:
755:
751:
747:
743:
741:
736:
728:
721:
717:
708:
701:
583:
480:
476:
474:
469:
465:
461:
457:
433:
429:
427:
419:
415:
411:
407:
400:
395:
388:
384:
378:
374:
364:
360:
356:
352:
345:
341:
339:
271:
263:Michael Shub
246:
242:
241:
226:
208:
199:
189:
182:
175:
168:
156:
136:
106:
97:
78:
50:
43:
37:
36:Please help
33:
2549:: 355–375.
1508:Common Lisp
1432:steps"
450:safe primes
446:square root
259:Manuel Blum
255:Lenore Blum
92:introducing
2710:Categories
2508:References
1354:iterations
1222:iterations
1160:Parity bit
371:bit parity
172:newspapers
139:references
75:references
39:improve it
2658:CiteSeerX
2633:0097-5397
2513:Citations
1115:…
1003:−
990:by using
928:−
902:−
676:−
664:−
655:
640:⋅
631:λ
616:λ
592:λ
541:λ
438:congruent
45:talk page
2668:archived
2637:Archived
2256:function
1803:&key
1605:logcount
698:Security
444:has one
2566:Sources
2463:declare
2442:declare
2421:integer
2409:declare
2397:funcall
2271:integer
2244:declare
2145:declare
2124:declare
2058:integer
2046:declare
1968:integer
1956:declare
1884:integer
1872:declare
1737:integer
1725:declare
1650:integer
1638:declare
1590:integer
1563:integer
1551:declare
1465:numbers
1444:numbers
1441:numbers
1423:numbers
1396:numbers
1333:numbers
1300:isprime
1273:isprime
852:(where
770:Example
735:modulo
604:is the
249:) is a
186:scholar
88:improve
2660:
2631:
2593:
2484:format
2364:repeat
2346:format
2331:format
2316:format
2301:format
2265:values
2196:))))))
2184:values
1995:lambda
1989:#'
1462:return
1450:append
1438:return
1291:assert
1264:assert
1246:assert
1228:assert
1189:import
1182:Python
584:where
410:(i.e.
350:primes
340:where
247:B.B.S.
188:
181:
174:
167:
159:
77:, but
2671:(PDF)
2654:(PDF)
2640:(PDF)
2609:(PDF)
1794:defun
1704:defun
1617:defun
1530:defun
1468:print
1402:print
1348:range
1294:sympy
1267:sympy
1192:sympy
193:JSTOR
179:books
2629:ISSN
2591:ISBN
2547:3796
2502:))))
2469:type
2448:type
2415:type
2361:loop
2250:type
2169:setf
2151:type
2130:type
2052:type
1962:type
1878:type
1785:bits
1773:byte
1749:bits
1731:type
1713:bits
1689:bits
1662:bits
1644:type
1626:bits
1608:bits
1575:bits
1557:type
1539:bits
1518:and
1456:seed
1390:seed
1369:seed
1360:seed
1216:seed
826:and
774:Let
762:and
716:log
432:and
414:and
398:seed
396:The
355:and
261:and
165:news
2621:doi
2583:doi
2551:doi
2472:bit
2451:bit
2400:bbs
2292:bbs
2286:bit
2283:bit
2238:)))
2211:bbs
2205:let
2154:bit
2133:bit
2118:)))
2082:let
2040:)))
2019:mod
2007:let
1911:let
1860:---
1788:)))
1767:ldb
1761:bit
1758:the
1698:)))
1680:mod
1674:bit
1671:the
1611:)))
1584:the
1498:100
1417:len
1339:for
1195:def
714:log
694:).
652:lcm
562:mod
537:mod
488:):
466:q-3
464:, (
458:p-3
454:gcd
373:of
318:mod
141:to
2712::
2666:,
2656:,
2635:.
2627:.
2617:15
2615:.
2611:.
2589:.
2577:.
2545:.
2521:^
2478:))
2457:))
2436:))
2370:do
2295:))
2289:))
2259:()
2232::s
2229:23
2226::q
2223:11
2220::p
2208:((
2160:))
2139:))
2100:))
2085:((
2073:))
2010:((
1998:()
1986:))
1947:))
1932:))
1914:((
1905:))
1839:))
1824:23
1812:11
1752:))
1665:))
1578:))
1514:,
1501:))
1486:23
1480:11
1393:in
1387:if
1372:**
1357:):
1345:in
1330:p2
1324:p1
1309://
1306:p2
1282://
1279:p1
1258:==
1249:p2
1240:==
1231:p1
1225:):
1210:p2
1204:p1
1107:,
1080:,
1053:,
814:23
800:,
788:11
739:.
470:/2
462:/2
456:((
393:.
391:+1
381:+1
367:+1
346:pq
344:=
257:,
152:.
48:.
2623::
2599:.
2585::
2557:.
2553::
2493:x
2487:T
2481:(
2466:(
2460:(
2445:(
2439:(
2433:x
2430:)
2427:*
2424:0
2418:(
2412:(
2406:(
2403:)
2394:(
2391:)
2382:x
2379:(
2373:(
2367:6
2358:(
2355:)
2349:T
2343:(
2340:)
2334:T
2328:(
2325:)
2319:T
2313:(
2310:)
2304:T
2298:(
2280:)
2277:*
2274:0
2268:(
2262:(
2253:(
2247:(
2241:(
2235:3
2214:(
2202:(
2187:x
2181:(
2178:)
2175:x
2172:x
2166:(
2148:(
2142:(
2127:(
2121:(
2115:x
2109:(
2103:(
2097:x
2091:(
2079:(
2070:x
2067:)
2064:*
2061:0
2055:(
2049:(
2043:(
2037:M
2034:)
2031:x
2028:x
2025:*
2022:(
2016:(
2013:x
2004:(
1992:(
1983:x
1980:M
1977:)
1974:*
1971:0
1965:(
1959:(
1953:(
1944:s
1941:x
1938:(
1929:q
1926:p
1923:*
1920:(
1917:M
1908:(
1902:s
1899:q
1896:p
1893:)
1890:*
1887:0
1881:(
1875:(
1869:(
1836:3
1833:s
1830:(
1827:)
1821:q
1818:(
1815:)
1809:p
1806:(
1800:(
1791:(
1782:)
1779:0
1776:1
1770:(
1764:(
1755:(
1746:)
1743:*
1740:0
1734:(
1728:(
1722:(
1716:)
1710:(
1701:(
1695:2
1692:)
1683:(
1677:(
1668:(
1659:)
1656:*
1653:0
1647:(
1641:(
1635:(
1629:)
1623:(
1614:(
1602:(
1599:)
1596:*
1593:0
1587:(
1581:(
1572:)
1569:*
1566:0
1560:(
1554:(
1548:(
1542:)
1536:(
1527:(
1520:s
1516:q
1512:p
1495:,
1492:3
1489:,
1483:,
1477:(
1471:(
1459:)
1453:(
1447:.
1435:)
1429:}
1426:)
1420:(
1414:{
1408:f
1405:(
1399::
1384:n
1381:%
1378:)
1375:2
1366:(
1363:=
1351:(
1342:_
1336:=
1327:*
1321:=
1318:n
1315:)
1312:2
1303:(
1297:.
1288:)
1285:2
1276:(
1270:.
1261:3
1255:4
1252:%
1243:3
1237:4
1234:%
1219:,
1213:,
1207:,
1201:(
1139:5
1135:x
1093:2
1089:x
1066:1
1062:x
1039:0
1035:x
1014:s
1011:=
1006:1
999:x
976:0
972:x
951:2
948:=
945:)
942:2
938:/
934:)
931:3
925:q
922:(
919:,
916:2
912:/
908:)
905:3
899:p
896:(
893:(
888:d
885:c
882:g
860:s
840:3
837:=
834:s
811:=
808:q
785:=
782:p
764:j
760:M
756:j
752:M
748:j
744:M
737:M
729:M
724:n
722:x
718:M
712:(
709:O
682:)
679:1
673:q
670:,
667:1
661:p
658:(
649:=
646:)
643:q
637:p
634:(
628:=
625:)
622:M
619:(
580:,
566:M
557:)
552:)
549:M
546:(
531:i
527:2
521:0
517:x
513:(
509:=
504:i
500:x
481:i
477:x
468:)
460:)
434:q
430:p
423:0
420:x
416:q
412:p
408:M
404:0
401:x
389:n
385:x
379:n
375:x
365:n
361:x
357:q
353:p
342:M
336:,
322:M
312:2
307:n
303:x
299:=
294:1
291:+
288:n
284:x
245:(
233:)
227:(
215:)
209:(
204:)
200:(
190:·
183:·
176:·
169:·
146:.
113:)
107:(
102:)
98:(
84:.
55:)
51:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.