MA/CSSE 473 Day 08 Randomized Primality Testing Carmichael Numbers Miller-Rabin test.

Slides:



Advertisements
Similar presentations
WS Algorithmentheorie 03 – Randomized Algorithms (Primality Testing) Prof. Dr. Th. Ottmann.
Advertisements

Cryptography and Network Security
Chapter 8 – Introduction to Number Theory. Prime Numbers prime numbers only have divisors of 1 and self –they cannot be written as a product of other.
Computability and Complexity
Chapter 8 Introduction To Number Theory. Prime Numbers Prime numbers only have divisors of 1 and Prime numbers only have divisors of 1 and self. self.
Primality Testing Patrick Lee 12 July 2003 (updated on 13 July 2003)
Fermat’s Little Theorem (2/24) Theorem (flt). If p is prime and GCD(a, p) = 1, then a p – 1  1 (mod p). Again, this says that in a mod p congruence, we.
Lecture 8: Primality Testing and Factoring Piotr Faliszewski
Introduction to Modern Cryptography Lecture 6 1. Testing Primitive elements in Z p 2. Primality Testing. 3. Integer Multiplication & Factoring as a One.
COM 5336 Cryptography Lecture 7a Primality Testing
מבוא מורחב 1 Lecture 4 Material in the textbook on Pages 44-46, of 2nd Edition Sections and Hanoy towers.
Great Theoretical Ideas in Computer Science.
and Factoring Integers (I)
Announcements: 1. Pass in Homework 5 now. 2. Term project groups and topics due by Friday 1.Can use discussion forum to find teammates 3. HW6 posted, due.
1 Fingerprint 2 Verifying set equality Verifying set equality v String Matching – Rabin-Karp Algorithm.
Probabilistic Complexity. Probabilistic Algorithms Def: A probabilistic Turing Machine M is a type of non- deterministic TM, where each non-deterministic.
מבוא מורחב - שיעור 6 1 Lecture 6 High order procedures Primality testing The RSA cryptosystem.
Announcements: 1. Congrats on reaching the halfway point once again! 2. Reminder: HW5 due tomorrow, HW6 due Tuesday after break 3. Term project groups.
and Factoring Integers
Prof. Bart Selman Module Probability --- Part e)
Announcements: 1. Pass in worksheet on using RSA now. 2. DES graded soon 3. Short “pop” quiz on Ch 3 (Thursday at earliest) 4. Term project groups and.
Chapter 8 – Introduction to Number Theory Prime Numbers  prime numbers only have divisors of 1 and self they cannot be written as a product of other numbers.
Theory I Algorithm Design and Analysis (9 – Randomized algorithms) Prof. Dr. Th. Ottmann.
Chapter 8 – Introduction to Number Theory Prime Numbers
Cryptography and Network Security Chapter 8. Chapter 8 – Introduction to Number Theory The Devil said to Daniel Webster: "Set me a task I can't carry.
Chapter 8 – Introduction to Number Theory Prime Numbers  prime numbers only have divisors of 1 and self they cannot be written as a product of other numbers.
The RSA Algorithm Based on the idea that factorization of integers into their prime factors is hard. ★ n=p . q, where p and q are distinct primes Proposed.
CSE 321 Discrete Structures Winter 2008 Lecture 10 Number Theory: Primality.

CS 312: Algorithm Analysis Lecture #4: Primality Testing, GCD This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
RSA Parameter Generation Bob needs to: - find 2 large primes p,q - find e s.t. gcd(e, Á (pq))=1 Good news: - primes are fairly common: there are about.
Prabhas Chongstitvatana 1 Primality Testing Is a given odd integer prime or composite ? No known algorithm can solve this problem with certainty in a reasonable.
CPSC 490 Number Theory Primes, Factoring and Euler Phi-function Mar.31 st, 2006 Sam Chan.
The Complexity of Primality Testing. What is Primality Testing? Testing whether an integer is prime or not. – An integer p is prime if the only integers.
MA/CSSE 473 Day 11 Primality testing summary Data Encryption RSA.
PRIMES is in P Manindra Agrawal NUS Singapore / IIT Kanpur.
CS 312: Algorithm Analysis Lecture #4: Primality Testing, GCD This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett.
ENCRYPTION TAKE 2: PRACTICAL DETAILS David Kauchak CS52 – Spring 2015.
9/22/15UB Fall 2015 CSE565: S. Upadhyaya Lec 7.1 CSE565: Computer Security Lecture 7 Number Theory Concepts Shambhu Upadhyaya Computer Science & Eng. University.
6.3 Primality Testing. p2. (1) Prime numbers 1. How to generate large prime numbers? (1) Generate as candidate a random odd number n of appropriate size.
Primality Testing. Introduction The primality test provides the probability of whether or not a large number is prime. Several theorems including Fermat’s.
מבוא מורחב 1 Lecture 4 Material in the textbook on Pages 44-46, of 2nd Edition Sections and Hanoy towers.
CS 312: Algorithm Analysis Lecture #4: Primality Testing, GCD This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
Chapter 1 Algorithms with Numbers. Bases and Logs How many digits does it take to represent the number N >= 0 in base 2? With k digits the largest number.
MA/CSSE 473 Day 10 Primality Testing. MA/CSSE 473 Day 10 In-class exam: Friday, Sept 28 –You may bring a two-sided 8.5x11 inch piece of paper containing.
MA/CSSE 473 Day 09 Modular Division Revisited Fermat's Little Theorem Primality Testing.
Karl Heimbuck Dr. Siguna Mueller Department of Mathematics EPSCoR/Honors Program Using Lucas Sequences in Primality Testing.
MA/CSSE 473 Day 9 Primality Testing Encryption Intro.
A Prime Example CS Lecture 20 A positive integer p  2 is prime if the only positive integers that divide p are 1 and p itself. Positive integers.
MA/CSSE 473 Day 9 Primality Testing Encryption Intro.
MA/CSSE 473 Day 07 Extended Euclid's Algorithm Modular Division
MA/CSSE 473 Day 08 Randomized Primality Testing Carmichael Numbers
Lecture #5 מבוא מורחב.
Public Key Encryption Major topics The RSA scheme was devised in 1978
Probabilistic Algorithms
Handbook of Applied Cryptography - CH4, from 4.1~4.3
Numerical Algorithms x x-1 Numerical Algorithms
DTTF/NB479: Dszquphsbqiz Day 22
Randomness and Computation: Some Prime Examples
Textbook: Introduction to Cryptography 2nd ed. By J.A. Buchmann
Cryptography and Network Security
MA/CSSE 473 Day 08 Randomized Primality Testing Carmichael Numbers
Introduction to Number Theory
Material in the textbook on pages
Public Key Cryptosystems - RSA
Number Theory (Chapter 7)
Lecture #5 מבוא מורחב.
Material in the textbook on
Patrick Lee 12 July 2003 (updated on 13 July 2003)
Presentation transcript:

MA/CSSE 473 Day 08 Randomized Primality Testing Carmichael Numbers Miller-Rabin test

MA/CSSE 473 Day 09 Student questions Primality Testing Implications of Fermat’s Little Theorem –What we can show and what we can’t Frequency of “non-Fermat” numbers Carmichael numbers Randomized Primality Testing. Why a certain math prof who sometimes teaches this course does not like the Levitin textbook…

Recap: Fermat's Little Theorem Formulation 1: If p is prime, then for every number a with 1 ≤ a <p, a p-1  1 (mod p) Formulation 2: If p is prime, then for every number a with 1 ≤ a <p, a p  a (mod p) Q4-5

Easy Primality Test? Is N prime? Pick some a with 1 < a < N Is a N-1  1 (mod N)? If so, N is prime; if not, N is composite Nice try, but… –Fermat's Little Theorem is not an "if and only if" condition. –It doesn't say what happens when N is not prime. –N may not be prime, but we might just happen to pick an a for which a N-1  1 (mod N) –Example: 341 is not prime (it is 11∙31), but  1 (mod 341) Definition: We say that a number a passes the Fermat test if a N-1  1 (mod N) We can hope that if N is composite, then many values of a will fail the test It turns out that this hope is well-founded If any integer that is relatively prime to N fails the test, then at least half of the numbers a such that 1 ≤ a < N also fail it. "composite" means "not prime"

How many “Fermat liars"? If N is composite, and we randomly pick an a such that 1 ≤ a < N, and gcd(a, N) = 1, how likely is it that a N-1 is  1 (mod n)? If a N-1  1 (mod n) for some a that is relatively prime to N, then this must also be true for at least half of the choices of a < N. –Let b be some number (if any exist) that passes the Fermat test, i.e. b N-1  1 (mod N). –Then the number a∙b fails the test: (ab) N-1  a N-1 b N-1  a N-1, which is not congruent to 1 mod N. –Diagram on whiteboard. –For a fixed a, f: b  ab is a one-to-one function on the set of b's that pass the Fermat test, –so there are at least as many numbers that fail the Fermat test as pass it.

Carmichael Numbers A Carmichael number is a composite number N such that ∀ a ∈ {1,..N-1} (if gcd(a, N)=1 then a N-1 ≡ 1 (mod N) ) i.e. every possible a passes the Fermat test. –The smallest Carmichael number is 561 –We'll see later how to deal with those –How rare are they? Let C(X) = number of Carmichael numbers that are less than X. –For now, we pretend that we live in a Carmichael-free world

Where are we now? For a moment, we pretend that Carmichael numbers do not exist. If N is prime, a N-1  1 (mod N) for all 0 < a < N If N is not prime, then a N-1  1 (mod N) for at most half of the values of a<N. Pr(a N-1  1 (mod N) if N is prime) = 1 Pr(a N-1  1 (mod N) if N is composite) ≤ ½ How to reduce the likelihood of error?

The algorithm (modified) To test N for primality –Pick positive integers a 1, a 2, …, a k < N at random –For each a i, check for a i N-1  1 (mod N) Use the Miller-Rabin approach, (next slides) so that Carmichael numbers are unlikely to thwart us. If a i N-1 is not congruent to 1 (mod N), or Miller-Rabin test produces a non-trivial square root of 1 (mod N) –return false –return true Note that this algorithm may produce a “false prime”, but the probability is very low if k is large enough. Does this work?

Miller-Rabin test A Carmichael number N is a composite number that passes the Fermat test for all a with 1 ≤ a<N and gcd(a, N)=1. A way around the problem (Rabin and Miller): Note that for some t and u (u is odd), N-1 = 2 t u. As before, compute a N-1 (mod N), but do it this way: –Calculate a u (mod N), then repeatedly square, to get the sequence a u (mod N), a 2u (mod N), …, a 2 t u (mod N)  a N-1 (mod N) Suppose that at some point, a 2 i u  1 (mod N), but a 2 i-1 u is not congruent to 1 or to N-1 (mod N) –then we have found a nontrivial square root of 1 (mod N). –We will show that if 1 has a nontrivial square root (mod N), then N cannot be prime.

Example (first Carmichael number) N = 561. We might randomly select a = 101. –Then 560 = 2 4 ∙35, so u=35, t=4 –a u   560 (mod 561) which is -1 (mod 561) (we can stop here) –a 2u   1 (mod 561) –…–… –a 16u   1 (mod 561) –So 101 is not a witness that 561 is composite (we say that 101 is a Miller-Rabin liar for 561, if indeed 561 is composite) Try a = 83 –a u   230 (mod 561) –a 2u   166 (mod 561) –a 4u   67 (mod 561) –a 8u   1 (mod 561) –So 83 is a witness that 561 is composite, because 67 is a non- trivial square root of 1 (mod 561).