MATH 470 Lecture 7

From Notes
Jump to navigation Jump to search

« previous | Tuesday, February 5, 2013 | next »


RSA

  1. Take large blocks of text
  2. convert letters to
  3. convert that block into a large integer base 26
  4. perform modular arithmetic on blocks

Sage

  • ord(char) converts char to a number
  • list(string) produces an array of characters
  • map(func, array) does what it says.

Hardness of Multiplication and Factoring

Recall:

  • Grade school algorithm takes bit operations
  • Fast-Fourier Multiplication takes bit operations

Factoring a -digit integer takes a lot longer: bit operations (Pollard-??? method)

Breaking RSA Can be done via integer factorization: This is why we care about complexity.

To factor , we could do trial division by all primes up to . If has digits, then this would be:

We'll study more about factoring soon: in fact square roots mod are very important in factoring.


Warm-up

Since FLT says for , can we use this for square roots?

Does exist mod 7?


We know by FLT.

if \sqrt{3} did exist, we would have

However, (contradiction!)


What's up?

Legendre Symbol

More generally, we define


Examples:

Lemma


The fastest current factoring algorithm appears to have complexity

<math>O \left( \mathrm{e}^{d^{\frac{1}{3}}} \, d^{\frac{2}{3}} \right)