Cryptography: Hash Functions, Public Key, SSL, and PGP

Hash Function Algorithms

MD5: A widely used hash function (RFC 1321) that computes a 128-bit message digest in a 4-step process. For any arbitrary 128-bit string x, it appears difficult to construct a message m whose MD5 hash is equal to x.

SHA-1: Another hash function in use. It is a US standard [NIST, FIPS PUB 180-1] and produces a 160-bit message digest.

Public-Key Certification

Motivation: Trudy plays a pizza prank on Bob.

  1. Trudy creates an e-mail order: “Dear Pizza Store, Please deliver to me four
Read More

Message Authentication Codes (MAC) and Hash Functions in Cryptography

Message Authentication Codes (MAC)

An alternative authentication technique involves the use of a secret key to generate a small fixed-size block of data, known as a cryptographic checksum or MAC, that is appended to the message.

  • Condenses a variable-length message using a secret key to a fixed-size authenticator.
  • This technique assumes that two communicating parties, say A and B, share a common secret key.
  • When A has a message to send to B, it calculates the MAC as a function of the message and key:
Read More

Cryptography Concepts and Security Analysis

1. Consider the mono-alphabetic substitution cipher (Lecture 1, slide 20). What is the size of its key space? -26!

2. Consider the poly-alphabetic substitution cipher (Lecture 1, slide 22). What is the size of its key space? -26^t (that is, 26 to the power of t)

3. You know that a meaningful plaintext in a language with an x-letter alphabet is encrypted using either the mono-alphabetic substitution cipher or the poly-alphabetic substitution cipher (with a key of t random numbers in [1,x], for a known

Read More

Cryptography: Concepts, Algorithms, and Security

Prime Numbers, GCD, and Congruence

Prime Numbers: Numbers > 1 with no divisors other than 1 & itself.

GCD: Largest positive integer dividing 2 numbers without a remainder.

Congruence: 2 numbers are congruent modulo N if they have the same remainder when divided by N (A ≡ B mod N).

Classical vs. Modern Cryptography

Classical Cryptography:

  1. Based on secrecy of the encryption algorithm.
  2. Key distribution was physical & therefore not as secure.
  3. Encryptions like the Caesar cipher were susceptible
Read More