MATH 470 Lecture 12

From Notes
Jump to navigation Jump to search

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


Homework Questions

11(mod10949)

(1110949)=(1094911)=(411)=1

Tonelli:

Use g=2 as non-square.

p1=222737, so (s,t)=(2,2737)

Only one iteration of loop with e=0

1120)p14=1, so e=2

h=1122=2740(mod10949)

11=±ge2ht+12=227401369(mod10949)=±234

Riemann Hypothesis

|π(x)Li(x)|=O(xlnx)
|π(x)Li(x)|<xlnx4τx2657


Generalized Riemann Hypothesis

For primes in arithmetic progression

|π(x;n,a)Li(x)ϕ(n)|<x(lnx+2lnn)x2


Rabin's Variant of RSA

Provably as hard to break as factoring certain integers (RSA might be easier to break than factoring, but just don't know this for sure).

Rabin's variant makes for good midterm and homework questions!!
  1. Pick distinct primes p and q with roughly the same number of digits
  2. Compute n and publish it, but keep p and q secret
  3. Bob encrypts a message m(/n) via c=m2(modn) —simple!
  4. Alice solves {x2c(modp)x2c(modq) using cp+14, Tonelli's, and the Chinese Remainder Theorem.
  5. Message will be one of square roots.

Proof

As hard to break as factoring because:

Proposition: If you can break Rabin's variant in randomized time poly in lnn, then you can factor n in randomized time poly in lnn too!

Suppose you can break Rabin's variant for n=301377. Find the square roots of 1 mod 301337: {1, -1, 113070, -113070}

Consider GCD(1130701,n)=541, so 541n, and so does 557 (!)

Works because if you have x1,x2,y1,y2 with x1x2y1y2(modn), the n x12y12(x1y1)(x1+y1)0(modn)

If x1y1, then x1y1{n+1,,n1} and GCD(x1y1,n)>1 implies x1y1 is p or q!

So as long as x1,y1,x2,y2≢0(modp) (or mod q), you're good!


Shor's Algorithm

In 1994, Peter Shor (AT&T → MIT → Microsoft) found a quantum Randomized Polynomial Time Algorithm for factoring and (and discrete logarithms)!!

As far as we know, no one has a quantum computer large enough to implement this algorithm efficiently.

Involves continued fractions and the Quantum Fourier Transform

Decision Classes

A complexity class is a family of sets of bit strings

More practically, it can be thought of as a family of computational problems.

Our model of computation is the Turing Machine

P: Polynomial

The family of decision problems doable in time polynomial in the input size.

Legendre Symbol

Given the n-bit binary expansions for a and a prime p, decide whether a(modp) exists. That is, evaluate ap12(modp). This is in P

Stable Marriage Problem

n men and n women with list of preferences. A "stable marriage" is where the man and women are at the same position in their preference list.

It turns out that stable marriages always exists, so its actually in constant time. Finding one takes a bit longer.

ZPP: Zero-Error Probability Polynomial

The family of decision problems where an answer, correct with probability 1/2, can be found in time polynomial in input size

Algorithms (return IDK or an answer with 50% probability) of this class are called "Las Vegas" algorithms: You are never cheated.

RP: Randomized Polynomial

The family of decision problems admitting an algorithm where a "yes" answer is always correct, but a "no" is wrong with probability ≤ 1/2

Compositeness

Given n, decide if it's composite. In particular, compare (an) with an12(modn) for random a: if equal, then probably prime; if not equal, then composite.

Thanks to the Solovay-Strassen Theorem, Compositeness is in RP.