8.1 Primality Testing Using Modular Arithmetic
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
The Enigmatic Number E: a History in Verse and Its Uses in the Mathematics Classroom
To appear in MAA Loci: Convergence The Enigmatic Number e: A History in Verse and Its Uses in the Mathematics Classroom Sarah Glaz Department of Mathematics University of Connecticut Storrs, CT 06269 [email protected] Introduction In this article we present a history of e in verse—an annotated poem: The Enigmatic Number e . The annotation consists of hyperlinks leading to biographies of the mathematicians appearing in the poem, and to explanations of the mathematical notions and ideas presented in the poem. The intention is to celebrate the history of this venerable number in verse, and to put the mathematical ideas connected with it in historical and artistic context. The poem may also be used by educators in any mathematics course in which the number e appears, and those are as varied as e's multifaceted history. The sections following the poem provide suggestions and resources for the use of the poem as a pedagogical tool in a variety of mathematics courses. They also place these suggestions in the context of other efforts made by educators in this direction by briefly outlining the uses of historical mathematical poems for teaching mathematics at high-school and college level. Historical Background The number e is a newcomer to the mathematical pantheon of numbers denoted by letters: it made several indirect appearances in the 17 th and 18 th centuries, and acquired its letter designation only in 1731. Our history of e starts with John Napier (1550-1617) who defined logarithms through a process called dynamical analogy [1]. Napier aimed to simplify multiplication (and in the same time also simplify division and exponentiation), by finding a model which transforms multiplication into addition. -
Primality Testing and Integer Factorisation
Primality Testing and Integer Factorisation Richard P. Brent, FAA Computer Sciences Laboratory Australian National University Canberra, ACT 2601 Abstract The problem of finding the prime factors of large composite numbers has always been of mathematical interest. With the advent of public key cryptosystems it is also of practical importance, because the security of some of these cryptosystems, such as the Rivest-Shamir-Adelman (RSA) system, depends on the difficulty of factoring the public keys. In recent years the best known integer factorisation algorithms have improved greatly, to the point where it is now easy to factor a 60-decimal digit number, and possible to factor numbers larger than 120 decimal digits, given the availability of enough computing power. We describe several recent algorithms for primality testing and factorisation, give examples of their use and outline some applications. 1. Introduction It has been known since Euclid’s time (though first clearly stated and proved by Gauss in 1801) that any natural number N has a unique prime power decomposition α1 α2 αk N = p1 p2 ··· pk (1.1) αj (p1 < p2 < ··· < pk rational primes, αj > 0). The prime powers pj are called αj components of N, and we write pj kN. To compute the prime power decomposition we need – 1. An algorithm to test if an integer N is prime. 2. An algorithm to find a nontrivial factor f of a composite integer N. Given these there is a simple recursive algorithm to compute (1.1): if N is prime then stop, otherwise 1. find a nontrivial factor f of N; 2. -
An Analysis of Primality Testing and Its Use in Cryptographic Applications
An Analysis of Primality Testing and Its Use in Cryptographic Applications Jake Massimo Thesis submitted to the University of London for the degree of Doctor of Philosophy Information Security Group Department of Information Security Royal Holloway, University of London 2020 Declaration These doctoral studies were conducted under the supervision of Prof. Kenneth G. Paterson. The work presented in this thesis is the result of original research carried out by myself, in collaboration with others, whilst enrolled in the Department of Mathe- matics as a candidate for the degree of Doctor of Philosophy. This work has not been submitted for any other degree or award in any other university or educational establishment. Jake Massimo April, 2020 2 Abstract Due to their fundamental utility within cryptography, prime numbers must be easy to both recognise and generate. For this, we depend upon primality testing. Both used as a tool to validate prime parameters, or as part of the algorithm used to generate random prime numbers, primality tests are found near universally within a cryptographer's tool-kit. In this thesis, we study in depth primality tests and their use in cryptographic applications. We first provide a systematic analysis of the implementation landscape of primality testing within cryptographic libraries and mathematical software. We then demon- strate how these tests perform under adversarial conditions, where the numbers being tested are not generated randomly, but instead by a possibly malicious party. We show that many of the libraries studied provide primality tests that are not pre- pared for testing on adversarial input, and therefore can declare composite numbers as being prime with a high probability. -
Primes and Primality Testing
Primes and Primality Testing A Technological/Historical Perspective Jennifer Ellis Department of Mathematics and Computer Science What is a prime number? A number p greater than one is prime if and only if the only divisors of p are 1 and p. Examples: 2, 3, 5, and 7 A few larger examples: 71887 524287 65537 2127 1 Primality Testing: Origins Eratosthenes: Developed “sieve” method 276-194 B.C. Nicknamed Beta – “second place” in many different academic disciplines Also made contributions to www-history.mcs.st- geometry, approximation of andrews.ac.uk/PictDisplay/Eratosthenes.html the Earth’s circumference Sieve of Eratosthenes 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 Sieve of Eratosthenes We only need to “sieve” the multiples of numbers less than 10. Why? (10)(10)=100 (p)(q)<=100 Consider pq where p>10. Then for pq <=100, q must be less than 10. By sieving all the multiples of numbers less than 10 (here, multiples of q), we have removed all composite numbers less than 100. -
Modular Arithmetic
CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 5 Modular Arithmetic One way to think of modular arithmetic is that it limits numbers to a predefined range f0;1;:::;N ¡ 1g, and wraps around whenever you try to leave this range — like the hand of a clock (where N = 12) or the days of the week (where N = 7). Example: Calculating the day of the week. Suppose that you have mapped the sequence of days of the week (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday) to the sequence of numbers (0;1;2;3;4;5;6) so that Sunday is 0, Monday is 1, etc. Suppose that today is Thursday (=4), and you want to calculate what day of the week will be 10 days from now. Intuitively, the answer is the remainder of 4 + 10 = 14 when divided by 7, that is, 0 —Sunday. In fact, it makes little sense to add a number like 10 in this context, you should probably find its remainder modulo 7, namely 3, and then add this to 4, to find 7, which is 0. What if we want to continue this in 10 day jumps? After 5 such jumps, we would have day 4 + 3 ¢ 5 = 19; which gives 5 modulo 7 (Friday). This example shows that in certain circumstances it makes sense to do arithmetic within the confines of a particular number (7 in this example), that is, to do arithmetic by always finding the remainder of each number modulo 7, say, and repeating this for the results, and so on. -
8.6 Modular Arithmetic
“mcs” — 2015/5/18 — 1:43 — page 263 — #271 8.6 Modular Arithmetic On the first page of his masterpiece on number theory, Disquisitiones Arithmeticae, Gauss introduced the notion of “congruence.” Now, Gauss is another guy who managed to cough up a half-decent idea every now and then, so let’s take a look at this one. Gauss said that a is congruent to b modulo n iff n .a b/. This is j written a b.mod n/: ⌘ For example: 29 15 .mod 7/ because 7 .29 15/: ⌘ j It’s not useful to allow a modulus n 1, and so we will assume from now on that moduli are greater than 1. There is a close connection between congruences and remainders: Lemma 8.6.1 (Remainder). a b.mod n/ iff rem.a; n/ rem.b; n/: ⌘ D Proof. By the Division Theorem 8.1.4, there exist unique pairs of integers q1;r1 and q2;r2 such that: a q1n r1 D C b q2n r2; D C “mcs” — 2015/5/18 — 1:43 — page 264 — #272 264 Chapter 8 Number Theory where r1;r2 Œ0::n/. Subtracting the second equation from the first gives: 2 a b .q1 q2/n .r1 r2/; D C where r1 r2 is in the interval . n; n/. Now a b.mod n/ if and only if n ⌘ divides the left side of this equation. This is true if and only if n divides the right side, which holds if and only if r1 r2 is a multiple of n. -
Primality Testing for Beginners
STUDENT MATHEMATICAL LIBRARY Volume 70 Primality Testing for Beginners Lasse Rempe-Gillen Rebecca Waldecker http://dx.doi.org/10.1090/stml/070 Primality Testing for Beginners STUDENT MATHEMATICAL LIBRARY Volume 70 Primality Testing for Beginners Lasse Rempe-Gillen Rebecca Waldecker American Mathematical Society Providence, Rhode Island Editorial Board Satyan L. Devadoss John Stillwell Gerald B. Folland (Chair) Serge Tabachnikov The cover illustration is a variant of the Sieve of Eratosthenes (Sec- tion 1.5), showing the integers from 1 to 2704 colored by the number of their prime factors, including repeats. The illustration was created us- ing MATLAB. The back cover shows a phase plot of the Riemann zeta function (see Appendix A), which appears courtesy of Elias Wegert (www.visual.wegert.com). 2010 Mathematics Subject Classification. Primary 11-01, 11-02, 11Axx, 11Y11, 11Y16. For additional information and updates on this book, visit www.ams.org/bookpages/stml-70 Library of Congress Cataloging-in-Publication Data Rempe-Gillen, Lasse, 1978– author. [Primzahltests f¨ur Einsteiger. English] Primality testing for beginners / Lasse Rempe-Gillen, Rebecca Waldecker. pages cm. — (Student mathematical library ; volume 70) Translation of: Primzahltests f¨ur Einsteiger : Zahlentheorie - Algorithmik - Kryptographie. Includes bibliographical references and index. ISBN 978-0-8218-9883-3 (alk. paper) 1. Number theory. I. Waldecker, Rebecca, 1979– author. II. Title. QA241.R45813 2014 512.72—dc23 2013032423 Copying and reprinting. Individual readers of this publication, and nonprofit libraries acting for them, are permitted to make fair use of the material, such as to copy a chapter for use in teaching or research. Permission is granted to quote brief passages from this publication in reviews, provided the customary acknowledgment of the source is given. -
Miller–Rabin Test
Lecture 31: Miller–Rabin Test Miller–Rabin Test Recall In the previous lecture we considered an efficient randomized algorithm to generate prime numbers that need n-bits in their binary representation This algorithm sampled a random element in the range f2n−1; 2n−1 + 1;:::; 2n − 1g and test whether it is a prime number or not By the Prime Number Theorem, we are extremely likely to hit a prime number So, all that remains is an algorithm to test whether the random sample we have chosen is a prime number or not Miller–Rabin Test Primality Testing Given an n-bit number N as input, we have to ascertain whether N is a prime number or not in time polynomial in n Only in 2002, Agrawal–Kayal–Saxena constructed a deterministic polynomial time algorithm for primality testing. That is, the algorithm will always run in time polynomial in n. For any input N (that has n-bits in its binary representation), if N is a prime number, the AKS primality testing algorithm will return 1; otherwise (if, the number N is a composite number), the AKS primality testing algorithm will return 0. In practice, this algorithm is not used for primality testing because this turns out to be too slow. In practice, we use a randomized algorithm, namely, the Miller–Rabin Test, that successfully distinguishes primes from composites with very high probability. In this lecture, we will study a basic version of this Miller–Rabin primality test. Miller–Rabin Test Assurance of Miller–Rabin Test Miller–Rabin outputs 1 to indicate that it has classified the input N as a prime. -
A Potentially Fast Primality Test
A Potentially Fast Primality Test Tsz-Wo Sze February 20, 2007 1 Introduction In 2002, Agrawal, Kayal and Saxena [3] gave the ¯rst deterministic, polynomial- time primality testing algorithm. The main step was the following. Theorem 1.1. (AKS) Given an integer n > 1, let r be an integer such that 2 ordr(n) > log n. Suppose p (x + a)n ´ xn + a (mod n; xr ¡ 1) for a = 1; ¢ ¢ ¢ ; b Á(r) log nc: (1.1) Then, n has a prime factor · r or n is a prime power. The running time is O(r1:5 log3 n). It can be shown by elementary means that the required r exists in O(log5 n). So the running time is O(log10:5 n). Moreover, by Fouvry's Theorem [8], such r exists in O(log3 n), so the running time becomes O(log7:5 n). In [10], Lenstra and Pomerance showed that the AKS primality test can be improved by replacing the polynomial xr ¡ 1 in equation (1.1) with a specially constructed polynomial f(x), so that the degree of f(x) is O(log2 n). The overall running time of their algorithm is O(log6 n). With an extra input integer a, Berrizbeitia [6] has provided a deterministic primality test with time complexity 2¡ min(k;b2 log log nc)O(log6 n), where 2kjjn¡1 if n ´ 1 (mod 4) and 2kjjn + 1 if n ´ 3 (mod 4). If k ¸ b2 log log nc, this algorithm runs in O(log4 n). The algorithm is also a modi¯cation of AKS by verifying the congruent equation s (1 + mx)n ´ 1 + mxn (mod n; x2 ¡ a) for a ¯xed s and some clever choices of m¡ .¢ The main drawback of this algorithm¡ ¢ is that it requires the Jacobi symbol a = ¡1 if n ´ 1 (mod 4) and a = ¡ ¢ n n 1¡a n = ¡1 if n ´ 3 (mod 4). -
Grade 6 Math Circles Fall 2019 - Oct 22/23 Exponentiation
Faculty of Mathematics Centre for Education in Waterloo, Ontario Mathematics and Computing Grade 6 Math Circles Fall 2019 - Oct 22/23 Exponentiation Multiplication is often thought as repeated addition. Exercise: Evaluate the following using multiplication. 1 + 1 + 1 + 1 + 1 = 7 + 7 + 7 + 7 + 7 + 7 = 9 + 9 + 9 + 9 = Exponentiation is repeated multiplication. Exponentiation is useful in areas like: Computers, Population Increase, Business, Sales, Medicine, Earthquakes An exponent and base looks like the following: 43 The small number written above and to the right of the number is called the . The number underneath the exponent is called the . In the example, 43, the exponent is and the base is . 4 is raised to the third power. An exponent tells us to multiply the base by itself that number of times. In the example above,4 3 = 4 × 4 × 4. Once we write out the multiplication problem, we can easily evaluate the expression. Let's do this for the example we've been working with: 43 = 4 × 4 × 4 43 = 16 × 4 43 = 64 The main reason we use exponents is because it's a shorter way to write out big numbers. For example, we can express the following long expression: 2 × 2 × 2 × 2 × 2 × 2 as2 6 since 2 is being multiplied by itself 6 times. We say 2 is raised to the 6th power. 1 Exercise: Express each of the following using an exponent. 7 × 7 × 7 = 5 × 5 × 5 × 5 × 5 × 5 = 10 × 10 × 10 × 10 = 9 × 9 = 1 × 1 × 1 × 1 × 1 = 8 × 8 × 8 = Exercise: Evaluate. -
1. Modular Arithmetic
Modular arithmetic Divisibility Given p ositive numb ers a b if a we can write b aq r 1 for appropriate integers q r such that r a The numb er r is the remainder We say that a divides b or ajb if r and so b aq ie b factors as a times q Primes A numb er is prime if it cant b e factored as a pro duct of two numb ers greater or equal to If a numb er factors ie it is not prime then we say that it is comp osite Exercise Find all prime numb ers smaller than Here are several imp ortant questions How do we determine whether a numb er is prime How do we factor a numb er into primes How can we nd big prime numb ers How many prime numb ers are there Exercise Factor Exercise Show that every numb er is either prime or divisible by a prime numb er Theorem There are innitely many prime numbers Proof Supp ose that there are only nitely many prime numb ers P P 1 n then N P P P is not divisible by any prime hence it do es 1 2 n factor and hence it is a new prime not ˜ Divisibility tricks Recall that a numb er is even if its last digit is divisible by it is divisible by if the sum of its digits is divisible by it is divisible by if its last digit is divisible by etc Why is this Can we nd other divisibility tricks eg for One p ossible explanation Let abc b e a digit numb er so that abc a b c Then abc a b c and this is an integer only if c is an integer abc a b c and this is an integer only if c is an integer abc a b a b c and this is an integer only if a b c is an integer -
Chinese Remainder Theorem
THE CHINESE REMAINDER THEOREM KEITH CONRAD We should thank the Chinese for their wonderful remainder theorem. Glenn Stevens 1. Introduction The Chinese remainder theorem says we can uniquely solve every pair of congruences having relatively prime moduli. Theorem 1.1. Let m and n be relatively prime positive integers. For all integers a and b, the pair of congruences x ≡ a mod m; x ≡ b mod n has a solution, and this solution is uniquely determined modulo mn. What is important here is that m and n are relatively prime. There are no constraints at all on a and b. Example 1.2. The congruences x ≡ 6 mod 9 and x ≡ 4 mod 11 hold when x = 15, and more generally when x ≡ 15 mod 99, and they do not hold for other x. The modulus 99 is 9 · 11. We will prove the Chinese remainder theorem, including a version for more than two moduli, and see some ways it is applied to study congruences. 2. A proof of the Chinese remainder theorem Proof. First we show there is always a solution. Then we will show it is unique modulo mn. Existence of Solution. To show that the simultaneous congruences x ≡ a mod m; x ≡ b mod n have a common solution in Z, we give two proofs. First proof: Write the first congruence as an equation in Z, say x = a + my for some y 2 Z. Then the second congruence is the same as a + my ≡ b mod n: Subtracting a from both sides, we need to solve for y in (2.1) my ≡ b − a mod n: Since (m; n) = 1, we know m mod n is invertible.