Mathematics of Cryptography
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Lecture 9: Arithmetics II 1 Greatest Common Divisor
DD2458, Problem Solving and Programming Under Pressure Lecture 9: Arithmetics II Date: 2008-11-10 Scribe(s): Marcus Forsell Stahre and David Schlyter Lecturer: Douglas Wikström This lecture is a continuation of the previous one, and covers modular arithmetic and topics from a branch of number theory known as elementary number theory. Also, some abstract algebra will be discussed. 1 Greatest Common Divisor Definition 1.1 If an integer d divides another integer n with no remainder, d is said to be a divisor of n. That is, there exists an integer a such that a · d = n. The notation for this is d | n. Definition 1.2 A common divisor of two non-zero integers m and n is a positive integer d, such that d | m and d | n. Definition 1.3 The Greatest Common Divisor (GCD) of two positive integers m and n is a common divisor d such that every other common divisor d0 | d. The notation for this is GCD(m, n) = d. That is, the GCD of two numbers is the greatest number that is a divisor of both of them. To get an intuition of what GCD is, let’s have a look at this example. Example Calculate GCD(9, 6). Say we have 9 black and 6 white blocks. We want to put the blocks in boxes, but every box has to be the same size, and can only hold blocks of the same color. Also, all the boxes must be full and as large as possible . Let’s for example say we choose a box of size 2: As we can see, the last box of black bricks is not full. -
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. -
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. -
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. -
Enclave Security and Address-Based Side Channels
Graz University of Technology Faculty of Computer Science Institute of Applied Information Processing and Communications IAIK Enclave Security and Address-based Side Channels Assessors: A PhD Thesis Presented to the Prof. Stefan Mangard Faculty of Computer Science in Prof. Thomas Eisenbarth Fulfillment of the Requirements for the PhD Degree by June 2020 Samuel Weiser Samuel Weiser Enclave Security and Address-based Side Channels DOCTORAL THESIS to achieve the university degree of Doctor of Technical Sciences; Dr. techn. submitted to Graz University of Technology Assessors Prof. Stefan Mangard Institute of Applied Information Processing and Communications Graz University of Technology Prof. Thomas Eisenbarth Institute for IT Security Universit¨atzu L¨ubeck Graz, June 2020 SSS AFFIDAVIT I declare that I have authored this thesis independently, that I have not used other than the declared sources/resources, and that I have explicitly indicated all material which has been quoted either literally or by content from the sources used. The text document uploaded to TUGRAZonline is identical to the present doctoral thesis. Date, Signature SSS Prologue Everyone has the right to life, liberty and security of person. Universal Declaration of Human Rights, Article 3 Our life turned digital, and so did we. Not long ago, the globalized commu- nication that we enjoy today on an everyday basis was the privilege of a few. Nowadays, artificial intelligence in the cloud, smartified handhelds, low-power Internet-of-Things gadgets, and self-maneuvering objects in the physical world are promising us unthinkable freedom in shaping our personal lives as well as society as a whole. Sadly, our collective excitement about the \new", the \better", the \more", the \instant", has overruled our sense of security and privacy. -
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. -
Independence of the Miller-Rabin and Lucas Probable Prime Tests
Independence of the Miller-Rabin and Lucas Probable Prime Tests Alec Leng Mentor: David Corwin March 30, 2017 1 Abstract In the modern age, public-key cryptography has become a vital component for se- cure online communication. To implement these cryptosystems, rapid primality test- ing is necessary in order to generate keys. In particular, probabilistic tests are used for their speed, despite the potential for pseudoprimes. So, we examine the commonly used Miller-Rabin and Lucas tests, showing that numbers with many nonwitnesses are usually Carmichael or Lucas-Carmichael numbers in a specific form. We then use these categorizations, through a generalization of Korselt’s criterion, to prove that there are no numbers with many nonwitnesses for both tests, affirming the two tests’ relative independence. As Carmichael and Lucas-Carmichael numbers are in general more difficult for the two tests to deal with, we next search for numbers which are both Carmichael and Lucas-Carmichael numbers, experimentally finding none less than 1016. We thus conjecture that there are no such composites and, using multi- variate calculus with symmetric polynomials, begin developing techniques to prove this. 2 1 Introduction In the current information age, cryptographic systems to protect data have become a funda- mental necessity. With the quantity of data distributed over the internet, the importance of encryption for protecting individual privacy has greatly risen. Indeed, according to [EMC16], cryptography is allows for authentication and protection in online commerce, even when working with vital financial information (e.g. in online banking and shopping). Now that more and more transactions are done through the internet, rather than in person, the importance of secure encryption schemes is only growing. -
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). -
Chap03: Arithmetic for Computers
CHAPTER 3 Arithmetic for Computers 3.1 Introduction 178 3.2 Addition and Subtraction 178 3.3 Multiplication 183 3.4 Division 189 3.5 Floating Point 196 3.6 Parallelism and Computer Arithmetic: Subword Parallelism 222 3.7 Real Stuff: x86 Streaming SIMD Extensions and Advanced Vector Extensions 224 3.8 Going Faster: Subword Parallelism and Matrix Multiply 225 3.9 Fallacies and Pitfalls 229 3.10 Concluding Remarks 232 3.11 Historical Perspective and Further Reading 236 3.12 Exercises 237 CMPS290 Class Notes (Chap03) Page 1 / 20 by Kuo-pao Yang 3.1 Introduction 178 Operations on integers o Addition and subtraction o Multiplication and division o Dealing with overflow Floating-point real numbers o Representation and operations x 3.2 Addition and Subtraction 178 Example: 7 + 6 Binary Addition o Figure 3.1 shows the sums and carries. The carries are shown in parentheses, with the arrows showing how they are passed. FIGURE 3.1 Binary addition, showing carries from right to left. The rightmost bit adds 1 to 0, resulting in the sum of this bit being 1 and the carry out from this bit being 0. Hence, the operation for the second digit to the right is 0 1 1 1 1. This generates a 0 for this sum bit and a carry out of 1. The third digit is the sum of 1 1 1 1 1, resulting in a carry out of 1 and a sum bit of 1. The fourth bit is 1 1 0 1 0, yielding a 1 sum and no carry. -
Improving the Speed and Accuracy of the Miller-Rabin Primality Test
Improving the Speed and Accuracy of the Miller-Rabin Primality Test Shyam Narayanan Mentor: David Corwin MIT PRIMES-USA Abstract Currently, even the fastest deterministic primality tests run slowly, with the Agrawal- Kayal-Saxena (AKS) Primality Test runtime O~(log6(n)), and probabilistic primality tests such as the Fermat and Miller-Rabin Primality Tests are still prone to false re- sults. In this paper, we discuss the accuracy of the Miller-Rabin Primality Test and the number of nonwitnesses for a composite odd integer n. We also extend the Miller- '(n) Rabin Theorem by determining when the number of nonwitnesses N(n) equals 4 5 and by proving that for all n, if N(n) > · '(n) then n must be of one of these 3 32 forms: n = (2x + 1)(4x + 1), where x is an integer, n = (2x + 1)(6x + 1), where x is an integer, n is a Carmichael number of the form pqr, where p, q, r are distinct primes congruent to 3 (mod 4). We then find witnesses to certain forms of composite numbers with high rates of nonwitnesses and find that Jacobi nonresidues and 2 are both valuable bases for the Miller-Rabin test. Finally, we investigate the frequency of strong pseudoprimes further and analyze common patterns using MATLAB. This work is expected to result in a faster and better primality test for large integers. 1 1 Introduction Data is growing at an astoundingly rapid rate, and better information security is re- quired to protect increasing quantities of data. Improved data protection requires more sophisticated cryptographic methods.