Hash Functions
Cryptography
◼ 3 cryptographic algorithms:
– Secret-key algorithms
◼ Use one single key to encrypt and decrypt.
– Public-key algorithms
◼ Use 2 different keys – public key and private
key.
– Message-digest algorithms
◼ Map variable-length plaintext to fixed-length
ciphertext.
2
Message-Digest
Algorithms
◼ It maps a variable-length input
message to a fixed-length output
digest.
◼ It is not feasible to determine the
original message based on its digest.
◼ It is impossible to find an arbitrary
message that has a desired digest.
◼ It is infeasible to find two messages
that have the same digest.
3
Message-Digest How to
◼ A hash function is a Original Message
math equation that (Document, E-mail)
create a message
digest from message.
◼ A message digest is
used to create a Hash Function
unique digital
signature from a
particular document.
Digest
◼ MD5 example
4
Message-Digest
Message-Digest Digest Length
Algorithm (bits)
MD2 128
MD4 128
MD5 128
Secure Hash 160
Algorithm (SHA)
5 All copyrights reserved by C.C. Cheung 2003.
Digital Signature Generation
and Verification
Message Sender Message Receiver
Message Message
Hash function Hash function
Public
Key
Digest
Private
Encryption Decryption
Key
Signature Expected Digest Digest
6 .
Digital Signature
◼ Reference
CSC1720 – Introduction to Internet 7
4 key services
◼ Authentication – Digital Certificate
– To identify a user who claim who he/she is, in order to access
the resource.
◼ Non-repudiation – Digital Signature
– To make the user becomes unable to deny that he/she has sent
the message, signed the document or participated in a
transaction.
◼ Confidentiality - Encryption
– To make the transaction secure, no one else is able to
read/retrieve the ongoing transaction unless the communicating
parties.
◼ Integrity - Encryption
– To ensure the information has not been tampered during
transmission.
8
Pretty Good Privacy
(PGP)
◼ Release in June 1991 by Philip
Zimmerman (PRZ)
◼ PGP is a hybrid cryptosystem that
allows user to encrypt and decrypt.
◼ Use session key “a random generated
number from the mouse movement or
keystrokes”
9
PGP encryption
◼ Reference
10
PGP decryption
◼ Reference
11
Summary
◼ Make sure you understand the relationship
between
– Encryption
– Digital Signature
– Digital Certificate
– Certificate Authority
◼ Understand which Public/Private key should
be used to encrypt/decrypt message
to/from you?
12