lecture3 - Academic Csuohio

advertisement
EEC 688/788
Secure and Dependable Computing
Lecture 3
Wenbing Zhao
Department of Electrical and Computer Engineering
Cleveland State University
wenbing@ieee.org
3/22/2016
EEC688: Secure & Dependable Computing
1
Outline

Introduction to cryptography




Symmetric-key algorithms


Terminology
Basic encryption methods
One time pad
DES, AES, etc
Cipher modes
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Cryptography Terminology

Encryption is the process of encoding a message
so that its meaning is not obvious


Decryption is the reverse process, transforming an
encrypted message back into its normal, original
form



Equivalent terms: encode, encipher
Equivalent terms: decode, decipher
Plaintext: message to be encrypted
Ciphertext: encrypted message
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Cryptography Terminology


The cryptosystem involves a set of rules for how to
encrypt the plaintext and how to decrypt the
ciphertext
Why encryption?

It addresses the need for confidentiality of data, also helps
to ensure integrity

It forms the basis of protocols that enable us to provide
security while accomplishing system or network tasks
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Cryptography Terminology



The encryption and decryption rules are called
encryption and decryption algorithms
Encryption/decryptions algorithms often use a
device called a key, denoted by K, so that the
resulting ciphertext depends on the original plaintext
message, the algorithm, and the key value
An encryption scheme that does not require the use
of a key is called a keyless cipher
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Symmetric Encryption




The encryption and decryption keys are the same,
so P = D(K, E(K,P))
D and E are closely related. They are mirror-image
processes
The symmetric systems provide a two-way channel
to their users
The symmetry of this situation is a major advantage
of this type of encryption, but it also leads to a
problem: key distribution
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Symmetric Encryption

DK(EK(P)) = P
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Asymmetric Encryption


Encryption and decryption keys come in pairs.
The decryption key, KD, inverts the encryption
of key KE, so that
P = D(KD, E(KE,P))
Asymmetric encryption systems excel at key
management
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Cryptology


Cryptology is the research into and study of
encryption and decryption; it includes both
cryptography and cryptanalysis
Cryptography – art of devising ciphers


Comes from Greek words for “secret writing”. It refers to the
practice of using encryption to conceal text
Cryptanalysis – art of breaking ciphers

Study of encryption and encrypted messages, hoping to find
the hidden meanings
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Cryptanalysis





Attempt to break a single message
Attempt to recognize patterns in encrypted messages,
to be able to break subsequent ones
Attempt to deduce the key, in order to break
subsequent messages easily
Attempt to find weaknesses in the implementation or
environment of use of encryption
Attempt to find general weaknesses in an encryption
algorithm
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Cryptanalysis

Traffic analysis: attempt to infer some meaning
without even breaking the encryption, e.g.,


Noticing an unusual frequency of communication
Determining something by whether the communication was
short or long
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Cryptanalysis –
Breaking Encryption Schemes



Ciphertext-only: cryptanalyst has a quantity of
ciphertext and no plaintext
Known plaintext: cryptanalyst has some matched
ciphertext and plaintext
Chosen plaintext: cryptanalyst has the ability to
encrypt pieces of plaintext of his own choosing
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
12
Wenbing Zhao
Basic Encryption Methods


Substitution ciphers: one letter is exchanged
for another
Transposition ciphers: order of letters is
rearranged
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Substitution Ciphers


Idea: each letter or group of letters is replaced by
another letter or group of letters
Caesar cipher – circularly shift by 3 letters



a -> D, b -> E, … z -> C
More generally, shift by k letters, k is the key
Monoalphabetic cipher – map each letter to some
other letter


A b c def … wx yz
Q W E R T Y … V B N M <= the key
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Cryptanalysis of Substitution Ciphers



Brute force cryptanalysis would have to try 26! permutations of a
particular ciphertext message
Smarter way: use frequencies of letters, pairs of letter etc., or by
guessing a probable word or phrase. Most frequently occurred
 Letters: e, t, o, a, n, …
 Digrams: th, in, er, re, an, …
 Trigrams: the, ing, and, ion, ent
 Words: the, of, and, to, a, in, that, …
When messages are long enough, the frequency distribution
analysis quickly betrays many of the letters of the plaintext
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Transposition Ciphers



Substitution cipher – preserves order of plaintext
symbols but disguises them
Transposition cipher – reorders (rearrange) symbols
but does not disguise them. It is also called
permutation
With transposition, the cryptography aims for


Widely spreading the information from the message or the
key across the ciphertext
Transpositions try to break established patterns
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Columnar Transposition



Plaintext written in rows, number of columns
= key length
Key is used to number the columns
Ciphertext read out by columns, starting with
column whose key letter is lowest
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
Columnar Transposition

A transposition cipher example
3/22/2016
EEC688: Secure & Dependable Computing
Wenbing Zhao
One-Time Pads

One-time pad: construct an unbreakable cipher
Choose a random bit string as the key
 Convert the plaintext into a bit string
 Compute the XOR of these two strings, bit by bit
 The resulting ciphertext cannot be broken, because in a
sufficiently large sample of ciphertext, each letter will occur
equally often, as will every digram, every trigram, and so on
=> There is simply no information in the message because all
possible plaintexts of the given length are equally likely

3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
19
Wenbing Zhao
One-Time Pads

Disadvantages



The key cannot be memorized, both sender and
receiver must carry a written copy with them
Total amount of data can be transmitted is limited
by the amount of key available
Sensitive to lost or inserted characters
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
20
Wenbing Zhao
Symmetric-Key Algorithms




DES – The Data Encryption Standard
AES – The Advanced Encryption Standard
Other Ciphers
Cipher Modes
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
21
Wenbing Zhao
Data Encryption Standard





Developed by IBM. US standard for unclassified info (1977)
Same key for encryption as for decryption
Encrypts in 64-bit blocks
Uses 56-bit key
Has 19 stages,
16 parameterized
by different
functions of
the key
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
22
Wenbing Zhao
Triple DES

Triple DES – effectively increases the key length. It
uses two keys and three stages



In first stage, the plaintext is encrypted using DES in the
usual way with K1
In second stage, DES is run in decryption mode, using K2 as
the key
In third stage, another DES encryption is done with K1
Triple DES encryption
3/22/2016
3/22/2016
Triple DES decryption
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
23
Wenbing Zhao
AES – The Advanced Encryption Standard

AES is a result of a cryptographic contest


Organized by NIST in 1997
Rules for AES proposals
The algorithm must be a symmetric block cipher
2.
The full design must be public
3.
Key lengths of 128, 192, and 256 bits supported
4.
Both software and hardware implementations required
5.
The algorithm must be public or licensed on nondiscriminatory
terms
Winner: Rijndael (from two Belgian cryptographers: Joan Daemen
and Vincent Rijmen)
1.

3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
24
Wenbing Zhao
Other Symmetric-Key Ciphers
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
25
Wenbing Zhao
Stream Ciphers

Stream ciphers: convert one symbol of plaintext immediately into
a symbol of ciphertext
 The transformation depends only on the symbol, the key, and the
control information of the encryption algorithm
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
26
Wenbing Zhao
Block Ciphers

Block cipher: encrypts a group of plaintext symbols as one block
 It works on blocks of plaintext and produce blocks of ciphertext
 The columnar transposition is an example of block ciphers
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
27
Wenbing Zhao
Cipher Modes

A block cipher (e.g., AES & DES) is basically a
monoalphabetic substitution cipher using big
characters



Whenever the same plaintext block goes in the front end,
the same ciphertext block comes out the back end
If you encrypt the plaintext abcdefgh 100 times with same
DES key, you get the same ciphertext 100 times
An intruder can exploit this property to help subvert the
cipher
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
28
Wenbing Zhao
Electronic Code Book Mode


In ECB mode, each plaintext block is encrypted independently with
the block cipher
ECB allows easy parallelization to yield higher performance.
However, no processing is possible before a block is seen
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
29
Wenbing Zhao
Electronic Code Book Mode - Problems

In ECB, plaintext patterns are not concealed


Each identical block of plaintext gives an identical block of
ciphertext. The plaintext can be easily manipulated by
removing, repeating, or interchanging blocks
Example
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
30
Wenbing Zhao
Cipher Block Chaining Mode


To avoid the ECB mode problem: replacing a block
will cause the plaintext decrypted starting at the
replaced to become garbage
Exclusive OR the encrypted text with the next block
of plaintext before encryption:



Need an initialization vector (IV) to boostrap
C0 = E(P0 XOR IV),
C1 = E(P1 XOR C0), etc.
Drawback: must wait until full 64-bit (128-bit) block
to arrive to decrypt
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
31
Wenbing Zhao
Cipher Block Chaining Mode

Exclusive OR the encrypted text with the next block
of plaintext before encryption:
C0 = E(P0 XOR IV), C1 = E(P1 XOR C0), etc.
Initialization
Vector
Encryption
3/22/2016
3/22/2016
Decryption
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
32
Wenbing Zhao
Cipher Feedback Mode

Basic operation (Pi and Ci are blocks):


Ci = E(Ci-1) XOR Pi, Pi = E(Ci-1) XOR Ci, C0 = IV
Issue: Losing a single bit or byte will ruin all data after that
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
33
Wenbing Zhao
Cipher Feedback Mode

To enable byte-by-byte encryption




When plaintext byte n (Pn) arrives, DES algorithm operates
a 64-bit register to generate a 64-bit ciphertext
Leftmost byte of that ciphertext is extracted and XORed with
Pn
That byte is transmitted on the transmission line
The shift register is shifted left 8 bits, causing Cn-8 to fall off
the left end, and Cn is inserted in the position just vacated at
the right end by C9
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
34
Wenbing Zhao
Cipher Feedback Mode
Encryption
3/22/2016
3/22/2016
Decryption
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
35
Wenbing Zhao
Stream Cipher Mode

To be insensitive to transmission error, an arbitrarily
large sequence of output blocks, called the
keystream, is treated like a one-time pad and XORed
with the plaintext to get the ciphertext




It works by encrypting an IV, using a key to get an output
block
The output block is then encrypted, using the key to get a
second output block
This block is then encrypted to get a third block, and so on
The keystream is independent of the data, so (1) It
can be computed in advance (2) It is completely
insensitive to transmission errors
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
36
Wenbing Zhao
Stream Cipher Mode
Encryption
3/22/2016
3/22/2016
Decryption
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
37
Wenbing Zhao
Stream Cipher Mode



It is essential never to use the same (key, IV) pair
twice with a stream cipher because doing so will
generate the same keystream each time
Using the same keystream twice exposes the
ciphertext to a keystream reuse attack
Stream cipher mode is also called output feedback
mode
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
38
Wenbing Zhao
Keystream Reuse Attack






Plaintext block, P0, is encrypted with the keystream to get P0
XOR K0
Later, a second plaintext block, Q0, is encrypted with the same
keystream to get Q0 XOR K0
An intruder who captures both ciphertext blocks can simply XOR
them together to get P0 XOR Q0, which eliminates the key
The intruder now has the XOR of the two plaintext blocks
If one of them is known or can be guessed, the other can also be
found
In any event, the XOR of two plaintext streams can be attacked
by using statistical properties of the message
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
39
Wenbing Zhao
Counter Mode

To allow random access to encrypted data


The IV plus a constant is encrypted, and the resulting
ciphertext XORed with the plaintext
By stepping the IV by 1 for each new block, it is easy to decrypt
a block anywhere in the file without first having to decrypt all of
its predecessors
3/22/2016
3/22/2016
EEC688:Secure
Secure && Dependable
Computing
EEC688:
Dependable
Computing
40
Wenbing Zhao
Exercise
Q1. Assuming that the DES block cipher is used in the
Electronic Code Book mode. If one bit in a block
of ciphertext is inverted during transmission, how
many bits will likely be damaged after decryption
at the receiver?
3/22/2016
3/22/2016
EEC688:
Secureand
& Dependable
Computing
EEC693:
Secure
Dependable
Computing
41
Wenbing Zhao
Exercise
Q2. Assuming that the DES block cipher is used in the
Cipher Block Chaining mode. If one bit of
ciphertext is inverted during transmission, how
many bits will likely be damaged after decryption
at the receiver?
3/22/2016
3/22/2016
EEC688:
Secureand
& Dependable
Computing
EEC693:
Secure
Dependable
Computing
42
Wenbing Zhao
Exercise
Q3. Assuming that the DES block cipher is used in the
Cipher Feedback mode. If one bit of ciphertext is
inverted during transmission, how many bits will
likely be damaged after decryption at the receiver
(for both variations)?
3/22/2016
3/22/2016
EEC688:
Secureand
& Dependable
Computing
EEC693:
Secure
Dependable
Computing
43
Wenbing Zhao
Exercise
Q4. Assuming that the DES block cipher is used in the
Stream Cipher mode (it is also called output
feedback mode). If one bit of ciphertext is
inverted during transmission, how many bits will
likely be damaged after decryption at the receiver?
3/22/2016
3/22/2016
EEC688:
Secureand
& Dependable
Computing
EEC693:
Secure
Dependable
Computing
44
Wenbing Zhao
Download