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.
- Trudy creates an e-mail order: “Dear Pizza Store, Please deliver to me four
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:
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 MoreCryptography: 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:
- Based on secrecy of the encryption algorithm.
- Key distribution was physical & therefore not as secure.
- Encryptions like the Caesar cipher were susceptible