LECTURE NOTES ON  PUBLIC‐ KEY CRYPTOGRAPHY  (RSA and ElGamal) By Dr. Samaher Hussein Ali

advertisement
The University of Babylon
Department of Software
LECTURE NOTES ON PUBLIC‐ KEY CRYPTOGRAPHY (RSA and ElGamal)
By
Dr. Samaher Hussein Ali
College of Information Technology, University of Babylon, Iraq
Samaher_hussein@yahoo.com
4/11/2012
Public‐key cryptography
Called also asymmetric cryptography The keys used to encrypt and decrypt are different.
Anyone who wants to be a sender needs to “publish” an encryption key, which is known as the public key, KB.
Anyone who wants to be a receiver needs a unique decryption key, which is known as the private key, kv.
If B wants to send an enciphered text to A, B should knows the the encryption algorithm and A’s public key.
4/11/2012
Dr. Samaher Hussein Ali
Notes of Lecture 8
Confidentiality via Public key cryptography
 Samaher wants to send a secret message m to Eman
 Eman should have 2 keys: public KB and private kv
 Prior to message encryption, samaher gets by some means an authentic copy
of Eman’s public key (i.e., the encryption key)
4/11/2012
Dr. Samaher Hussein Ali
Notes of Lecture 8
Public‐key Systems

 It provides confidentiality by depend on digital signatures.
 It reduce number of using keys , example; if we need communication among 100 users in tradition methods, we need
(n(n-1)/2)= 100(99)/2=4950 keys
while, when we use the public key system need only 100 keys
RSA





It is named after it inventors Ron Rivest, Adi Shamir and Len Adleman.
Published in 1978‫۔‬
It is the most widely used public‐key encryption algorithm today.
It provides confidentiality and digital signatures.
Its security is based on the difficulty of integer factorization
4/11/2012
Dr. Samaher Hussein Ali
Notes of Lecture 8
RSA algorithm (key generation for RSA public‐key encryption)
 Each entity A creates a public key and a corresponding private key by doing
the following
 Who is capable of computing public key?
 Generate three prime numbers p and q, e
 Compute n=p*q
 A’s Public key: (e, n) // to be published
 Who is capable of computing d?
d 
gcd(  ( n )) *  ( n )  1
e
‐‐ (n)=(p‐1)(q‐1)
 To verification d : we must [e*d mod (n)  1]
 A’s private key: (d, n)) // to be kept secretly by A
4/11/2012
Dr. Samaher Hussein Ali
Notes of Lecture 8
RSA Encryption/Decryption
 Summary: A encrypts a message m for B. Upon reception, B decrypts it using its private key.
 Encryption: A should do the following
 Obtain B’s authentic public key (n,e).
 Represent the message as an integer in the interval [0,n‐1]
 Compute c = me mod n // Encryption
 Send the ciphertext c to B
 Decryption: to recover plaintext m from c, B does the following
 Use the private key d to recover m = cd mod n // Decryption
4/11/2012
Dr. Samaher Hussein Ali
Notes of Lecture 8
RSA Encryption/Decryption
4/11/2012
Dr. Samaher Hussein Ali
Notes of Lecture 8
Example 1: Let, p=3, q=17, e=5: Find the public and Secret key then cipher the message ABC n=p*q=3*17=51
Public key ‐‐‐‐‐‐<e,n>=<5,51>
d=(GCD((n))* (n)+1)/e
(n)= (p‐1)(q‐1)=(3‐1)(17‐1)=(2*16)=32
GCD((n))= GCD[(P‐1)(q‐1)]=GCD(2,16)=2
d=((2*32+1)/5)= (64+1) /5 =65/5=13
Secret Key‐‐‐‐‐‐‐<d,n>=<13,51>
To verification d :
e.d mod (n)=1
5*13 mod 32
65 mod 32 =1
4/11/2012
Dr. Samaher Hussein Ali
Notes of Lecture 8
Example 1: Let, p=3, q=17, e=5: Find the public and Secret key then cipher the message ABC 2. Find the cipher text using the public key <e,n>=<5,51>
Ci=Mie mod n
C1=(1)5 Mod 51=1 mod 51 =1
C2=(2)5 Mod 51=32 mod 51 =32
C1=(3)5 Mod 51=243 mod 51 =39
3. Find the cipher text using the Secret Key‐‐‐‐‐‐‐<d,n>=<13,51>
Mi=Cid mod n
M1=(1)13Mod 51=1
M2=(32)13 Mod 51=2
M1=(39)13 Mod 51=3
4/11/2012
Dr. Samaher Hussein Ali
Notes of Lecture 8
Example 2: Confidentiality
 Take p = 7, q = 11, so n =p*q= 77  (n) =(p‐1)(q‐1) =(7‐1)(11‐1)=60
 Let e = 17 ‐‐‐‐‐‐‐‐ public key(17,77)
 Compute d =[gcd(6,10)*60+1]/17= 53
 17 x 53 mod 60 = 1 ‐‐‐‐‐‐‐‐ secret key(53,77)
 samaher wants to secretly send Eman the message HELLO [07 04 11 11 14]





0717 mod 77 = 28
0417 mod 77 = 16
1117 mod 77 = 44
1117 mod 77 = 44
1417 mod 77 = 42
 samaher sends ciphertext [28 16 44 44 42]
4/11/2012
Dr. Samaher Hussein Ali
Notes of Lecture 8
Example 2: Confidentiality
 Eman receives [28 16 44 44 42]
 Eman uses private key < 53,77>, to decrypt the message:

 2853 mod 77 = 07
H
 1653 mod 77 = 04
E
 4453 mod 77 = 11
L
 4453 mod 77 = 11
L
 4253 mod 77 = 14
O
No one else could read it, as only Eman knows his private key and that is needed for decryption
4/11/2012
Dr. Samaher Hussein Ali
Notes of Lecture 8
Download