Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
One-time pad wikipedia , lookup
Cryptography wikipedia , lookup
Web of trust wikipedia , lookup
Commitment scheme wikipedia , lookup
Cryptanalysis wikipedia , lookup
Public-key cryptography wikipedia , lookup
Post-quantum cryptography wikipedia , lookup
History of cryptography wikipedia , lookup
Introduction to Cryptography Lecture 10 The RSA Public – Key Cryptosystem Alice: Selects two prime numbers p and q. Calculates m = pq and n = (p - 1)(q - 1). Selects number e relatively prime to n Finds inverse of e modulo n Publishes e and m The RSA Public – Key Cryptosystem Example: p =127, q = 223. Then m = 28321 and n = 27972 Let e = 5623, check gcd(n,e) = 1. Then using Extended Euclidean Algorithm d = 22495. Public Key: (5623, 28321). The RSA Public – Key Cryptosystem To encrypt the message x: e y x mod m . Bob computes: Bob sends y to Alice. To Decrypt the message y: d Alice computes: x y mod m . The RSA Public – Key Cryptosystem Example: Let the message be x = 3620. 5623 y 3620 mod 28321 27845. Then Alice gets one and decrypts it 22495 mod 28321 3620. Then x 27845 Public – Key Cryptosystems Current implementations of public-key cryptosystems works slow Public-key methods are mostly use for key exchange or key agreement protocols p and q should be at least 155 decimal digits each Public – Key Cryptosystems message Alice Bob Bob sends to Alice message: “Lets communicate using DES system. Lets use the key: 11111111…1.” Public – Key Cryptosystems Alice does not have to agree on this key They can decide on another key If they disagree on the key, various solutions can be given A trusted authority will help them to decide on a key The Discrete Logarithm Problem Definition: Given an integers b, c and m, the discrete logarithm problem is to find an x such that: b x c mod m . This problem is time consuming and considered to be hard There is no time efficient algorithm to solve DLP 2 x mod 19 2 x mod 19 The Discrete Logarithm Problem Example: Let m=19, b=2 and c=14. Find an x such that: 2 x 14 mod 19 . x 1 2 3 4 5 6 7 2 x mod 19 2 4 8 16 13 7 14 The solution will be x=7. Diffie-Hellman Key Agreement Given: p - large prime number, public prime s - number between 2 and p-2 (better to take generator), public base Alice: Picks a between 2 and p-2 a Computes s and send it to Bob Computes the key: Bob: Picks b between 2 and p-2 b Computes s and send it to Alice Computes the key: k a mod p (s b ) a mod p s ba mod p k b mod p (s a )b mod p s ab mod p Diffie-Hellman Key Agreement Example: Let p=197 and s=31 Suppose Alice picks a=101, then: 31101 mod 197 153. Suppose Bob chooses b=85, then: 3185 mod 197 11. The key is: 101 11 mod 197 48 153 mod 197 101 85 85 ElGamal Cryptosystem Let p be a public prime and let s be a number between 2 and p-2 Alice chooses a between 2 and p-2 and a s computes . Alice’s private key is a and Alice’s public key is . Bob chooses b between 2 and p-2 and computes s b . Bob’s private key is b and Bob’s public key is . ElGamal Cryptosystem Encryption: Let x be a message (number between 2 and p-2) Bob wants to send to Alice, he: Finds Alice’s public key , and generates random number k between 2 and p-2 k k y x mod p . Calculates t s mod p and Sends t and y to Alice ElGamal Cryptosystem Decryption: Alice receives t and y from Bob, and a 1 Calculates c (t ) mod p and y (t a ) 1 mod p x . Question: Why does it work? It works since: t a (s k ) a s ak mod p , so y (t a ) 1 ( x s ak ) (s ak ) 1 x mod p . ElGamal Cryptosystem Example: Let p=11881379, s=23 and Alice’s public key =1308503. Bob wants to send message: LUNCH, or x=5387103. He picks k=123. Bob computes: t s k mod 11881379 23123 mod 11881379 1777907 , and y x mod 11881379 5387103 138503 mod 11881379 4944577. k 123 Homework Read pg.296-304. Exercises: 3, 6(a), 7(a) on pg.304-305. Those questions will be a part of your collected homework.