building circuits for integer factorization d j bernstein
play

Building circuits for integer factorization D. J. Bernstein Thanks - PDF document

Building circuits for integer factorization D. J. Bernstein Thanks to: University of Illinois at Chicago NSF DMS0140542 Alfred P. Sloan Foundation I want to work for NSA as an independent


  1. � � � Building circuits for integer factorization D. J. Bernstein Thanks to: University of Illinois at Chicago NSF DMS–0140542 Alfred P. Sloan Foundation I want to work for NSA

  2. � � � ✁ ✂ ✂ � as an independent contractor. Outline of business plan: NSA sends me ( ), where � is a 1024-bit integer; ✁✄� are primes;

  3. � ✂ ✁ � ✁ ✂ � ✂ ✁ � � as an independent contractor. Outline of business plan: NSA sends me ( ), where � is a 1024-bit integer; ✁✄� are primes; is a large pile of cash. One year later, � ) or ( I send NSA ( ).

  4. � ✁ Extremely important: Need CONFIDENCE that dollars are more than enough ✁✄� ) or ( to compute ( ) in one year.

  5. � ✁ Extremely important: Need CONFIDENCE that dollars are more than enough ✁✄� ) or ( to compute ( ) in one year. If is not enough, NSA sends me to Guantanamo Bay. Unacceptable risk.

  6. � Can we expect to achieve confidence that cost of factoring is ? Yes. Expensive way to achieve confidence: Go ahead and � . spend dollars factoring Goal: Achieve confidence with much less expense than doing the factorization.

  7. � � � � Other issues, not as important: ✂ NSA would like minimum � but all ’s in a wide range are acceptable. ✂ I would like my actual computation cost to be minimum � but all costs in a wide range are acceptable. CONFIDENCE is essential. Minimization is not essential.

  8. Minimum cost is not essential but we can still aim for it. Can we expect to achieve it? No! Can never confidently state lower bound on the cost. People keep discovering ways to reduce the cost. Let’s look at an example: finding a good NFS polynomial.

  9. ☎ � ✄ ✂ ✂ ✂ � ✂ Degree 1 + 5 number-field sieve ✁ 6 ; � ; chooses � 1 is given expands in base as 5 + 4 + = ✂ + 0 , 5 4 maybe with negative coefficients; contemplates polynomial values ✄ 5 + 4 ✄ 4 + ✂ + 0 5 ). ( )( 5 ✁ 6 . � 1 Have 5 Typically all the ✆ ’s ✁ 6 . � 1 are on scale of (1993 Buhler Lenstra Pomerance)

  10. ☎ ✁ ✂ ✂ � ✄ ✁ ✁ ✁ ✄ ✁ To reduce values by factor : Enumerate many possibilities ✁ 6 . � 1 0 � 25 for near ✁ 6 . ✁ 1 � 1 � 25 Have 5 0 could be 4 3 2 1 ✁ 6 . � 1 0 � 25 as large as Hope that they are smaller, ✁ 6 . ✁ 1 � 1 � 25 on scale of Conjecturally this happens � 5 trials. 7 within roughly ✄ 5 + 0 5 ) Then ( )( 5 ✂ + ✁ 6 6 ( 3 ) 2 is on scale of for on scale of .

  11. ✂ ✂ ☎ � ✁ ✁ ✁ � � ✂ ✂ Improvement: Force 4 to be small. 5 + 4 + Say = ✂ + 0 . 5 4 Choose integer 4 5 5 . Write in base + : + ) 5 = 5 ( + ) 4 + + ( 4 5 5 )( ✂ . Now degree-4 coefficient is on same scale as 5 . Hope for small 0 . 3 2 1 Conjecturally this happens 6 trials. within roughly

  12. ✁ ✁ ✁ ✁ Improvement: Skew coefficients. (1999 Murphy, without analysis) Enumerate many possibilities ✁ 6 . � 1 for near ✁ 6 . ✁ 5 � 1 Have 5 0 could be 4 3 2 1 ✁ 6 . � 1 as large as Force small 4 . Hope for ✁ 6 , ✁ 2 � 1 3 on scale of ✁ 6 . ✁ 0 � 1 � 5 2 on scale of

  13. � ✂ ✂ ☎ ✄ Conjecturally this happens � 5 trials: 4 within roughly � 5 + 1) = 4 � 5. (2 + 1) + (0 0 � 75 For ✄ on scale of ✁ 0 � 75 and on scale of ✁ 6 � 1 0 � 25 have on scale of ✄ 5 + ✄ 4 + 0 5 and ✂ + 5 4 ✁ 6 . ✁ 1 � 1 � 25 5 on scale of ✁ 6 . 6 ( 3 ) 2 Product

  14. ☎ ✂ ☎ ✁ � ✁ ✁ ✂ Improvement: Control another coefficient. (2004.11 Bernstein) 5 + 4 + Say = ✂ + 0 . 5 4 Choose integer 4 5 5 and integer 5 5 . Find all short vectors in lattice generated by ✁ 0 ✁ 0 ✁ 10 5 2 3 ( 4 4 + 3 ), ✁ 0 ✁ 20 5 4 (0 4 4 ), ✁ 0 ✁ 10 5 2 ), 5 (0 ✁ 0 ✁ 0 (0 ).

  15. ☎ ☎ � 1 Hope for below with (10 5 2 4 4 + 3 ) + (20 5 4 4 ) + (10 5 2 ) 2 3 modulo below . Write in base + + . Obtain degree-5 coefficient ✁ 6 ; ✁ 5 � 1 on scale of degree-4 coefficient ✁ 6 ; ✁ 4 � 1 on scale of degree-3 coefficient ✁ 6 . ✁ 2 � 1 on scale of Hope for good degree 2.

  16. Conjecturally succeed � 5 trials. 3 within roughly Saves time as soon as exceeds ratio of lattice-reduction time ✁ 4. between dimensions 1 Faster polynomial search can afford larger smaller polynomial values faster factorization.

  17. Claims of the form � costs “Factoring ,” � with the or “factoring number-field sieve costs ,” are inherently untrustworthy and frequently wrong. Many people claimed that NFS would cost more than QS for 120-digit integers. That’s speculation, not science. They were wrong.

  18. Erroneous lower-bound claims occur in other contexts too. Fast integer multiplication � (1)) (time exponent 1 + has now set ECPP speed records. (2004 Morain talk: “More and more powerful computers fast methods begin to be fast in real life”) Many people had claimed that fast multiplication is of no practical interest. They were wrong.

  19. � � � � � In contrast, claims of the form � costs “Factoring ” are sometimes justified. But not always! Check the details. Example: “These integers have ✁ 11 smoothness probability 2 ✂ 10 ✁ 11 ” � since � 77 (10) = 2 ✂ 10 is unjustified speculation.

  20. � � � � “These integers have ✁ 11 smoothness probability 2 ✂ 10 � by extrapolation from smaller factorization experiments using exp( 3 blah blah blah)” is unjustified speculation. “These integers have ✁ 11 smoothness probability 2 ✂ 10 � as shown by smoothness tests on a uniform random sample of 10 15 of these integers” is justified—but not cheaply.

  21. ✂ ✁ ✂ ✂ ✂ ✂ � ✂ ✂ ✂ ✂ � ✂ ✂ Can much more quickly obtain good lower bounds on smoothness probabilities. Define as the set of 1000000-smooth integers 1. The Dirichlet series for � lg is [ ] = � lg 2 + � 2 lg 2 + � 3 lg 2 + (1 + ✂ ) � lg 3 + � 2 lg 3 + � 3 lg 3 + (1 + ✂ ) � lg 5 + � 2 lg 5 + � 3 lg 5 + (1 + ✂ ) � lg 999983 + � 2 lg 999983 + (1 + ✂ ).

  22. ✂ ✂ ✁ � � ✂ ✂ ✂ ✂ ✁ ✁ ✂ ✂ ✂ � � ✂ ✂ ✂ ✂ ✂ � � � ✁ ✂ ✁ 3 ✁ 5 ✁ 7 ✁ 999983 Replace primes 2 with slightly larger real numbers � 1 8 , 3 = 1 � 1 12 , 5 = 1 � 1 17 , 2 = 1 � 1 145 . � , 999983 = 1 � 3 Replace each 2 ✂ in with 2 3 ✂ , obtaining multiset . The Dirichlet series for � lg is [ ] = � lg 2 + � 2 lg 2 + � 3 lg 2 + (1 + ✂ ) � lg 3 + � 2 lg 3 + � 3 lg 3 + (1 + ✂ ) � lg 5 + � 2 lg 5 + � 3 lg 5 + (1 + ✂ ) � lg 999983 + � 2 lg 999983 + (1 + ✂ ).

  23. ✁ ✂ ✁ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✁ � � ✂ ✂ � ✂ This is simply a power series ✄ 0 0 + ✄ 1 1 + ✂ = 8 + � 8 + � 8 + 2 3 (1 + ✂ ) 12 + � 12 + � 12 + 2 3 (1 + ✂ ) 17 + � 17 + � 17 + 2 3 (1 + ✂ ) 145 + � 145 + 2 ✂ (1 + ✂ ) � lg 1 � 1 . in the variable = 2910 ; Compute series mod (e.g.) i.e., compute ✄ 2909 . ✄ 0 ✄ 1 has ✄ 0 + ✂ + ✄ 2909 elements � 1 2909 2 400 , so 1 has 2 400 . at least that many elements

  24. So have guaranteed lower bound on number of 1000000-smooth ✁ 2 400 ]. integers in [1 Can compute an upper bound to check looseness of lower bound. If looser than desired, � 1 closer to 1. move 1 Achieve any desired accuracy. What about more complicated notions of smoothness?

  25. ✂ ✂ ✂ ✂ ✂ ✂ Can modify Dirichlet series in many interesting ways to modify notion of smoothness. � lg 999983 instead of Use 1 + � lg 999983 + � 2 lg 999983 + (1 + ✂ ) � ’s having to throw away more than one factor 999983. ✄ 0 0 + ✄ 2909 2909 Multiply ✂ + � lg 1000003 + � lg 999999937 by ✂ + � ’s that are to allow 2 400 1000000-smooth integers ✁ 10 9 ]. times one prime in [10 6

  26. ✂ ✂ ✂ ✄ ☎ ✂ ✂ ✂ ✂ ☎ � What about polynomial values? Twisted Dirichlet series for powers of an invertible ideal of the ring of integers of � ) ( � 5 + Q ( )( 5 ✂ + 0 ): ✁ ) + [ ] 2 ✁ ) + � lg ( � 2 lg ( 1 + [ ] where [] is class, is norm. Replace with , multiply for various ’s to see distribution of smooth ideals in each class. Check that small principal ideals correspond to ( )( ✂ ).

  27. � This is much more complicated than simply using ; but it gives us CONFIDENCE regarding smoothness probabilities. Reasonably small CPU time. Trickier type of tradeoff: Are we willing to sacrifice CPU time in the factorization to gain confidence? Let’s look at one proposal: ✁ 2 ✁ 2 mesh 1 1 Build of simple processors.

  28. � pairs ( ✁ ✂✁ ) Build into each processor. Spread ✄ ’s among processors. Each processor is # ✄ for one ✄ . #1 #2 #3 ✁ 1)(2 ✁ 2)(2 ✁ 3) (2 ✁ 2)(7 ✁ 1)(7 ✁ 2) (5 #4 #5 #6 ✁ 4)(2 ✁ 5)(3 ✁ 1) (2 #7 #8 #9 ✁ 2)(3 ✁ 3)(5 ✁ 1) (3

  29. ✁ ✁ ☎ ✁ ✁ � � � � � ✁ � � : Given ✁ ), processor For each ( ✁ th multiple ✁ of generates in + 1 + 2 + , if there is one, ✁ ✂✁ ) to #( � ) and sends ( through the mesh. With random routing: ✁ 2+ � time, � hardware. 1 1+ (2001.03 Bernstein talk, “The NSA sieving circuit”)

Recommend


More recommend