2007-04-18 1. (a) Return graded homework (b) Pass out new homework assignment (c) Pass out SAGE code handout 2. Discussion of evals: (a) moved office hours: Thur 4-5 in my office and Friday 3:30-4:30 *here*. (b) ?? (3) RSA: (a) Explain how it works (b) Prove prop 3.2.1: a^(de) = a (mod n) for all a, assuming n is aproduct of distinct primes and (p-1)|(de-1) for each p|n. So just need to solve de = 1 (mod lcm({p-1 : p | n})). (c) Explain SAGE implementation (4) Encoding a phrase in a number. (a) Base 27 (b) Explain more general SAGE code. (c) Discuss issue with padding. (d) Do complete example 1 (5) Digital signatures. (a) Just sign by encrypting using (d, n). (b) Then anybody can decrypt using (e, n) and hence verify that message is really from you, since only you know (d,n). Very cool! (6) Student project suggestion -- very precise details of exactly how RSA (and/or Diffie Helmann or ?) are used in common everyday cryptographic protocols: (a) openssl is used by a *lot* of other programs (and it's included in SAGE, by the way -- import OpenSSL).