430 likes | 638 Views
UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008. Tuesday, 25 November Number-Theoretic Algorithms Chapter 31 . Chapter Dependencies. Ch 31 Number-Theoretic Algorithms RSA. Math: Number Theory.
E N D
UMass Lowell Computer Science 91.503Analysis of AlgorithmsProf. Karen DanielsFall, 2008 Tuesday, 25 November Number-Theoretic Algorithms Chapter 31
Chapter Dependencies Ch 31 Number-Theoretic Algorithms RSA Math: Number Theory You’re responsible for material in this chapter that we discuss in lecture. (Note that this does not include sections 31.8 or 31.9.)
Overview • Motivation: RSA • Basics • Euclid’s GCD Algorithm • Chinese Remainder Theorem • Powers of an Element • RSA Details
31.5 RSA Encryption source: 91.503 textbook Cormen et al.
31.6 RSA Digital Signature ? assume Alice also sends her name so Bob knows whose public key to use source: 91.503 textbook Cormen et al.
(31.19) (31.26) RSA Cryptosystem source: 91.503 textbook Cormen et al. to be explained later…. (31.36) (31.35) decode encode + EXAMPLE need efficient ways to compute P(M), S(C)
RSA Dependence • Correctness: • Euler’s f Function • Fermat’s Theorem • Chinese Remainder Theorem • Efficiency: • Modular Exponentiation • Primality Testing • Security: • Difficulty of Factoring Large Integers Need to show: see chart of result dependencies on next slide (courtesy of Mark Micire)…
Notes on Primality Testing • Efficient primality testing has been goal for > 2,000 years. • Early attempts required exponential time. • Miller-Rabin (Section 31.8) primality test is a randomized polynomial-time algorithm (1980’s). • Agrawal, Kayal, Saxena provided a deterministic polynomial-time algorithm (2002).
Basic Concepts *Indicates that result is on chart of result dependencies
Division & Remainders 31.1 + EXAMPLE * (3.8) source: 91.503 textbook Cormen et al.
Equivalence Class Modulo n (31.1) (31.2) + EXAMPLE source: 91.503 textbook Cormen et al.
Common Divisors (31.3) * (31.4) * (31.5) + EXAMPLE source: 91.503 textbook Cormen et al.
Greatest Common Divisor (31.6) (31.7) (31.8) * (31.9) (31.10) * 31.2 (3.8) + EXAMPLE (31.4) source: 91.503 textbook Cormen et al.
Greatest Common Divisor * 31.3 (31.4) 31.2 31.4 + EXAMPLE source: 91.503 textbook Cormen et al.
Relatively Prime Integers * 31.6 31.2 31.2 + EXAMPLE source: 91.503 textbook Cormen et al.
Relatively Prime Integers 31.7 31.6 * 31.1-6 + EXAMPLE source: 91.503 textbook Cormen et al.
31.9 (31.5) (3.8) (31.4) (31.3) (31.14) (31.4) (31.3) (31.15) (31.5) (31.14) (31.15) Greatest Common Divisor * + EXAMPLE source: 91.503 textbook Cormen et al.
Euclid’s GCD Algorithm * + EXAMPLE Also see Java code on course web site source: 91.503 textbook Cormen et al.
Extended Euclid * (31.16) * 31.1 + EXAMPLE source: 91.503 textbook Cormen et al.
Modular Arithmetic source: 91.503 textbook Cormen et al.
Additive group mod 6 Multiplicative group mod 15 31.2 Finite Groups size of this group is 6 size of this group is 8 source: 91.503 textbook Cormen et al. elements relatively prime to n
Finite Groups 31.12 source: 91.503 textbook Cormen et al.
Finite Groups 31.13 31.6 31.12 31.26 source: 91.503 textbook Cormen et al.
Euler’s Phi Function * (31.19) + EXAMPLE source: 91.503 textbook Cormen et al.
Lagrange’s Theorem 31.15 * source: 91.503 textbook Cormen et al.
* 31.18 * 31.19 source: 91.503 textbook Cormen et al. Finite Groups * 31.17 additive subgroup generated by a where k + EXAMPLE
Solving Modular Linear Eq * 31.20 + EXAMPLE (31.4) source: 91.503 textbook Cormen et al.
* 31.22 + EXAMPLE 31.18 * 31.24 31.18 31.22 source: 91.503 textbook Cormen et al. Solving Modular Linear Eq
Solving Modular Linear Eq * + EXAMPLE * 31.26 source: 91.503 textbook Cormen et al.
Chinese Remainder Theorem * 31.27 (31.23) + EXAMPLE (31.23) (31.24) (31.25) (31.26) source: 91.503 textbook Cormen et al.
Chinese Remainder Theorem * 31.29 source: 91.503 textbook Cormen et al.
Theorems of Euler & Fermat * 31.30 * 31.31 source: 91.503 textbook Cormen et al.
Modular Exponentiation * + EXAMPLE Also see Java code on course web site source: 91.503 textbook Cormen et al.
31.5 RSA Encryption source: 91.503 textbook Cormen et al.
31.6 RSA Digital Signature ? assume Alice also sends her name so Bob knows whose public key to use source: 91.503 textbook Cormen et al.
(31.19) (31.26) RSA Cryptosystem source: 91.503 textbook Cormen et al. (31.36) (31.35) decode encode need efficient ways to compute P(M), S(C)
RSA Correctness (31.35) (31.36) 31.31 by Thm 31.31 (Fermat) 31.29 source: 91.503 textbook Cormen et al.