250 likes | 347 Views
Explore solutions to cryptographic problems using Fermat's Little Theorem and induction, uncovering practical aspects and demonstrating techniques like the Digital Signature Algorithm. Learn to find inverses using modular arithmetic and verify signatures with key parameters.
E N D
Assignment #3Solutions January 24, 2006
Problem #1 Use Fermat’s Little Theorem and induction on k to prove that xk(p–1)+1 mod p = x mod p for all primes p and k ≥ 0. Practical Aspects of Modern Cryptography
Answer #1 By induction on k … Base case k = 0: xk(p–1)+1 mod p = x0+1 mod p = x mod p Base case k = 1: xk(p–1)+1 mod p = x(p-1)+1 mod p = xp mod p = x mod p (by Fermat’s Little Theorem) Practical Aspects of Modern Cryptography
Answer #1 (cont.) Inductive step: Assume that xk(p–1)+1 mod p = x mod p. Prove that x(k+1)(p–1)+1 mod p = x mod p. Practical Aspects of Modern Cryptography
Answer #1 (cont.) x(k+1)(p–1)+1 mod p = xk(p–1)+(p-1)+1 mod p = xk(p–1)+1+(p-1) mod p = xk(p–1)+1x(p-1) mod p = xx(p-1) mod p (by inductive hypothesis) = xp mod p = xp mod p (by Fermat’s Little Theorem) Practical Aspects of Modern Cryptography
Problem #2 Show that for distinct primes p and q, x mod p = y mod p x mod q = y mod q together imply that x mod pq = y mod pq. Practical Aspects of Modern Cryptography
Answer #2 x mod p = y mod p (x mod p) – (y mod p) = 0 (x – y) mod p = 0 (by first assignment) (x – y) is a multiple ofp. Similarly x mod q = y mod q (x – y) is a multiple ofq. Practical Aspects of Modern Cryptography
Answer #2 (cont.) Therefore, (x – y) is a multiple ofpq (x – y) mod pq = 0 (x mod pq) – (y mod pq) = 0 x mod pq = y mod pq. Practical Aspects of Modern Cryptography
Problem #3 Put everything together to prove that xK(p–1)(q-1)+1 mod pq = x mod pq For K ≥ 0 and distinct primes p and q. Practical Aspects of Modern Cryptography
Answer #3 Let k1=K(q–1) and k2=K(p–1). xK(p–1)(q-1)+1 mod p = xk1(p–1)+1 mod p = x mod p and xK(p–1)(q-1)+1 mod q = xk1(q–1)+1 mod q = x mod q By Problem #1, and then by Problem #2 xK(p–1)(q-1)+1 mod pq = x mod pq. Practical Aspects of Modern Cryptography
Problem #4 E(x) = x43 mod 143 Find the inverse function D(x) = xd mod 143. Practical Aspects of Modern Cryptography
Answer #4 143 = 1113 We need to find d such that 43d mod (11–1)(13–1) = 1. Use the Extended Euclidean Algorithm to find a solution to find x and y such that 120x + 43y = 1. Practical Aspects of Modern Cryptography
Extended Euclidean Algorithm Given A,B > 0, set x1=1, x2=0, y1=0, y2=1, a1=A, b1=B, i=1. Repeat while bi>0: {i = i + 1; qi = ai-1 div bi-1; bi = ai-1-qibi-1; ai = bi-1; xi+1=xi-1-qixi; yi+1=yi-1-qiyi}. For alli: Axi + Byi = ai. Finalai = gcd(A,B). Practical Aspects of Modern Cryptography
Answer #4 (cont.) Practical Aspects of Modern Cryptography
Answer #4 (cont.) Practical Aspects of Modern Cryptography
Answer #4 (cont.) Practical Aspects of Modern Cryptography
Answer #4 (cont.) Practical Aspects of Modern Cryptography
Answer #4 (cont.) Practical Aspects of Modern Cryptography
Answer #4 (cont.) Practical Aspects of Modern Cryptography
Answer #4 (cont.) Practical Aspects of Modern Cryptography
Problem #5 Digital Signature Algorithm Public parameters: q = 11, p = 67, g = 9, y = 62 Private secret: x = 4 Message to be signed: M = 8 Selected random parameter: k = 2 Practical Aspects of Modern Cryptography
The Digital Signature Algorithm To sign a 160-bit message M, • Generate a random integer k with 0 < k < q, • Compute r = (gk mod p) mod q, • Compute s = ((M+xr)/k) mod q. The pair (r,s) is the signature on M. Practical Aspects of Modern Cryptography
Answer #5 • r = (gk mod p) mod q = (92 mod 67) mod 11 = (81 mod 67) mod 11 = 14 mod 11 = 3 • s = ((M+xr)/k) mod q = ((8+43)/2) mod 11 = (20/2) mod 11 = 10 mod 11 = 10 The pair (3,10) is the signature on 8. Practical Aspects of Modern Cryptography
The Digital Signature Algorithm A signature (r,s) on M is verified as follows: • Compute w = 1/s mod q, • Compute a = wM mod q, • Compute b = wr mod q, • Compute v = (gayb mod p) mod q. Accept the signature only if v = r. Practical Aspects of Modern Cryptography
Answer #5 (cont.) • w = 1/s mod q = 1/10 mod 11 = 10 • a = wM mod q = 108 mod 11 = 3 • b = wr mod q = 103 mod 11 = 8 • v = (93628 mod 67) mod 11 = (5915 mod 67) mod 11 = 14 mod 11 = 3 v = 3 andr = 3 so the signature is validated. Practical Aspects of Modern Cryptography