CSCE 465 Lecture 22

From Notes
Jump to navigation Jump to search

« previous | Thursday, April 11, 2013 | next »


RSA (cont'd)

Timing Attack (cont'd)

Attacker figures out key bit-by-bit by timing how long each step takes to calculate.

countermeasures:

  • slow down computation (already very slow)
  • add random delay (still already slow)
  • blinding: multiply ciphertext by random number before performing decryption.


Blinding

  1. compute random number relatively prime to (i.e. )
  2. comptue
  3. compute
  4. compute

Other application in Decryption as a service: multiply ciphertext by random number before sending it to decryption service. Divide by when decrypted "plaintext" is received.

Performance penalty of less than 10% in decryption speed.


Diffie-Hellman Key Exchange

Used for negotiating shared secret key using only public communication. First development of public key cryptography, but not to be used for encryption.

Note: Does not provide authentication of communicating parties

Requirements (can be publicly known):

  • Large prime (512 bits):
  • Primitive root (generator) of :
  1. Each party secretly picks a random number and
  2. each party computes public key and and shares with each other
  3. Each party raises key to the (random number) power to get as the secret key.

This is secure since computing the discrete logarithm is computationally infeasible.

Limitations

  • timing attacks (expensive exponentiation)
  • Only useful for key negotiation
  • Not used for anything else

Man-In-The-Middle Attack

Trudy impersonates Alice to Bob and chooses own S"a" for negotiations with Bob.

This attack works if all traffic between Alice and Bob is transferred through Trudy (Alice/Trudy have key , and Trudy/Bob</math> have different key )

Authentication Requires already-known secret

Phone-Book Mode: Authenticating D-H Messages

  1. Alice and Bob each choose a semi-permanent secret number
  2. publish and for each other to retrieve and generate keys at any time.
  3. Each key generation must use same , , and random number.

Picking and :

  • Advantageous to change periodically.
  • Choose large, difficult to factor
  • Choose non quadratic residue

Public Key and Certification Authorities (CA)

  • A CA is a trusted node that maintains public keys for all nodes (Each node maintains its own private key).
  • They also make a lot of money.
  • certificate = signed message vouching that particular name goes with particular key:
    • [Alice's public key is 876234]carol
    • [Carol's public key is 676554]ted 7amp; [Alice's public key is 876234]carol
  • Knowing Certification Authority's key validates the alleged public key

PKI = Public Key Infrastructure: supports use of public key cryptography

CA is one of most important components of PKI