Cryptography- Public Key Encryption Algorithms

This lesson discusses the development of public key cryptography as an alternate to the more traditional private key systems, its advantages and disadvantages, and describes the Diffie-Hellman algorithm.


  • understand the general concept of public key cryptography
  • know the distinction between the public and private keys
  • understand how the Diffie-Hellman key exchange algorithm works
  • Public-Key Cryptography

    1. Private-Key Cryptography
    2. Public-Key Cryptography
    3. Public-Key Cryptography
    4. Theory of Public Key
    5. Classes of Public-Key Algorithms
      Public-Key Distribution Schemes (PKDS)
      • used to securely exchange a single piece of information
      • value depends on the two parties, but cannot be set
      • value is normally used as a session key for a private-key scheme
      Public Key Encryption (PKE)
      • used to encrypt any arbitrary message
      • anyone can use the public-key to encrypt a message
      • owner uses the private-key to decrypt the messages
      • any public-key encryption scheme can be used as a PKDS by using the session key as the message
      • many public-key encryption schemes are also signature schemes (provided encryption & decryption can be done in either order)
      Signature Schemes
      • used to create a digital signature for some message
      • owner uses private-key to signs (create) the signature
      • anyone can use the public-key to verify the signature

      Distinguish between 3 classes of public key algorithms, depending on their use. We will consider each of these classes of algorithms in turn.

    6. Security of Public Key Schemes

    Diffie-Hellman Public-Key Distribution Scheme

    1. Diffie-Hellman Public-Key Distribution Scheme
    2. Diffie-Hellman Public-Key Distribution Scheme
    3. Diffie-Hellman Setup
    4. Diffie-Hellman Key Exchange
    5. Diffie-Hellman Example
    6. Diffie-Hellman in Practise
    7. Multi-Precision Arithmetic
    8. Faster Modulo Reduction
    9. Chivers Algorithm