Top Banner
UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008 Tuesday, 25 November Tuesday, 25 November Number-Theoretic Algorithms Number-Theoretic Algorithms Chapter 31 Chapter 31
43

UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Feb 25, 2016

Download

Documents

Chanel

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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

UMass Lowell Computer Science 91.503 Analysis of Algorithms

Prof. Karen Daniels Fall, 2008

Tuesday, 25 NovemberTuesday, 25 NovemberNumber-Theoretic AlgorithmsNumber-Theoretic Algorithms

Chapter 31 Chapter 31

Page 2: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Chapter Dependencies

Ch 31Number-Theoretic AlgorithmsRSA

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.)

Page 3: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Overview

Motivation: RSAMotivation: RSA BasicsBasics Euclid’s GCD AlgorithmEuclid’s GCD Algorithm Chinese Remainder TheoremChinese Remainder Theorem Powers of an ElementPowers of an Element RSA DetailsRSA Details

Page 4: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Motivation: RSA

Page 5: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

RSA Encryption

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.531.5

MMSP AA ))(( MMPS AA ))((

Page 6: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

RSA Digital Signature

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.631.6

assume Alice also sends her name so Bob knows whose public key to useassume Alice also sends her name so Bob knows whose public key to use

'))'(( MMSP AA

?

Page 7: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

RSA Cryptosystem

(31.19)(31.19)

(31.26)(31.26)

)(mod)( nMMP e )(mod)( nCCS d(31.35)(31.35) (31.36)(31.36)

encodeencode decodedecode

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

to be explained later….

need efficient ways to compute P(M), S(C)

Page 8: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

RSA Dependence

Correctness:Correctness: Euler’s Euler’s Function Function Fermat’s TheoremFermat’s Theorem Chinese Remainder TheoremChinese Remainder Theorem

Efficiency:Efficiency: Modular ExponentiationModular Exponentiation Primality TestingPrimality Testing

Security:Security: Difficulty of Factoring Large IntegersDifficulty of Factoring Large Integers

)(mod))(())(( nMMSPMPS ed

see chart of result dependencies on next slide (courtesy of Mark Micire)…see chart of result dependencies on next slide (courtesy of Mark Micire)…

Need to show:Need to show:

)(mod nMM ed

Page 9: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008
Page 10: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Notes on Primality Testing

Efficient primality testing has been goal for > 2,000 Efficient primality testing has been goal for > 2,000 years.years.

Early attempts required exponential time.Early attempts required exponential time. Miller-Rabin (Section 31.8) primality test is a Miller-Rabin (Section 31.8) primality test is a

randomized polynomial-time algorithm (1980’s).randomized polynomial-time algorithm (1980’s). Agrawal, Kayal, Saxena provided a deterministic Agrawal, Kayal, Saxena provided a deterministic

polynomial-time algorithm (2002).polynomial-time algorithm (2002).

Page 11: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Basic Concepts

** Indicates that result is on chart of result dependenciesIndicates that result is on chart of result dependencies

Page 12: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Division & Remainders

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.131.1

(3.8)(3.8) **

Page 13: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Equivalence Class Modulo n

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

(31.1)(31.1)

(31.2)(31.2)

Page 14: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Common Divisors

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

(31.3)(31.3)

(31.4)(31.4)

(31.5)(31.5)

**

**

Page 15: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Greatest Common Divisor

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

(31.6)(31.6)

(31.7)(31.7)

(31.8)(31.8)(31.9)(31.9)

(31.10)(31.10)

31.231.2

(3.8)(3.8)

(31.4)(31.4)

**

**

Page 16: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Greatest Common Divisor

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.331.3

(31.4)(31.4)

31.231.2

31.431.4

**

Page 17: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Relatively Prime Integers

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.631.6

31.231.2

31.231.2

**

Page 18: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Relatively Prime Integers

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.731.7

31.631.6

31.1-631.1-6 **

Page 19: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Greatest Common Divisor

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.931.9

(31.5)(31.5)

(3.8)(3.8)

(31.4)(31.4)

(31.3)(31.3)

(31.4)(31.4)

(31.3)(31.3)

(31.5)(31.5) (31.14)(31.14) (31.15)(31.15)

(31.14)(31.14)

(31.15)(31.15)

**

Page 20: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Euclid’s GCD Algorithm

Page 21: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Euclid’s GCD Algorithm

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

**

Also see Java code on course web Also see Java code on course web sitesite

Page 22: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Extended Euclid

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

(31.16)(31.16)

31.131.1

**

**

Page 23: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Chinese Remainder Theorem

Page 24: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Modular Arithmetic

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

Page 25: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Finite Groups

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

size of this group is 6size of this group is 6 size of this group is 8size of this group is 8

31.231.2

Additive group mod 6Additive group mod 6 Multiplicative group mod 15Multiplicative group mod 15

}1),gcd(:]{[* naZaZ nnn

elements relatively prime to nelements relatively prime to n

Page 26: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Finite Groups

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.1231.12

Page 27: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Finite Groups

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.1331.13

31.631.6

31.1231.12

31.2631.26

Page 28: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Euler’s Phi Function

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

(31.19)(31.19) **

Page 29: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Lagrange’s Theorem

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.1531.15 **

Page 30: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Finite Groups31.1731.17 **

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.1831.18

31.1931.19

**

**

}1:{ )( kaa k

additive subgroup additive subgroup generated by generated by aa

wherewhere

aaaa k )(

kk

Page 31: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Solving Modular Linear Eq

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.2031.20

(31.4)(31.4)

**

Page 32: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Solving Modular Linear Eq

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.2231.22

31.1831.18

31.1831.1831.2231.22

31.2431.24

**

**

'' where,modsolution a as has mod then If :31.23 . 0 nyaxd nx'(b/d) x n)b (axd|bThm

Page 33: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Solving Modular Linear Eq

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.2631.26

**

**

Page 34: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Chinese Remainder Theorem

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

(31.23)(31.23)

31.2731.27

(31.23)(31.23)

(31.24)(31.24)

(31.25)(31.25)

(31.26)(31.26)

**

Page 35: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Chinese Remainder Theorem

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.2931.29 **

Page 36: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Powers of an Element

Page 37: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Theorems of Euler & Fermat

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.3031.30

31.3131.31

**

**

Page 38: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

Modular Exponentiation

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

**nab mod

Also see Java code on course web siteAlso see Java code on course web site

Page 39: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

RSA Details

Page 40: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

RSA Encryption

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.531.5

MMSP AA ))(( MMPS AA ))((

Page 41: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

RSA Digital Signature

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

31.631.6

assume Alice also sends her name so Bob knows whose public key to useassume Alice also sends her name so Bob knows whose public key to use

'))'(( MMSP AA

?

Page 42: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

RSA Cryptosystem

(31.19)(31.19)

(31.26)(31.26)

)(mod)( nMMP e )(mod)( nCCS d(31.35)(31.35) (31.36)(31.36)

encodeencode decodedecode

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

need efficient ways to compute P(M), S(C)

Page 43: UMass Lowell Computer Science 91.503 Analysis of Algorithms Prof. Karen Daniels Fall, 2008

RSA Correctness

source: 91.503 textbook Cormen et al.source: 91.503 textbook Cormen et al.

(31.35)(31.35) (31.36)(31.36)

31.3131.31

31.2931.29

by Thm 31.31 (Fermat)by Thm 31.31 (Fermat)