Encryption

Problems with symmetric algorithms

Public key cryptography

Public key cryptography

Public key cryptography

Security of Public key cryptography

Modulo arithmetics

+ 0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3
* 0 1 2 3 4
0 0 0 0 0 0
1 0 1 2 3 4
2 0 2 4 1 3
3 0 3 1 4 2
0 0 4 3 2 1

Primes

Hard problems

NP-complete problems

Number theory problems

Diffie-Hellman

  1. Alice chooses a random large integer x and sends Bob
    X = gx mod n
  2. Bob chooses a random large integer y and sends Alice
    Y = gy mod n
  3. Alice computes
    k1 = Yx mod n
  4. Bob computes
    k2 = Xy mod n
  5. k1 = k2 = gxy mod n

Knapsacks

Knapsack

Easy knapsack problem

Creating the public key from the private key

Encryption

Decryption

Practical implementation

Security of knapsacks

RSA

Key generation

Encryption and decryption

RSA

Digital Signatures

Digital Signatures using RSA

ElGamal

DSA

DSA

Public-key key length

Factoring algorithms

General number field sieve Special number field sieve
# of bits Mips-years # of bits Mips-years
512 30,000 512 < 200
768 2*108 768 100,000
1024 3*1011 1024 3*107
1280 1*1014 1280 3*109
1536 3*1016 1536 2*1011
2048 3*1016 2048 4*1014

Public-key key length

Year vs. Individual vs. Corporation vs. Goverment
1995 768 1280 1536
2000 1024 1280 1536
2005 1280 1536 2048
2010 1280 1536 2048
2015 1536 2048 2048

Key-escrow

Clipper

Chaffing and Winnowing

Message transfer

Message transfer

Message transfer

Summary

Next time