SNFS versus (G)NFS and the feasibility of factoring a 1024-bit number with SNFS Arjen K. Lenstra Citibank, New York Technische Universiteit Eindhoven.

Slides:



Advertisements
Similar presentations
Numerical Linear Algebra in the Streaming Model Ken Clarkson - IBM David Woodruff - IBM.
Advertisements

Tests of Hypotheses Based on a Single Sample
Factoring of Large Numbers using Number Field Sieve Matrix Step Chandana Anand, Arman Gungor, and Kimberly A. Thomas ECE 646 Fall 2006.
Integer Factorization By: Josh Tuggle & Kyle Johnson.
What we learn with pleasure we never forget. Alfred Mercier Smitha N Pai.
Probability Distributions CSLU 2850.Lo1 Spring 2008 Cameron McInally Fordham University May contain work from the Creative Commons.
Prime recognition and factorization
Lecture 8: Primality Testing and Factoring Piotr Faliszewski
Notation Intro. Number Theory Online Cryptography Course Dan Boneh
Theoretical Program Checking Greg Bronevetsky. Background The field of Program Checking is about 13 years old. Pioneered by Manuel Blum, Hal Wasserman,
The XTR public key system (extended version of Crypto 2000 presentation) Arjen K. Lenstra Citibank, New York Technical University Eindhoven Eric R. Verheul.
RSA & F ACTORING I NTEGERS BY: MIKE NEUMILLER & BRIAN YARBROUGH.
A Creative Way of Breaking RSA Azeem Jiva. Overview ● What is RSA? – Public Key Algorithm – Is it secure? ● Ways to break RSA – Discover the Public Key.
Announcements: 1. Pass in Homework 5 now. 2. Term project groups and topics due by Friday 1.Can use discussion forum to find teammates 3. HW6 posted, due.
1 Algorithms for Large Data Sets Ziv Bar-Yossef Lecture 12 June 18, 2006
The RSA Cryptosystem and Factoring Integers (II) Rong-Jaye Chen.
Factoring 1 Factoring Factoring 2 Factoring  Security of RSA algorithm depends on (presumed) difficulty of factoring o Given N = pq, find p or q and.
Introduction to Modern Cryptography Homework assignments.
Foundations of Network and Computer Security J J ohn Black Lecture #13 Sep 26 th 2007 CSCI 6268/TLEN 5831, Fall 2007.
Discrete Log 1 Discrete Log. Discrete Log 2 Discrete Logarithm  Discrete log problem:  Given p, g and g a (mod p), determine a o This would break Diffie-Hellman.
Foundations of Network and Computer Security J J ohn Black Lecture #12 Sep 23 rd 2009 CSCI 6268/TLEN 5550, Fall 2009.
1 Hardware-Based Implementations of Factoring Algorithms Factoring Large Numbers with the TWIRL Device Adi Shamir, Eran Tromer Analysis of Bernstein’s.
Foundations of Network and Computer Security J J ohn Black Lecture #10 Sep 29 th 2005 CSCI 6268/TLEN 5831, Fall 2005.
16 MULTIPLE INTEGRALS.
Tirgul 7. Find an efficient implementation of a dynamic collection of elements with unique keys Supported Operations: Insert, Search and Delete. The keys.
implementations in a functional language
Factoring Algorithms Ref: D. Stinson, Cryptography - Theory and Practice, 2001.
Chapter 8 – Introduction to Number Theory Prime Numbers
RSA Question 2 Bob thinks that p and q are primes but p isn’t. Then, Bob thinks ©Bob:=(p-1)(q-1) = Á(n). Is this true ? Bob chooses a random e (1 < e
Public key ciphers 1 Session 5.
1 Hardware-Based Implementations of Factoring Algorithms Factoring Estimates for a 1024-Bit RSA Modulus A. Lenstra, E. Tromer, A. Shamir, W. Kortsmit,
Foundations of Network and Computer Security J J ohn Black Lecture #14 Oct 1 st 2007 CSCI 6268/TLEN 5831, Fall 2007.
Polynomial Factorization Olga Sergeeva Ferien-Akademie 2004, September 19 – October 1.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.

May 29, 2008 GNFS polynomials Peter L. Montgomery Microsoft Research, USA 1 Abstract The Number Field Sieve is asymptotically the fastest known algorithm.
Calculating Discrete Logarithms John Hawley Nicolette Nicolosi Ryan Rivard.
Primal-Dual Meets Local Search: Approximating MST’s with Non-uniform Degree Bounds Author: Jochen Könemann R. Ravi From CMU CS 3150 Presentation by Dan.
Information Security and Management 4. Finite Fields 8
The Polynomial Time Algorithm for Testing Primality George T. Gilbert.
October,2006 Higher- Degree Polynomials Peter L. Montgomery Microsoft Research and CWI 1 Abstract The Number Field Sieve is asymptotically the fastest.
Copyright, Yogesh Malhotra, PhD, 2013www.yogeshmalhotra.com SPECIAL PURPOSE FACTORING ALGORITHMS Special Purpose Factoring Algorithms For special class.
1 2. Independence and Bernoulli Trials Independence: Events A and B are independent if It is easy to show that A, B independent implies are all independent.
October 1 & 3, Introduction to Quantum Computing Lecture 1 of 2 Introduction to Quantum Computing Lecture 1 of 2
Basic Concepts in Number Theory Background for Random Number Generation 1.For any pair of integers n and m, m  0, there exists a unique pair of integers.
Prabhas Chongstitvatana1 Factorizing large integers Finding the unique decomposition of n into a product of prime factors. Factorize(n) if n is prime done.
PRIMES is in P Manindra Agrawal NUS Singapore / IIT Kanpur.
11 -1 Chapter 11 Randomized Algorithms Randomized Algorithms In a randomized algorithm (probabilistic algorithm), we make some random choices.
Short course on quantum computing Andris Ambainis University of Latvia.
Factorization of a 768-bit RSA modulus Jung Daejin Lee Sangho.
Strength of Cryptographic Systems Dr. C F Chong, Dr. K P Chow Department of Computer Science and Information Systems The University of Hong Kong.
6.4 Factoring.
Scott CH Huang COM 5336 Cryptography Lecture 6 Public Key Cryptography & RSA Scott CH Huang COM 5336 Cryptography Lecture 6.
9/22/15UB Fall 2015 CSE565: S. Upadhyaya Lec 7.1 CSE565: Computer Security Lecture 7 Number Theory Concepts Shambhu Upadhyaya Computer Science & Eng. University.
Review of Probability. Important Topics 1 Random Variables and Probability Distributions 2 Expected Values, Mean, and Variance 3 Two Random Variables.
A Survey on Factoring Large Numbers ~ 巨大数の因数分解に関する調査 ~ Kanada Lab. M Yoshida Hitoshi.
1 6. Mean, Variance, Moments and Characteristic Functions For a r.v X, its p.d.f represents complete information about it, and for any Borel set B on the.
1 Distributed Vertex Coloring. 2 Vertex Coloring: each vertex is assigned a color.
MA/CSSE 473 Day 10 Primality Testing. MA/CSSE 473 Day 10 In-class exam: Friday, Sept 28 –You may bring a two-sided 8.5x11 inch piece of paper containing.
MA/CSSE 473 Day 06 DivisionPrimes Modular Arithmetic.
MA/CSSE 473 Day 05 More induction Factors and Primes Recursive division algorithm.
1 Potential for Parallel Computation Chapter 2 – Part 2 Jordan & Alaghband.
A Prime Example CS Lecture 20 A positive integer p  2 is prime if the only positive integers that divide p are 1 and p itself. Positive integers.
Public Key Encryption Major topics The RSA scheme was devised in 1978
Mesh connected networks. Sorting algorithms
A low cost quantum factoring algorithm
Homework 3 As announced: not due today 
Parallel Quadratic Sieve
Material in the textbook on
Factoring RSA Moduli: Current State of the Art J
Presentation transcript:

SNFS versus (G)NFS and the feasibility of factoring a 1024-bit number with SNFS Arjen K. Lenstra Citibank, New York Technische Universiteit Eindhoven

Factoring algorithms (to find factor p of n) Special purpose methods General purpose methods Take advantage of special properties of p Cannot take advantage of any properties of p All based on the same approach  Relevant for RSA Examples: Trial division, Pollard-  (find tiny p, up to 10 or 20 digits) Pollard-p  1 (finds p such that p  1 has small factors) Elliptic curve method (ECM) (finds p up to  60? digits) CFRAC, Dixon’s algorithm Linear sieve, Quadratic sieve Number field sieve (NFS) Variant: SNFS, takes advantage of special form of n, but possibly of n  this talk

SNFS and NFS factorizations when  # bits whathow F 9 = SNFS (  1)/11SNFS p(11887) NFS p(13171) NFS RSA-130 d NFS SNFS RSA-140 d NFS (  1)/9SNFS RSA-155 d NFS SNFS c158 d of NFS M809SNFS RSA-160 d NFS RSA-576 NFS 20?? 768 ?? NFS 20?? 1024 ??SNFS/NFS

Special Number Field Sieve Least squares prediction: 1024-bit SNFS factorization by 2012

Number Field Sieve Least squares predictions: 768-bit NFS factorization by bit NFS factorization by 2028

Goal of this workshop: Make sure that these predictions are too pessimistic from a factoring point of view too optimistic from a cryptographic point of view Thus, we should be able to complete a 1024-bit SNFS factorization well before bit NFS factorization well before 2015 by 2005? by 2010? 1024-bit NFS factorization well before 2028 ?

Problem: since 1989 nothing seems to be happening! Examples of NFS related things that did (or will) not happen: 1994, integers can quickly be factored on a quantum computer no one knows how to build one yet 1999, TWINKLE opto-electronic device to factor 512-bit moduli estimates too optimistic 2001, Bernstein’s factoring circuits:1536 bits for cost of 512 bits new interpretation of the cost function , TWIRL hardware siever: 1024 bits in a year for US$10M does not include research and development cost 2004, TWIRL hardware siever: 1024 bits in a year for < US$1M For the moment: stuck with existing algorithms and hardware ((G)NFS & PCs) see if we can push them even further

How do general purpose factoring methods work? To factor n, attempt to find integers x, y, x  y such that x 2  y 2 mod n If n divides x 2  y 2, then n divides (x  y)(x + y), so n = gcd(x  y, n)  gcd(x + y, n) may be a non-trivial factorization Finding such x, y based on two-step Morrison-Brillhart approach: 1.Collect data 2.Combine data, Relation collection, Matrix step : allows ‘obvious’ parallelization (internet) : often centralized (Cray, broadband network)

How to solve x 2  y 2 mod n? 1. Relation collection: collect integers v such that v 2 mod n factors into primes < B (i.e., is B-smooth)  Need to efficiently test many integers for smoothness 2. Matrix step: select a subset of the v’s such that primes < B in corresponding (v 2 mod n)’s occur an even number of times  Need to find elements of null space of  (B)  (B) matrix Matrix step not further discussed: based on reported ‘overcapacity’ assume that current parallelized block Lanczos on current (and future) small broadband networks will suffice

How to find v’s such that v 2 mod n is smooth? Examples Dixon’s method: pick v at random in {0,1,…, n  1} test v 2 mod n  {0,1,…, n  1} for B-smoothness repeat until >  (B) different v’s have been found Speed depends on B-smoothness probability of numbers of size comparable to n Quadratic sieve: test (v + [  n]) 2  n for B-smoothness for small v repeat until >  (B) different v’s have been found (  v < S(B)) Speed depends on B-smoothness probability of numbers of size comparable to 2S(B)  n  no way to take advantage of special properties of p or n

Smaller |v 2 mod n|: higher smoothness probability Quadratic sieve: test (v + [  n]) 2  n for B-smoothness for small v repeat until >  (B) different v’s have been found (  v < S(B)) Speed depends on B-smoothness probability of numbers of size comparable to 2S(B)  n (as opposed to n) Number field sieve: select d; select m close to n 1/(d+1) and f(X)  Z[X] of degree d with f(m)  0 mod n look at S = S(B r,B a ) integer pairs (a,b) to find co-prime ones such that |a  bm| is B r -smooth and |b d f(a/b)| is B a -smooth S such that: expect to find >  (B r ) +  (B a ) ‘good’ (a,b) pairs Speed depends on simultaneous smoothness probability of numbers of sizes comparable to n 1/(d+1)  S and f  S d/2  for some n there may be an m and f with f  exceptionally small

‘Good’ cases for Number Field Sieve select d; select m close to n 1/(d+1) and f(X)  Z[X] of degree d with f(m)  0 mod n look at S = S(B r,B a ) integer pairs (a,b) to find co-prime ones such that |a  bm| is B r -smooth and |b d f(a/b)| is B a -smooth S such that: expect to find >  (B r ) +  (B a ) ‘good’ (a,b) pairs Speed depends on simultaneous smoothness probability of numbers of sizes comparable to n 1/(d+1)  S and f  S d/2  for some n there may be an m and f with f  exceptionally small For those n for which f  is bounded by a constant: SNFS applies to n Example: n = n divides m = and f(X) = X 5 +8, then f(m)  0 mod n In general, f  cannot be expected to be bounded by a constant, f  will be of size comparable to m (i.e., n 1/(d+1) ): NFS applies to n

SNFS versus NFS SNFS: speed depends on simultaneous smoothness probability of numbers of sizes comparable to n 1/(d+1)  S and S d/2 NFS: speed depends on simultaneous smoothness probability of numbers of sizes comparable to n 1/(d+1)  S and n 1/(d+1) S d/2 SNFS overall heuristic asymptotic expected runtime is exp((1.53+o(1))(log n) 1/3 (loglogn) 2/3 ), n   NFS overall heuristic asymptotic expected runtime is exp((1.92+o(1))(log n) 1/3 (loglogn) 2/3 ), n   for 1024-bit n and d = 6, difference n 1/(d+1) is 147-bit number (45 digit) S = : smoothness of pairs of sizes (55 d,60 d ) versus (55 d,105 d )

Determining B r, B a, and S(B r, B a ) for n Traditionally based on combination of guesswork (‘extrapolation’) experience experiments Alternative approach for TWIRL analysis (Asiacrypt 2003): Let P(x,B) denote probability that |x| is B-smooth and E(B r,B a,A,B,m,f,t) = 0.6  |a|  A  0<b  B P(a  bm,B r )P(b d f(a/b)/t,B a ) (‘expected yield’, approximated using numerical integration) For several degrees d: Find ‘ok-ish’ m, dth degree f (with correction t), skewness s For several B r and B a determine S(B r,B a ) as least S such that E(B r,B a,A,B,m,f,t)  (  (B r ) +  (B a ))/c for B =  (S/2s), A = sB, and ‘reasonable’ c (say, 20) Pick d for which ‘best’ feasible B r and B a were found for 1024-bit n:  possibly unreliable  unavailable (?)  infeasible

Results aa bb  product of smoothness probabilities Rectangular region is not at all optimal: crown shaped regions Realistic estimates for B r and B a and upper bounds for factoring effort

Example of non-rectangular region crown contains points with smoothness probability  E  16

Resulting parameter choices 1024-bit SNFS (pessimistic estimate): B r  6.7 E 7, B a  1.3 E 8,  (B r ) +  (B a )  1.2 E 7, S  6.4 E bit NFS: B r  3.5 E 9, B a  2.6 E 10,  (B r ) +  (B a )  1.7 E 9, S  3 E 23 Comparing 1024-bit SNFS and 1024-bit NFS: Factor base sizes:about 140 times larger Sieving: about 5 E 5 times harder Matrix: about 140 times more rows  Potential feasibility of 1024-bit SNFS does not imply feasibility of 1024-bit NFS

Feasibility of 1024-bit SNFS 512-bit NFS: B r  1.7 E 6, B a  1.7 E 6,  (B r ) +  (B a )  2.1 E 6, S  E bit SNFS (pessimistic estimate): B r  6.7 E 7, B a  1.3 E 8,  (B r ) +  (B a )  1.2 E 7, S  6.4 E 17 Comparing 512-bit NFS and 1024-bit SNFS Factor base sizes:about 6 times larger Sieving: about 700 times harder Matrix: about 6 times more rows 512-bit NFS was (very) feasible in 1999  based on Moore’s law 1024-bit SNFS feasible by 2005

Feasibility of 768-bit NFS 1024-bit SNFS: B r  6.7 E 7, B a  1.3 E 8,  (B r ) +  (B a )  1.2 E 7, S  6.4 E bit NFS B r  E 8, B a  E 9,  (B r ) +  (B a )  5.6 E 7, S  3 E 20 Comparing 1024-bit SNFS and 768-bit NFS Factor base sizes:about 5 times larger Sieving: about 500 times harder Matrix: about 5 times more rows  If 1024-bit SNFS is feasible, then based on Moore’s law 768-bit NFS should be feasible about 5 years later

Comparing 768-bit NFS and 1024-bit NFS 768-bit NFS B r  E 8, B a  E 9,  (B r ) +  (B a )  5.6 E 7, S  3 E bit NFS: B r  3.5 E 9, B a  2.6 E 10,  (B r ) +  (B a )  1.7 E 9, S  3 E 23 Comparing 768-bit NFS and 1024-bit NFS Factor base sizes:about 30 times larger Sieving: at least 1000 times harder Matrix: about 30 times more rows  Once 768-bit NFS is feasible it will be a while (7 years?) before 1024-bit NFS is feasible (unless someone builds TWIRL)

Summary of 512, 768, 1024 estimates 512 NFS 1024 SNFS 768 NFS 1024 NFS 6  factor base size 700  effort 30  factor base size 1000  effort 140  factor base size 5 E 5  effort 5  factor base size 500  effort (suboptimal choices: much smaller effort with larger factor bases)

Conclusion Factoring 1024-bit ‘special’ numbers is within reach We should prove it is Factoring 768-bit RSA moduli will soon be feasible using tomorrow’s hardware We should get ready Factoring 1024-bit RSA moduli still looks infeasible using currently available hardware but it may be expected before 2020