Chapter 2
Cryptographic Tools
Symmetric Encryption
• The universal technique for providing
confidentiality for transmitted or stored data
• Also referred to as conventional encryption or
single-key encryption
• Two requirements for secure use:
• Need a strong encryption algorithm
• Sender and receiver must have obtained copies
of the secret key in a secure fashion
and must keep the key secure
Attacking Symmetric
Encryption
Cryptanalytic Attacks Brute-Force Attacks
Rely on:
Try all possible keys on some
Nature of the algorithm ciphertext until an intelligible
Some knowledge of the translation into plaintext is
general characteristics of the obtained
plaintext On average half of all
possible keys must be tried to
Some sample plaintext- achieve success
ciphertext pairs
Exploits the characteristics of
the algorithm to attempt to
deduce a specific plaintext or
the key being used
If successful all future and past
messages encrypted with that
key are compromised
Table 2.1
Comparison of Three Popular
Symmetric Encryption Algorithms
Data Encryption Standard
(DES)
• Until recently was the most widely
used encryption scheme
• FIPS PUB 46
• Referred to as the Data Encryption
Algorithm (DEA)
• Uses 64 bit plaintext block and 56 bit
key to produce a 64 bit ciphertext block
Strength concerns:
• Concerns about the algorithm itself
• DES is the most studied encryption
algorithm in existence
• Concerns about the use of a 56-bit
key
• The speed of commercial off-the-shelf
processors makes this key length woefully
inadequate
Table 2.2
Average Time Required for Exhaustive Key
Search
Triple DES (3DES)
Repeats basic DES algorithm three times using
either two or three unique keys
First standardized for use in financial applications
in ANSI standard X9.17 in 1985
Attractions:
168-bit key length overcomes the vulnerability to brute-
force attack of DES
Underlying encryption algorithm is the same as in DES
Drawbacks:
Algorithm is sluggish in software
Uses a 64-bit block size
Advanced Encryption
Standard (AES)
NIST called Selected
Needed a
for proposals Rijndael in
replacement
for a new AES November
for 3DES
in 1997 2001
Should have a
security strength
equal to or better
than 3DES
Significantly
3DES was not improved efficiency
Published as
reasonable for
long term use FIPS 197
Symmetric block
cipher
128 bit data and
128/192/256 bit keys
Block & Stream Ciphers
Block
Cipher
• Processes the input one block of elements at a time
• Produces an output block for each input block
• Can reuse keys
• More common
Stream
Cipher
• Processes the input elements continuously
• Produces output one element at a time
• Primary advantage is that they are almost always faster
and use far less code
• Encrypts plaintext one byte at a time
• Pseudorandom stream is one that is unpredictable
without knowledge of the input key
Message
Authentication
Protects against
active attacks
• Contents have not been
Verifies received altered
message is • From authentic source
• Timely and in correct
authentic sequence
Can use
• Only sender and receiver
conventional share a key
encryption
Message Authentication
Without Confidentiality
• Message encryption by itself does not provide a secure
form of authentication
• It is possible to combine authentication and confidentiality
in a single algorithm by encrypting a message plus its
authentication tag
• Typically message authentication is provided as a separate
function from message encryption
• Situations in which message authentication without
confidentiality may be preferable include:
• There are a number of applications in which the same message is broadcast to
a number of destinations
• An exchange in which one side has a heavy load and cannot afford the time to
decrypt all incoming messages
• Authentication of a computer program in plaintext is an attractive service
• Thus, there is a place for both authentication and
encryption in meeting security requirements
One-Way Hash
Function
• An alternative to the message authentication code
• As with the message authentication code, a hash
function accepts a variable-size message M as input
and produces a fixed-size message digest H(M) as
output
• Unlike the MAC, a hash function does not take a secret
key as input
To be useful for message
authentication, a hash function H must have the
following properties:
Can be applied to a block of data of any size
Produces a fixed-length output
H(x) is relatively easy to compute for any given x
One-way or pre-image resistant
• Computationally infeasible to find x such that H(x) = h
Computationally infeasible to find y ≠ x such that H(y) = H(x)
Collision resistant or strong collision resistance
• Computationally infeasible to find any pair (x,y) such that H(x) = H(y)
Security of Hash
Functions
There are two
SHA most widely Additional secure
approaches to
used hash hash function
attacking a secure
algorithm applications:
hash function:
Cryptanalysis Passwords
• Exploit logical • Hash of a password is
weaknesses in the stored by an operating
algorithm system
Brute-force attack Intrusion detection
• Strength of hash • Store H(F) for each file
function depends solely on a system and secure
on the length of the the hash values
hash code produced by
the algorithm
Public-Key Encryption
Structure
Asymmetri
c
Publicly • Uses two Some form
proposed Based on separate of protocol
by Diffie mathemati keys is needed
and cal • Public key for
Hellman in functions and private distributio
1976 key n
• Public key
is made
public for
others to
use
Plaintext
Readable message or data that is fed into the algorithm as input
Encryption algorithm
Performs transformations on the plaintext
Public and private key
Pair of keys, one for encryption, one for decryption
Ciphertext
Scrambled message produced as output
Decryption key
Produces the original plaintext
User encrypts data using his or
her own private key
Anyone who knows the
corresponding public key will be
able to decrypt the message
Table 2.3
Applications for Public-Key
Cryptosystems
Requirements for Public-Key
Cryptosystems
Computationally
easy to create key
pairs
Computationally
Useful if either key easy for sender
can be used for knowing public key
each role to encrypt
messages
Computationally Computationally
infeasible for easy for receiver
opponent to knowing private key
otherwise recover to decrypt
original message ciphertext
Computationally
infeasible for
opponent to
determine private
key from public key
Digital Signatures
NIST FIPS PUB 186-4 defines a digital signature as:
”The result of a cryptographic transformation of data that,
when properly implemented, provides a mechanism for
verifying origin authentication, data integrity and
signatory non-repudiation.”
Thus, a digital signature is a data-dependent bit pattern,
generated by an agent as a function of a file, message, or other
form of data block
FIPS 186-4 specifies the use of one of three digital signature
algorithms:
Digital Signature Algorithm (DSA)
RSA Digital Signature Algorithm
Elliptic Curve Digital Signature Algorithm (ECDSA)
Caesar Cipher (Classical
Encryption Example)
• Earliest known substitution cipher
• Invented by Julius Caesar
• Each letter is replaced by the letter three positions
further down the alphabet.
• Plain: a b c d e f g h i j k l m n o p q r s t u v w x y z
Cipher: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
• Example: ohio state RKLR VWDWH
27
Caesar Cipher
• Mathematically, map letters to numbers:
a, b, c, ..., x, y, z
0, 1, 2, ..., 23, 24, 25
• Then the general Caesar cipher is:
c = EK(p) = (p + k) mod 26
p = DK(c) = (c – k) mod 26
• Can be generalized with any alphabet.
• Key space: {0, 1, ..., 25}
• Vulnerable to brute-force attacks. 28
Monoalphabetic Substitution Cipher
(Classical Encryption Example)
• Shuffle the letters and map each plaintext letter to a
different random ciphertext letter:
Plain letters: abcdefghijklmnopqrstuvwxyz
Cipher letters: DKVQFIBJWPESCXHTMYAUOLRGZN
Plaintext: ifwewishtoreplaceletters
Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
29
Monoalphabetic Cipher Security
• Now we have a total of 26! = 4 x 1026 keys.
• With so many keys, it is secure against brute-
force attacks.
• But not secure against some cryptanalytic
attacks.
• Problem is language characteristics.
30
Language Statistics and Cryptanalysis
• Human languages are not random.
• Letters are not equally frequently used.
• In English, E is by far the most common letter,
followed by T, R, N, I, O, A, S.
• Other letters like Z, J, K, Q, X are fairly rare.
• Double letters: th he an in er re es on, …
• Triple letters: the and ent ion tio for nde, …
31
Statistics for double & triple letters
• In decreasing order of frequency
• Double letters:
th he an in er re es on, …
• Triple letters:
the and ent ion tio for nde, …
32