0% found this document useful (0 votes)
83 views12 pages

Public Key Cryptography: EJ Jung

1. Public key cryptography allows two parties to securely communicate without having to share a secret key. Each party generates a public/private key pair, with the public key being shared and the private key kept secret. 2. For encryption, the sender uses the recipient's public key to encrypt a message. Only the recipient can decrypt it using their private key. For authentication, a sender signs a message with their private key, allowing the recipient to verify the signature with the public key. 3. Key algorithms like RSA and Diffie-Hellman are based on computationally hard problems like factoring large numbers or discrete logarithms. This allows for secure encryption and key exchange even if an adversary can see the public keys and

Uploaded by

sharnoby
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views12 pages

Public Key Cryptography: EJ Jung

1. Public key cryptography allows two parties to securely communicate without having to share a secret key. Each party generates a public/private key pair, with the public key being shared and the private key kept secret. 2. For encryption, the sender uses the recipient's public key to encrypt a message. Only the recipient can decrypt it using their private key. For authentication, a sender signs a message with their private key, allowing the recipient to verify the signature with the public key. 3. Key algorithms like RSA and Diffie-Hellman are based on computationally hard problems like factoring large numbers or discrete logarithms. This allows for secure encryption and key exchange even if an adversary can see the public keys and

Uploaded by

sharnoby
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Public Key Cryptography

EJ Jung

Basic Public Key Cryptography


public key

public key ? private key

Alice Bob

Given: Everybody knows Bob’s public key


- How is this achieved in practice?
Only Bob knows the corresponding private key

Goals: 1. Alice wants to send a secret message to Bob


2. Bob wants to authenticate himself
Requirements for Public-Key Crypto
! Key generation: computationally easy to generate
a pair (public key PK, private key SK)
• Computationally infeasible to determine private key PK
given only public key PK
! Encryption: given plaintext M and public key PK,
easy to compute ciphertext C=EPK(M)
! Decryption: given ciphertext C=EPK(M) and private
key SK, easy to compute plaintext M
• Infeasible to compute M from C without SK
• Decrypt(SK,Encrypt(PK,M))=M

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 sender to generate ciphertext:
C = EKUb (M )

3. Easy for the receiver to decrypt ciphertect


using private key:
M = DKRb (C ) = DKRb [ EKUb ( M )]

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

M = DKRb [ EKUb ( M )] = DKUb [ EKRb ( M )]

Henric Johnson 5

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
• Echange a secret key securely
• Compute discrete logarithms

Henric Johnson 6
Diffie-Hellman Protocol (1976)
! Alice and Bob never met and share no secrets
! Public info: p and g
• p is a large prime number, g is a generator of Zp*
– Zp*={1, 2 … p-1}; !a"Zp* #i such that a=gi mod p
– Modular arithmetic: numbers “wrap around” after they reach p

Pick secret, random X Pick secret, random Y


gx mod p

gy mod p

Alice Bob
Compute k=(gy)x=gxy mod p Compute k=(gx)y=gxy mod p

Diffie-Hellman Key Echange

Henric Johnson 8
Why Is Diffie-Hellman Secure?
! Discrete Logarithm (DL) problem:
given gx mod p, it’s hard to extract x
• There is no known efficient algorithm for doing this
• This is not enough for Diffie-Hellman to be secure!
! Computational Diffie-Hellman (CDH) problem:
given gx and gy, it’s hard to compute gxy mod p
• … unless you know x or y, in which case it’s easy
! Decisional Diffie-Hellman (DDH) problem:
given gx and gy, it’s hard to tell the difference
between gxy mod p and gr mod p where r is random

Properties of Diffie-Hellman
! Assuming DDH problem is hard, Diffie-Hellman
protocol is a secure key establishment protocol
against passive attackers
• Eavesdropper can’t tell the difference between
established key and a random value
• Can use new key for symmetric cryptography
– Approx. 1000 times faster than modular exponentiation
Limitations of Diffie-Hellman
! Diffie-Hellman protocol alone does not provide
authentication
! Why?
• authentication means associating a certain identity
• needs to know whose public key this is

Rivest, Shamir and Adleman (1977)


RSA en/decryption

Example of RSA Algorithm

Henric Johnson 14
Why Is RSA Secure?
! RSA problem: given n=pq, e such that
gcd(e,(p-1)(q-1))=1 and c, find m such that
me=c mod n
• i.e., recover m from ciphertext c and public key (n,e)
by taking eth root of c
• There is no known efficient algorithm for doing this
! Factoring problem: given positive integer n, find
primes p1, …, pk such that n=p1e1p2e2…pkek
! If factoring is easy, then RSA problem is easy, but
there is no known reduction from factoring to RSA
• It may be possible to break RSA without factoring n

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

Henric Johnson 16
Applications of Public-Key Crypto
! Encryption for confidentiality
• Anyone can encrypt a message
– With symmetric crypto, must know secret key to encrypt
• Only someone who knows private key can decrypt
• Key management is simpler (maybe)
– Secret is stored only at one site: good for open environments
! Digital signatures for authentication
• Can “sign” a message with your private key
! Session key establishment
• Exchange messages to create a secret session key
• Then switch to symmetric cryptography (why?)

Advantages of Public-Key Crypto


! Confidentiality without shared secrets
• Very useful in open environments
• No “chicken-and-egg” key establishment problem
– With symmetric crypto, two parties must share a secret before
they can exchange secret messages
! Authentication without shared secrets
• Use digital signatures to prove the origin of messages
! Reduce protection of information to protection of
authenticity of public keys
• No need to keep public keys secret, but must be sure
that Alice’s public key is really her true public key
Disadvantages of Public-Key Crypto
! Calculations are 2-3 orders of magnitude slower
• Modular exponentiation is an expensive computation
• Typical usage: use public-key cryptography to establish
a shared secret, then switch to symmetric crypto
– We’ll see this in IPSec and SSL
! Keys are longer
• 1024 bits (RSA) rather than 128 bits (AES)
! Relies on unproven number-theoretic assumptions
• What if factoring is easy?
– Factoring is believed to be neither P, nor NP-complete

Encryption using Public-Key


system

Henric Johnson 20
Authentication using Public-
Key System

Henric Johnson 21

MAC in encryptions
MAC with secret value

Key Management
Public-Key Certificate Use

Henric Johnson 24

You might also like