http://jgallian/msproject06/c hap8.html#chap8ex5

30
Applet Link http://www.d.umn.edu/~ jgallian/msproject06/chap8.html#ch ap8ex5

Upload: kathryn-powers

Post on 16-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Http://jgallian/msproject06/c hap8.html#chap8ex5

Applet Link

http://www.d.umn.edu/~jgallian/msproject06/chap8.html#chap8ex5

Page 2: Http://jgallian/msproject06/c hap8.html#chap8ex5

An Introduction to the RSA Public-Key Cryptosystem

Naomi Tesar

Page 3: Http://jgallian/msproject06/c hap8.html#chap8ex5

RSA Public-Key Cryptosystem

developed by Ron L. Rivest, Adi Shamir and Leonard Adleman in A Method for Obtaining Digital Signatures and Public-Key Cryptosystems (1977)

RSA security depends on the difficulty of factoring large numbers

Page 4: Http://jgallian/msproject06/c hap8.html#chap8ex5

Encryption/Decryption

encryption: converting information to code decryption: converting code to information

private-key encryption shared private key used for encryption and

decryption

public-key encryption (RSA) one public key used for encryption and one private

key used for decryption

Page 5: Http://jgallian/msproject06/c hap8.html#chap8ex5

Encryption/Decryption

http://msdn.microsoft.com/en-us/library/ff647097.aspx

Page 6: Http://jgallian/msproject06/c hap8.html#chap8ex5

Digital Signatures

Person A’sSSN

encrypted[person A’s private key]

encryptedSSN

encrypted[bank’s public key]

person A sendsmessage to bank

decrypted[bank’s private key]

encryptedSSN

encryptedSSN

message

decrypted[person A’s public key]

Person A’sSSN

encryptedSSN

message

Page 7: Http://jgallian/msproject06/c hap8.html#chap8ex5

Mathematics Involved

Two integers are relatively prime if they have no common factors other than 1.

Euler’s Totient Function is defined as the number of positive integers less than or equal to that are relatively prime to .

Page 8: Http://jgallian/msproject06/c hap8.html#chap8ex5

Mathematics Involved

Modular arithmetic is the arithmetic of congruences.

Let , , be integers with . Then is congruent to modulo or provided that divides .

Page 9: Http://jgallian/msproject06/c hap8.html#chap8ex5

Definitions

message: the numerical message yet to be encrypted

ciphertext: the encrypted message

public key:

private key:

Page 10: Http://jgallian/msproject06/c hap8.html#chap8ex5

Step 1: Key Generation

choose two distinct primes and and compute

find

choose such that and

determine satisfying

Page 11: Http://jgallian/msproject06/c hap8.html#chap8ex5

Step 2: Encryption

person A gives the public key to person B

person B converts the message into an integer such that

person B computes

person B sends to person A

Page 12: Http://jgallian/msproject06/c hap8.html#chap8ex5

Step 3: Decryption

person A recovers by with private key

person A recovers the original message

Page 13: Http://jgallian/msproject06/c hap8.html#chap8ex5

RSA Example

let and , then

find and choose

compute to find

let and encrypt

to decrypt,

Page 14: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

Define

(1)and (2)

as the public and private key representations of a message for .

Page 15: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

We want to prove that

(3)and . (4)

To begin, substitute equations (1) and (2) into equations (3) and (4), respectively.

Page 16: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

Thus,

and

.

Now, show that .

Page 17: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

By the generation of the private key , we are given .

By the definition of modular congruence, we know that . (5)

Page 18: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

Now, since and are relatively prime, the totient of is .

Next, substitute this into expression (5) to obtain .

Page 19: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

By the properties of divisors, we now have

and ,

where there is some integer such that

.

Page 20: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

Since is prime,

and therefore, . (6)

Now, by the reflexive property of modular arithmetic, we can write

,

Page 21: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

which gives us . (7)

Next, substitute relation (6) into relation (7) to obtain

. (8)

Page 22: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

Since is prime, any integer that satisfies

(8)

must either be relatively prime to (case I) or a multiple of (case II).

Page 23: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

Case I: is relatively prime to

Fermat’s Little Theorem says .

Next, we can write

or . (9)

Page 24: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

Combining (8)and , (9)

we obtain . (10)

Page 25: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

Case II: is a multiple of If , then for any integer we know that .

By modular congruence, we can now write

Thus, .

Page 26: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

Therefore,

for all .

Applying the same method for , we obtain .Since and are relatively prime, we know

.

Page 27: Http://jgallian/msproject06/c hap8.html#chap8ex5

Proof

By the modular property of symmetry, . (11)Since , there is only one integer that will satisfy relation (11), and thus

. (12)Therefore,

.

Page 28: Http://jgallian/msproject06/c hap8.html#chap8ex5

Conclusions

The RSA Public-Key Cryptosystem allows users to securely send messages and verify the authenticity of these messages using digital signatures.

The RSA Public-Key Cryptosystem works because the public key representation of the message is the inverse of the private key representation of the message.

Page 29: Http://jgallian/msproject06/c hap8.html#chap8ex5

Conclusions

The RSA Public-Key Cryptosystem draws from simple principles from number theory and abstract algebra, yet is nearly unbreakable.

RSA security is based on the difficulty factoring large numbers. Given with ~1000 digits, it is difficult to recover

prime factors and for .

Page 30: Http://jgallian/msproject06/c hap8.html#chap8ex5

References

Hungerford, Thomas W. "Chapter 2: Congruence in Z and Modular Arithmetic." Abstract Algebra: An Introduction. Philadelphia: Saunders College, 1990. 23-37. Print.

Hungerford, Thomas W. "Chapter 12: Public-Key Cryptography." Abstract Algebra: An Introduction. Philadelphia: Saunders College, 1990. 373-378. Print.

Joel Chan, “Three Guys and a Large Number,” Math Horizons 2(3), 1995.

Neal Koblitz and Alfred Menezes, “A Survey of Public-Key Cryptosystems,” SIAM Review 46(4), 2004.

Robert Boyer and J Strother Moore, “Proof Checking the RSA Public Key Encryption Algorithm,” American Mathematical Monthly 91(3), 1984.

R. Rivest, A. Shamir, L. Adleman, “A Method for Obtaining Digital Signatures and Public Key Cryptosystems” MIT/LCS/TM-82, Apr 1977

Weisstein, Eric W. “Euclidean Algorithm.” From MathWorld—A Wolfram Web Resource. http://mathworld.wolfram.com/EuclideanAlgorithm.html

Weisstein, Eric W. “Relatively Prime.” From MathWorld—A Wolfram Web Resource. http://mathworld.wolfram.com/RelativelyPrime.html

Weisstein, Eric W. “Totient Function.” From MathWorld—A Wolfram Web Resource. http://mathworld.wolfram.com/TotientFunction.html