Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | updated |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
bd255385877a61e811d927c48056ca76 |
User & Date: | alexey@sudachen.name 2011-11-22 16:30:09.000 |
Context
2011-11-26
| ||
00:28 | updated check-in: 21f1495322 user: alexey@sudachen.name tags: trunk | |
2011-11-22
| ||
16:30 | updated check-in: bd25538587 user: alexey@sudachen.name tags: trunk | |
2011-11-07
| ||
00:40 | updated check-in: 7834397c45 user: alexey@sudachen.name tags: trunk | |
Changes
Changes to bigint.hc.
︙ | ︙ | |||
1064 1065 1066 1067 1068 1069 1070 | } #endif ; #ifndef _YOYO_BINGINT_BUILTIN extern #endif | | | 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 | } #endif ; #ifndef _YOYO_BINGINT_BUILTIN extern #endif unsigned short First_Prime_Values[] #ifdef _YOYO_BINGINT_BUILTIN = { #include "prime_values.inc" } #endif ; |
︙ | ︙ |
Changes to prime_values.inc.
|
| | | 1 2 3 4 5 6 7 8 | 2 ,3 ,5 ,7 ,11 ,13 ,17 ,19 ,23 ,29 ,31 ,37 ,41 ,43 ,47 ,53 ,59 ,61 ,67 ,71 ,73 ,79 ,83 ,89 ,97 ,101 ,103 ,107 ,109 ,113 ,127 ,131 ,137 ,139 ,149 ,151 ,157 ,163 ,167 ,173 ,179 ,181 ,191 ,193 ,197 ,199 ,211 ,223 ,227 ,229 ,233 ,239 ,241 ,251 ,257 ,263 ,269 ,271 ,277 ,281 ,283 ,293 ,307 ,311 ,313 ,317 ,331 ,337 ,347 ,349 ,353 ,359 ,367 ,373 ,379 ,383 ,389 ,397 ,401 ,409 |
︙ | ︙ | |||
116 117 118 119 120 121 122 | ,9293 ,9311 ,9319 ,9323 ,9337 ,9341 ,9343 ,9349 ,9371 ,9377 ,9391 ,9397 ,9403 ,9413 ,9419 ,9421 ,9431 ,9433 ,9437 ,9439 ,9461 ,9463 ,9467 ,9473 ,9479 ,9491 ,9497 ,9511 ,9521 ,9533 ,9539 ,9547 ,9551 ,9587 ,9601 ,9613 ,9619 ,9623 ,9629 ,9631 ,9643 ,9649 ,9661 ,9677 ,9679 ,9689 ,9697 ,9719 ,9721 ,9733 ,9739 ,9743 ,9749 ,9767 ,9769 ,9781 ,9787 ,9791 ,9803 ,9811 ,9817 ,9829 ,9833 ,9839 ,9851 ,9857 ,9859 ,9871 ,9883 ,9887 | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 | ,9293 ,9311 ,9319 ,9323 ,9337 ,9341 ,9343 ,9349 ,9371 ,9377 ,9391 ,9397 ,9403 ,9413 ,9419 ,9421 ,9431 ,9433 ,9437 ,9439 ,9461 ,9463 ,9467 ,9473 ,9479 ,9491 ,9497 ,9511 ,9521 ,9533 ,9539 ,9547 ,9551 ,9587 ,9601 ,9613 ,9619 ,9623 ,9629 ,9631 ,9643 ,9649 ,9661 ,9677 ,9679 ,9689 ,9697 ,9719 ,9721 ,9733 ,9739 ,9743 ,9749 ,9767 ,9769 ,9781 ,9787 ,9791 ,9803 ,9811 ,9817 ,9829 ,9833 ,9839 ,9851 ,9857 ,9859 ,9871 ,9883 ,9887 ,9901 ,9907 ,9923 ,9929 ,9931 ,9941 ,9949 ,9967 ,9973 ,10007 ,10009 ,10037 ,10039 ,10061 ,10067 ,10069 ,10079 ,10091 ,10093 ,10099 ,10103 ,10111 ,10133 ,10139 ,10141 ,10151 ,10159 ,10163 ,10169 ,10177 ,10181 ,10193 ,10211 ,10223 ,10243 ,10247 ,10253 ,10259 ,10267 ,10271 ,10273 ,10289 ,10301 ,10303 ,10313 ,10321 ,10331 ,10333 ,10337 ,10343 ,10357 ,10369 ,10391 ,10399 ,10427 ,10429 ,10433 ,10453 ,10457 ,10459 ,10463 ,10477 ,10487 ,10499 ,10501 ,10513 ,10529 ,10531 ,10559 ,10567 ,10589 ,10597 ,10601 ,10607 ,10613 ,10627 ,10631 ,10639 ,10651 ,10657 ,10663 ,10667 ,10687 ,10691 ,10709 ,10711 ,10723 ,10729 ,10733 ,10739 ,10753 ,10771 ,10781 ,10789 ,10799 ,10831 ,10837 ,10847 ,10853 ,10859 ,10861 ,10867 ,10883 ,10889 ,10891 ,10903 ,10909 ,10937 ,10939 ,10949 ,10957 ,10973 ,10979 ,10987 ,10993 ,11003 ,11027 ,11047 ,11057 ,11059 ,11069 ,11071 ,11083 ,11087 ,11093 ,11113 ,11117 ,11119 ,11131 ,11149 ,11159 ,11161 ,11171 ,11173 ,11177 ,11197 ,11213 ,11239 ,11243 ,11251 ,11257 ,11261 ,11273 ,11279 ,11287 ,11299 ,11311 ,11317 ,11321 ,11329 ,11351 ,11353 ,11369 ,11383 ,11393 ,11399 ,11411 ,11423 ,11437 ,11443 ,11447 ,11467 ,11471 ,11483 ,11489 ,11491 ,11497 ,11503 ,11519 ,11527 ,11549 ,11551 ,11579 ,11587 ,11593 ,11597 ,11617 ,11621 ,11633 ,11657 ,11677 ,11681 ,11689 ,11699 ,11701 ,11717 ,11719 ,11731 ,11743 ,11777 ,11779 ,11783 ,11789 ,11801 ,11807 ,11813 ,11821 ,11827 ,11831 ,11833 ,11839 ,11863 ,11867 ,11887 ,11897 ,11903 ,11909 ,11923 ,11927 ,11933 ,11939 ,11941 ,11953 ,11959 ,11969 ,11971 ,11981 ,11987 ,12007 ,12011 ,12037 ,12041 ,12043 ,12049 ,12071 ,12073 ,12097 ,12101 ,12107 ,12109 ,12113 ,12119 ,12143 ,12149 ,12157 ,12161 ,12163 ,12197 ,12203 ,12211 ,12227 ,12239 ,12241 ,12251 ,12253 ,12263 ,12269 ,12277 ,12281 ,12289 ,12301 ,12323 ,12329 ,12343 ,12347 ,12373 ,12377 ,12379 ,12391 ,12401 ,12409 ,12413 ,12421 ,12433 ,12437 ,12451 ,12457 ,12473 ,12479 ,12487 ,12491 ,12497 ,12503 ,12511 ,12517 ,12527 ,12539 ,12541 ,12547 ,12553 ,12569 ,12577 ,12583 ,12589 ,12601 ,12611 ,12613 ,12619 ,12637 ,12641 ,12647 ,12653 ,12659 ,12671 ,12689 ,12697 ,12703 ,12713 ,12721 ,12739 ,12743 ,12757 ,12763 ,12781 ,12791 ,12799 ,12809 ,12821 ,12823 ,12829 ,12841 ,12853 ,12889 ,12893 ,12899 ,12907 ,12911 ,12917 ,12919 ,12923 ,12941 ,12953 ,12959 ,12967 ,12973 ,12979 ,12983 ,13001 ,13003 ,13007 ,13009 ,13033 ,13037 ,13043 ,13049 ,13063 ,13093 ,13099 ,13103 ,13109 ,13121 ,13127 ,13147 ,13151 ,13159 ,13163 ,13171 ,13177 ,13183 ,13187 ,13217 ,13219 ,13229 ,13241 ,13249 ,13259 ,13267 ,13291 ,13297 ,13309 ,13313 ,13327 ,13331 ,13337 ,13339 ,13367 ,13381 ,13397 ,13399 ,13411 ,13417 ,13421 ,13441 ,13451 ,13457 ,13463 ,13469 ,13477 ,13487 ,13499 ,13513 ,13523 ,13537 ,13553 ,13567 ,13577 ,13591 ,13597 ,13613 ,13619 ,13627 ,13633 ,13649 ,13669 ,13679 ,13681 ,13687 ,13691 ,13693 ,13697 ,13709 ,13711 ,13721 ,13723 ,13729 ,13751 ,13757 ,13759 ,13763 ,13781 ,13789 ,13799 ,13807 ,13829 ,13831 ,13841 ,13859 ,13873 ,13877 ,13879 ,13883 ,13901 ,13903 ,13907 ,13913 ,13921 ,13931 ,13933 ,13963 ,13967 ,13997 ,13999 ,14009 ,14011 ,14029 ,14033 ,14051 ,14057 ,14071 ,14081 ,14083 ,14087 ,14107 ,14143 ,14149 ,14153 ,14159 ,14173 ,14177 ,14197 ,14207 ,14221 ,14243 ,14249 ,14251 ,14281 ,14293 ,14303 ,14321 ,14323 ,14327 ,14341 ,14347 ,14369 ,14387 ,14389 ,14401 ,14407 ,14411 ,14419 ,14423 ,14431 ,14437 ,14447 ,14449 ,14461 ,14479 ,14489 ,14503 ,14519 ,14533 ,14537 ,14543 ,14549 ,14551 ,14557 ,14561 ,14563 ,14591 ,14593 ,14621 ,14627 ,14629 ,14633 ,14639 ,14653 ,14657 ,14669 ,14683 ,14699 ,14713 ,14717 ,14723 ,14731 ,14737 ,14741 ,14747 ,14753 ,14759 ,14767 ,14771 ,14779 ,14783 ,14797 ,14813 ,14821 ,14827 ,14831 ,14843 ,14851 ,14867 ,14869 ,14879 ,14887 ,14891 ,14897 ,14923 ,14929 ,14939 ,14947 ,14951 ,14957 ,14969 ,14983 ,15013 ,15017 ,15031 ,15053 ,15061 ,15073 ,15077 ,15083 ,15091 ,15101 ,15107 ,15121 ,15131 ,15137 ,15139 ,15149 ,15161 ,15173 ,15187 ,15193 ,15199 ,15217 ,15227 ,15233 ,15241 ,15259 ,15263 ,15269 ,15271 ,15277 ,15287 ,15289 ,15299 ,15307 ,15313 ,15319 ,15329 ,15331 ,15349 ,15359 ,15361 ,15373 ,15377 ,15383 ,15391 ,15401 ,15413 ,15427 ,15439 ,15443 ,15451 ,15461 ,15467 ,15473 ,15493 ,15497 ,15511 ,15527 ,15541 ,15551 ,15559 ,15569 ,15581 ,15583 ,15601 ,15607 ,15619 ,15629 ,15641 ,15643 ,15647 ,15649 ,15661 ,15667 ,15671 ,15679 ,15683 ,15727 ,15731 ,15733 ,15737 ,15739 ,15749 ,15761 ,15767 ,15773 ,15787 ,15791 ,15797 ,15803 ,15809 ,15817 ,15823 ,15859 ,15877 ,15881 ,15887 ,15889 ,15901 ,15907 ,15913 ,15919 ,15923 ,15937 ,15959 ,15971 ,15973 ,15991 ,16001 ,16007 ,16033 ,16057 ,16061 ,16063 ,16067 ,16069 ,16073 ,16087 ,16091 ,16097 ,16103 ,16111 ,16127 ,16139 ,16141 ,16183 ,16187 ,16189 ,16193 ,16217 ,16223 ,16229 ,16231 ,16249 ,16253 ,16267 ,16273 ,16301 ,16319 ,16333 ,16339 ,16349 ,16361 ,16363 ,16369 ,16381 ,16411 ,16417 ,16421 ,16427 ,16433 ,16447 ,16451 ,16453 ,16477 ,16481 ,16487 ,16493 ,16519 ,16529 ,16547 ,16553 ,16561 ,16567 ,16573 ,16603 ,16607 ,16619 ,16631 ,16633 ,16649 ,16651 ,16657 ,16661 ,16673 ,16691 ,16693 ,16699 ,16703 ,16729 ,16741 ,16747 ,16759 ,16763 ,16787 ,16811 ,16823 ,16829 ,16831 ,16843 ,16871 ,16879 ,16883 ,16889 ,16901 ,16903 ,16921 ,16927 ,16931 ,16937 ,16943 ,16963 ,16979 ,16981 ,16987 ,16993 ,17011 ,17021 ,17027 ,17029 ,17033 ,17041 ,17047 ,17053 ,17077 ,17093 ,17099 ,17107 ,17117 ,17123 ,17137 ,17159 ,17167 ,17183 ,17189 ,17191 ,17203 ,17207 ,17209 ,17231 ,17239 ,17257 ,17291 ,17293 ,17299 ,17317 ,17321 ,17327 ,17333 ,17341 ,17351 ,17359 ,17377 ,17383 ,17387 ,17389 ,17393 ,17401 ,17417 ,17419 ,17431 ,17443 ,17449 ,17467 ,17471 ,17477 ,17483 ,17489 ,17491 ,17497 ,17509 ,17519 ,17539 ,17551 ,17569 ,17573 ,17579 ,17581 ,17597 ,17599 ,17609 ,17623 ,17627 ,17657 ,17659 ,17669 ,17681 ,17683 ,17707 ,17713 ,17729 ,17737 ,17747 ,17749 ,17761 ,17783 ,17789 ,17791 ,17807 ,17827 ,17837 ,17839 ,17851 ,17863 ,17881 ,17891 ,17903 ,17909 ,17911 ,17921 ,17923 ,17929 ,17939 ,17957 ,17959 ,17971 ,17977 ,17981 ,17987 ,17989 ,18013 ,18041 ,18043 ,18047 ,18049 ,18059 ,18061 ,18077 ,18089 ,18097 ,18119 ,18121 ,18127 ,18131 ,18133 ,18143 ,18149 ,18169 ,18181 ,18191 ,18199 ,18211 ,18217 ,18223 ,18229 ,18233 ,18251 ,18253 ,18257 ,18269 ,18287 ,18289 ,18301 ,18307 ,18311 ,18313 ,18329 ,18341 ,18353 ,18367 ,18371 ,18379 ,18397 ,18401 ,18413 ,18427 ,18433 ,18439 ,18443 ,18451 ,18457 ,18461 ,18481 ,18493 ,18503 ,18517 ,18521 ,18523 ,18539 ,18541 ,18553 ,18583 ,18587 ,18593 ,18617 ,18637 ,18661 ,18671 ,18679 ,18691 ,18701 ,18713 ,18719 ,18731 ,18743 ,18749 ,18757 ,18773 ,18787 ,18793 ,18797 ,18803 ,18839 ,18859 ,18869 ,18899 ,18911 ,18913 ,18917 ,18919 ,18947 ,18959 ,18973 ,18979 ,19001 ,19009 ,19013 ,19031 ,19037 ,19051 ,19069 ,19073 ,19079 ,19081 ,19087 ,19121 ,19139 ,19141 ,19157 ,19163 ,19181 ,19183 ,19207 ,19211 ,19213 ,19219 ,19231 ,19237 ,19249 ,19259 ,19267 ,19273 ,19289 ,19301 ,19309 ,19319 ,19333 ,19373 ,19379 ,19381 ,19387 ,19391 ,19403 ,19417 ,19421 ,19423 ,19427 ,19429 ,19433 ,19441 ,19447 ,19457 ,19463 ,19469 ,19471 ,19477 ,19483 ,19489 ,19501 ,19507 ,19531 ,19541 ,19543 ,19553 ,19559 ,19571 ,19577 ,19583 ,19597 ,19603 ,19609 ,19661 ,19681 ,19687 ,19697 ,19699 ,19709 ,19717 ,19727 ,19739 ,19751 ,19753 ,19759 ,19763 ,19777 ,19793 ,19801 ,19813 ,19819 ,19841 ,19843 ,19853 ,19861 ,19867 ,19889 ,19891 ,19913 ,19919 ,19927 ,19937 ,19949 ,19961 ,19963 ,19973 ,19979 ,19991 ,19993 ,19997 ,20011 ,20021 ,20023 ,20029 ,20047 ,20051 ,20063 ,20071 ,20089 ,20101 ,20107 ,20113 ,20117 ,20123 ,20129 ,20143 ,20147 ,20149 ,20161 ,20173 ,20177 ,20183 ,20201 ,20219 ,20231 ,20233 ,20249 ,20261 ,20269 ,20287 ,20297 ,20323 ,20327 ,20333 ,20341 ,20347 ,20353 ,20357 ,20359 ,20369 ,20389 ,20393 ,20399 ,20407 ,20411 ,20431 ,20441 ,20443 ,20477 ,20479 ,20483 ,20507 ,20509 ,20521 ,20533 ,20543 ,20549 ,20551 ,20563 ,20593 ,20599 ,20611 ,20627 ,20639 ,20641 ,20663 ,20681 ,20693 ,20707 ,20717 ,20719 ,20731 ,20743 ,20747 ,20749 ,20753 ,20759 ,20771 ,20773 ,20789 ,20807 ,20809 ,20849 ,20857 ,20873 ,20879 ,20887 ,20897 ,20899 ,20903 ,20921 ,20929 ,20939 ,20947 ,20959 ,20963 ,20981 ,20983 ,21001 ,21011 ,21013 ,21017 ,21019 ,21023 ,21031 ,21059 ,21061 ,21067 ,21089 ,21101 ,21107 ,21121 ,21139 ,21143 ,21149 ,21157 ,21163 ,21169 ,21179 ,21187 ,21191 ,21193 ,21211 ,21221 ,21227 ,21247 ,21269 ,21277 ,21283 ,21313 ,21317 ,21319 ,21323 ,21341 ,21347 ,21377 ,21379 ,21383 ,21391 ,21397 ,21401 ,21407 ,21419 ,21433 ,21467 ,21481 ,21487 ,21491 ,21493 ,21499 ,21503 ,21517 ,21521 ,21523 ,21529 ,21557 ,21559 ,21563 ,21569 ,21577 ,21587 ,21589 ,21599 ,21601 ,21611 ,21613 ,21617 ,21647 ,21649 ,21661 ,21673 ,21683 ,21701 ,21713 ,21727 ,21737 ,21739 ,21751 ,21757 ,21767 ,21773 ,21787 ,21799 ,21803 ,21817 ,21821 ,21839 ,21841 ,21851 ,21859 ,21863 ,21871 ,21881 ,21893 ,21911 ,21929 ,21937 ,21943 ,21961 ,21977 ,21991 ,21997 ,22003 ,22013 ,22027 ,22031 ,22037 ,22039 ,22051 ,22063 ,22067 ,22073 ,22079 ,22091 ,22093 ,22109 ,22111 ,22123 ,22129 ,22133 ,22147 ,22153 ,22157 ,22159 ,22171 ,22189 ,22193 ,22229 ,22247 ,22259 ,22271 ,22273 ,22277 ,22279 ,22283 ,22291 ,22303 ,22307 ,22343 ,22349 ,22367 ,22369 ,22381 ,22391 ,22397 ,22409 ,22433 ,22441 ,22447 ,22453 ,22469 ,22481 ,22483 ,22501 ,22511 ,22531 ,22541 ,22543 ,22549 ,22567 ,22571 ,22573 ,22613 ,22619 ,22621 ,22637 ,22639 ,22643 ,22651 ,22669 ,22679 ,22691 ,22697 ,22699 ,22709 ,22717 ,22721 ,22727 ,22739 ,22741 ,22751 ,22769 ,22777 ,22783 ,22787 ,22807 ,22811 ,22817 ,22853 ,22859 ,22861 ,22871 ,22877 ,22901 ,22907 ,22921 ,22937 ,22943 ,22961 ,22963 ,22973 ,22993 ,23003 ,23011 ,23017 ,23021 ,23027 ,23029 ,23039 ,23041 ,23053 ,23057 ,23059 ,23063 ,23071 ,23081 ,23087 ,23099 ,23117 ,23131 ,23143 ,23159 ,23167 ,23173 ,23189 ,23197 ,23201 ,23203 ,23209 ,23227 ,23251 ,23269 ,23279 ,23291 ,23293 ,23297 ,23311 ,23321 ,23327 ,23333 ,23339 ,23357 ,23369 ,23371 ,23399 ,23417 ,23431 ,23447 ,23459 ,23473 ,23497 ,23509 ,23531 ,23537 ,23539 ,23549 ,23557 ,23561 ,23563 ,23567 ,23581 ,23593 ,23599 ,23603 ,23609 ,23623 ,23627 ,23629 ,23633 ,23663 ,23669 ,23671 ,23677 ,23687 ,23689 ,23719 ,23741 ,23743 ,23747 ,23753 ,23761 ,23767 ,23773 ,23789 ,23801 ,23813 ,23819 ,23827 ,23831 ,23833 ,23857 ,23869 ,23873 ,23879 ,23887 ,23893 ,23899 ,23909 ,23911 ,23917 ,23929 ,23957 ,23971 ,23977 ,23981 ,23993 ,24001 ,24007 ,24019 ,24023 ,24029 ,24043 ,24049 ,24061 ,24071 ,24077 ,24083 ,24091 ,24097 ,24103 ,24107 ,24109 ,24113 ,24121 ,24133 ,24137 ,24151 ,24169 ,24179 ,24181 ,24197 ,24203 ,24223 ,24229 ,24239 ,24247 ,24251 ,24281 ,24317 ,24329 ,24337 ,24359 ,24371 ,24373 ,24379 ,24391 ,24407 ,24413 ,24419 ,24421 ,24439 ,24443 ,24469 ,24473 ,24481 ,24499 ,24509 ,24517 ,24527 ,24533 ,24547 ,24551 ,24571 ,24593 ,24611 ,24623 ,24631 ,24659 ,24671 ,24677 ,24683 ,24691 ,24697 ,24709 ,24733 ,24749 ,24763 ,24767 ,24781 ,24793 ,24799 ,24809 ,24821 ,24841 ,24847 ,24851 ,24859 ,24877 ,24889 ,24907 ,24917 ,24919 ,24923 ,24943 ,24953 ,24967 ,24971 ,24977 ,24979 ,24989 ,25013 ,25031 ,25033 ,25037 ,25057 ,25073 ,25087 ,25097 ,25111 ,25117 ,25121 ,25127 ,25147 ,25153 ,25163 ,25169 ,25171 ,25183 ,25189 ,25219 ,25229 ,25237 ,25243 ,25247 ,25253 ,25261 ,25301 ,25303 ,25307 ,25309 ,25321 ,25339 ,25343 ,25349 ,25357 ,25367 ,25373 ,25391 ,25409 ,25411 ,25423 ,25439 ,25447 ,25453 ,25457 ,25463 ,25469 ,25471 ,25523 ,25537 ,25541 ,25561 ,25577 ,25579 ,25583 ,25589 ,25601 ,25603 ,25609 ,25621 ,25633 ,25639 ,25643 ,25657 ,25667 ,25673 ,25679 ,25693 ,25703 ,25717 ,25733 ,25741 ,25747 ,25759 ,25763 ,25771 ,25793 ,25799 ,25801 ,25819 ,25841 ,25847 ,25849 ,25867 ,25873 ,25889 ,25903 ,25913 ,25919 ,25931 ,25933 ,25939 ,25943 ,25951 ,25969 ,25981 ,25997 ,25999 ,26003 ,26017 ,26021 ,26029 ,26041 ,26053 ,26083 ,26099 ,26107 ,26111 ,26113 ,26119 ,26141 ,26153 ,26161 ,26171 ,26177 ,26183 ,26189 ,26203 ,26209 ,26227 ,26237 ,26249 ,26251 ,26261 ,26263 ,26267 ,26293 ,26297 ,26309 ,26317 ,26321 ,26339 ,26347 ,26357 ,26371 ,26387 ,26393 ,26399 ,26407 ,26417 ,26423 ,26431 ,26437 ,26449 ,26459 ,26479 ,26489 ,26497 ,26501 ,26513 ,26539 ,26557 ,26561 ,26573 ,26591 ,26597 ,26627 ,26633 ,26641 ,26647 ,26669 ,26681 ,26683 ,26687 ,26693 ,26699 ,26701 ,26711 ,26713 ,26717 ,26723 ,26729 ,26731 ,26737 ,26759 ,26777 ,26783 ,26801 ,26813 ,26821 ,26833 ,26839 ,26849 ,26861 ,26863 ,26879 ,26881 ,26891 ,26893 ,26903 ,26921 ,26927 ,26947 ,26951 ,26953 ,26959 ,26981 ,26987 ,26993 ,27011 ,27017 ,27031 ,27043 ,27059 ,27061 ,27067 ,27073 ,27077 ,27091 ,27103 ,27107 ,27109 ,27127 ,27143 ,27179 ,27191 ,27197 ,27211 ,27239 ,27241 ,27253 ,27259 ,27271 ,27277 ,27281 ,27283 ,27299 ,27329 ,27337 ,27361 ,27367 ,27397 ,27407 ,27409 ,27427 ,27431 ,27437 ,27449 ,27457 ,27479 ,27481 ,27487 ,27509 ,27527 ,27529 ,27539 ,27541 ,27551 ,27581 ,27583 ,27611 ,27617 ,27631 ,27647 ,27653 ,27673 ,27689 ,27691 ,27697 ,27701 ,27733 ,27737 ,27739 ,27743 ,27749 ,27751 ,27763 ,27767 ,27773 ,27779 ,27791 ,27793 ,27799 ,27803 ,27809 ,27817 ,27823 ,27827 ,27847 ,27851 ,27883 ,27893 ,27901 ,27917 ,27919 ,27941 ,27943 ,27947 ,27953 ,27961 ,27967 ,27983 ,27997 ,28001 ,28019 ,28027 ,28031 ,28051 ,28057 ,28069 ,28081 ,28087 ,28097 ,28099 ,28109 ,28111 ,28123 ,28151 ,28163 ,28181 ,28183 ,28201 ,28211 ,28219 ,28229 ,28277 ,28279 ,28283 ,28289 ,28297 ,28307 ,28309 ,28319 ,28349 ,28351 ,28387 ,28393 ,28403 ,28409 ,28411 ,28429 ,28433 ,28439 ,28447 ,28463 ,28477 ,28493 ,28499 ,28513 ,28517 ,28537 ,28541 ,28547 ,28549 ,28559 ,28571 ,28573 ,28579 ,28591 ,28597 ,28603 ,28607 ,28619 ,28621 ,28627 ,28631 ,28643 ,28649 ,28657 ,28661 ,28663 ,28669 ,28687 ,28697 ,28703 ,28711 ,28723 ,28729 ,28751 ,28753 ,28759 ,28771 ,28789 ,28793 ,28807 ,28813 ,28817 ,28837 ,28843 ,28859 ,28867 ,28871 ,28879 ,28901 ,28909 ,28921 ,28927 ,28933 ,28949 ,28961 ,28979 ,29009 ,29017 ,29021 ,29023 ,29027 ,29033 ,29059 ,29063 ,29077 ,29101 ,29123 ,29129 ,29131 ,29137 ,29147 ,29153 ,29167 ,29173 ,29179 ,29191 ,29201 ,29207 ,29209 ,29221 ,29231 ,29243 ,29251 ,29269 ,29287 ,29297 ,29303 ,29311 ,29327 ,29333 ,29339 ,29347 ,29363 ,29383 ,29387 ,29389 ,29399 ,29401 ,29411 ,29423 ,29429 ,29437 ,29443 ,29453 ,29473 ,29483 ,29501 ,29527 ,29531 ,29537 ,29567 ,29569 ,29573 ,29581 ,29587 ,29599 ,29611 ,29629 ,29633 ,29641 ,29663 ,29669 ,29671 ,29683 ,29717 ,29723 ,29741 ,29753 ,29759 ,29761 ,29789 ,29803 ,29819 ,29833 ,29837 ,29851 ,29863 ,29867 ,29873 ,29879 ,29881 ,29917 ,29921 ,29927 ,29947 ,29959 ,29983 ,29989 ,30011 ,30013 ,30029 ,30047 ,30059 ,30071 ,30089 ,30091 ,30097 ,30103 ,30109 ,30113 ,30119 ,30133 ,30137 ,30139 ,30161 ,30169 ,30181 ,30187 ,30197 ,30203 ,30211 ,30223 ,30241 ,30253 ,30259 ,30269 ,30271 ,30293 ,30307 ,30313 ,30319 ,30323 ,30341 ,30347 ,30367 ,30389 ,30391 ,30403 ,30427 ,30431 ,30449 ,30467 ,30469 ,30491 ,30493 ,30497 ,30509 ,30517 ,30529 ,30539 ,30553 ,30557 ,30559 ,30577 ,30593 ,30631 ,30637 ,30643 ,30649 ,30661 ,30671 ,30677 ,30689 ,30697 ,30703 ,30707 ,30713 ,30727 ,30757 ,30763 ,30773 ,30781 ,30803 ,30809 ,30817 ,30829 ,30839 ,30841 ,30851 ,30853 ,30859 ,30869 ,30871 ,30881 ,30893 ,30911 ,30931 ,30937 ,30941 ,30949 ,30971 ,30977 ,30983 ,31013 ,31019 ,31033 ,31039 ,31051 ,31063 ,31069 ,31079 ,31081 ,31091 ,31121 ,31123 ,31139 ,31147 ,31151 ,31153 ,31159 ,31177 ,31181 ,31183 ,31189 ,31193 ,31219 ,31223 ,31231 ,31237 ,31247 ,31249 ,31253 ,31259 ,31267 ,31271 ,31277 ,31307 ,31319 ,31321 ,31327 ,31333 ,31337 ,31357 ,31379 ,31387 ,31391 ,31393 ,31397 ,31469 ,31477 ,31481 ,31489 ,31511 ,31513 ,31517 ,31531 ,31541 ,31543 ,31547 ,31567 ,31573 ,31583 ,31601 ,31607 ,31627 ,31643 ,31649 ,31657 ,31663 ,31667 ,31687 ,31699 ,31721 ,31723 ,31727 ,31729 ,31741 ,31751 ,31769 ,31771 ,31793 ,31799 ,31817 ,31847 ,31849 ,31859 ,31873 ,31883 ,31891 ,31907 ,31957 ,31963 ,31973 ,31981 ,31991 ,32003 ,32009 ,32027 ,32029 ,32051 ,32057 ,32059 ,32063 ,32069 ,32077 ,32083 ,32089 ,32099 ,32117 ,32119 ,32141 ,32143 ,32159 ,32173 ,32183 ,32189 ,32191 ,32203 ,32213 ,32233 ,32237 ,32251 ,32257 ,32261 ,32297 ,32299 ,32303 ,32309 ,32321 ,32323 ,32327 ,32341 ,32353 ,32359 ,32363 ,32369 ,32371 ,32377 ,32381 ,32401 ,32411 ,32413 ,32423 ,32429 ,32441 ,32443 ,32467 ,32479 ,32491 ,32497 ,32503 ,32507 ,32531 ,32533 ,32537 ,32561 ,32563 ,32569 ,32573 ,32579 ,32587 ,32603 ,32609 ,32611 ,32621 ,32633 ,32647 ,32653 ,32687 ,32693 ,32707 ,32713 ,32717 ,32719 ,32749 ,32771 ,32779 ,32783 ,32789 ,32797 ,32801 ,32803 ,32831 ,32833 ,32839 ,32843 ,32869 ,32887 ,32909 ,32911 ,32917 ,32933 ,32939 ,32941 ,32957 ,32969 ,32971 ,32983 ,32987 ,32993 ,32999 ,33013 ,33023 ,33029 ,33037 ,33049 ,33053 ,33071 ,33073 ,33083 ,33091 ,33107 ,33113 ,33119 ,33149 ,33151 ,33161 ,33179 ,33181 ,33191 ,33199 ,33203 ,33211 ,33223 ,33247 ,33287 ,33289 ,33301 ,33311 ,33317 ,33329 ,33331 ,33343 ,33347 ,33349 ,33353 ,33359 ,33377 ,33391 ,33403 ,33409 ,33413 ,33427 ,33457 ,33461 ,33469 ,33479 ,33487 ,33493 ,33503 ,33521 ,33529 ,33533 ,33547 ,33563 ,33569 ,33577 ,33581 ,33587 ,33589 ,33599 ,33601 ,33613 ,33617 ,33619 ,33623 ,33629 ,33637 ,33641 ,33647 ,33679 ,33703 ,33713 ,33721 ,33739 ,33749 ,33751 ,33757 ,33767 ,33769 ,33773 ,33791 ,33797 ,33809 ,33811 ,33827 ,33829 ,33851 ,33857 ,33863 ,33871 ,33889 ,33893 ,33911 ,33923 ,33931 ,33937 ,33941 ,33961 ,33967 ,33997 ,34019 ,34031 ,34033 ,34039 ,34057 ,34061 ,34123 ,34127 ,34129 ,34141 ,34147 ,34157 ,34159 ,34171 ,34183 ,34211 ,34213 ,34217 ,34231 ,34253 ,34259 ,34261 ,34267 ,34273 ,34283 ,34297 ,34301 ,34303 ,34313 ,34319 ,34327 ,34337 ,34351 ,34361 ,34367 ,34369 ,34381 ,34403 ,34421 ,34429 ,34439 ,34457 ,34469 ,34471 ,34483 ,34487 ,34499 ,34501 ,34511 ,34513 ,34519 ,34537 ,34543 ,34549 ,34583 ,34589 ,34591 ,34603 ,34607 ,34613 ,34631 ,34649 ,34651 ,34667 ,34673 ,34679 ,34687 ,34693 ,34703 ,34721 ,34729 ,34739 ,34747 ,34757 ,34759 ,34763 ,34781 ,34807 ,34819 ,34841 ,34843 ,34847 ,34849 ,34871 ,34877 ,34883 ,34897 ,34913 ,34919 ,34939 ,34949 ,34961 ,34963 ,34981 ,35023 ,35027 ,35051 ,35053 ,35059 ,35069 ,35081 ,35083 ,35089 ,35099 ,35107 ,35111 ,35117 ,35129 ,35141 ,35149 ,35153 ,35159 ,35171 ,35201 ,35221 ,35227 ,35251 ,35257 ,35267 ,35279 ,35281 ,35291 ,35311 ,35317 ,35323 ,35327 ,35339 ,35353 ,35363 ,35381 ,35393 ,35401 ,35407 ,35419 ,35423 ,35437 ,35447 ,35449 ,35461 ,35491 ,35507 ,35509 ,35521 ,35527 ,35531 ,35533 ,35537 ,35543 ,35569 ,35573 ,35591 ,35593 ,35597 ,35603 ,35617 ,35671 ,35677 ,35729 ,35731 ,35747 ,35753 ,35759 ,35771 ,35797 ,35801 ,35803 ,35809 ,35831 ,35837 ,35839 ,35851 ,35863 ,35869 ,35879 ,35897 ,35899 ,35911 ,35923 ,35933 ,35951 ,35963 ,35969 ,35977 ,35983 ,35993 ,35999 ,36007 ,36011 ,36013 ,36017 ,36037 ,36061 ,36067 ,36073 ,36083 ,36097 ,36107 ,36109 ,36131 ,36137 ,36151 ,36161 ,36187 ,36191 ,36209 ,36217 ,36229 ,36241 ,36251 ,36263 ,36269 ,36277 ,36293 ,36299 ,36307 ,36313 ,36319 ,36341 ,36343 ,36353 ,36373 ,36383 ,36389 ,36433 ,36451 ,36457 ,36467 ,36469 ,36473 ,36479 ,36493 ,36497 ,36523 ,36527 ,36529 ,36541 ,36551 ,36559 ,36563 ,36571 ,36583 ,36587 ,36599 ,36607 ,36629 ,36637 ,36643 ,36653 ,36671 ,36677 ,36683 ,36691 ,36697 ,36709 ,36713 ,36721 ,36739 ,36749 ,36761 ,36767 ,36779 ,36781 ,36787 ,36791 ,36793 ,36809 ,36821 ,36833 ,36847 ,36857 ,36871 ,36877 ,36887 ,36899 ,36901 ,36913 ,36919 ,36923 ,36929 ,36931 ,36943 ,36947 ,36973 ,36979 ,36997 ,37003 ,37013 ,37019 ,37021 ,37039 ,37049 ,37057 ,37061 ,37087 ,37097 ,37117 ,37123 ,37139 ,37159 ,37171 ,37181 ,37189 ,37199 ,37201 ,37217 ,37223 ,37243 ,37253 ,37273 ,37277 ,37307 ,37309 ,37313 ,37321 ,37337 ,37339 ,37357 ,37361 ,37363 ,37369 ,37379 ,37397 ,37409 ,37423 ,37441 ,37447 ,37463 ,37483 ,37489 ,37493 ,37501 ,37507 ,37511 ,37517 ,37529 ,37537 ,37547 ,37549 ,37561 ,37567 ,37571 ,37573 ,37579 ,37589 ,37591 ,37607 ,37619 ,37633 ,37643 ,37649 ,37657 ,37663 ,37691 ,37693 ,37699 ,37717 ,37747 ,37781 ,37783 ,37799 ,37811 ,37813 ,37831 ,37847 ,37853 ,37861 ,37871 ,37879 ,37889 ,37897 ,37907 ,37951 ,37957 ,37963 ,37967 ,37987 ,37991 ,37993 ,37997 ,38011 ,38039 ,38047 ,38053 ,38069 ,38083 ,38113 ,38119 ,38149 ,38153 ,38167 ,38177 ,38183 ,38189 ,38197 ,38201 ,38219 ,38231 ,38237 ,38239 ,38261 ,38273 ,38281 ,38287 ,38299 ,38303 ,38317 ,38321 ,38327 ,38329 ,38333 ,38351 ,38371 ,38377 ,38393 ,38431 ,38447 ,38449 ,38453 ,38459 ,38461 ,38501 ,38543 ,38557 ,38561 ,38567 ,38569 ,38593 ,38603 ,38609 ,38611 ,38629 ,38639 ,38651 ,38653 ,38669 ,38671 ,38677 ,38693 ,38699 ,38707 ,38711 ,38713 ,38723 ,38729 ,38737 ,38747 ,38749 ,38767 ,38783 ,38791 ,38803 ,38821 ,38833 ,38839 ,38851 ,38861 ,38867 ,38873 ,38891 ,38903 ,38917 ,38921 ,38923 ,38933 ,38953 ,38959 ,38971 ,38977 ,38993 ,39019 ,39023 ,39041 ,39043 ,39047 ,39079 ,39089 ,39097 ,39103 ,39107 ,39113 ,39119 ,39133 ,39139 ,39157 ,39161 ,39163 ,39181 ,39191 ,39199 ,39209 ,39217 ,39227 ,39229 ,39233 ,39239 ,39241 ,39251 ,39293 ,39301 ,39313 ,39317 ,39323 ,39341 ,39343 ,39359 ,39367 ,39371 ,39373 ,39383 ,39397 ,39409 ,39419 ,39439 ,39443 ,39451 ,39461 ,39499 ,39503 ,39509 ,39511 ,39521 ,39541 ,39551 ,39563 ,39569 ,39581 ,39607 ,39619 ,39623 ,39631 ,39659 ,39667 ,39671 ,39679 ,39703 ,39709 ,39719 ,39727 ,39733 ,39749 ,39761 ,39769 ,39779 ,39791 ,39799 ,39821 ,39827 ,39829 ,39839 ,39841 ,39847 ,39857 ,39863 ,39869 ,39877 ,39883 ,39887 ,39901 ,39929 ,39937 ,39953 ,39971 ,39979 ,39983 ,39989 ,40009 ,40013 ,40031 ,40037 ,40039 ,40063 ,40087 ,40093 ,40099 ,40111 ,40123 ,40127 ,40129 ,40151 ,40153 ,40163 ,40169 ,40177 ,40189 ,40193 ,40213 ,40231 ,40237 ,40241 ,40253 ,40277 ,40283 ,40289 ,40343 ,40351 ,40357 ,40361 ,40387 ,40423 ,40427 ,40429 ,40433 ,40459 ,40471 ,40483 ,40487 ,40493 ,40499 ,40507 ,40519 ,40529 ,40531 ,40543 ,40559 ,40577 ,40583 ,40591 ,40597 ,40609 ,40627 ,40637 ,40639 ,40693 ,40697 ,40699 ,40709 ,40739 ,40751 ,40759 ,40763 ,40771 ,40787 ,40801 ,40813 ,40819 ,40823 ,40829 ,40841 ,40847 ,40849 ,40853 ,40867 ,40879 ,40883 ,40897 ,40903 ,40927 ,40933 ,40939 ,40949 ,40961 ,40973 ,40993 ,41011 ,41017 ,41023 ,41039 ,41047 ,41051 ,41057 ,41077 ,41081 ,41113 ,41117 ,41131 ,41141 ,41143 ,41149 ,41161 ,41177 ,41179 ,41183 ,41189 ,41201 ,41203 ,41213 ,41221 ,41227 ,41231 ,41233 ,41243 ,41257 ,41263 ,41269 ,41281 ,41299 ,41333 ,41341 ,41351 ,41357 ,41381 ,41387 ,41389 ,41399 ,41411 ,41413 ,41443 ,41453 ,41467 ,41479 ,41491 ,41507 ,41513 ,41519 ,41521 ,41539 ,41543 ,41549 ,41579 ,41593 ,41597 ,41603 ,41609 ,41611 ,41617 ,41621 ,41627 ,41641 ,41647 ,41651 ,41659 ,41669 ,41681 ,41687 ,41719 ,41729 ,41737 ,41759 ,41761 ,41771 ,41777 ,41801 ,41809 ,41813 ,41843 ,41849 ,41851 ,41863 ,41879 ,41887 ,41893 ,41897 ,41903 ,41911 ,41927 ,41941 ,41947 ,41953 ,41957 ,41959 ,41969 ,41981 ,41983 ,41999 ,42013 ,42017 ,42019 ,42023 ,42043 ,42061 ,42071 ,42073 ,42083 ,42089 ,42101 ,42131 ,42139 ,42157 ,42169 ,42179 ,42181 ,42187 ,42193 ,42197 ,42209 ,42221 ,42223 ,42227 ,42239 ,42257 ,42281 ,42283 ,42293 ,42299 ,42307 ,42323 ,42331 ,42337 ,42349 ,42359 ,42373 ,42379 ,42391 ,42397 ,42403 ,42407 ,42409 ,42433 ,42437 ,42443 ,42451 ,42457 ,42461 ,42463 ,42467 ,42473 ,42487 ,42491 ,42499 ,42509 ,42533 ,42557 ,42569 ,42571 ,42577 ,42589 ,42611 ,42641 ,42643 ,42649 ,42667 ,42677 ,42683 ,42689 ,42697 ,42701 ,42703 ,42709 ,42719 ,42727 ,42737 ,42743 ,42751 ,42767 ,42773 ,42787 ,42793 ,42797 ,42821 ,42829 ,42839 ,42841 ,42853 ,42859 ,42863 ,42899 ,42901 ,42923 ,42929 ,42937 ,42943 ,42953 ,42961 ,42967 ,42979 ,42989 ,43003 ,43013 ,43019 ,43037 ,43049 ,43051 ,43063 ,43067 ,43093 ,43103 ,43117 ,43133 ,43151 ,43159 ,43177 ,43189 ,43201 ,43207 ,43223 ,43237 ,43261 ,43271 ,43283 ,43291 ,43313 ,43319 ,43321 ,43331 ,43391 ,43397 ,43399 ,43403 ,43411 ,43427 ,43441 ,43451 ,43457 ,43481 ,43487 ,43499 ,43517 ,43541 ,43543 ,43573 ,43577 ,43579 ,43591 ,43597 ,43607 ,43609 ,43613 ,43627 ,43633 ,43649 ,43651 ,43661 ,43669 ,43691 ,43711 ,43717 ,43721 ,43753 ,43759 ,43777 ,43781 ,43783 ,43787 ,43789 ,43793 ,43801 ,43853 ,43867 ,43889 ,43891 ,43913 ,43933 ,43943 ,43951 ,43961 ,43963 ,43969 ,43973 ,43987 ,43991 ,43997 ,44017 ,44021 ,44027 ,44029 ,44041 ,44053 ,44059 ,44071 ,44087 ,44089 ,44101 ,44111 ,44119 ,44123 ,44129 ,44131 ,44159 ,44171 ,44179 ,44189 ,44201 ,44203 ,44207 ,44221 ,44249 ,44257 ,44263 ,44267 ,44269 ,44273 ,44279 ,44281 ,44293 ,44351 ,44357 ,44371 ,44381 ,44383 ,44389 ,44417 ,44449 ,44453 ,44483 ,44491 ,44497 ,44501 ,44507 ,44519 ,44531 ,44533 ,44537 ,44543 ,44549 ,44563 ,44579 ,44587 ,44617 ,44621 ,44623 ,44633 ,44641 ,44647 ,44651 ,44657 ,44683 ,44687 ,44699 ,44701 ,44711 ,44729 ,44741 ,44753 ,44771 ,44773 ,44777 ,44789 ,44797 ,44809 ,44819 ,44839 ,44843 ,44851 ,44867 ,44879 ,44887 ,44893 ,44909 ,44917 ,44927 ,44939 ,44953 ,44959 ,44963 ,44971 ,44983 ,44987 ,45007 ,45013 ,45053 ,45061 ,45077 ,45083 ,45119 ,45121 ,45127 ,45131 ,45137 ,45139 ,45161 ,45179 ,45181 ,45191 ,45197 ,45233 ,45247 ,45259 ,45263 ,45281 ,45289 ,45293 ,45307 ,45317 ,45319 ,45329 ,45337 ,45341 ,45343 ,45361 ,45377 ,45389 ,45403 ,45413 ,45427 ,45433 ,45439 ,45481 ,45491 ,45497 ,45503 ,45523 ,45533 ,45541 ,45553 ,45557 ,45569 ,45587 ,45589 ,45599 ,45613 ,45631 ,45641 ,45659 ,45667 ,45673 ,45677 ,45691 ,45697 ,45707 ,45737 ,45751 ,45757 ,45763 ,45767 ,45779 ,45817 ,45821 ,45823 ,45827 ,45833 ,45841 ,45853 ,45863 ,45869 ,45887 ,45893 ,45943 ,45949 ,45953 ,45959 ,45971 ,45979 ,45989 ,46021 ,46027 ,46049 ,46051 ,46061 ,46073 ,46091 ,46093 ,46099 ,46103 ,46133 ,46141 ,46147 ,46153 ,46171 ,46181 ,46183 ,46187 ,46199 ,46219 ,46229 ,46237 ,46261 ,46271 ,46273 ,46279 ,46301 ,46307 ,46309 ,46327 ,46337 ,46349 ,46351 ,46381 ,46399 ,46411 ,46439 ,46441 ,46447 ,46451 ,46457 ,46471 ,46477 ,46489 ,46499 ,46507 ,46511 ,46523 ,46549 ,46559 ,46567 ,46573 ,46589 ,46591 ,46601 ,46619 ,46633 ,46639 ,46643 ,46649 ,46663 ,46679 ,46681 ,46687 ,46691 ,46703 ,46723 ,46727 ,46747 ,46751 ,46757 ,46769 ,46771 ,46807 ,46811 ,46817 ,46819 ,46829 ,46831 ,46853 ,46861 ,46867 ,46877 ,46889 ,46901 ,46919 ,46933 ,46957 ,46993 ,46997 ,47017 ,47041 ,47051 ,47057 ,47059 ,47087 ,47093 ,47111 ,47119 ,47123 ,47129 ,47137 ,47143 ,47147 ,47149 ,47161 ,47189 ,47207 ,47221 ,47237 ,47251 ,47269 ,47279 ,47287 ,47293 ,47297 ,47303 ,47309 ,47317 ,47339 ,47351 ,47353 ,47363 ,47381 ,47387 ,47389 ,47407 ,47417 ,47419 ,47431 ,47441 ,47459 ,47491 ,47497 ,47501 ,47507 ,47513 ,47521 ,47527 ,47533 ,47543 ,47563 ,47569 ,47581 ,47591 ,47599 ,47609 ,47623 ,47629 ,47639 ,47653 ,47657 ,47659 ,47681 ,47699 ,47701 ,47711 ,47713 ,47717 ,47737 ,47741 ,47743 ,47777 ,47779 ,47791 ,47797 ,47807 ,47809 ,47819 ,47837 ,47843 ,47857 ,47869 ,47881 ,47903 ,47911 ,47917 ,47933 ,47939 ,47947 ,47951 ,47963 ,47969 ,47977 ,47981 ,48017 ,48023 ,48029 ,48049 ,48073 ,48079 ,48091 ,48109 ,48119 ,48121 ,48131 ,48157 ,48163 ,48179 ,48187 ,48193 ,48197 ,48221 ,48239 ,48247 ,48259 ,48271 ,48281 ,48299 ,48311 ,48313 ,48337 ,48341 ,48353 ,48371 ,48383 ,48397 ,48407 ,48409 ,48413 ,48437 ,48449 ,48463 ,48473 ,48479 ,48481 ,48487 ,48491 ,48497 ,48523 ,48527 ,48533 ,48539 ,48541 ,48563 ,48571 ,48589 ,48593 ,48611 ,48619 ,48623 ,48647 ,48649 ,48661 ,48673 ,48677 ,48679 ,48731 ,48733 ,48751 ,48757 ,48761 ,48767 ,48779 ,48781 ,48787 ,48799 ,48809 ,48817 ,48821 ,48823 ,48847 ,48857 ,48859 ,48869 ,48871 ,48883 ,48889 ,48907 ,48947 ,48953 ,48973 ,48989 ,48991 ,49003 ,49009 ,49019 ,49031 ,49033 ,49037 ,49043 ,49057 ,49069 ,49081 ,49103 ,49109 ,49117 ,49121 ,49123 ,49139 ,49157 ,49169 ,49171 ,49177 ,49193 ,49199 ,49201 ,49207 ,49211 ,49223 ,49253 ,49261 ,49277 ,49279 ,49297 ,49307 ,49331 ,49333 ,49339 ,49363 ,49367 ,49369 ,49391 ,49393 ,49409 ,49411 ,49417 ,49429 ,49433 ,49451 ,49459 ,49463 ,49477 ,49481 ,49499 ,49523 ,49529 ,49531 ,49537 ,49547 ,49549 ,49559 ,49597 ,49603 ,49613 ,49627 ,49633 ,49639 ,49663 ,49667 ,49669 ,49681 ,49697 ,49711 ,49727 ,49739 ,49741 ,49747 ,49757 ,49783 ,49787 ,49789 ,49801 ,49807 ,49811 ,49823 ,49831 ,49843 ,49853 ,49871 ,49877 ,49891 ,49919 ,49921 ,49927 ,49937 ,49939 ,49943 ,49957 ,49991 ,49993 ,49999 ,50021 ,50023 ,50033 ,50047 ,50051 ,50053 ,50069 ,50077 ,50087 ,50093 ,50101 ,50111 ,50119 ,50123 ,50129 ,50131 ,50147 ,50153 ,50159 ,50177 ,50207 ,50221 ,50227 ,50231 ,50261 ,50263 ,50273 ,50287 ,50291 ,50311 ,50321 ,50329 ,50333 ,50341 ,50359 ,50363 ,50377 ,50383 ,50387 ,50411 ,50417 ,50423 ,50441 ,50459 ,50461 ,50497 ,50503 ,50513 ,50527 ,50539 ,50543 ,50549 ,50551 ,50581 ,50587 ,50591 ,50593 ,50599 ,50627 ,50647 ,50651 ,50671 ,50683 ,50707 ,50723 ,50741 ,50753 ,50767 ,50773 ,50777 ,50789 ,50821 ,50833 ,50839 ,50849 ,50857 ,50867 ,50873 ,50891 ,50893 ,50909 ,50923 ,50929 ,50951 ,50957 ,50969 ,50971 ,50989 ,50993 ,51001 ,51031 ,51043 ,51047 ,51059 ,51061 ,51071 ,51109 ,51131 ,51133 ,51137 ,51151 ,51157 ,51169 ,51193 ,51197 ,51199 ,51203 ,51217 ,51229 ,51239 ,51241 ,51257 ,51263 ,51283 ,51287 ,51307 ,51329 ,51341 ,51343 ,51347 ,51349 ,51361 ,51383 ,51407 ,51413 ,51419 ,51421 ,51427 ,51431 ,51437 ,51439 ,51449 ,51461 ,51473 ,51479 ,51481 ,51487 ,51503 ,51511 ,51517 ,51521 ,51539 ,51551 ,51563 ,51577 ,51581 ,51593 ,51599 ,51607 ,51613 ,51631 ,51637 ,51647 ,51659 ,51673 ,51679 ,51683 ,51691 ,51713 ,51719 ,51721 ,51749 ,51767 ,51769 ,51787 ,51797 ,51803 ,51817 ,51827 ,51829 ,51839 ,51853 ,51859 ,51869 ,51871 ,51893 ,51899 ,51907 ,51913 ,51929 ,51941 ,51949 ,51971 ,51973 ,51977 ,51991 ,52009 ,52021 ,52027 ,52051 ,52057 ,52067 ,52069 ,52081 ,52103 ,52121 ,52127 ,52147 ,52153 ,52163 ,52177 ,52181 ,52183 ,52189 ,52201 ,52223 ,52237 ,52249 ,52253 ,52259 ,52267 ,52289 ,52291 ,52301 ,52313 ,52321 ,52361 ,52363 ,52369 ,52379 ,52387 ,52391 ,52433 ,52453 ,52457 ,52489 ,52501 ,52511 ,52517 ,52529 ,52541 ,52543 ,52553 ,52561 ,52567 ,52571 ,52579 ,52583 ,52609 ,52627 ,52631 ,52639 ,52667 ,52673 ,52691 ,52697 ,52709 ,52711 ,52721 ,52727 ,52733 ,52747 ,52757 ,52769 ,52783 ,52807 ,52813 ,52817 ,52837 ,52859 ,52861 ,52879 ,52883 ,52889 ,52901 ,52903 ,52919 ,52937 ,52951 ,52957 ,52963 ,52967 ,52973 ,52981 ,52999 ,53003 ,53017 ,53047 ,53051 ,53069 ,53077 ,53087 ,53089 ,53093 ,53101 ,53113 ,53117 ,53129 ,53147 ,53149 ,53161 ,53171 ,53173 ,53189 ,53197 ,53201 ,53231 ,53233 ,53239 ,53267 ,53269 ,53279 ,53281 ,53299 ,53309 ,53323 ,53327 ,53353 ,53359 ,53377 ,53381 ,53401 ,53407 ,53411 ,53419 ,53437 ,53441 ,53453 ,53479 ,53503 ,53507 ,53527 ,53549 ,53551 ,53569 ,53591 ,53593 ,53597 ,53609 ,53611 ,53617 ,53623 ,53629 ,53633 ,53639 ,53653 ,53657 ,53681 ,53693 ,53699 ,53717 ,53719 ,53731 ,53759 ,53773 ,53777 ,53783 ,53791 ,53813 ,53819 ,53831 ,53849 ,53857 ,53861 ,53881 ,53887 ,53891 ,53897 ,53899 ,53917 ,53923 ,53927 ,53939 ,53951 ,53959 ,53987 ,53993 ,54001 ,54011 ,54013 ,54037 ,54049 ,54059 ,54083 ,54091 ,54101 ,54121 ,54133 ,54139 ,54151 ,54163 ,54167 ,54181 ,54193 ,54217 ,54251 ,54269 ,54277 ,54287 ,54293 ,54311 ,54319 ,54323 ,54331 ,54347 ,54361 ,54367 ,54371 ,54377 ,54401 ,54403 ,54409 ,54413 ,54419 ,54421 ,54437 ,54443 ,54449 ,54469 ,54493 ,54497 ,54499 ,54503 ,54517 ,54521 ,54539 ,54541 ,54547 ,54559 ,54563 ,54577 ,54581 ,54583 ,54601 ,54617 ,54623 ,54629 ,54631 ,54647 ,54667 ,54673 ,54679 ,54709 ,54713 ,54721 ,54727 ,54751 ,54767 ,54773 ,54779 ,54787 ,54799 ,54829 ,54833 ,54851 ,54869 ,54877 ,54881 ,54907 ,54917 ,54919 ,54941 ,54949 ,54959 ,54973 ,54979 ,54983 ,55001 ,55009 ,55021 ,55049 ,55051 ,55057 ,55061 ,55073 ,55079 ,55103 ,55109 ,55117 ,55127 ,55147 ,55163 ,55171 ,55201 ,55207 ,55213 ,55217 ,55219 ,55229 ,55243 ,55249 ,55259 ,55291 ,55313 ,55331 ,55333 ,55337 ,55339 ,55343 ,55351 ,55373 ,55381 ,55399 ,55411 ,55439 ,55441 ,55457 ,55469 ,55487 ,55501 ,55511 ,55529 ,55541 ,55547 ,55579 ,55589 ,55603 ,55609 ,55619 ,55621 ,55631 ,55633 ,55639 ,55661 ,55663 ,55667 ,55673 ,55681 ,55691 ,55697 ,55711 ,55717 ,55721 ,55733 ,55763 ,55787 ,55793 ,55799 ,55807 ,55813 ,55817 ,55819 ,55823 ,55829 ,55837 ,55843 ,55849 ,55871 ,55889 ,55897 ,55901 ,55903 ,55921 ,55927 ,55931 ,55933 ,55949 ,55967 ,55987 ,55997 ,56003 ,56009 ,56039 ,56041 ,56053 ,56081 ,56087 ,56093 ,56099 ,56101 ,56113 ,56123 ,56131 ,56149 ,56167 ,56171 ,56179 ,56197 ,56207 ,56209 ,56237 ,56239 ,56249 ,56263 ,56267 ,56269 ,56299 ,56311 ,56333 ,56359 ,56369 ,56377 ,56383 ,56393 ,56401 ,56417 ,56431 ,56437 ,56443 ,56453 ,56467 ,56473 ,56477 ,56479 ,56489 ,56501 ,56503 ,56509 ,56519 ,56527 ,56531 ,56533 ,56543 ,56569 ,56591 ,56597 ,56599 ,56611 ,56629 ,56633 ,56659 ,56663 ,56671 ,56681 ,56687 ,56701 ,56711 ,56713 ,56731 ,56737 ,56747 ,56767 ,56773 ,56779 ,56783 ,56807 ,56809 ,56813 ,56821 ,56827 ,56843 ,56857 ,56873 ,56891 ,56893 ,56897 ,56909 ,56911 ,56921 ,56923 ,56929 ,56941 ,56951 ,56957 ,56963 ,56983 ,56989 ,56993 ,56999 ,57037 ,57041 ,57047 ,57059 ,57073 ,57077 ,57089 ,57097 ,57107 ,57119 ,57131 ,57139 ,57143 ,57149 ,57163 ,57173 ,57179 ,57191 ,57193 ,57203 ,57221 ,57223 ,57241 ,57251 ,57259 ,57269 ,57271 ,57283 ,57287 ,57301 ,57329 ,57331 ,57347 ,57349 ,57367 ,57373 ,57383 ,57389 ,57397 ,57413 ,57427 ,57457 ,57467 ,57487 ,57493 ,57503 ,57527 ,57529 ,57557 ,57559 ,57571 ,57587 ,57593 ,57601 ,57637 ,57641 ,57649 ,57653 ,57667 ,57679 ,57689 ,57697 ,57709 ,57713 ,57719 ,57727 ,57731 ,57737 ,57751 ,57773 ,57781 ,57787 ,57791 ,57793 ,57803 ,57809 ,57829 ,57839 ,57847 ,57853 ,57859 ,57881 ,57899 ,57901 ,57917 ,57923 ,57943 ,57947 ,57973 ,57977 ,57991 ,58013 ,58027 ,58031 ,58043 ,58049 ,58057 ,58061 ,58067 ,58073 ,58099 ,58109 ,58111 ,58129 ,58147 ,58151 ,58153 ,58169 ,58171 ,58189 ,58193 ,58199 ,58207 ,58211 ,58217 ,58229 ,58231 ,58237 ,58243 ,58271 ,58309 ,58313 ,58321 ,58337 ,58363 ,58367 ,58369 ,58379 ,58391 ,58393 ,58403 ,58411 ,58417 ,58427 ,58439 ,58441 ,58451 ,58453 ,58477 ,58481 ,58511 ,58537 ,58543 ,58549 ,58567 ,58573 ,58579 ,58601 ,58603 ,58613 ,58631 ,58657 ,58661 ,58679 ,58687 ,58693 ,58699 ,58711 ,58727 ,58733 ,58741 ,58757 ,58763 ,58771 ,58787 ,58789 ,58831 ,58889 ,58897 ,58901 ,58907 ,58909 ,58913 ,58921 ,58937 ,58943 ,58963 ,58967 ,58979 ,58991 ,58997 ,59009 ,59011 ,59021 ,59023 ,59029 ,59051 ,59053 ,59063 ,59069 ,59077 ,59083 ,59093 ,59107 ,59113 ,59119 ,59123 ,59141 ,59149 ,59159 ,59167 ,59183 ,59197 ,59207 ,59209 ,59219 ,59221 ,59233 ,59239 ,59243 ,59263 ,59273 ,59281 ,59333 ,59341 ,59351 ,59357 ,59359 ,59369 ,59377 ,59387 ,59393 ,59399 ,59407 ,59417 ,59419 ,59441 ,59443 ,59447 ,59453 ,59467 ,59471 ,59473 ,59497 ,59509 ,59513 ,59539 ,59557 ,59561 ,59567 ,59581 ,59611 ,59617 ,59621 ,59627 ,59629 ,59651 ,59659 ,59663 ,59669 ,59671 ,59693 ,59699 ,59707 ,59723 ,59729 ,59743 ,59747 ,59753 ,59771 ,59779 ,59791 ,59797 ,59809 ,59833 ,59863 ,59879 ,59887 ,59921 ,59929 ,59951 ,59957 ,59971 ,59981 ,59999 ,60013 ,60017 ,60029 ,60037 ,60041 ,60077 ,60083 ,60089 ,60091 ,60101 ,60103 ,60107 ,60127 ,60133 ,60139 ,60149 ,60161 ,60167 ,60169 ,60209 ,60217 ,60223 ,60251 ,60257 ,60259 ,60271 ,60289 ,60293 ,60317 ,60331 ,60337 ,60343 ,60353 ,60373 ,60383 ,60397 ,60413 ,60427 ,60443 ,60449 ,60457 ,60493 ,60497 ,60509 ,60521 ,60527 ,60539 ,60589 ,60601 ,60607 ,60611 ,60617 ,60623 ,60631 ,60637 ,60647 ,60649 ,60659 ,60661 ,60679 ,60689 ,60703 ,60719 ,60727 ,60733 ,60737 ,60757 ,60761 ,60763 ,60773 ,60779 ,60793 ,60811 ,60821 ,60859 ,60869 ,60887 ,60889 ,60899 ,60901 ,60913 ,60917 ,60919 ,60923 ,60937 ,60943 ,60953 ,60961 ,61001 ,61007 ,61027 ,61031 ,61043 ,61051 ,61057 ,61091 ,61099 ,61121 ,61129 ,61141 ,61151 ,61153 ,61169 ,61211 ,61223 ,61231 ,61253 ,61261 ,61283 ,61291 ,61297 ,61331 ,61333 ,61339 ,61343 ,61357 ,61363 ,61379 ,61381 ,61403 ,61409 ,61417 ,61441 ,61463 ,61469 ,61471 ,61483 ,61487 ,61493 ,61507 ,61511 ,61519 ,61543 ,61547 ,61553 ,61559 ,61561 ,61583 ,61603 ,61609 ,61613 ,61627 ,61631 ,61637 ,61643 ,61651 ,61657 ,61667 ,61673 ,61681 ,61687 ,61703 ,61717 ,61723 ,61729 ,61751 ,61757 ,61781 ,61813 ,61819 ,61837 ,61843 ,61861 ,61871 ,61879 ,61909 ,61927 ,61933 ,61949 ,61961 ,61967 ,61979 ,61981 ,61987 ,61991 ,62003 ,62011 ,62017 ,62039 ,62047 ,62053 ,62057 ,62071 ,62081 ,62099 ,62119 ,62129 ,62131 ,62137 ,62141 ,62143 ,62171 ,62189 ,62191 ,62201 ,62207 ,62213 ,62219 ,62233 ,62273 ,62297 ,62299 ,62303 ,62311 ,62323 ,62327 ,62347 ,62351 ,62383 ,62401 ,62417 ,62423 ,62459 ,62467 ,62473 ,62477 ,62483 ,62497 ,62501 ,62507 ,62533 ,62539 ,62549 ,62563 ,62581 ,62591 ,62597 ,62603 ,62617 ,62627 ,62633 ,62639 ,62653 ,62659 ,62683 ,62687 ,62701 ,62723 ,62731 ,62743 ,62753 ,62761 ,62773 ,62791 ,62801 ,62819 ,62827 ,62851 ,62861 ,62869 ,62873 ,62897 ,62903 ,62921 ,62927 ,62929 ,62939 ,62969 ,62971 ,62981 ,62983 ,62987 ,62989 ,63029 ,63031 ,63059 ,63067 ,63073 ,63079 ,63097 ,63103 ,63113 ,63127 ,63131 ,63149 ,63179 ,63197 ,63199 ,63211 ,63241 ,63247 ,63277 ,63281 ,63299 ,63311 ,63313 ,63317 ,63331 ,63337 ,63347 ,63353 ,63361 ,63367 ,63377 ,63389 ,63391 ,63397 ,63409 ,63419 ,63421 ,63439 ,63443 ,63463 ,63467 ,63473 ,63487 ,63493 ,63499 ,63521 ,63527 ,63533 ,63541 ,63559 ,63577 ,63587 ,63589 ,63599 ,63601 ,63607 ,63611 ,63617 ,63629 ,63647 ,63649 ,63659 ,63667 ,63671 ,63689 ,63691 ,63697 ,63703 ,63709 ,63719 ,63727 ,63737 ,63743 ,63761 ,63773 ,63781 ,63793 ,63799 ,63803 ,63809 ,63823 ,63839 ,63841 ,63853 ,63857 ,63863 ,63901 ,63907 ,63913 ,63929 ,63949 ,63977 ,63997 ,64007 ,64013 ,64019 ,64033 ,64037 ,64063 ,64067 ,64081 ,64091 ,64109 ,64123 ,64151 ,64153 ,64157 ,64171 ,64187 ,64189 ,64217 ,64223 ,64231 ,64237 ,64271 ,64279 ,64283 ,64301 ,64303 ,64319 ,64327 ,64333 ,64373 ,64381 ,64399 ,64403 ,64433 ,64439 ,64451 ,64453 ,64483 ,64489 ,64499 ,64513 ,64553 ,64567 ,64577 ,64579 ,64591 ,64601 ,64609 ,64613 ,64621 ,64627 ,64633 ,64661 ,64663 ,64667 ,64679 ,64693 ,64709 ,64717 ,64747 ,64763 ,64781 ,64783 ,64793 ,64811 ,64817 ,64849 ,64853 ,64871 ,64877 ,64879 ,64891 ,64901 ,64919 ,64921 ,64927 ,64937 ,64951 ,64969 ,64997 ,65003 ,65011 ,65027 ,65029 ,65033 ,65053 ,65063 ,65071 ,65089 ,65099 ,65101 ,65111 ,65119 ,65123 ,65129 ,65141 ,65147 ,65167 ,65171 ,65173 ,65179 ,65183 ,65203 ,65213 ,65239 ,65257 ,65267 ,65269 ,65287 ,65293 ,65309 ,65323 ,65327 ,65353 ,65357 ,65371 ,65381 ,65393 ,65407 ,65413 ,65419 ,65423 ,65437 ,65447 ,65449 ,65479 ,65497 ,65519 ,65521 |
Changes to tests/simplersa.py.
1 2 3 4 5 | # # Simple RSA # Copyright (c) 2007, Alexey Sudachen # | > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/usr/bin/env python # # Simple RSA # Copyright (c) 2007, Alexey Sudachen # from random import random, randrange from os import urandom import sys,struct,time _there_is_no_more = "there is no more then 500 primes" first_500_prime_values = [ 2 ,3 ,5 ,7 ,11 ,13 ,17 ,19 ,23 ,29 ,31 ,37 ,41 ,43 ,47 ,53 ,59 ,61 ,67 ,71 ,73 ,79 ,83 ,89 ,97 ,101 ,103 ,107 ,109 ,113 |
︙ | ︙ | |||
286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | def decrypt_256L(s,key,n,Sx=False): return decrypt_L(32,s,key,n,Sx) def decrypt_512L(s,key,n,Sx=False): return decrypt_L(64,s,key,n,Sx) if __name__ == '__main__': for i in range(1): pub,pri,n = gen_key_pair_128() for j in range(100): print '--- %d:%d -----' %(i,j) s = urandom(156) r = encrypt_128L(s,pub,n) v = decrypt_128L(r,pri,n) | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 | def decrypt_256L(s,key,n,Sx=False): return decrypt_L(32,s,key,n,Sx) def decrypt_512L(s,key,n,Sx=False): return decrypt_L(64,s,key,n,Sx) def miller_rabin_pass(a, s, d, n): a_to_power = pow(a, d, n) if a_to_power == 1: return True for i in xrange(s-1): if a_to_power == n - 1: return True a_to_power = (a_to_power * a_to_power) % n return a_to_power == n - 1 def miller_rabin(n): d = n - 1 s = 0 while d % 2 == 0: d >>= 1 s += 1 for repeat in xrange(20): a = 0 while a == 0: a = randrange(n) if not miller_rabin_pass(a, s, d, n): return False return True def gen_prime2(bits): while True: r = 2L for i in xrange(bits-3): r = (r << 1) + long(random() * 2) r = (r << 1) + 1 if miller_rabin(r): return r if __name__ == '__main__': t0 = time.time() Q = gen_prime(1024,150) print time.time() - t0 print Q t0 = time.time() Q = gen_prime2(1024) print time.time() - t0 print Q sys.exit(0) for i in range(1): pub,pri,n = gen_key_pair_128() for j in range(100): print '--- %d:%d -----' %(i,j) s = urandom(156) r = encrypt_128L(s,pub,n) v = decrypt_128L(r,pri,n) |
︙ | ︙ |