Transcript Slide 1

1

Networks and Communication Department

NET 311 INFORMATION SECURITY

Lecture 4: Asymmetric Ciphers (RSA,ElGamal)

1

lecture contents:

o o o o

Public-Key Cryptography Why Public-Key Cryptography?

RSA Cryptography EIGamal Cryptography

30-Apr-20 Networks and Communication Department

Private-Key Cryptography

3

 traditional private/secret/single key cryptography uses one key  shared by both sender and receiver  if this key is disclosed communications are compromised  also is symmetric, parties are equal  hence does not protect sender from receiver forging a message & claiming is sent by sender 30-Apr-20 Networks and Communication Department

4

Public-Key Cryptography

 probably most significant advance in the 3000 year history of cryptography  uses two keys – a public & a private key  asymmetric since parties are not equal  uses clever application of number theoretic concepts to function 30-Apr-20 Networks and Communication Department

5

Why Public-Key Cryptography?

Developed to address two key issues:

  key distribution – how to have secure communications in general without having to trust a KDC with your key digital signatures – how to verify a message comes intact from the claimed sender 30-Apr-20 Networks and Communication Department

Public-Key Cryptography

  public-key/two-key/asymmetric cryptography involves the use of two keys:   a public-key, which may be known by anybody, and can be used to encrypt messages, and verify signatures a related private-key, known only to the recipient, used to decrypt messages, and sign (create) signatures Is asymmetric because  those who encrypt messages or verify signatures cannot decrypt messages or create signatures

Public-Key Cryptography

Asymmetric-Key Cryptography

 Asymmetric-key (public key cryptography) uses two keys: one private and one public.

 There are two algorithms: 

RSA

ELGAMAL

Public-Key Applications

 can classify uses into 3 categories:  encryption/decryption (provide secrecy)   digital signatures (provide authentication) key exchange (of session keys)  some algorithms are suitable for all uses, others are specific to one

Modular arithmetic

 This example is modulo 7  The numbers allowed are 0 to 6  After 6, numbers “wrap around”  0 = 7 (mod 7)  3+3 = 6 (mod 7) 4+4 = 1 (mod 7) 5 4 6 3 0 2 1

RSA

 The most common public key algorithm is RSA, named for its inventors Rivest, Shamir, and Adelman.  It uses two numbers: 

e

 public key 

d

 private  The two keys, e and d, have a special relationship to each other.

RSA

RSA – selecting keys

 Bob uses the following steps to select the private and public keys:  Bob chooses two very large prime numbers p and q  Bob multiplies p and q to find n

n=p x q

 Bob calculates another number

ф = (p -1) X (q -1)

 Bob chooses a random number e, 1< e<

ф

.  He then calculates d so that

d X e mod ф = 1

 Bob announces e and n to the public; he keeps

ф

secret. and d

RSA – Encryption and Decryption

 Encryption  Decryption  Restriction  P < n , if not, the plaintext needs to be divided into blocks to make P less than n.

RSA Exercise

Encrypt the following message “NO” By Using RSA algorithm.

Assume that p=17, q =11, and e= 7 Hint, each character will be encoded according to this algorithm (A - Z)

(00 – 25)

Encrypt each character individually .

The solution

 Step1: calculate n, where n= p x q  = 17 x 11 = 187 Step2: calculate ɸ where ɸ = (p-1) x (q-1) = 16 X 10 =160  Step3: calculate d, where e is given e . d mod ɸ =1 7d mod 160 =1  d=23  This is because 23 X 7 = 161 = ( 1 X 160) + 1

The solution

  Step5: encode the plaintext.

P=“NO”= 13 14 Step6: C= p

e mod n

C(N)= (13 ) 7 mod 187 = 106 C(O)=(14) 7 mod 187= 108  Step7: P= C

d mod n

P(106)= (106) 23 P(108)= (108) 23 mod 187 =13 mod 187 =14

RSA- Application

 RSA is useful for short messages but not for long messages.

 RSA is used in digital signature , and authentication algorithms.