Chapter 3 - Block Ciphers and The Data Encryption Standard
Chapter 3 - Block Ciphers and The Data Encryption Standard
Chapter 3 - Block Ciphers and The Data Encryption Standard
key size
increasing size improves security, makes exhaustive key
searching harder, but may slow cipher
number of rounds
increasing number improves security, but slows cipher
subkey generation
greater complexity can make analysis harder, but slows cipher
round function
greater complexity can make analysis harder, but slows cipher
DES History
IBM developed Lucifer cipher
by team led by Feistel
used 64-bit data blocks with 128-bit key
DES Encryption
Initial Permutation IP
Substitution Boxes S
have eight S-boxes which map 6 to 4 bits
each S-box is actually 4 little 4 bit boxes
outer bits 1 & 6 (row bits) select one rows
inner bits 2-5 (col bits) are substituted
result is 8 lots of 4 bits, or 32 bits
example:
S(18 09 12 3d 11 17 38 39) = 5fd25e03
1
DES Decryption
Avalanche Effect
key desirable property of encryption alg
where a change of one input or key bit
results in changing approx half output bits
making attempts to home-in by guessing
keys impossible
DES exhibits strong avalanche
Differential Cryptanalysis
one of the most significant recent (public)
advances in cryptanalysis
known by NSA in 70's cf DES design
Murphy, Biham & Shamir published 1990
powerful method to analyse block ciphers
used to analyse most current block
ciphers with varying degrees of success
DES reasonably resistant to it
1
Differential Cryptanalysis
a statistical attack against Feistel ciphers
uses cipher structure not previously used
design of S-P networks has output of
function f influenced by both input & key
hence cannot trace values back through
cipher without knowing values of the key
Differential Cryptanalysis compares two
related pairs of encryptions
1
Differential Cryptanalysis
Compares Pairs of Encryptions
with a known difference in the input
searching for a known difference in output
when same subkeys are used
Differential Cryptanalysis
have some input difference giving some
output difference with probability p
if find instances of some higher probability
input / output difference pairs occurring
can infer subkey that was used in round
then must iterate process over many
rounds (with decreasing probabilities)
1
Differential Cryptanalysis
Differential Cryptanalysis
perform attack by repeatedly encrypting plaintext pairs
with known input XOR until obtain desired output XOR
when found
if intermediate rounds match required XOR have a right pair
if not then have a wrong pair, relative ratio is S/N for attack
Linear Cryptanalysis
another recent development
also a statistical method
must be iterated over rounds, with
decreasing probabilities
developed by Matsui et al in early 90's
based on finding linear approximations
can attack DES with 247 known plaintexts,
still in practise infeasible
1
Linear Cryptanalysis
Find linear approximations with prob p !=
P[i1,i2,...,ia](+)C[j1,j2,...,jb] =
K[k1,k2,...,kc]
where ia,jb,kc are bit locations in P,C,K
function f:
provides confusion, is nonlinear, avalanche
key schedule
complex subkey creation, key avalanche
1
Modes of Operation
block ciphers encrypt fixed size blocks
eg. DES encrypts 64-bit blocks, with 56-bit key
need way to use in practise, given usually have
arbitrary amount of information to encrypt
four were defined for DES in ANSI standard
ANSI X3.106-1983 Modes of Use
have block and stream modes
Summary
have considered:
block cipher design principles
DES
details
strength