🔒

Understanding Cryptographic Hashes and Signatures

May 25, 2025

Lecture on Cryptographic Hash and Digital Signatures

Introduction to Cryptographic Hash

  • Definition: Represents data as a short string of text, also known as a message digest or fingerprint.
  • Characteristics:
    • Not encryption; you cannot recreate data from a hash.
    • Used for data integrity; verify downloaded documents match originals.
    • Utilized in creating digital signatures for authentication, non-repudiation, and integrity.

Hashing Algorithms

  • SHA-256:
    • Common hashing algorithm.
    • Produces 256 bits represented as 64 hexadecimal characters.
    • Characteristics: a minor change in input results in a significantly different hash.
  • Collision:
    • Occurs when different inputs produce the same hash.
    • Example: MD5 algorithm (collision problem identified in 1996).
    • Recommendation: Avoid using MD5 due to collision vulnerability.

Practical Uses of Hashing

  • File Verification:
    • Ensures downloaded files match originals (e.g., ISO files from websites).
  • Storing Passwords:
    • Use hashed values (plus salt) instead of storing plain text passwords.
    • Salt adds randomness, preventing rainbow table attacks.
  • Rainbow Tables:
    • Pre-compiled lists of hashes for various inputs.
    • Salted hashes render rainbow tables ineffective.

Digital Signatures

  • Purpose: Ensures message integrity and authenticity (similar to physical signatures).
  • Functionality: Authentication, Integrity, and Non-repudiation.
  • Process of Creating a Digital Signature:
    • Sender (e.g., Alice) hashes the plain text and encrypts the hash with her private key.
    • Recipient (e.g., Bob) uses sender's public key to decrypt the digital signature.
    • Verifies integrity by comparing decrypted hash with a newly performed hash on the plain text.

Application in Email

  • Example Process:
    • Alice sends a message with a digital signature to Bob.
    • Bob verifies the message through his email client using the digital signature.
    • Ensures both the content integrity and validates sender authenticity.
    • If hashes match, the message is verified; if not, it indicates tampering or authenticity issues.