Public Key Cryptography - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Public Key Cryptography

Description:

based on exponentiation in a finite (Galois) field (modulo a prime or a polynomial) - easy ... Elliptic-Curve Cryptography (ECC) Good for smaller bit size ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 30
Provided by: Barch
Category:

less

Transcript and Presenter's Notes

Title: Public Key Cryptography


1
Public Key Cryptography
2
Public Key Cryptography
  • public key cryptography
  • radically different approach Diffie-Hellman76,
    RSA78
  • sender, receiver do not share secret key
  • public encryption key known to all
  • private decryption key known only to receiver
  • symmetric key crypto
  • requires sender, receiver know shared secret key
  • Q how to agree on key in first place
    (particularly if never met)?

3
Public key cryptography

Bobs public key
K
B
-
Bobs private key
K
B
encryption algorithm
decryption algorithm
plaintext message
plaintext message, m
ciphertext
4
Public key encryption algorithms
Requirements
.
.
-
  • need K ( ) and K ( ) such that

B
B

given public key K , it should be impossible to
compute private key K
B
-
B
RSA Rivest, Shamir, Adelson algorithm
5
RSA Choosing keys
1. Choose two large prime numbers p, q.
(e.g., 1024 bits each)
2. Compute n pq, z (p-1)(q-1)
3. Choose e (with eltn) that has no common
factors with z. (e, z are relatively prime).
4. Choose d such that ed-1 is exactly divisible
by z. (in other words ed mod z 1 ).
5. Public key is (n,e). Private key is (n,d).
6
RSA Encryption, decryption
0. Given (n,e) and (n,d) as computed above
2. To decrypt received bit pattern, c, compute
d
(i.e., remainder when c is divided by n)
Magic happens!
c
7
RSA Why is that
Useful number theory result If p,q prime and n
pq, then
(using number theory result above)
(since we chose ed to be divisible by (p-1)(q-1)
with remainder 1 )
8
RSA another important property
The following property will be very useful later
use public key first, followed by private key
use private key first, followed by public key
Result is the same!
9
Public-Key Cryptography Principles
  • The use of two keys has consequences in key
    distribution, confidentiality and authentication.
  • The scheme has six ingredients (see Figure 3.7)
  • Plaintext
  • Encryption algorithm
  • Public and private key
  • Ciphertext
  • Decryption algorithm

10
Encryption using Public-Key system
11
Authentication using Public-Key System
12
Applications for Public-Key Cryptosystems
  • Three categories
  • Encryption/decryption The sender encrypts a
    message with the recipients public key.
  • Digital signature The sender signs a message
    with its private key.
  • Key exchange Two sides cooperate to exhange a
    session key.

13
Requirements for Public-Key Cryptography
  1. Computationally easy for a party B to generate a
    pair (public key KUb, private key KRb)
  2. Easy for the sender to generate ciphertext
  3. Easy for the receiver to decrypt ciphertect using
    private key

14
Requirements for Public-Key Cryptography
  • Computationally infeasible to determine private
    key (KRb) knowing public key (KUb)
  • Computationally infeasible to recover message M,
    knowing KUb and ciphertext C
  • Either of the two keys can be used for
    encryption, with the other used for decryption

15
Public-Key Cryptographic Algorithms
  • RSA and Diffie-Hellman
  • RSA - Ron Rives, Adi Shamir and Len Adleman at
    MIT, in 1977.
  • RSA is a block cipher
  • The most widely implemented
  • Diffie-Hellman
  • To exchange securely a secret key
  • Compute discrete logarithms

16
The RSA Algorithm Key Generation
  • Select p,q p and q both prime
  • Calculate n p x q
  • Calculate
  • Select integer e
  • Calculate d
  • Public Key KU e,n
  • Private key KR d,n

17
The RSA Algorithm - Encryption
  • Plaintext Mltn
  • Ciphertext C Me (mod n)

18
The RSA Algorithm - Decryption
  • Ciphertext C
  • Plaintext M Cd (mod n)

19
RSA Example
  • Select primes p17 q11
  • Compute n pq 1711187
  • Compute ø(n)(p1)(q-1)1610160
  • Select e gcd(e,160)1 choose e7
  • Determine d de mod1601 and d lt 160 Value is
    d23 since 237161 101601
  • Publish public key KU7,187
  • Keep secret private key KR23,187

20
RSA Example cont
  • sample RSA encryption/decryption is
  • given message M 88 (nb. 88lt187)
  • encryption
  • C 887 mod 187 11
  • decryption
  • M 1123 mod 187 88

21
RSA Key Generation
  • users of RSA must
  • determine two primes at random - p, q
  • select either e or d and compute the other
  • primes p,q must not be easily derived from
    modulus Np.q
  • means must be sufficiently large
  • typically guess and use probabilistic test
  • exponents e, d are inverses, so use Inverse
    algorithm to compute the other

22
RSA Security
  • three approaches to attacking RSA
  • brute force key search (infeasible given size of
    numbers)
  • mathematical attacks (based on difficulty of
    computing ø(N), by factoring modulus N)
  • timing attacks (on running of decryption)

23
Diffie-Hellman Key Exchange
  • first public-key type scheme proposed
  • by Diffie Hellman in 1976 along with the
    exposition of public key concepts
  • note now is known that James Ellis (UK CESG)
    secretly proposed the concept in 1970
  • is a practical method for public exchange of a
    secret key
  • used in a number of commercial products

24
Diffie-Hellman Key Exchange
  • a public-key distribution scheme
  • cannot be used to exchange an arbitrary message
  • rather it can establish a common key
  • known only to the two participants
  • value of key depends on the participants (and
    their private and public key information)
  • based on exponentiation in a finite (Galois)
    field (modulo a prime or a polynomial) - easy
  • security relies on the difficulty of computing
    discrete logarithms (similar to factoring) hard

25
Diffie-Hellman Setup
  • all users agree on global parameters
  • large prime integer or polynomial q
  • a a primitive root mod q
  • each user (eg. A) generates their key
  • chooses a secret key (number) xA lt q
  • compute their public key yA axA mod q
  • each user makes public that key yA

26
Diffie-Hellman Key Exchange
  • shared session key for users A B is KAB
  • KAB axA.xB mod q
  • yAxB mod q (which B can compute)
  • yBxA mod q (which A can compute)
  • KAB is used as session key in private-key
    encryption scheme between Alice and Bob
  • if Alice and Bob subsequently communicate, they
    will have the same key as before, unless they
    choose new public-keys
  • attacker needs an x, must solve discrete log

27
Diffie-Hellman Key Exchange
28
Diffie-Hellman Example
  • users Alice Bob who wish to swap keys
  • agree on prime q353 and a3
  • select random secret keys
  • A chooses xA97, B chooses xB233
  • compute public keys
  • yA397 mod 353 40 (Alice)
  • yB3233 mod 353 248 (Bob)
  • compute shared session key as
  • KAB yBxA mod 353 24897 160 (Alice)
  • KAB yAxB mod 353 40233 160 (Bob)

29
Other Public-Key Cryptographic Algorithms
  • Digital Signature Standard (DSS)
  • Makes use of the SHA-1
  • Not for encryption or key echange
  • Elliptic-Curve Cryptography (ECC)
  • Good for smaller bit size
  • Low confidence level, compared with RSA
  • Very complex
Write a Comment
User Comments (0)
About PowerShow.com