# Outline for February 3, 2016

Reading: text, §10 handout; 10 in text
Due: Homework 2, due February 5; Project progress report, due February 8

1. RSA
1. Provides both authenticity and confidentiality
2. Go through algorithm:
Idea: C = Me mod n, M = Cd mod n, with ed mod φ(n) = 1
Public key is (e, n); private key is d. Choose n = pq; then φ(n) = (p−1)(q−1).
3. Example: p = 5, q = 7; then n = 35, φ(n) = (5−1)(7−1) = 24. Pick d = 11. Then ed mod φ(n) = 1, so e = 11
To encipher 2, C = Me mod n = 211 mod 35 = 2048 mod 35 = 18, and M = Cd mod n = 1811 mod 35 = 2.
4. Example: p = 53, q = 61; then n = 3233, φ(n) = (53−1)(61−1) = 3120. Pick d = 791. Then e = 71.
To encipher M = RENAISSANCE, use the mapping A = 00, B = 01, …, Z = 25, = 26.
Then: M = RE NA IS SA NC E␢; … = 1704 1300 0818 1800 1302 0426
So: C = (1704)71 mod 3233 = 3106; … = 3106 0100 0931 2691 1984 2927
2. Elliptic curve cryptography
1. Elliptic curve is y2 = x3 + ax + b mod p, a, b, and p parameters; interested in points where x and y are integers (called integer points)
2. Points P1, P2; define
• When P1 &neq; P2, m = (y2y1) / (x2x1)
• When P1 = P2, m = (3x12 + a) / (2y1)
Then sum P3 = (m2x1x2, m(x1x3) − y1)
3. Private key: k; public key, Q = kP = P + … + P, adding P to itself k times
4. Example: y2 = x3 + 4x + 14 mod 2503; take P = (1002, 493)
Choose kAlice = 1379 as private key, then public key KAlice = kAliceP mod p = (1041, 1659)
Similarly, private key kBob = 2001 gives public key KBob = (629, 548)
Then Alice computes kAliceKBob mod p = 1379(629, 548) mod 2503 = (2075, 2458)
And Bob computes kBobKAlice mod p = 2011(1041, 1659) mod 2503 = (2075, 2458)
3. Cryptographic checksums
1. Function y = h(x): easy to compute y given x; computationally infeasible to compute x given y
2. Variant: given x and y, computationally infeasible to find a second x′ such that y = h(x′)
3. Keyed vs. keyless
4. Key exchange protocols

 You can also obtain a PDF version of this. Version of February 4, 2016 at 10:46PM