* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Lecture 10
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.