MATH 470 Lecture 8

From Notes
Jump to navigation Jump to search

« previous | Thursday, February 7, 2013 | next »


Midterm Exam on Thursday, March 21, 2013

Recursive Squaring

What is ?

Note that 818 = 512 + 256 + 32 + 16 + 2, so we can compute:

We poerformed a total of 13 multiplications!


Legendre Symbol

Euler's Criterion

Euler's [1] Criterion: If and is an odd prime, then

Proof

First, if , then and thus . Indeed .

Assume , then it's enough to show

If then for some . So by Fermat's little theorem.

Conversely, using the theorem below, let for some and generator . Now

Since is a generator, any power of must have exponent divisible by . So implies that is divisible by 2. Therefore, is a square.

Q.E.D.


Theorem

For any prime , as a multiplicative generator (primitive root), that is, there is a with

In sage, you can say

sage: R = Integers(13)

to use

sage: R.multiplicative_generator()
2

So


Why do we care about modular square roots?

Suppose you had a magic machine that quickly computed square roots mod any integer. Then you can break RSA!


To break RSA, you need one of: luck, treachery, knowing either or and or 's factorization.

If you know how to compute square roots mod , factoring is easy

Example

Let .

Pick a random number, e.g. 4

Let's "magically" compute :

Consider and .

  • GCD(988027, 4) = 1
  • GCD(988027, 0) = 988027


Pick another random number, e.g. 42

There are 4 square roots to 42 mod 98027: 323739, 429421, 558606, and 664288.


  • GCD(323739-429421, 988027) = 997
  • GCD(323739+429421, 988027) = ...

Thus 997 divides 988027. In particular,


GCD's are relatively easy to compute. Therefore, if we can take square roots quickly, we can factor quickly

In General

Assuming you can find square roots mod quickly, you can factor as follows:

Input: integer N of form N = p*q, where p and q are large odd primes
Output: p and q
Description:
(1) Pick random k in {1, ..., N-1}
(2) Decide if sqrt(k) mod N exists.
    If not, go to step 1.
(3) Find 2 distinct square roots of k mod N.
    Call them X1 and X2.
(4) If GCD(X1-X2, N) > 1 or GCD(X1+X2, N) > 1, then that number is p or q.
    Divide by it to get q or p
(5) Go to step 1

Theorem: If you can compute square roots mod for the kinds of just stated in time , then you can factor in expected time via our last algorithm.

This theorem is modern, but the ideas go back to Gauss (1777–1855)

Proof will come later.


A consequence of Euler's Criterion:

Corollary

If is an odd prime with and , then the square roots of are exactly

Proof. If , then (by Euler),

Now , so

So

Now

So


Footnotes

  1. Euler (1707–1783)