PRETTY GOOD
PRIVACY (PGP)
Security for Electronic Email
~ S. Janani, AP/CSE
Contents
• Introduction
• Why PGP
• Services
Problem
• E-Mail Security
Everyone on the way can read it!!
No Authentication. Everyone can pose as everyone
Size Limit
There are two main schemes which are especially
designed to provide confidentiality and
authentication for electronic mail systems.
These are:
PGP
(Pretty Good Privacy)
S/MIME
(Secure/Multipurpose Internet Mail Extension)
5
PGP
• Developed by Phil Zimmerman in 1995.
• Documentation and source code is freely available.
• The package is independent of operating system and
processor.
• PGP does not rely on the “establishment” and it’s
popularity and use have grown extensively since
1995.
6
Why PGP?
•PGP combines the best available cryptographic
algorithms to achieve secure e-mail communication.
•It is assumed that all users are using public key
cryptography and have generated a private/public key
pair.
•Either RSA (with RSA digital signatures) or
El Gamal (with DSA) can be used.
•All users also use a symmetric key system such as
triple DES or Rijndael.
7
Services of PGP
PGP offers 5 services:
1. Authentication – Digital Signature
2. Confidentiality – Symmetric Block Encryption
3. Compression - ZIP
4. E-mail compatibility – Radix 64
5. Segmentation
8
PGP S/MIME
PGP S/MIME
1. PGP Authentication
This is a digital signature scheme with hashing.
1. Alice has (private/public) key pair (Ad/Ae) and she
wants to send a digitally signed message m to Bob.
2. Alice hashes the message using SHA-1 to obtain
SHA(m).
3. Alice encrypts the hash using her private key Ad to
obtain ciphertext c given c=pk.encryptAd(SHA(m))
4. Alice sends Bob the pair (m,c)
5. Bob receives (m,c) and decrypts c using Alice's
public key Ae to obtain signature s
s=pk.decryptAe(c)
11
6. He computes the hash of m using SHA-1 and if this
hash value is equal to s then the message is
authenticated.
Bob is sure that the message is correct and that is
does come from Alice.
Furthermore Alice cannot later deny sending the
message since only Alice has access to her private
key Ad which works in conjunction with the public
key Ae.
12
PGP S/MIME
2. PGP Confidentiality
1. Alice wishes to send Bob a confidential message m.
2. Alice generates a random session key k for a symmetric
cryptosystem.
3. Alice encrypts k using Bob’s public key Be to get
k’ = pk.encryptBe(k)
4. Alice encrypts the message m with the session key k to
get ciphertext c c=sk.encryptk(m)
5. Alice sends Bob the values (k’,c)
6. Bob receives the values (k’,c) and decrypts k’ using his
private key Bd to obtain k k=pk.decryptBd(k’)
14
7. Bob uses the session key k to decrypt the
ciphertext c and recover the message m
m=sk.decryptk(c)
Public and symmetric key cryptosystems are
combined in this way to provide security for key
exchange and then efficiency for encryption. The
session key k is used only to encrypt message m
and is not stored for any length of time.
15
PGP S/MIME
PGP Authenticaton and Confidentiality (at
the same time)
The schemes for authentication and confidentiality can
be combined so that Alice can sign a confidential
message which is encrypted before transmission. The
steps required are as follows:
1. Alice generates a signature c for her message m as in
the Authentication scheme c=pk.encryptAd(SHA(m))
2. Alice generates a random session key k and encrypts the
message m and the signature c using a symmetric
cryptosystem to obtain ciphertext C=sk.encryptk(m,c)
3. She encrypts the session key k using Bob’s public key
k’ = pk.encryptBe(k)
4. Alice sends Bob the values (k’,C)
17
5. Bob recieves k’ and C and decrypts k’ using his
private key Bd to obtain the session key k
k=pk.decryptBd(k’)
6. Bob decrypts the ciphertext C using the session key k
to obtain m and c
(m,c) = sk.decryptk(C)
7. Bob now has the message m. In order to authenticate
it he uses Alice’s public key Ae to decrypt the signature
c and hashes the message m using SHA-1.
If SHA(m) = pk.decryptAe(c)
Then the message is authenticated.
18
3. PGP Compression
PGP can also compress the message if desired. The
compression algorithm is ZIP and the decompression
algorithm is UNZIP.
1. The original message m is signed as before to obtain
c=pk.encryptAd(SHA(m))
2. Now the original message m is compressed to obtain
M=ZIP(m)
3. Alice generates a session key k and encrypts the
compressed message and the signature using the
session key C=sk.encryptk(M,c)
19
4. The session key is encrypted using Bob’s public
key as before.
5. Alice sends Bob the encrypted session key and
ciphertext C.
6. Bob decrypts the session key using his private key
and then uses the session key to decrypt the
ciphertext C to obtain M and c
(M,c) = sk.decryptk(C)
7. Bob decompresses the message M to obtain the
original message m
m=UNZIP(M)
8. Now Bob has the original message m and
signature c. He verifies the signature using SHA-1
and Alice’s public key as before.
20
4. PGP E-Mail Compatibility
Many electronic mail systems can only transmit blocks
of ASCII text. This can cause a problem when sending
encrypted data since ciphertext blocks might not
correspond to ASCII characters which can be
transmitted.
PGP overcomes this problem by using radix-64
conversion.
21
Radix-64 conversion
Suppose the text to be encrypted has been converted
into binary using ASCII coding and encrypted to give a
ciphertext stream of binary.
Radix-64 conversion maps arbitrary binary into
printable characters as follows:
22
Radix-64 conversion
1. The binary input is split into blocks of 24 bits (3
bytes).
2. Each 24 block is then split into four sets each of 6-
bits.
3. Each 6-bit set will then have a value between 0 and
26-1 (=63).
4. This value is encoded into a printable character.
23
24
6 bit
value
Character
encoding
6 bit
value
Character
encoding
6 bit
value
Character
encoding
6 bit
value
Character
encoding
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Q
R
S
T
U
V
W
X
Y
Z
a
b
c
d
e
f
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
(pad)
w
x
y
z
0
1
2
3
4
5
6
7
8
9
+
/
=
5. PGP Segmentation
Another constraint of e-mail is that there is usually a
maximum message length.
PGP automatically blocks an encrypted message into
segments of an appropriate length.
On receipt, the segments must be re-assembled
before the decryption process.
25
Key Issues
1. Key Generation
Recall that a new session key is required each time
a message is encrypted. How are these keys
generated?
PGP uses the timing of key strokes and key
patterns to generate random numbers.
26
So a PGP message might consist of:
• Message component – the actual data to be
transmitted + a filename + a timestamp;
• Signature component – timestamp + hash of
message and timestamp + first part of message (so
user can check that they are decrypting correctly) +
Key ID of sender’s public key
• Session Key component – session key + key ID of
recipient’s public key
29
S/MIME – RFC5322
• Defines a format for text messages that are sent using
electronic mail
• Messages are viewed as having an envelope and
contents
• The envelope contains whatever information is needed to
accomplish transmission and delivery
• The contents compose the object to be delivered to the recipient
The content standard includes a set of header fields that
may be used by the mail system to create the envelope
Elements of MIME
Table 19.3
MIME Transfer Encodings
Five Header Fields
Table
19.2
MIME
Content
Types
Content
Formats
S/MIME Functions
• enveloped data
• encrypted content and associated keys
• signed data
• encoded message + signed digest
• clear-signed data
• cleartext message + encoded signed digest
• signed & enveloped data
• nesting of signed & encrypted entities
S/MIME Cryptographic Algorithms
• hash functions: SHA-1 & MD5
• digital signatures: DSS & RSA
• session key encryption: ElGamal & RSA
• message encryption: Triple-DES, RC2/40 and others
• have a procedure to decide which algorithms to use
S/MIME Certificate Processing
• S/MIME uses X.509 v3 certificates
• managed using a hybrid of a strict X.509 CA hierarchy &
PGP’s web of trust
• each client has a list of trusted CA’s certs
and own public/private key pairs & certs
• certificates must be signed by trusted CA’s
Certificate Authorities
• have several well-known CA’s
• Verisign one of most widely used
• Verisign issues several types of Digital IDs
• with increasing levels of checks & hence trust
Class Identity Checks Usage
1 name/email check web browsing/email
2+ enroll/addr check email, subs, s/w validate
3+ ID documents e-banking/service access
Summary
• E-Mail Security – importance
• PGP – Services
• S/MIME - Functions

More Related Content

PPTX
MAC-Message Authentication Codes
PPTX
Cryptographic Algorithms: DES and RSA
PPTX
Pgp pretty good privacy
PDF
2. public key cryptography and RSA
PPTX
Transposition Cipher
PPTX
Asymmetric Cryptography.pptx
PPTX
Principles of public key cryptography and its Uses
MAC-Message Authentication Codes
Cryptographic Algorithms: DES and RSA
Pgp pretty good privacy
2. public key cryptography and RSA
Transposition Cipher
Asymmetric Cryptography.pptx
Principles of public key cryptography and its Uses

What's hot (20)

PPT
Digital signature schemes
PPTX
IP Security
PPT
Cryptography and Network Security William Stallings Lawrie Brown
PPT
Chapter 15 - Security
PDF
RSA ALGORITHM
PPTX
Data Encryption Standard (DES)
PDF
CRYPTOGRAPHY AND NETWORK SECURITY
PPTX
SHA- Secure hashing algorithm
PDF
Network security - OSI Security Architecture
PDF
Electronic mail security
PPTX
Kerberos
PPTX
Internet Key Exchange Protocol
PPTX
AES KEY EXPANSION .pptx
PDF
Computer Security Lecture 7: RSA
PPTX
Cryptography and Information Security
PPT
The rsa algorithm
PPTX
Kerberos
PDF
AES-Advanced Encryption Standard
PPTX
Key Management and Distribution
Digital signature schemes
IP Security
Cryptography and Network Security William Stallings Lawrie Brown
Chapter 15 - Security
RSA ALGORITHM
Data Encryption Standard (DES)
CRYPTOGRAPHY AND NETWORK SECURITY
SHA- Secure hashing algorithm
Network security - OSI Security Architecture
Electronic mail security
Kerberos
Internet Key Exchange Protocol
AES KEY EXPANSION .pptx
Computer Security Lecture 7: RSA
Cryptography and Information Security
The rsa algorithm
Kerberos
AES-Advanced Encryption Standard
Key Management and Distribution
Ad

Similar to PGP S/MIME (20)

PPTX
Email sec11
PPTX
Pretty good privacy
PPT
CRYPTOGRAPHY_ENGG_CSE_III_YEAR_PGP_CNS.ppt
DOCX
network and cyber security
PDF
Email Security Pretty Good Privacy (PGP),Services Provided by PGP.pdf
PPTX
E mail security
PPTX
Network security
PPTX
module 4_7th sem_ Electronic Mail Security.pptx
PDF
M.FLORENCE DAYANA/electronic mail security.pdf
PPT
electronic mail security for authent.ppt
PPT
Email security
PDF
CNS - Unit v
PPT
S-MIMEemail-security.ppt
PDF
BAIT1103 Chapter 5
PPT
Pgp smime
Email sec11
Pretty good privacy
CRYPTOGRAPHY_ENGG_CSE_III_YEAR_PGP_CNS.ppt
network and cyber security
Email Security Pretty Good Privacy (PGP),Services Provided by PGP.pdf
E mail security
Network security
module 4_7th sem_ Electronic Mail Security.pptx
M.FLORENCE DAYANA/electronic mail security.pdf
electronic mail security for authent.ppt
Email security
CNS - Unit v
S-MIMEemail-security.ppt
BAIT1103 Chapter 5
Pgp smime
Ad

More from Sou Jana (20)

PPTX
Cyber-Attacks-in-SEVEN OSI -Layers .pptx
PPTX
UHV Self Management and Peer Pressure.pptx
PPTX
RC4.pptx
PPT
X.509 Certificates
PPT
Digital Signature Standard
PPT
Message Authentication Requirement-MAC
PPT
Kerberos
PPTX
Elliptic Curve Cryptography
PPT
Elgamal Digital Signature
PPT
Key management.ppt
PPTX
Mathematics of Asymmetric cryptography
PPTX
RSA Algm.pptx
PPTX
Diffie Hellman.pptx
PPTX
Security Model
PPTX
Classical Encryption Techniques
PPTX
Perfect Security
PPTX
Cryptanalysis
PPTX
Information Theory
PPTX
Product Cipher
PPTX
Multicore and shared multi processor
Cyber-Attacks-in-SEVEN OSI -Layers .pptx
UHV Self Management and Peer Pressure.pptx
RC4.pptx
X.509 Certificates
Digital Signature Standard
Message Authentication Requirement-MAC
Kerberos
Elliptic Curve Cryptography
Elgamal Digital Signature
Key management.ppt
Mathematics of Asymmetric cryptography
RSA Algm.pptx
Diffie Hellman.pptx
Security Model
Classical Encryption Techniques
Perfect Security
Cryptanalysis
Information Theory
Product Cipher
Multicore and shared multi processor

Recently uploaded (20)

PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PPT
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
PPTX
CyberSecurity Mobile and Wireless Devices
PDF
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
PDF
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
PPTX
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
PDF
Categorization of Factors Affecting Classification Algorithms Selection
PPTX
Current and future trends in Computer Vision.pptx
PDF
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
PDF
Design Guidelines and solutions for Plastics parts
PPTX
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
PDF
Visual Aids for Exploratory Data Analysis.pdf
PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PDF
Soil Improvement Techniques Note - Rabbi
PDF
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
PPTX
Software Engineering and software moduleing
PPTX
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
CyberSecurity Mobile and Wireless Devices
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
Categorization of Factors Affecting Classification Algorithms Selection
Current and future trends in Computer Vision.pptx
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
Design Guidelines and solutions for Plastics parts
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
Visual Aids for Exploratory Data Analysis.pdf
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
August 2025 - Top 10 Read Articles in Network Security & Its Applications
Soil Improvement Techniques Note - Rabbi
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
Software Engineering and software moduleing
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...

PGP S/MIME

  • 1. PRETTY GOOD PRIVACY (PGP) Security for Electronic Email ~ S. Janani, AP/CSE
  • 4. Everyone on the way can read it!! No Authentication. Everyone can pose as everyone Size Limit
  • 5. There are two main schemes which are especially designed to provide confidentiality and authentication for electronic mail systems. These are: PGP (Pretty Good Privacy) S/MIME (Secure/Multipurpose Internet Mail Extension) 5
  • 6. PGP • Developed by Phil Zimmerman in 1995. • Documentation and source code is freely available. • The package is independent of operating system and processor. • PGP does not rely on the “establishment” and it’s popularity and use have grown extensively since 1995. 6
  • 7. Why PGP? •PGP combines the best available cryptographic algorithms to achieve secure e-mail communication. •It is assumed that all users are using public key cryptography and have generated a private/public key pair. •Either RSA (with RSA digital signatures) or El Gamal (with DSA) can be used. •All users also use a symmetric key system such as triple DES or Rijndael. 7
  • 8. Services of PGP PGP offers 5 services: 1. Authentication – Digital Signature 2. Confidentiality – Symmetric Block Encryption 3. Compression - ZIP 4. E-mail compatibility – Radix 64 5. Segmentation 8
  • 11. 1. PGP Authentication This is a digital signature scheme with hashing. 1. Alice has (private/public) key pair (Ad/Ae) and she wants to send a digitally signed message m to Bob. 2. Alice hashes the message using SHA-1 to obtain SHA(m). 3. Alice encrypts the hash using her private key Ad to obtain ciphertext c given c=pk.encryptAd(SHA(m)) 4. Alice sends Bob the pair (m,c) 5. Bob receives (m,c) and decrypts c using Alice's public key Ae to obtain signature s s=pk.decryptAe(c) 11
  • 12. 6. He computes the hash of m using SHA-1 and if this hash value is equal to s then the message is authenticated. Bob is sure that the message is correct and that is does come from Alice. Furthermore Alice cannot later deny sending the message since only Alice has access to her private key Ad which works in conjunction with the public key Ae. 12
  • 14. 2. PGP Confidentiality 1. Alice wishes to send Bob a confidential message m. 2. Alice generates a random session key k for a symmetric cryptosystem. 3. Alice encrypts k using Bob’s public key Be to get k’ = pk.encryptBe(k) 4. Alice encrypts the message m with the session key k to get ciphertext c c=sk.encryptk(m) 5. Alice sends Bob the values (k’,c) 6. Bob receives the values (k’,c) and decrypts k’ using his private key Bd to obtain k k=pk.decryptBd(k’) 14
  • 15. 7. Bob uses the session key k to decrypt the ciphertext c and recover the message m m=sk.decryptk(c) Public and symmetric key cryptosystems are combined in this way to provide security for key exchange and then efficiency for encryption. The session key k is used only to encrypt message m and is not stored for any length of time. 15
  • 17. PGP Authenticaton and Confidentiality (at the same time) The schemes for authentication and confidentiality can be combined so that Alice can sign a confidential message which is encrypted before transmission. The steps required are as follows: 1. Alice generates a signature c for her message m as in the Authentication scheme c=pk.encryptAd(SHA(m)) 2. Alice generates a random session key k and encrypts the message m and the signature c using a symmetric cryptosystem to obtain ciphertext C=sk.encryptk(m,c) 3. She encrypts the session key k using Bob’s public key k’ = pk.encryptBe(k) 4. Alice sends Bob the values (k’,C) 17
  • 18. 5. Bob recieves k’ and C and decrypts k’ using his private key Bd to obtain the session key k k=pk.decryptBd(k’) 6. Bob decrypts the ciphertext C using the session key k to obtain m and c (m,c) = sk.decryptk(C) 7. Bob now has the message m. In order to authenticate it he uses Alice’s public key Ae to decrypt the signature c and hashes the message m using SHA-1. If SHA(m) = pk.decryptAe(c) Then the message is authenticated. 18
  • 19. 3. PGP Compression PGP can also compress the message if desired. The compression algorithm is ZIP and the decompression algorithm is UNZIP. 1. The original message m is signed as before to obtain c=pk.encryptAd(SHA(m)) 2. Now the original message m is compressed to obtain M=ZIP(m) 3. Alice generates a session key k and encrypts the compressed message and the signature using the session key C=sk.encryptk(M,c) 19
  • 20. 4. The session key is encrypted using Bob’s public key as before. 5. Alice sends Bob the encrypted session key and ciphertext C. 6. Bob decrypts the session key using his private key and then uses the session key to decrypt the ciphertext C to obtain M and c (M,c) = sk.decryptk(C) 7. Bob decompresses the message M to obtain the original message m m=UNZIP(M) 8. Now Bob has the original message m and signature c. He verifies the signature using SHA-1 and Alice’s public key as before. 20
  • 21. 4. PGP E-Mail Compatibility Many electronic mail systems can only transmit blocks of ASCII text. This can cause a problem when sending encrypted data since ciphertext blocks might not correspond to ASCII characters which can be transmitted. PGP overcomes this problem by using radix-64 conversion. 21
  • 22. Radix-64 conversion Suppose the text to be encrypted has been converted into binary using ASCII coding and encrypted to give a ciphertext stream of binary. Radix-64 conversion maps arbitrary binary into printable characters as follows: 22
  • 23. Radix-64 conversion 1. The binary input is split into blocks of 24 bits (3 bytes). 2. Each 24 block is then split into four sets each of 6- bits. 3. Each 6-bit set will then have a value between 0 and 26-1 (=63). 4. This value is encoded into a printable character. 23
  • 24. 24 6 bit value Character encoding 6 bit value Character encoding 6 bit value Character encoding 6 bit value Character encoding 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A B C D E F G H I J K L M N O P 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Q R S T U V W X Y Z a b c d e f 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 g h i j k l m n o p q r s t u v 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 (pad) w x y z 0 1 2 3 4 5 6 7 8 9 + / =
  • 25. 5. PGP Segmentation Another constraint of e-mail is that there is usually a maximum message length. PGP automatically blocks an encrypted message into segments of an appropriate length. On receipt, the segments must be re-assembled before the decryption process. 25
  • 26. Key Issues 1. Key Generation Recall that a new session key is required each time a message is encrypted. How are these keys generated? PGP uses the timing of key strokes and key patterns to generate random numbers. 26
  • 27. So a PGP message might consist of: • Message component – the actual data to be transmitted + a filename + a timestamp; • Signature component – timestamp + hash of message and timestamp + first part of message (so user can check that they are decrypting correctly) + Key ID of sender’s public key • Session Key component – session key + key ID of recipient’s public key 29
  • 28. S/MIME – RFC5322 • Defines a format for text messages that are sent using electronic mail • Messages are viewed as having an envelope and contents • The envelope contains whatever information is needed to accomplish transmission and delivery • The contents compose the object to be delivered to the recipient The content standard includes a set of header fields that may be used by the mail system to create the envelope
  • 33. S/MIME Functions • enveloped data • encrypted content and associated keys • signed data • encoded message + signed digest • clear-signed data • cleartext message + encoded signed digest • signed & enveloped data • nesting of signed & encrypted entities
  • 34. S/MIME Cryptographic Algorithms • hash functions: SHA-1 & MD5 • digital signatures: DSS & RSA • session key encryption: ElGamal & RSA • message encryption: Triple-DES, RC2/40 and others • have a procedure to decide which algorithms to use
  • 35. S/MIME Certificate Processing • S/MIME uses X.509 v3 certificates • managed using a hybrid of a strict X.509 CA hierarchy & PGP’s web of trust • each client has a list of trusted CA’s certs and own public/private key pairs & certs • certificates must be signed by trusted CA’s
  • 36. Certificate Authorities • have several well-known CA’s • Verisign one of most widely used • Verisign issues several types of Digital IDs • with increasing levels of checks & hence trust Class Identity Checks Usage 1 name/email check web browsing/email 2+ enroll/addr check email, subs, s/w validate 3+ ID documents e-banking/service access
  • 37. Summary • E-Mail Security – importance • PGP – Services • S/MIME - Functions