Factoring. Factoring 1



Similar documents
Factoring Algorithms

Factoring Algorithms

Arithmetic algorithms for cryptology 5 October 2015, Paris. Sieves. Razvan Barbulescu CNRS and IMJ-PRG. R. Barbulescu Sieves 0 / 28

Integer Factorization using the Quadratic Sieve

Notes on Factoring. MA 206 Kurt Bryan

Primality - Factorization

Primality Testing and Factorization Methods

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?

The Quadratic Sieve Factoring Algorithm

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, Notes on Algebra

Faster deterministic integer factorisation

Study of algorithms for factoring integers and computing discrete logarithms

Factorization Methods: Very Quick Overview

MATH 168: FINAL PROJECT Troels Eriksen. 1 Introduction

Homework until Test #2

FACTORING. n = fall in the arithmetic sequence

Welcome to Math Video Lessons. Stanley Ocken. Department of Mathematics The City College of New York Fall 2013

Elements of Applied Cryptography Public key encryption

6 EXTENDING ALGEBRA. 6.0 Introduction. 6.1 The cubic equation. Objectives

FINAL EXAM SECTIONS AND OBJECTIVES FOR COLLEGE ALGEBRA

An Overview of Integer Factoring Algorithms. The Problem

Smooth numbers and the quadratic sieve

The last three chapters introduced three major proof techniques: direct,

RSA Attacks. By Abdulaziz Alrasheed and Fatima

Computing exponents modulo a number: Repeated squaring

Algebra 1 Course Title

Public-Key Cryptanalysis 1: Introduction and Factoring

Factoring pq 2 with Quadratic Forms: Nice Cryptanalyses

Recall that two vectors in are perpendicular or orthogonal provided that their dot

RSA and Primality Testing

Determining the Optimal Combination of Trial Division and Fermat s Factorization Method

JUST THE MATHS UNIT NUMBER 1.8. ALGEBRA 8 (Polynomials) A.J.Hobson

Quantum Computing Lecture 7. Quantum Factoring. Anuj Dawar

The application of prime numbers to RSA encryption

PUTNAM TRAINING POLYNOMIALS. Exercises 1. Find a polynomial with integral coefficients whose zeros include

The Sieve Re-Imagined: Integer Factorization Methods

March 29, S4.4 Theorems about Zeros of Polynomial Functions

CIS 5371 Cryptography. 8. Encryption --

This is a square root. The number under the radical is 9. (An asterisk * means multiply.)

Lecture 13 - Basic Number Theory.

Chapter 11 Number Theory

Factoring integers and Producing primes

REVIEW EXERCISES DAVID J LOWRY

MSLC Workshop Series Math Workshop: Polynomial & Rational Functions

Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any.

Alum Rock Elementary Union School District Algebra I Study Guide for Benchmark III

Factoring Special Polynomials

The Quadratic Sieve - introduction to theory with regard to implementation issues. RNDr. Marian Kechlibar, Ph.D.

CONTINUED FRACTIONS AND FACTORING. Niels Lauritzen

By reversing the rules for multiplication of binomials from Section 4.6, we get rules for factoring polynomials in certain forms.

I. Introduction. MPRI Cours Lecture IV: Integer factorization. What is the factorization of a random number? II. Smoothness testing. F.

6.1 Add & Subtract Polynomial Expression & Functions

Lecture 3: One-Way Encryption, RSA Example

Modern Factoring Algorithms

Precalculus REVERSE CORRELATION. Content Expectations for. Precalculus. Michigan CONTENT EXPECTATIONS FOR PRECALCULUS CHAPTER/LESSON TITLES

Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the school year.

Optimization of the MPQS-factoring algorithm on the Cyber 205 and the NEC SX-2

Runtime and Implementation of Factoring Algorithms: A Comparison

Math 1050 Khan Academy Extra Credit Algebra Assignment

MBA Jump Start Program

Linearly Independent Sets and Linearly Dependent Sets

The van Hoeij Algorithm for Factoring Polynomials

Algebra and Geometry Review (61 topics, no due date)

How To Prove The Dirichlet Unit Theorem

Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures

How To Understand And Solve Algebraic Equations

Administrative - Master Syllabus COVER SHEET

Cryptography and Network Security Chapter 8

Cryptography and Network Security

SECTION A-3 Polynomials: Factoring

a 1 x + a 0 =0. (3) ax 2 + bx + c =0. (4)

1.3 Polynomials and Factoring

SECTION 0.6: POLYNOMIAL, RATIONAL, AND ALGEBRAIC EXPRESSIONS

Integer roots of quadratic and cubic polynomials with integer coefficients

Probability and Statistics Prof. Dr. Somesh Kumar Department of Mathematics Indian Institute of Technology, Kharagpur

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS

2.5 Zeros of a Polynomial Functions

Principles of Public Key Cryptography. Applications of Public Key Cryptography. Security in Public Key Algorithms

1.3 Algebraic Expressions


Lecture Note 5 PUBLIC-KEY CRYPTOGRAPHY. Sourav Mukhopadhyay

Algebra Practice Problems for Precalculus and Calculus

Notes 11: List Decoding Folded Reed-Solomon Codes

Advanced Cryptography

Revised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m)

Math Common Core Sampler Test

8 Polynomials Worksheet

How To Solve The Prime Factorization Of N With A Polynomials

Lecture 5 Principal Minors and the Hessian

Materials: #9-1 exploration answers overhead; Do Now and answers overhead; note-taking templates; practice worksheet; homework #9-2

TEXAS A&M UNIVERSITY. Prime Factorization. A History and Discussion. Jason R. Prince. April 4, 2011

Number Theory. Proof. Suppose otherwise. Then there would be a finite number n of primes, which we may

FactHacks: RSA factorization in the real world

Cryptography and Network Security Chapter 9

Lecture 13: Factoring Integers

by the matrix A results in a vector which is a reflection of the given

Polynomial and Synthetic Division. Long Division of Polynomials. Example 1. 6x 2 7x 2 x 2) 19x 2 16x 4 6x3 12x 2 7x 2 16x 7x 2 14x. 2x 4.

Applied Cryptography Public Key Algorithms

Notes on Network Security Prof. Hemant K. Soni

Implementation of Elliptic Curve Digital Signature Algorithm

Transcription:

Factoring Factoring 1

Factoring Security of RSA algorithm depends on (presumed) difficulty of factoring o Given N = pq, find p or q and RSA is broken o Rabin cipher also based on factoring Factoring like exhaustive search for RSA Lots of interest/research in factoring What are best factoring methods? o How does RSA key size compare to symmetric cipher key size? Factoring 2

Trial division Factoring Methods o Obvious method but not practical Dixon s algorithm o Less obvious and much faster Quadratic sieve o Refinement of Dixon s algorithm o Best algorithm up to about 110 decimal digits Number field sieve o Best for numbers greater than 100 digits o We only briefly mention this algorithm Factoring 3

Trial Division Given N, try to divide N by each of 2,3,5,7,9,11,, sqrt(n) As soon as a factor found, we are done o So, expected work is about sqrt(n)/2 Improvement: try only prime numbers Work is then on order of π(n) o Where π(n) N/ln(N) is number of primes up to N Factoring 4

Congruence of Squares We want to factor N = pq Suppose we find x,y such that N = x 2 y 2 Then N = (x y)(x + y), have factored N More generally, congruence of squares Suppose x 2 = y 2 (mod N) Then x 2 y 2 = kn for some k Which implies (x y)(x + y) = kn Factoring 5

Congruence of Squares Suppose x 2 = y 2 (mod N) Then (x y)(x + y) = kn Implies (x y) or (x + y) is factor of N o Or x y = k and x + y = N (or vice versa) With probability at least 1/2, we obtain a factor of N o If so, gcd(n, x y) or gcd(n, x + y) factors N o And the gcd is easy to compute Factoring 6

Congruence of Squares For example 10 2 = 3 2 (mod 91) That is, (10 3)(10 + 3) = 91 o Factors of 91 are, in fact, 7 and 13 Also, 34 2 = 8 2 (mod 91) o Then 26 42 = 0 (mod 91) and we have gcd(26,91) = 13 and gcd(42,91) = 7 In general, gcd is necessary Factoring 7

Congruence of Squares Find congruence of squares: x 2 = y 2 (mod N) and we can likely factor N How to find congruence of squares? Consider, for example, 41 2 = 32 (mod 1649) and 43 2 = 200 (mod 1649) Neither 32 nor 200 is a square But 32 200 = 6400 = 80 2 Therefore, (41 43) 2 = 80 2 (mod 1649) Factoring 8

Congruence of Squares Can combine non-squares to obtain a square, for example 32 = 2 5 5 0 and 200 = 2 3 5 2 And 32 200 = 2 8 5 2 = (2 4 5 1 ) 2 We obtain a perfect square provided each exponent in product is even Only concerned with exponents and only need consider even or odd, i.e., mod 2 Factoring 9

Congruence of Squares Number has an exponent vector For example, first element of vector is power of 2 and second power of 5 Then And Factoring 10

Congruence of Squares Mod 2 exponent vector of product 200 32 is all zero, so perfect square Also, this vector is sum (mod 2) of vectors for 200 and 32 Any set of exponent vectors that sum to all-zero, mod 2, gives us a square We need to keep vectors small o Only allow numbers with small prime factors Factoring 11

Congruence of Squares Choose bound B and primes less than B o This is our factor base o For technical reasons, include 1 in factor base A number that factors completely over the factor base is B-smooth Smooth relations factor over factor base Restrict our attention to B-smooth relations o Good: Exponent vectors are small o Bad: Harder to find relations Factoring 12

Example Want to factor N = 1829 Choose bound B = 13 Choose factor base 1,2,3,5,7,11,13 Look at values in N/2 to N/2 To be systematic, we choose sqrt(kn) and sqrt(kn) for k = 1,2,3,4 And test each for B-smoothness Factoring 13

Example Compute All are B-smooth except 60 2 and 75 2 Factoring 14

Example Obtain exponent vectors Factoring 15

Example Find collection of exponent vectors that sum, mod 2, to zero vector Vectors corresponding to 42 2, 43 2, 61 2 and 85 2 work Factoring 16

Example Implies that (42 43 61 85) 2 = (2 3 5 7 13) 2 (mod 1829) Simplifies to 1459 2 = 901 2 (mod 1829) Since 1459 901 = 558, we find factor of 1829 by gcd(558,1829) = 31 Easily verified 1829 = 59 31 Factoring 17

Example A systematic way to find set of vectors that sum to zero vector In this example, want x 0,x 1,,x 5 This is a basic linear algebra problem Factoring 18

Linear Algebra Suppose n elements in factor base o Factor base includes 1 o Then matrix on previous slide has n rows o Seek linearly dependent set of columns Theorem: If matrix has n rows and n + 1 or more columns then a linearly dependent set of columns exists Therefore, if we find n + 1 or more smooth relations, we can solve the linear equations Factoring 19

Dixon s Algorithm 1. To factor N: select bound B and factor base with n 1 primes less than B and 1 2. Select r, compute y = r 2 (mod N) Number r can be selected at random 3. If y factors completely over factor base, save mod 2 exponent vector 4. Repeat steps 2 and 3 to obtain n+1 vectors 5. Solve linear system and compute gcd Factoring 20

Dixon s Algorithm If factor base is large, easier to find B-smooth relations o But linear algebra problem is harder Relation finding phase parallelizable o Linear algebra part is not Next, quadratic sieve o An improved version of Dixon s algorithm Factoring 21

Quadratic Sieve Quadratic sieve (QS) algorithm o Dixon s algorithm on steroids Finding B-smooth relations beefed up As in Dixon s algorithm o Choose bound B and factor base of primes less than B o Must find lots of B-smooth relations Factoring 22

Quadratic Sieve Define quadratic polynomial Q(x) = ( sqrt(n) + x) 2 N The is the quadratic in QS Use Q(x) to find B-smooth values o For each x [ M,M] compute y = Q(x) o Mod N, we have y = z 2, where z = sqrt(n) + x o Test y for B-smoothness o If y is smooth, save mod 2 exponent vector Factoring 23

Quadratic Sieve Advantage of QS over Dixon s is that by using Q(x) we can sieve What is sieving? Glad you asked First, consider sieve of Eratosthenes o Used to sieve for prime numbers Then modify it for B-smooth numbers Factoring 24

Sieve of Eratosthenes To find prime numbers less than M List all numbers 2,3,4,,M 1 Cross out all numbers with factor of 2, other than 2 Cross out all numbers with factor of 3, other than 3, and so on Number that fall thru sieve are prime Factoring 25

Sieve of Eratosthenes To find prime numbers less than 31 11 21 2 3 4 5 6 7 8 9 10 \ 12 13 14 15 16 17 18 19 20 \ \ 22 23 24 25 \ 26 27 28 29 \ 30 Find that primes less than 31 are 2,3,5,7,11,13,17,19,23 and 29 Factoring 26

Sieve of Eratosthenes This sieve gives us primes But also provides info on non-primes For example, 24 marked with so it is divisible by 2 and 3 and Note: we only find that 24 is divisible by 2, not by 4 or 8 Factoring 27

Sieving for Smooth Numbers Instead of crossing out, we divide by the prime (including prime itself) 21 31 42 51 63 1 71 84 93 10 51 11 12 62 13 14 71 155 1 16 8 17 18 93 19 20 10 2 21 71 22 11 23 24 12 4 255 26 13 27 9 14 282 29 30 15 51 All 1s represent 7-smooth numbers Some non-1s also 7-smooth o Divide out highest powers of primes Factoring 28

Quadratic Sieve QS uses similar sieving strategy as on previous slide o And some computational refinements Suppose p in factor base divides Q(x) o Then p divides Q(x + kp) for all k 0 (homework) o That is, p divides Q of,x 2p,x p,x,x+p,x+2p, o No need to test these for divisibility by p This observation allows us to sieve Factoring 29

Quadratic Sieve One trick to speed up sieving If Q(x) divisible by p, then Q(x) = 0 (mod p) Defn of Q implies ( sqrt(n) + x) 2 = N (mod p) Square roots of N (mod p), say, s p and p s p o Let x 0 = s p sqrt(n) and x 1 = p s p sqrt(n) o Then Q(x 0 ) and Q(x 1 ) divisible by p o Implies Q(x 0 + kp) and Q(x 1 + kp) divisible by p Efficient algorithm for these square roots Factoring 30

Quadratic Sieve How to sieve for B-smooth relations Array: Q(x) for x = M, M+1,, M 1,M For first prime p in factor base o Generate all x [ M,M] for which p divides Q(x) (as described on previous slide) o For each, divide by highest power of p o For each, store power, mod 2, in vector for x Repeat for all primes in factor base Numbers reduced to 1 are B-smooth Factoring 31

Quadratic Sieve Linear algebra phase same as Dixon s Sieving is the dominant work Lots of tricks used to speed up sieving o For example, logarithms to avoid division Multiple Polynomial QS (MPQS) o Multiple polynomials of form (ax+b) 2 N o Can then use smaller interval [ M,M] o Yields much faster parallel implementations Factoring 32

Sieving Conclusions QS/MPQS attack has two phases Distributed relation finding phase o Could recruit volunteers on Internet Linear equation solving phase o For big problems, requires a supercomputer Number field sieve better than QS o Requires 2 phases, like QS o Number field sieve uses advanced math Factoring 33

Factoring Algorithms Work to factor N = 2 x Last column measures bits of work Symmetric cipher exhaustive key search: x bit key is x 1 bits of work Factoring 34

Factoring Algorithms Comparison of work factors QS best to 390 bit N o 117 digits 390-bit N is as secure as 60-bit key Factoring 35

Factoring Conclusions Work for factoring is subexponential o Better than exponential time but worse than polynomial time o Exhaustive key search is exponential Factoring is active area of research o Expect to see incremental improvement Next, discrete log algorithms Factoring 36