Cryptography

Algorithms and Protocols:

Encryption Algorithms
encode the information so that the original message can not be retrieved by a third party;
Key-Exchange Algorithms
exchange secret keys over an insecure channel;
One-Way Hashing Algorithms
create a digest of a message so that the original cannot be modified and to get the same digest.

Secret-Key Encryption

The partners share a secret (the key) used to encrypt and decrypt the messages.

Simple Example -- the XOR algorithm

Analysis;

Real examples:

Public-Key Encryption Algorithms

Each partner has two keys: one public and one private. A message encrypted with one key can be decrypted only with the other.

Example:

Problems with the Public Key Algorithms:

Example: RSA Algorithm (Ron Rivest, Adi Shamir, Leonard Adleman)

Key-Exchange Protocols

The idea is that two partners, communicating through an unsecure channel, can create an information that is known by both and cannot be determined by a third party.

Example: Diffie-Hellman Key Exchange Protocol

One-Way Hash Functions

The purpose is to generate a digest of a message that has the following properties:

  • is relatively short (between 128 and 256 bits);
  • given a message it is easy to generate the digest;
  • given the message digest it is difficult to reconstruct the message;
  • given a hash value it is difficult to find a message which has the same hash value.
  • Examples:

    Prev Up Next