- Factor x
^{15}-1 over the field of rationals, i.e., into cyclotomic polynomials (straightforward).

NOTE: "over the rationals" means that all coefficients are restricted to be rational numbers.

- The fundamental theorem of algebra states that a polynomial of degree N has at most N zeros.

Show that polynomial x²-1 over Z/(15) has more than two zeros! Explain how this can be true.

- Let p(x)=x
^{4}+x³+x²+x+1. FACT: p(x) is prime over GF(2)={{0,1}, +,× mod(2)}.

So {{polynomials of degree < 4 over GF(2)}, +,× mod(p(x))} is the finite field GF(2^{4})=GF(16).

Huh? There are 16 polynomials with coefficients 0 or 1 with degree < 4. Add and multiply

mod(p(x)) and then reduce the coefficients mod(2) gives another such polynomial (closure).

- The other properties required of a field can also be shown to hold (not required).
- Show that "x" is not a primitive element. HINT: Show that its order < 15.
- Show that "x+1" IS a primitive element. HINT: Show that its order is 15.
- Show that f(z)=z
^{4}+z^{3}+1 is the*minimal polynomial*of "x+1".

MEANING: This is the polynomial of smallest degree such that f(z)|_{z=x+1}=0.

- The decimal expansion of 1/p (where p is an odd prime) repeats after k digits. Examples:
- Show that the period k of 1/p is
*the order of 10 mod(p)*. Also show k is a factor of p-1. - What is the condition for k to take on its maximum possible value of p-1 (as with p=7)?

1/7=0.142857142857...(k=6), 1/11=0.0909...(k=2) and 1/13=0.0769230769230...(k=6).

- Show that the period k of 1/p is
- p and q are large prime numbers (kept secret); but their
*product*r=pq is made public. - s is the
*sending key*(made public); s must be relatively prime to p-1 and q-1. - t is the
*decoding key*(kept secret); t is defined by solving st=1 mod((p-1)(q-1)). - m is the message; encoded using 01=A, 02=B, 03=C...26=Z (can encode other characters).

*Public Key Cryptography using Euler's totient function Ø(N)*(simple using this concept):

- Send and receive a message m by transmitting and receiving the
- Encode the message using M=m
^{s}mod(r). Remember r and s have been made public. - Decode the message using m=M
^{t}mod(r). Remember t has been kept private. - POINT: If r could be factored into p and q, then t could quickly be found from s.
- But factoring the product of large prime numbers is very difficult (but not impossible!)

*coded message*M:

- Now explain why this works, and try a simple but illustrative example using Matlab:
- Explain why m can be decoded from M. HINT: Ø(pq)=(p-1)(q-1) and Euler's theorem.
- Let r=2146189 and s=257. Decode the message M=1494449 (isn't that a cute number?).
- I will give you p in class Thursday; otherwise, you must
*break the code*by factoring r!

- Even for this small example, you need some help in computing m
- Noting 257=2
^{8}, you could compute M from m by squaring and reducing mod(r) 8 times. - For the numbers in this problem, you can compute m from M by doing something similar.
- Do NOT let the numbers get too large, or Matlab will give incorrect answers (roundoff).

^{s}and M^{t}:- p and q are large prime numbers (kept secret); but their