# Primality Testing and Factorization Methods

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Primality Testing and Factorization Methods Eli Howey May 27, 2014 Abstract Since the days of Euclid and Eratosthenes, mathematicians have taken a keen interest in finding the nontrivial factors of integers, as well as in finding prime numbers, which have no such factors. Until only recently, however, the problem of factoring numbers had no practical application beyond the advancement of pure mathematics. That changed when the RSA algorithm was published in 1977; now, prime factorization and random number generation are vital to the security of nearly every form of sensitive data, from private communications to financial transaction information. This project will focus on a few of the various algorithms that have been developed over the centuries to test the primality of numbers and to factor large numbers into their prime components, with regard given to each algorithm s time complexity. 1 The RSA Algorithm Since the primary modern motivation for factoring numbers into primes is to crack various cryptosystems, it will benefit us to understand the process by which we use these primes to encrypt information in the first place. The RSA algorithm, developed in 1977 by Ron Rivest, Adi Shamir, and Leonard Adleman [1], is perhaps the most prevalent cryptographic algorithm in use today. This section shall describe the algorithm, and the number theory relevant to understanding its implementation. RSA relies on two keys: a public key, used for information encryption and known to anyone, and a private key, used to decrypt the information and known only to the key generator. The algorithm makes use of Euler s totient function, φ(n), defined as the number of positive integers less than n and coprime to n, i.e., φ(n) = #{k Z + k n and gcd(k, n) = 1}. 1

2 Primality Testing and Factorization Methods 2 It is simple to show that this function is multiplicative, that is, φ(ab) = φ(a)φ(b) for all a, b Z +. Moreover, if p is prime, then it shares no nontrivial factors with any smaller integer, so φ(p) = p 1. RSA key generation also requires computing the multiplicative inverse of a number modulo φ(n). The multiplicative inverse of a modulo n is the value b such that ab 1 mod n. In the case where a and b are coprime, the integer solutions x and y to ax + by = 1 represent the multiplicative inverses of a modulo b, and of b modulo a, respectively. Algorithm (RSA key generation). Suppose we have access to a set of prime numbers, or a prime number generator. 1. Randomly choose two distinct primes p and q of approximately equal size Compute n = pq. 3. Compute φ(n) = φ(p)φ(q) = (p 1)(q 1). 4. Choose e Z with gcd(e, φ(n)) = 1. If e is prime, then one must only check that e φ(n). 5. Find the multiplicative inverse d = e 1 mod φ(n). 6. The public key is defined as the pair (e, n), and the private key as (d, n). Given a message M with 0 M < n, 2 we can now encrypt M, and decrypt the resulting ciphertext C, with the functions respectively. E(M) M e mod n, and D(C) C d mod n, Note that encryption can be performed with knowledge of only the public key, while decryption requires the private key. Since the private key was constructed using φ(n), it is thus crucial to the security of the message that third parties remain unable to reconstruct φ(n). Knowledge of φ(n) can be used to factor n, computing φ(n) is no simpler than factoring n; thus, RSA remains secure as long as factorization of large numbers remains difficult. 2 Primality Testing In order to factor general large numbers into their prime components, we must first know what the possible prime factors are. But this becomes increasingly difficult to show by brute force as the numbers get large. Below are several methods used to determine the primality of numbers of various sizes. 1 Some encryption standards put extra requirements on p and q, e.g., they must be far enough apart that factoring n by Fermat s method is infeasible. 2 It may seem unintuitive that a message would be an integer, but any text can be converted to such an integer using what are called padding schemes, probabilistic conversion systems that are consistent and reversible.

3 Primality Testing and Factorization Methods Trial Division Clearly, a positive integer n is prime if no positive integer 1 < k < n divides n. Hence, the most naïve test of the primality of n is to test each k for divisibility into n. To optimize this approach, we may make the following observations (proofs omitted): Theorem. If n is composite, then there is some k Z +, with 1 < k n, where k n. Theorem. If p > 3 is prime, then p ±1 mod 6. Thus, to test the primality of n by trial division, we need only check integers less than n of the form 6k ± 1, a total of about n/3 divisions. Alternatively, if we know all the primes less than n (which is likely, or at least easy to find, for small n), we can test only those primes, for π( n) = O( n) divisions. Therefore, trial division requires O( n) O(D ln 2 D) = O(n 1/2 ln n(ln ln n) 2 ) operations. 3 Depending on the circumstance, this method could thus be useful for n up to about The Sieve of Eratosthenes Perhaps the oldest algorithm to determine large quantities of primes is the sieve of Eratosthenes, presented in Nicomachus s Introduction to Arithmetic some 1900 years ago [6]. The process is as follows: Algorithm (Sieve of Eratosthenes). Given an upper bound n: 1. Create an array of n Boolean values, all initialized to True. These represent the numbers 0 to n Set elements 0 and 1 to False. 3. For i = 2, 3,..., n, 4 if element i of the sieve is True, set all elements ki < n to False. The numbers marked True by the end of the algorithm are the primes contained in the list. Such a result is guaranteed by the observation that the first number marked True in the sublist {i + 1,..., n} after an iteration of Step 3 must be prime. 5 3 Note that here, and in all other complexities in this paper, n is the number to be factored, not the number of digits in that number. Since the number of digits is log 10 n, we have approximated the number of digits D by D ln n, which holds asymptotically. 4 For i > n, ki Ω k < i. But since we have crossed off all multiples of every number less than i, every multiple of i must have already been crossed off. 5 If this number were composite, then it would have a prime factor less than itself. But then it would be a multiple of a number that we have already checked!

4 Primality Testing and Factorization Methods Figure 1: Sieve of Eratosthenes for n = Runtime (s) n Figure 2: log-log plot of n vs. runtime for sieve calculation The sieve method is highly efficient in terms of its time complexity: the number of operations needed to perform the entire sieve is proportional to π(n) i=1 n p i = n ln ln n + O(n) = O(n ln ln n), or O(ln ln n) per sieve element [4]. Notice that the performance here for the entire sieve is only slightly worse than trial division s performance for a single number, and in fact the sieve method is much more efficient per prime found for large n. This is a consequence of problem reduction: as we test each new prime p i, we reduce the number of elements to test in future iterations by n/p 1 p i. However, the method s weakness lies in its poor space complexity; the sieve requires that a marker be stored for every number in the sieve, for a total of O(n) bits of information. Thus, the sieve is only useful to us for relatively small numbers, say, less than (i.e., less than about 1 TB of storage). There are ways around this constraint, known as sieve segmentations, that split larger sieves into blocks, evaluate each block sequentially, and save only the primes from each block for evaluation in subsequent blocks. The space complexity for a segmentation is O(π(n)), extending the sieve s range to O(10 14 ).

5 Primality Testing and Factorization Methods 5 3 Prime Factorization Now that we have methods for determining the prime numbers, we can proceed with the task of decomposing numbers into their prime factors. In class, we covered several factorization methods, including trial division and Fermat s method, both deterministic algorithms with exponential runtime. In this section, we will cover a probabilistic algorithm known as the Pollard rho method, and explore in detail Pomerance s quadratic sieve method, which is subexponential. We will also discuss a method specifically useful for cracking multiple RSA keys. 3.1 The Pollard rho (ρ) Method All of the other methods described in this paper are deterministic; given a particular input, they provide the same output no matter how many times they are run. In 1975, however, John Pollard used an observation about functions defined on discrete finite sets to create a probabilistic factorization method one that may give different factors for n, determined randomly at runtime [7]. Pollard s observation is as follows: Let n Z + and p the least prime factor of n. If S = {1, 2,..., p 1}, then we can define a function f = x 2 + a mod p for some a S such that for any s S, the sequence s, f(s), f(f(s)),... will eventually begin to repeat itself (i.e., will be cyclic). We can conceptualize this cyclic behavior with the Greek letter ρ, 6 and a probabilistic argument will show that the repetition occurs within O( p) iterations. Under reasonable circumstances, we do not know the value of p, and so f is impossible to compute. Pollard s breakthrough was to construct another function F = x 2 + a mod n that exhibits similar cyclic behavior as f without recourse to the value of p. In fact, F f mod p, and if we let F (i) (x) denote the action of F on x taken i times, then there exists i 0 such that 2i = O( p) and F (i) (s) F (2i) (s) mod p. In that case, the number g = gcd(f (i) (s) F (2i) (s), n) is a multiple of p. If g n, then g is a nontrivial factor. Algorithm (Pollard ρ method). Given a composite integer n, 1. Randomly choose integers a [1, n 3] 7 and s [0, n 1]. 2. Define F (x) = (x 2 + a) mod n. 6 Imagine the tail of the ρ depicting the non-cyclic part of the sequence, leading into the body of the ρ, the cyclic part. 7 We could in theory allow a [0, n 1], but it turns out that the additional choices of a in this set perform poorly in the algorithm, i.e., we are only guaranteed a factor after more than O( p) iterations, if at all. Thus, it behooves us to limit our choices.

6 Primality Testing and Factorization Methods 6 3. Set U = V = s. 4. Iterate U and V as follows: U = F (U), V = F (2) (V ). 5. Calculate g = gcd(u V, n). 6. If g = 1, go back to Step 4. If g = n, go back to Step Return g. The algorithm is probabilistic in that the values of a and s are chosen randomly. It is possible that certain combinations of a and s work with prime factors other than p, and thus the result obtained by the algorithm will likely differ from run to run, and these results might not even share any factors between them. Step 4 may be repeated up to O( p) times, for an operation complexity of O(p 1/2 ) O(N ln N) O(n 1/4 ln n ln ln n), assuming p is of maximum order proportional to n. 3.2 The Quadratic Sieve So far, the factorization methods discussed have run no faster than exponential time. But there are several factorization methods that are faster than this. We will discuss a method that runs in subexponential time proportional to O(e nε ) for some ε > 0. This method the quadratic sieve method, created by Carl Pomerance in 1981 [8] involves sieving integers for a quality called smoothness. A number is B- smooth if all of its prime factors are less than B. The quadratic sieve uses a series of B-smooth numbers to construct quadratic congruences modulo n that result in some factor of n. The Quadratic Sieve Suppose n is an odd composite that is not a power. sequence of values We will consider the x 2 mod n for x = n, n + 1,... that are B-smooth for some B of our choice. Let us put an extra condition on smoothness here: we will consider only the x 2 n whose prime factors are the primes less than B that are quadratic residues modulo n. Each such prime p i will produce two integers ±a i, such that a 2 i n mod p i; these are the quadratic residues of n modulo p i.

7 Primality Testing and Factorization Methods 7 We shall sieve the above sequence for these primes. Notice that if p i x 2 n, then x ±a i mod p i ; thus, we can quickly divide out each p i from the x 2 n in our sequence. If some x 2 n is B-smooth, then after division by each prime power p a i B, it will equal 1. This gives us a very quick way to determine B-smooth values x i. Suppose we find π(b) + 1 such B-smooth values x 1, x 2,..., x k. Then as a consequence of a result from linear algebra, the product of some subset of these x i will be a perfect square modulo n, i.e., for some i,..., j, u 2 = (x i... x j ) 2 a i a j = v 2 mod n. If u ±v mod n, then n (u + v)(u v), but n u + v and n u v; hence, gcd(u + v, n) and gcd(u v, n) must be factors of n. Algorithm (Quadratic Sieve [4]). Given an odd composite integer n that is not a power, 1. Choose a smoothness bound B. In most cases, the optimal B e.5 ln n ln ln n. 2. Find the factor base F = {2} {p B p odd prime and ( n p ) = 1}. 3. For each prime p i F, find ±a i mod p i such that a 2 i n mod p i. 4. Sieve the sequence of values x 2 n for x = n, n + 1,... for B- smooth values, stopping when you have found π(b) + 1 of them. For each B-smooth value, save the pair (x, x 2 n). 5. Find the prime factorization p ei i v i = (e 1, e 2,..., e F ). of each B-smooth value found, and set 6. Form a matrix in Z 2 with each row i being v i reduced modulo Find the null space for this matrix (i.e., a collection of vectors V with entries from Z 2 where V = 0). 8. For each vector V in the null space: (a) Compute u = i,v i=1 x i. (b) Compute v = i,v i=1 (x2 i n) from the prime factorizations of the values x 2 i n. (c) Compute gcd(u + v, n) and gcd(u v, n). If each does not equal 1, return them. The complexity for the quadratic sieve is dominated by the sieving process. We must find at most π(b) + 1 values that are each B-smooth, and perform operations on a (π(b) + 1) B matrix; hence, the sieve s runtime is 8 O(π(B)) O(B) O(B 2 ) O(e.5 ln n ln ln n ). 8 It should be noted that the complexity for the quadratic sieve is found only through an heuristic argument; a rigorous proof eludes us.

8 Primality Testing and Factorization Methods 8 Figure 3: log-log plot of n vs. runtime of the quadratic sieve Figure 3 depicts a log-log plot of n vs. the runtime of the quadratic sieve to factor n. Notice that it grows faster than linearly, implying that the quadratic sieve is at least superalgebraic, consistent with our claim that it is subexponential (the latter implies the former). There is a modified form of the quadratic sieve, known as the number field sieve, that implements essentially the above process to find quadratic residues on a pair of polynomial rings Z[r 1 ] and Z[r 2 ] instead of on Z, which is currently the fastest known factorization method [5]. Due to the complexity of the mathematics behind the details of its implementation, it has been omitted. 3.3 Factoring Multiple RSA Keys: The Batch GCD Method In general, RSA keys are very difficult to factor: the largest RSA modulus factored by standard algorithms has 768 bits (232 decimal digits) [2], and the current standards for most high-level encryption services use or 2048-bit RSA moduli. However, if a large collection of RSA keys (say, O(10 6 ) of them) are constructed using primes given by a faulty random-number generator, a significant number of those keys may share prime factors. The batch GCD algorithm exploits this weakness in real-world RSA key generation [3]. Suppose two distinct RSA keys N 1 and N 2 share a factor, that is, d = gcd(n 1, N 2 ) > 1; then, since N i = p i q i for prime p i and q i, it must be the case that either d = p 1 or d = q 1. Thus, if we find that two keys share factors, we can quickly factor both keys using their GCD. The batch GCD process

9 Primality Testing and Factorization Methods 9 performs this quickly on large sets of keys {N 1, N 2,..., N m } by calculating: gcd (N 1, N 2 N 3... N m ), gcd (N 2, N 1 N 3... N m ), gcd (N m, N 1 N 2... N m 1 ). Algorithm (Batch GCD). Given a list {N 1, N 2,..., N m } of integers, 1. Calculate N = N 1 N 2 N m. 2. Create a list G of length m. 3. For each i = 1, 2,..., m: Calculate R i = N mod N 2 i. Set G i = gcd(n i, R i /N i ) = gcd(n i, N/N i ). 4. Return G. Notice that {N i G i > 1} is the set of keys that share a factor with some other key in the list. Most of the time, G i is prime and thus a nontrivial factor of N i. By recognizing these prime G i, we can factor the corresponding keys N i. 9 The batch GCD method requires calculating m GCDs, for a complexity of m O(N 2 ) = O(m ln 2 n). 9 In the less frequent case, G i is composite G i = N i. Then there exist some N j, N k B, with i j k, such that p i N j and q i N k. It is possible to have some subset of C B where each N i C fits this criterion. In such a case, the elements of C form one or more cyclic chains of factor sharing, e.g., N 1 = p 1 p 2, N 2 = p 2 p 3, and N 3 = p 3 p 1. Batch GCD does nothing to help us here. Luckily, this setup is relatively rare in practice.

10 Primality Testing and Factorization Methods 10 References [1] Adleman, L.; R. Rivest; A. Shamir: A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, Communications of the ACM, Volume 21, Issue 2, (1978). [2] Aoki, K.; Bos, J.; Franke, J.; Gaudry, P.; Kleinjung, T.; Kruppa, A.; Lenstra, A.; Montgomery, P.; Osvik, D.; Riele, H.; Thomé, E.; Timofeev, A.; Zimmermann, P.: Factorization of a 768-bit RSA modulus, Cryptology eprint Archive, Report 2010/006 (2010). [3] Bernstein, D.; N. Heninger; T. Lange: FactHacks: RSA factorization in the real world, facthacks.cr.yp.to (2012). [4] Crandall, R.; C. Pomerance: Prime Numbers: A Computational Perspective, Second Edition (2005). [5] Lenstra, A.; H. Lenstra; M. Manasse; J. Pollard: The development of the number field sieve, Lecture Notes in Mathematics, Volume 1554, (1993). [6] Nicomachus: Introduction to Arithmetic, Volume I, 13 (year unknown). [7] Pollard, J.M.: A Monte Carlo method for factorization, BIT Numerical Mathematics, Volume 15, Issue 3, (1975). [8] Pomerance, C: Smooth Numbers and the Quadratic Sieve, Algorithmic Number Theory, Volume 44, (2008).

### Integer Factorization using the Quadratic Sieve

Integer Factorization using the Quadratic Sieve Chad Seibert* Division of Science and Mathematics University of Minnesota, Morris Morris, MN 56567 seib0060@morris.umn.edu March 16, 2011 Abstract We give

### 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?

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 < Φ Bob ) such that gcd(e,φ Bob )=1. Then, d = e -1

### FACTORING. n = 2 25 + 1. fall in the arithmetic sequence

FACTORING The claim that factorization is harder than primality testing (or primality certification) is not currently substantiated rigorously. As some sort of backward evidence that factoring is hard,

### An Overview of Integer Factoring Algorithms. The Problem

An Overview of Integer Factoring Algorithms Manindra Agrawal IITK / NUS The Problem Given an integer n, find all its prime divisors as efficiently as possible. 1 A Difficult Problem No efficient algorithm

### FACTORING LARGE NUMBERS, A GREAT WAY TO SPEND A BIRTHDAY

FACTORING LARGE NUMBERS, A GREAT WAY TO SPEND A BIRTHDAY LINDSEY R. BOSKO I would like to acknowledge the assistance of Dr. Michael Singer. His guidance and feedback were instrumental in completing this

### Elements of Applied Cryptography Public key encryption

Network Security Elements of Applied Cryptography Public key encryption Public key cryptosystem RSA and the factorization problem RSA in practice Other asymmetric ciphers Asymmetric Encryption Scheme Let

### Two Integer Factorization Methods

Two Integer Factorization Methods Christopher Koch April 22, 2014 Abstract Integer factorization methods are algorithms that find the prime divisors of any positive integer. Besides studying trial division

### Public-Key Cryptanalysis 1: Introduction and Factoring

Public-Key Cryptanalysis 1: Introduction and Factoring Nadia Heninger University of Pennsylvania July 21, 2013 Adventures in Cryptanalysis Part 1: Introduction and Factoring. What is public-key crypto

### Study of algorithms for factoring integers and computing discrete logarithms

Study of algorithms for factoring integers and computing discrete logarithms First Indo-French Workshop on Cryptography and Related Topics (IFW 2007) June 11 13, 2007 Paris, France Dr. Abhijit Das Department

### Cryptography: RSA and the discrete logarithm problem

Cryptography: and the discrete logarithm problem R. Hayden Advanced Maths Lectures Department of Computing Imperial College London February 2010 Public key cryptography Assymmetric cryptography two keys:

### MATH 168: FINAL PROJECT Troels Eriksen. 1 Introduction

MATH 168: FINAL PROJECT Troels Eriksen 1 Introduction In the later years cryptosystems using elliptic curves have shown up and are claimed to be just as secure as a system like RSA with much smaller key

### Factoring & Primality

Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

### Factoring. Factoring 1

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

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

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory

### Primality - Factorization

Primality - Factorization Christophe Ritzenthaler November 9, 2009 1 Prime and factorization Definition 1.1. An integer p > 1 is called a prime number (nombre premier) if it has only 1 and p as divisors.

### Lecture 13 - Basic Number Theory.

Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted

### Factoring a semiprime n by estimating φ(n)

Factoring a semiprime n by estimating φ(n) Kyle Kloster May 7, 2010 Abstract A factoring algorithm, called the Phi-Finder algorithm, is presented that factors a product of two primes, n = pq, by determining

### Factoring Algorithms

Factoring Algorithms The p 1 Method and Quadratic Sieve November 17, 2008 () Factoring Algorithms November 17, 2008 1 / 12 Fermat s factoring method Fermat made the observation that if n has two factors

### Factoring integers, Producing primes and the RSA cryptosystem Harish-Chandra Research Institute

RSA cryptosystem HRI, Allahabad, February, 2005 0 Factoring integers, Producing primes and the RSA cryptosystem Harish-Chandra Research Institute Allahabad (UP), INDIA February, 2005 RSA cryptosystem HRI,

### The Quadratic Sieve Factoring Algorithm

The Quadratic Sieve Factoring Algorithm Eric Landquist MATH 488: Cryptographic Algorithms December 14, 2001 1 Introduction Mathematicians have been attempting to find better and faster ways to factor composite

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

Arithmetic algorithms for cryptology 5 October 2015, Paris Sieves Razvan Barbulescu CNRS and IMJ-PRG R. Barbulescu Sieves 0 / 28 Starting point Notations q prime g a generator of (F q ) X a (secret) integer

### 3. Applications of Number Theory

3. APPLICATIONS OF NUMBER THEORY 163 3. Applications of Number Theory 3.1. Representation of Integers. Theorem 3.1.1. Given an integer b > 1, every positive integer n can be expresses uniquely as n = a

### International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013

FACTORING CRYPTOSYSTEM MODULI WHEN THE CO-FACTORS DIFFERENCE IS BOUNDED Omar Akchiche 1 and Omar Khadir 2 1,2 Laboratory of Mathematics, Cryptography and Mechanics, Fstm, University of Hassan II Mohammedia-Casablanca,

### The Mathematics of the RSA Public-Key Cryptosystem

The Mathematics of the RSA Public-Key Cryptosystem Burt Kaliski RSA Laboratories ABOUT THE AUTHOR: Dr Burt Kaliski is a computer scientist whose involvement with the security industry has been through

### Factoring Algorithms

Institutionen för Informationsteknologi Lunds Tekniska Högskola Department of Information Technology Lund University Cryptology - Project 1 Factoring Algorithms The purpose of this project is to understand

### The application of prime numbers to RSA encryption

The application of prime numbers to RSA encryption Prime number definition: Let us begin with the definition of a prime number p The number p, which is a member of the set of natural numbers N, is considered

### Faster deterministic integer factorisation

David Harvey (joint work with Edgar Costa, NYU) University of New South Wales 25th October 2011 The obvious mathematical breakthrough would be the development of an easy way to factor large prime numbers

### Public Key Cryptography: RSA and Lots of Number Theory

Public Key Cryptography: RSA and Lots of Number Theory Public vs. Private-Key Cryptography We have just discussed traditional symmetric cryptography: Uses a single key shared between sender and receiver

### Smooth numbers and the quadratic sieve

Algorithmic Number Theory MSRI Publications Volume 44, 2008 Smooth numbers and the quadratic sieve CARL POMERANCE ABSTRACT. This article gives a gentle introduction to factoring large integers via the

### Factorization Methods: Very Quick Overview

Factorization Methods: Very Quick Overview Yuval Filmus October 17, 2012 1 Introduction In this lecture we introduce modern factorization methods. We will assume several facts from analytic number theory.

### RSA Attacks. By Abdulaziz Alrasheed and Fatima

RSA Attacks By Abdulaziz Alrasheed and Fatima 1 Introduction Invented by Ron Rivest, Adi Shamir, and Len Adleman [1], the RSA cryptosystem was first revealed in the August 1977 issue of Scientific American.

### Factoring integers and Producing primes

Factoring integers,..., RSA Erbil, Kurdistan 0 Lecture in Number Theory College of Sciences Department of Mathematics University of Salahaddin Debember 4, 2014 Factoring integers and Producing primes Francesco

### ALGEBRAIC APPROACH TO COMPOSITE INTEGER FACTORIZATION

ALGEBRAIC APPROACH TO COMPOSITE INTEGER FACTORIZATION Aldrin W. Wanambisi 1* School of Pure and Applied Science, Mount Kenya University, P.O box 553-50100, Kakamega, Kenya. Shem Aywa 2 Department of Mathematics,

### An Introduction to the RSA Encryption Method

April 17, 2012 Outline 1 History 2 3 4 5 History RSA stands for Rivest, Shamir, and Adelman, the last names of the designers It was first published in 1978 as one of the first public-key crytographic systems

### Public Key Cryptography and RSA. Review: Number Theory Basics

Public Key Cryptography and RSA Murat Kantarcioglu Based on Prof. Ninghui Li s Slides Review: Number Theory Basics Definition An integer n > 1 is called a prime number if its positive divisors are 1 and

### Cryptography and Network Security Chapter 9

Cryptography and Network Security Chapter 9 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits by RHB) Chapter 9 Public Key Cryptography and RSA Every Egyptian received two names,

### Discrete Mathematics, Chapter 4: Number Theory and Cryptography

Discrete Mathematics, Chapter 4: Number Theory and Cryptography Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 4 1 / 35 Outline 1 Divisibility

### Factoring integers, Producing primes and the RSA cryptosystem

Factoring integers,..., RSA Erbil, Kurdistan 0 Lecture in Number Theory College of Sciences Department of Mathematics University of Salahaddin Debember 1, 2014 Factoring integers, Producing primes and

### Cryptography and Network Security Chapter 8

Cryptography and Network Security Chapter 8 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits by RHB) Chapter 8 Introduction to Number Theory The Devil said to Daniel Webster:

### Applied Cryptography Public Key Algorithms

Applied Cryptography Public Key Algorithms Sape J. Mullender Huygens Systems Research Laboratory Universiteit Twente Enschede 1 Public Key Cryptography Independently invented by Whitfield Diffie & Martin

### MA2C03 Mathematics School of Mathematics, Trinity College Hilary Term 2016 Lecture 59 (April 1, 2016) David R. Wilkins

MA2C03 Mathematics School of Mathematics, Trinity College Hilary Term 2016 Lecture 59 (April 1, 2016) David R. Wilkins The RSA encryption scheme works as follows. In order to establish the necessary public

### Runtime and Implementation of Factoring Algorithms: A Comparison

Runtime and Implementation of Factoring Algorithms: A Comparison Justin Moore CSC290 Cryptology December 20, 2003 Abstract Factoring composite numbers is not an easy task. It is classified as a hard algorithm,

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

Determining the Optimal Combination of Trial Division and Fermat s Factorization Method Joseph C. Woodson Home School P. O. Box 55005 Tulsa, OK 74155 Abstract The process of finding the prime factorization

### THE MATHEMATICS OF PUBLIC KEY CRYPTOGRAPHY.

THE MATHEMATICS OF PUBLIC KEY CRYPTOGRAPHY. IAN KIMING 1. Forbemærkning. Det kan forekomme idiotisk, at jeg som dansktalende og skrivende i et danskbaseret tidsskrift med en (formentlig) primært dansktalende

### The RSA Algorithm. Evgeny Milanov. 3 June 2009

The RSA Algorithm Evgeny Milanov 3 June 2009 In 1978, Ron Rivest, Adi Shamir, and Leonard Adleman introduced a cryptographic algorithm, which was essentially to replace the less secure National Bureau

### 9 Modular Exponentiation and Cryptography

9 Modular Exponentiation and Cryptography 9.1 Modular Exponentiation Modular arithmetic is used in cryptography. In particular, modular exponentiation is the cornerstone of what is called the RSA system.

### Modern Factoring Algorithms

Modern Factoring Algorithms Kostas Bimpikis and Ragesh Jaiswal University of California, San Diego... both Gauss and lesser mathematicians may be justified in rejoicing that there is one science [number

### A Comparison Of Integer Factoring Algorithms. Keyur Anilkumar Kanabar

A Comparison Of Integer Factoring Algorithms Keyur Anilkumar Kanabar Batchelor of Science in Computer Science with Honours The University of Bath May 2007 This dissertation may be made available for consultation

### Computer and Network Security

MIT 6.857 Computer and Networ Security Class Notes 1 File: http://theory.lcs.mit.edu/ rivest/notes/notes.pdf Revision: December 2, 2002 Computer and Networ Security MIT 6.857 Class Notes by Ronald L. Rivest

### On Generalized Fermat Numbers 3 2n +1

Applied Mathematics & Information Sciences 4(3) (010), 307 313 An International Journal c 010 Dixie W Publishing Corporation, U. S. A. On Generalized Fermat Numbers 3 n +1 Amin Witno Department of Basic

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

Number Theory Divisibility and Primes Definition. If a and b are integers and there is some integer c such that a = b c, then we say that b divides a or is a factor or divisor of a and write b a. Definition

### Lecture 3: One-Way Encryption, RSA Example

ICS 180: Introduction to Cryptography April 13, 2004 Lecturer: Stanislaw Jarecki Lecture 3: One-Way Encryption, RSA Example 1 LECTURE SUMMARY We look at a different security property one might require

### The Sieve Re-Imagined: Integer Factorization Methods

The Sieve Re-Imagined: Integer Factorization Methods by Jennifer Smith A research paper presented to the University of Waterloo in partial fulfillment of the requirement for the degree of Master of Mathematics

### Mathematics of Internet Security. Keeping Eve The Eavesdropper Away From Your Credit Card Information

The : Keeping Eve The Eavesdropper Away From Your Credit Card Information Department of Mathematics North Dakota State University 16 September 2010 Science Cafe Introduction Disclaimer: is not an internet

### Lecture Note 5 PUBLIC-KEY CRYPTOGRAPHY. Sourav Mukhopadhyay

Lecture Note 5 PUBLIC-KEY CRYPTOGRAPHY Sourav Mukhopadhyay Cryptography and Network Security - MA61027 Modern/Public-key cryptography started in 1976 with the publication of the following paper. W. Diffie

### Elementary factoring algorithms

Math 5330 Spring 013 Elementary factoring algorithms The RSA cryptosystem is founded on the idea that, in general, factoring is hard. Where as with Fermat s Little Theorem and some related ideas, one can

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

Outline Computer Science 418 Digital Signatures Mike Jacobson Department of Computer Science University of Calgary Week 12 1 Digital Signatures 2 Signatures via Public Key Cryptosystems 3 Provable 4 Mike

### Embedding more security in digital signature system by using combination of public key cryptography and secret sharing scheme

International Journal of Computer Sciences and Engineering Open Access Research Paper Volume-4, Issue-3 E-ISSN: 2347-2693 Embedding more security in digital signature system by using combination of public

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

Principles of Public Key Cryptography Chapter : Security Techniques Background Secret Key Cryptography Public Key Cryptography Hash Functions Authentication Chapter : Security on Network and Transport

### Number Theory and the RSA Public Key Cryptosystem

Number Theory and the RSA Public Key Cryptosystem Minh Van Nguyen nguyenminh2@gmail.com 05 November 2008 This tutorial uses to study elementary number theory and the RSA public key cryptosystem. A number

### Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur

Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Module No. # 01 Lecture No. # 05 Classic Cryptosystems (Refer Slide Time: 00:42)

### Elementary Number Theory We begin with a bit of elementary number theory, which is concerned

CONSTRUCTION OF THE FINITE FIELDS Z p S. R. DOTY Elementary Number Theory We begin with a bit of elementary number theory, which is concerned solely with questions about the set of integers Z = {0, ±1,

### 2 Primality and Compositeness Tests

Int. J. Contemp. Math. Sciences, Vol. 3, 2008, no. 33, 1635-1642 On Factoring R. A. Mollin Department of Mathematics and Statistics University of Calgary, Calgary, Alberta, Canada, T2N 1N4 http://www.math.ucalgary.ca/

### CHAPTER 5. Number Theory. 1. Integers and Division. Discussion

CHAPTER 5 Number Theory 1. Integers and Division 1.1. Divisibility. Definition 1.1.1. Given two integers a and b we say a divides b if there is an integer c such that b = ac. If a divides b, we write a

### ELEMENTARY THOUGHTS ON DISCRETE LOGARITHMS. Carl Pomerance

ELEMENTARY THOUGHTS ON DISCRETE LOGARITHMS Carl Pomerance Given a cyclic group G with generator g, and given an element t in G, the discrete logarithm problem is that of computing an integer l with g l

### A Factoring and Discrete Logarithm based Cryptosystem

Int. J. Contemp. Math. Sciences, Vol. 8, 2013, no. 11, 511-517 HIKARI Ltd, www.m-hikari.com A Factoring and Discrete Logarithm based Cryptosystem Abdoul Aziz Ciss and Ahmed Youssef Ecole doctorale de Mathematiques

### Notes on Factoring. MA 206 Kurt Bryan

The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor

### 1 Digital Signatures. 1.1 The RSA Function: The eth Power Map on Z n. Crypto: Primitives and Protocols Lecture 6.

1 Digital Signatures A digital signature is a fundamental cryptographic primitive, technologically equivalent to a handwritten signature. In many applications, digital signatures are used as building blocks

### Cryptography and Network Security

Cryptography and Network Security Fifth Edition by William Stallings Chapter 9 Public Key Cryptography and RSA Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared

### 8 Primes and Modular Arithmetic

8 Primes and Modular Arithmetic 8.1 Primes and Factors Over two millennia ago already, people all over the world were considering the properties of numbers. One of the simplest concepts is prime numbers.

### (x + a) n = x n + a Z n [x]. Proof. If n is prime then the map

22. A quick primality test Prime numbers are one of the most basic objects in mathematics and one of the most basic questions is to decide which numbers are prime (a clearly related problem is to find

### Number Theory and Cryptography using PARI/GP

Number Theory and Cryptography using Minh Van Nguyen nguyenminh2@gmail.com 25 November 2008 This article uses to study elementary number theory and the RSA public key cryptosystem. Various commands will

### Cryptography and Network Security Number Theory

Cryptography and Network Security Number Theory Xiang-Yang Li Introduction to Number Theory Divisors b a if a=mb for an integer m b a and c b then c a b g and b h then b (mg+nh) for any int. m,n Prime

### Lecture 13: Factoring Integers

CS 880: Quantum Information Processing 0/4/0 Lecture 3: Factoring Integers Instructor: Dieter van Melkebeek Scribe: Mark Wellons In this lecture, we review order finding and use this to develop a method

### NUMBER THEORY AND CRYPTOGRAPHY

NUMBER THEORY AND CRYPTOGRAPHY KEITH CONRAD 1. Introduction Cryptography is the study of secret messages. For most of human history, cryptography was important primarily for military or diplomatic purposes

### RSA Keys with Common Factors

RSA Keys with Common Factors Joppe W. Bos Cryptography group extreme Computing Group, Microsoft Research 1 / 19 Outline 2 / 19 Public-Key Cryptography 3 / 19 Cryptanalysis of Public-Key Cryptography Popular

### Notes on Network Security Prof. Hemant K. Soni

Chapter 9 Public Key Cryptography and RSA Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender and receiver if this key is disclosed communications

### Factoring pq 2 with Quadratic Forms: Nice Cryptanalyses

Factoring pq 2 with Quadratic Forms: Nice Cryptanalyses Phong Nguyễn http://www.di.ens.fr/~pnguyen & ASIACRYPT 2009 Joint work with G. Castagnos, A. Joux and F. Laguillaumie Summary Factoring A New Factoring

### Cubic Polynomials in the Number Field Sieve. Ronnie Scott Williams, Jr., B.S. A Thesis. Mathematics and Statistics

Cubic Polynomials in the Number Field Sieve by Ronnie Scott Williams, Jr., B.S. A Thesis In Mathematics and Statistics Submitted to the Graduate Faculty of Texas Tech University in Partial Fulfillment

### Index Calculation Attacks on RSA Signature and Encryption

Index Calculation Attacks on RSA Signature and Encryption Jean-Sébastien Coron 1, Yvo Desmedt 2, David Naccache 1, Andrew Odlyzko 3, and Julien P. Stern 4 1 Gemplus Card International {jean-sebastien.coron,david.naccache}@gemplus.com

### Secure Network Communication Part II II Public Key Cryptography. Public Key Cryptography

Kommunikationssysteme (KSy) - Block 8 Secure Network Communication Part II II Public Key Cryptography Dr. Andreas Steffen 2000-2001 A. Steffen, 28.03.2001, KSy_RSA.ppt 1 Secure Key Distribution Problem

### 2.1 Complexity Classes

15-859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look

### LUC: A New Public Key System

LUC: A New Public Key System Peter J. Smith a and Michael J. J. Lennon b a LUC Partners, Auckland UniServices Ltd, The University of Auckland, Private Bag 92019, Auckland, New Zealand. b Department of

### Overview of Public-Key Cryptography

CS 361S Overview of Public-Key Cryptography Vitaly Shmatikov slide 1 Reading Assignment Kaufman 6.1-6 slide 2 Public-Key Cryptography public key public key? private key Alice Bob Given: Everybody knows

### Library (versus Language) Based Parallelism in Factoring: Experiments in MPI. Dr. Michael Alexander Dr. Sonja Sewera.

Library (versus Language) Based Parallelism in Factoring: Experiments in MPI Dr. Michael Alexander Dr. Sonja Sewera Talk 2007-10-19 Slide 1 of 20 Primes Definitions Prime: A whole number n is a prime number

### On Factoring Integers and Evaluating Discrete Logarithms

On Factoring Integers and Evaluating Discrete Logarithms A thesis presented by JOHN AARON GREGG to the departments of Mathematics and Computer Science in partial fulfillment of the honors requirements

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

F. Morain École polytechnique MPRI cours 2-12-2 2013-2014 3/22 F. Morain École polytechnique MPRI cours 2-12-2 2013-2014 4/22 MPRI Cours 2-12-2 I. Introduction Input: an integer N; logox F. Morain logocnrs

### Cryptography and Network Security

Cryptography and Network Security Spring 2012 http://users.abo.fi/ipetre/crypto/ Lecture 7: Public-key cryptography and RSA Ion Petre Department of IT, Åbo Akademi University 1 Some unanswered questions

### SECURITY IMPROVMENTS TO THE DIFFIE-HELLMAN SCHEMES

www.arpapress.com/volumes/vol8issue1/ijrras_8_1_10.pdf SECURITY IMPROVMENTS TO THE DIFFIE-HELLMAN SCHEMES Malek Jakob Kakish Amman Arab University, Department of Computer Information Systems, P.O.Box 2234,

### The RSA Algorithm: A Mathematical History of the Ubiquitous Cryptological Algorithm

The RSA Algorithm: A Mathematical History of the Ubiquitous Cryptological Algorithm Maria D. Kelly December 7, 2009 Abstract The RSA algorithm, developed in 1977 by Rivest, Shamir, and Adlemen, is an algorithm

### The Mathematical Cryptography of the RSA Cryptosystem

The Mathematical Cryptography of the RSA Cryptosystem Abderrahmane Nitaj Laboratoire de Mathématiques Nicolas Oresme Université de Caen, France abderrahmanenitaj@unicaenfr http://wwwmathunicaenfr/~nitaj

### CONTINUED FRACTIONS AND FACTORING. Niels Lauritzen

CONTINUED FRACTIONS AND FACTORING Niels Lauritzen ii NIELS LAURITZEN DEPARTMENT OF MATHEMATICAL SCIENCES UNIVERSITY OF AARHUS, DENMARK EMAIL: niels@imf.au.dk URL: http://home.imf.au.dk/niels/ Contents

### Lecture 6 - Cryptography

Lecture 6 - Cryptography CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger www.cse.psu.edu/~tjaeger/cse497b-s07 Question 2 Setup: Assume you and I don t know anything about

### Continued Fractions and the Euclidean Algorithm

Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction

### Public Key (asymmetric) Cryptography

Public-Key Cryptography UNIVERSITA DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell Informazione Public Key (asymmetric) Cryptography Luca Veltri (mail.to: luca.veltri@unipr.it) Course of Network Security,

### Announcements. CS243: Discrete Structures. More on Cryptography and Mathematical Induction. Agenda for Today. Cryptography

Announcements CS43: Discrete Structures More on Cryptography and Mathematical Induction Işıl Dillig Class canceled next Thursday I am out of town Homework 4 due Oct instead of next Thursday (Oct 18) Işıl

### CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY

January 10, 2010 CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY The set of polynomials over a field F is a ring, whose structure shares with the ring of integers many characteristics.

### Integer Factorization: Solution via Algorithm for Constrained Discrete Logarithm Problem

Journal of Computer Science 5 (9): 674-679, 009 ISSN 1549-3636 009 Science Publications Integer Factorization: Solution via Algorithm for Constrained Discrete Logarithm Problem Boris S. Verkhovsky Department