Improved Trial Division Technique for Primality Checking in RSA Algorithm
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Fast Tabulation of Challenge Pseudoprimes Andrew Shallue and Jonathan Webster
THE OPEN BOOK SERIES 2 ANTS XIII Proceedings of the Thirteenth Algorithmic Number Theory Symposium Fast tabulation of challenge pseudoprimes Andrew Shallue and Jonathan Webster msp THE OPEN BOOK SERIES 2 (2019) Thirteenth Algorithmic Number Theory Symposium msp dx.doi.org/10.2140/obs.2019.2.411 Fast tabulation of challenge pseudoprimes Andrew Shallue and Jonathan Webster We provide a new algorithm for tabulating composite numbers which are pseudoprimes to both a Fermat test and a Lucas test. Our algorithm is optimized for parameter choices that minimize the occurrence of pseudoprimes, and for pseudoprimes with a fixed number of prime factors. Using this, we have confirmed that there are no PSW-challenge pseudoprimes with two or three prime factors up to 280. In the case where one is tabulating challenge pseudoprimes with a fixed number of prime factors, we prove our algorithm gives an unconditional asymptotic improvement over previous methods. 1. Introduction Pomerance, Selfridge, and Wagstaff famously offered $620 for a composite n that satisfies (1) 2n 1 1 .mod n/ so n is a base-2 Fermat pseudoprime, Á (2) .5 n/ 1 so n is not a square modulo 5, and j D (3) Fn 1 0 .mod n/ so n is a Fibonacci pseudoprime, C Á or to prove that no such n exists. We call composites that satisfy these conditions PSW-challenge pseudo- primes. In[PSW80] they credit R. Baillie with the discovery that combining a Fermat test with a Lucas test (with a certain specific parameter choice) makes for an especially effective primality test[BW80]. -
Fast Generation of RSA Keys Using Smooth Integers
1 Fast Generation of RSA Keys using Smooth Integers Vassil Dimitrov, Luigi Vigneri and Vidal Attias Abstract—Primality generation is the cornerstone of several essential cryptographic systems. The problem has been a subject of deep investigations, but there is still a substantial room for improvements. Typically, the algorithms used have two parts – trial divisions aimed at eliminating numbers with small prime factors and primality tests based on an easy-to-compute statement that is valid for primes and invalid for composites. In this paper, we will showcase a technique that will eliminate the first phase of the primality testing algorithms. The computational simulations show a reduction of the primality generation time by about 30% in the case of 1024-bit RSA key pairs. This can be particularly beneficial in the case of decentralized environments for shared RSA keys as the initial trial division part of the key generation algorithms can be avoided at no cost. This also significantly reduces the communication complexity. Another essential contribution of the paper is the introduction of a new one-way function that is computationally simpler than the existing ones used in public-key cryptography. This function can be used to create new random number generators, and it also could be potentially used for designing entirely new public-key encryption systems. Index Terms—Multiple-base Representations, Public-Key Cryptography, Primality Testing, Computational Number Theory, RSA ✦ 1 INTRODUCTION 1.1 Fast generation of prime numbers DDITIVE number theory is a fascinating area of The generation of prime numbers is a cornerstone of A mathematics. In it one can find problems with cryptographic systems such as the RSA cryptosystem. -
The Division Algorithm We All Learned Division with Remainder At
The Division Algorithm We all learned division with remainder at elementary school. Like 14 divided by 3 has reainder 2:14 3 4 2. In general we have the following Division Algorithm. Let n be any integer and d 0 be a positive integer. Then you can divide n by d with remainder. That is n q d r,0 ≤ r d where q and r are uniquely determined. Given n we determine how often d goes evenly into n. Say, if n 16 and d 3 then 3 goes 5 times into 16 but there is a remainder 1 : 16 5 3 1. This works for non-negative numbers. If n −16 then in order to get a positive remainder, we have to go beyond −16 : −16 −63 2. Let a and b be integers. Then we say that b divides a if there is an integer c such that a b c. We write b|a for b divides a Examples: n|0 for every n :0 n 0; in particular 0|0. 1|n for every n : n 1 n Theorem. Let a,b,c be any integers. (a) If a|b, and a|cthena|b c (b) If a|b then a|b c for any c. (c) If a|b and b|c then a|c. (d) If a|b and a|c then a|m b n c for any integers m and n. Proof. For (a) we note that b a s and c a t therefore b c a s a t a s t.Thus a b c. -
The Quadratic Sieve Factoring Algorithm
The Quadratic Sieve Factoring Algorithm Eric Landquist MATH 488: Cryptographic Algorithms December 14, 2001 1 1 Introduction Mathematicians have been attempting to find better and faster ways to fac- tor composite numbers since the beginning of time. Initially this involved dividing a number by larger and larger primes until you had the factoriza- tion. This trial division was not improved upon until Fermat applied the factorization of the difference of two squares: a2 b2 = (a b)(a + b). In his method, we begin with the number to be factored:− n. We− find the smallest square larger than n, and test to see if the difference is square. If so, then we can apply the trick of factoring the difference of two squares to find the factors of n. If the difference is not a perfect square, then we find the next largest square, and repeat the process. While Fermat's method is much faster than trial division, when it comes to the real world of factoring, for example factoring an RSA modulus several hundred digits long, the purely iterative method of Fermat is too slow. Sev- eral other methods have been presented, such as the Elliptic Curve Method discovered by H. Lenstra in 1987 and a pair of probabilistic methods by Pollard in the mid 70's, the p 1 method and the ρ method. The fastest algorithms, however, utilize the− same trick as Fermat, examples of which are the Continued Fraction Method, the Quadratic Sieve (and it variants), and the Number Field Sieve (and its variants). The exception to this is the El- liptic Curve Method, which runs almost as fast as the Quadratic Sieve. -
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. -
Cryptology and Computational Number Theory (Boulder, Colorado, August 1989) 41 R
http://dx.doi.org/10.1090/psapm/042 Other Titles in This Series 50 Robert Calderbank, editor, Different aspects of coding theory (San Francisco, California, January 1995) 49 Robert L. Devaney, editor, Complex dynamical systems: The mathematics behind the Mandlebrot and Julia sets (Cincinnati, Ohio, January 1994) 48 Walter Gautschi, editor, Mathematics of Computation 1943-1993: A half century of computational mathematics (Vancouver, British Columbia, August 1993) 47 Ingrid Daubechies, editor, Different perspectives on wavelets (San Antonio, Texas, January 1993) 46 Stefan A. Burr, editor, The unreasonable effectiveness of number theory (Orono, Maine, August 1991) 45 De Witt L. Sumners, editor, New scientific applications of geometry and topology (Baltimore, Maryland, January 1992) 44 Bela Bollobas, editor, Probabilistic combinatorics and its applications (San Francisco, California, January 1991) 43 Richard K. Guy, editor, Combinatorial games (Columbus, Ohio, August 1990) 42 C. Pomerance, editor, Cryptology and computational number theory (Boulder, Colorado, August 1989) 41 R. W. Brockett, editor, Robotics (Louisville, Kentucky, January 1990) 40 Charles R. Johnson, editor, Matrix theory and applications (Phoenix, Arizona, January 1989) 39 Robert L. Devaney and Linda Keen, editors, Chaos and fractals: The mathematics behind the computer graphics (Providence, Rhode Island, August 1988) 38 Juris Hartmanis, editor, Computational complexity theory (Atlanta, Georgia, January 1988) 37 Henry J. Landau, editor, Moments in mathematics (San Antonio, Texas, January 1987) 36 Carl de Boor, editor, Approximation theory (New Orleans, Louisiana, January 1986) 35 Harry H. Panjer, editor, Actuarial mathematics (Laramie, Wyoming, August 1985) 34 Michael Anshel and William Gewirtz, editors, Mathematics of information processing (Louisville, Kentucky, January 1984) 33 H. Peyton Young, editor, Fair allocation (Anaheim, California, January 1985) 32 R. -
Lesson 8: the Long Division Algorithm
NYS COMMON CORE MATHEMATICS CURRICULUM Lesson 8 8•7 Lesson 8: The Long Division Algorithm Student Outcomes . Students explore a variation of the long division algorithm. Students discover that every rational number has a repeating decimal expansion. Lesson Notes In this lesson, students move toward being able to define an irrational number by first noting the decimal structure of rational numbers. Classwork Example 1 (5 minutes) Scaffolding: There is no single long division Example 1 algorithm. The algorithm commonly taught and used in ퟐퟔ Show that the decimal expansion of is ퟔ. ퟓ. the U.S. is rarely used ퟒ elsewhere. Students may come with earlier experiences Use the example with students so they have a model to complete Exercises 1–5. with other division algorithms that make more sense to them. 26 . Show that the decimal expansion of is 6.5. Consider using formative 4 assessment to determine how Students might use the long division algorithm, or they might simply different students approach 26 13 observe = = 6.5. long division. 4 2 . Here is another way to see this: What is the greatest number of groups of 4 that are in 26? MP.3 There are 6 groups of 4 in 26. Is there a remainder? Yes, there are 2 left over. This means we can write 26 as 26 = 6 × 4 + 2. Lesson 8: The Long Division Algorithm 104 This work is derived from Eureka Math ™ and licensed by Great Minds. ©2015 Great Minds. eureka-math.org This work is licensed under a This file derived from G8-M7-TE-1.3.0-10.2015 Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. -
Tables of Fibonacci and Lucas Factorizations
MATHEMATICS OF COMPUTATION VOLUME 50, NUMBER 181 JANUARY 1988, PAGES 251-260 Tables of Fibonacci and Lucas Factorizations By John Brillhart, Peter L. Montgomery, and Robert D. Silverman Dedicated to Dov Jarden Abstract. We list the known prime factors of the Fibonacci numbers Fn for n < 999 and Lucas numbers Ln for n < 500. We discuss the various methods used to obtain these factorizations, and primality tests, and give some history of the subject. 1. Introduction. In the Supplements section at the end of this issue we give in two tables the known prime factors of the Fibonacci numbers Fn, 3 < n < 999, n odd, and the Lucas numbers Ln, 2 < n < 500. The sequences Fn and Ln are defined recursively by the formulas . ^n+2 = Fn+X + Fn, Fo = 0, Fi = 1, Ln+2 = Ln+i + Ln, in = 2, L\ = 1. The use of a different subscripting destroys the divisibility properties of these numbers. We also have the formulas an - 3a (1-2) Fn = --£-, Ln = an + ßn, a —ß where a = (1 + \/B)/2 and ß — (1 - v^5)/2. This paper is concerned with the multiplicative structure of Fn and Ln. It includes both theoretical and numerical results. 2. Multiplicative Structure of Fn and Ln. The identity (2.1) F2n = FnLn follows directly from (1.2). Although the Fibonacci and Lucas numbers are defined additively, this is one of many multiplicative identities relating these sequences. The identities in this paper are derived from the familiar polynomial factorization (2.2) xn-yn = ]\*d(x,y), n>\, d\n where $d(x,y) is the dth cyclotomic polynomial in homogeneous form. -
Primality Testing and Sub-Exponential Factorization
Primality Testing and Sub-Exponential Factorization David Emerson Advisor: Howard Straubing Boston College Computer Science Senior Thesis May, 2009 Abstract This paper discusses the problems of primality testing and large number factorization. The first section is dedicated to a discussion of primality test- ing algorithms and their importance in real world applications. Over the course of the discussion the structure of the primality algorithms are devel- oped rigorously and demonstrated with examples. This section culminates in the presentation and proof of the modern deterministic polynomial-time Agrawal-Kayal-Saxena algorithm for deciding whether a given n is prime. The second section is dedicated to the process of factorization of large com- posite numbers. While primality and factorization are mathematically tied in principle they are very di⇥erent computationally. This fact is explored and current high powered factorization methods and the mathematical structures on which they are built are examined. 1 Introduction Factorization and primality testing are important concepts in mathematics. From a purely academic motivation it is an intriguing question to ask how we are to determine whether a number is prime or not. The next logical question to ask is, if the number is composite, can we calculate its factors. The two questions are invariably related. If we can factor a number into its pieces then it is obviously not prime, if we can’t then we know that it is prime. The definition of primality is very much derived from factorability. As we progress through the known and developed primality tests and factorization algorithms it will begin to become clear that while primality and factorization are intertwined they occupy two very di⇥erent levels of computational di⇧culty. -
Long Division
Long Division Short description: Learn how to use long division to divide large numbers in this Math Shorts video. Long description: In this video, learn how to use long division to divide large numbers. In the accompanying classroom activity, students learn how to use the standard long division algorithm. They explore alternative ways of thinking about long division by using place value to decompose three-digit numbers into hundreds, tens, and ones, creating three smaller (and less complex) division problems. Students then use these different solution methods in a short partner game. Activity Text Learning Outcomes Students will be able to ● use multiple methods to solve a long division problem Common Core State Standards: 6.NS.B.2 Vocabulary: Division, algorithm, quotients, decompose, place value, dividend, divisor Materials: Number cubes Procedure 1. Introduction (10 minutes, whole group) Begin class by posing the division problem 245 ÷ 5. But instead of showing students the standard long division algorithm, rewrite 245 as 200 + 40 + 5 and have students try to solve each of the simpler problems 200 ÷ 5, 40 ÷ 5, and 5 ÷ 5. Record the different quotients as students solve the problems. Show them that the quotients 40, 8, and 1 add up to 49—and that 49 is also the quotient of 245 ÷ 5. Learning to decompose numbers by using place value concepts is an important piece of thinking flexibly about the four basic operations. Repeat this type of logic with the problem that students will see in the video: 283 ÷ 3. Use the concept of place value to rewrite 283 as 200 + 80 + 3 and have students try to solve the simpler problems 200 ÷ 3, 80 ÷ 3, and 3 ÷ 3. -
"In-Situ": a Case Study of the Long Division Algorithm
Australian Journal of Teacher Education Volume 43 | Issue 3 Article 1 2018 Teacher Knowledge and Learning In-situ: A Case Study of the Long Division Algorithm Shikha Takker Homi Bhabha Centre for Science Education, TIFR, India, [email protected] K. Subramaniam Homi Bhabha Centre for Science Education, TIFR, India, [email protected] Recommended Citation Takker, S., & Subramaniam, K. (2018). Teacher Knowledge and Learning In-situ: A Case Study of the Long Division Algorithm. Australian Journal of Teacher Education, 43(3). Retrieved from http://ro.ecu.edu.au/ajte/vol43/iss3/1 This Journal Article is posted at Research Online. http://ro.ecu.edu.au/ajte/vol43/iss3/1 Australian Journal of Teacher Education Teacher Knowledge and Learning In-situ: A Case Study of the Long Division Algorithm Shikha Takker K. Subramaniam Homi Bhabha Centre for Science Education, TIFR, Mumbai, India Abstract: The aim of the study reported in this paper was to explore and enhance experienced school mathematics teachers’ knowledge of students’ thinking, as it is manifested in practice. Data were collected from records of classroom observations, interviews with participating teachers, and weekly teacher-researcher meetings organized in the school. In this paper, we discuss the mathematical challenges faced by a primary school teacher as she attempts to unpack the structure of the division algorithm, while teaching in a Grade 4 classroom. Through this case study, we exemplify how a focus on mathematical knowledge for teaching ‘in situ’ helped in triggering a change in the teacher’s well-formed knowledge and beliefs about the teaching and learning of the division algorithm, and related students’ capabilities. -
16. the Division Algorithm Note That If F(X) = G(X)H(X) Then Α Is a Zero of F(X) If and Only If Α Is a Zero of One of G(X) Or H(X)
16. The division algorithm Note that if f(x) = g(x)h(x) then α is a zero of f(x) if and only if α is a zero of one of g(x) or h(x). It is very useful therefore to write f(x) as a product of polynomials. What we need to understand is how to divide polynomials: Theorem 16.1 (Division Algorithm). Let n n−1 X i f(x) = anx + an−1x + ··· + a1x + a0 = aix m m−1 X i g(x) = bmx + bm−1x + ··· + b1x + b0 = bix be two polynomials over a field F of degrees n and m > 0. Then there are unique polynomials q(x) and r(x) 2 F [x] such that f(x) = q(x)g(x) + r(x) and either r(x) = 0 or the degree of r(x) is less than the degree m of g(x). Proof. We proceed by induction on the degree n of f(x). If the degree n of f(x) is less than the degree m of g(x), there is nothing to prove, take q(x) = 0 and r(x) = f(x). Suppose the result holds for all degrees less than the degree n of f(x). n−m Put q0(x) = cx , where c = an=bm. Let f1(x) = f(x) − q1(x)g(x). Then f1(x) has degree less than g. By induction then, f1(x) = q1(x)g(x) + r(x); where r(x) has degree less than g(x). It follows that f(x) = f1(x) + q0(x)f(x) = (q0(x) + q1(x))f(x) + r(x) = q(x)f(x) + r(x); where q(x) = q0(x) + q1(x).