He Encryption Standard (DES) and Its Strength Against Attacks
He Encryption Standard (DES) and Its Strength Against Attacks
Coppersmith
I he Data
Encryption
Standard
(DES) and
its strength
against attacks
The Data Encryption Standard (DES) was During the early 1970s, it became apparent that the
developed by an IBM team around 1974 and commercial sector also has a legitimate need for
adopted as a national standard in 1977.Since cryptography. Corporate secrets must be transmitted
that time, many cryptanalysts have attempted between distant sites, without the possibility of
to find shortcuts for breaking the system. In eavesdropping by industrial spies. Personal data on
this paper, we examine one such attempt, the databases need to be protected against espionage and
method of differential cryptanalysis, published alteration.
by Blham and Shamir. We show some of the A familiar example is the communication between an
safeguards against differential cryptanalysis automatic teller machine (ATM) and a central computer.
that were built into the system from the The user inserts a magnetic card and types a few numbers.
beginning, with the result that more than 1015 The ATM sends messages to the computer. The computer
bytes of chosen plaintext are required for this checks the account balance and returns a message
attack to succeed. authorizing the ATM to dispense funds. Obviously, if these
messages are unprotected, a thief can tap the wires, find
the message authorizing the dispensing of funds, and send
Introduction multiple copies of that message to the ATM, thereby
Cryptography has long been in use by governments, cleaning out the supply of cash from the ATM.
particularly in the realms of military and diplomatic In the early 1970s, a banking customer asked IBM to
communication. It is hard to imagine military develop a system for encrypting ATM data. With this
communication without cryptography; cryptanalysis, or problem as a starting point, a team was formed from
secretly deciphering the opponents messages, is perhaps
Disclaimer
of even greater value. Much has been written about The present author participated in the design and test of DES, particularly in the
cryptography in the military; see reference [l]for design of the S-boxes and in strengthening them against differential cryptanalysis.
Naturally, this author has strong opinions about DES and its history. Any opinions
example. in this paper are those of the author and are not necessarily shared by IBM.
0Copyrlght 1994 by International Business Machines Corporation. Copying in printed form for private use is permitted without payment of royalty provided that (1) each
reproduction is done without alteration and (2) the Journal reference and IBM copyright notice are included on the first page. The title and abstract, but no other portions, of
this paper may be copied or distributed royalty free without further permission by computer-based and other information-servicesystems. Permission to republish any other
portion of this paper must be obtained from the Editor. 243
Description of DES
We give here a brief description of DES, primarily to ...
establish terminology. We do not provide the various
tables that are necessary for a full description of the mi[4j + 11 0 +,[6jl,
standard; for those, see [2] or [3]. or, written another way,
We wish to encipher a 64-bit plaintext message block m
under the 56-bit key k, to produce a 64-bit ciphertext m1[4j- 4, 4j - 3, 4j - 2, 4j - 1, 4j, 4j + 13
message block c = E,(m). (The sizes of message blocks 0 k(J6j - 5, 6j - 4, 6j - 3, 6j - 2, 6j - 1, 6jl.
and keys, 64 bits and 56 bits respectively, are specified in
the standard.) Decipherment, or recovering plaintext from Each of the eight S-boxes implements a different table,
ciphertext, is denoted m = D k ( c ) . each with 26 entries of four bits each. These tables are
The plaintext message block m is subjected to an initial described in the standard.
permutation IP, and the result is broken into two 32-bit The eight S-boxes together put out 8 X 4 = 32 bits.
244 message halves, m, and m,. Intermediate message halves These bits are permuted according to a permutation P that
we have
(mi[32,1,2,3,4,51 0 k,,1[l,2,3,4,5,61)
0 (mJ32,1,2,3,4,51 0 k,,[1,2,3,4,5,61)
m17 flk(16) m16)
= m,[32,1,2,3,4,5] @ m([32,1,2,3,4,5]
= Km1j @ 0 flk(16) m16) = ml,
flk(16)7 m16)l 3
= Ami[32,1,2,3,4,5].
because of the identity (A 0B ) 0B = A . Similarly, one
computes m,4 = mI6@ f ( k , , , , , mlj) and continues in like The dependence on k has disappeared.
fashion until one has computed m, and m,. Applying ZP to Now suppose that there is a relation between input
the pair (m,,, m,), one recovers the plaintext message m. differences and output differences for some S-box. That is,
Any function could be used in place off, and we would the 64 possible 6-bit inputs to S, can be divided into 32
still have a reversible encryption method. Different choices pairs, so that the XOR of the two inputs in each pair is the
off, however, yield different levels of security in the given nonzero value Ami[32,1,2,3,4,5]. We call this
overall algorithm. The function f used in DES was difference AZi,,, because this is the change of inputs on the
designed to provide a high level of security. ith round for SI.For each such pair of inputs, consider the
pair of 4-bit outputs, and consider their XOR, called AO,,,.
Differential cryptanalysis Differential cryptanalysis depends on the fact that many
We present here an overview of the cryptanalytic attack input pairs with a given input difference AZi,j give rise to
known as differential cryptanalysis. The terminology the same output difference AOi,,. For example, if AZi,l is
and notation are as presented byBiham and Shamir [4] 110100, only eight of the 16 possible values of AO;,, can
(within IBM, the attack was formerly known as the occur, and one value of AOi,, (0010) occurs for eight of the
T attack). Our purpose in presenting this is to show 32 input pairs sharing the difference AZi,, = 110100. (This
how the criteria for the S-boxes and the permutation were example is from Table 27 of [4].)
developed to thwart such attacks. The quantitiesf(k(,,, mi) andf(ko, mc!)are the permuted
A cryptanalyst trying to break the system may bein outputs of the S-boxes. Recall that
possession of large amounts of plaintext and corresponding
ciphertext, but not the secret key under which the text was m,+, = mi-1 0 f(k(,), mi),
enciphered. He knows the complete specification of the
system (ZP, S-boxes, P, key schedule); he would like to
m;+, = m;-, 0 f(k,l,,m;).
deduce the key. Taking the XOR of these two equations, we find
As one can imagine, if he starts with a known plaintext
m and unknown key k and tries to trace the encipherment h i + , = @ mt+1
through 16 rounds of DES encryption, he soon becomes = b - 1 0f(k(,,, m,)l 0 [mL,0f(k,,, m;)l
hopelessly entangled, because bits of the unknown key k
are XORed with the message at the input of every S-box.
= A,-, 0 [f(k(,, mi) 0f(k(L),
mJ1.
In differential cryptanalysis, however, he starts with two So if Ami-, and Ami are known with high probability, and
messages, m and m, differing by a known difference Am. if Am, gives rise to any difference,f(k(,,, mL)@f(k(,,,m,), 245
then either round i - 1 or round i + 1 has at least one and each of the (at least two) nonzero bits of AOi,i forces
active S-box as well. The goal is to show that, summing an active S-box either in round i - 1 or in round i + 1.
over the 12 or 16 rounds of the pattern, there will be a Because of (P-2), there are at least two different active
large number of active S-boxes, on average at least 1.6 +
S-boxes included in rounds i - 1 and i 1 together.
per round. As before, this helps assure us that there will be a large
number of active S-boxes over the course of the 12-round
Two active S-boxes or 16-round pattern.
Suppose first that round i has exactly two active S-boxes Consider the possibility of exactly one active S-box per
and that they are adjacent, Siand Sit,. (The nonadjacent round. Suppose lAOi,,l = 2, its minimum possible value.
case is similar to the case of one active S-box, which is Of the two 1-bits in AOi,,, one cancels the 1-bit that had
treated below.) Because Sj-, is inactive on this round, we activated some S-box, say Sa, on round i - 1, and the
know that the two left-hand bits of AZi,, are zero; because other activates S, on round i + 1. Because only one box
S,,, is inactive on this round, the two right-hand bits is activated by each bit, the bit must be one of the two
of AZi,j+l are zero. We claim that either AOi,, f 0 or middle inputs to the S-box in each instance. That is, an
AOi,,+, f 0 (or both); the proof is by contradiction. If output bit from Si affects a middle input bit of Sa, and an
do,,,= 0, then (S-3) and the fact that the left-hand two bits output bit from Sa affects a middle input bit of S-boxj .
of AZiJ are 0 together imply that the rightmost bit of NiJis 1. But (P-3) outlaws this situation, so a pattern of exactly one
[We know that the leftmost bit is0. If the rightmost bitwere active S-box per round is impossible.
also 0, this would implythat for the two inputs to S, on By these and similar arguments, we find a lower bound
round i in the two encipherments, m and m, the leftmost on the average number of active S-boxes per round.
and rightmost input bitsof Sj would be fixed. Some of the Except in the case of three active S-boxes (see below),
other four bits are vaned, however. (S-3) implies that this lower bound works out to an average of 1.6 active
the two outputs must be different, so AOiJ f 0. This S-boxes per round. By (S-7) and the simplifymg
contradicts our assumption, so we conclude the rightmost assumptions of statistical independence, each active S-box
bit is 1.1 Because of the sharing of message bits, the contributes a multiplicative factor of at most 1/4 to the
rightmost bit of gJis also the second bit from the leftof probability of a given probable pattern. Thus, we have
AZiJtl. Similarly, if AOijtl = 0, then (S-3) and the fact effectively constrained the probability of such a probable
that the two right-hand bits of AZ,Jtl are 0 imply that the pattern to be less than some minuscule upper bound, of
leftmost bit of AZiJtl is 1. Combining these facts: if the order of
AOiJ = AOi,jtl = 0, then MiJtlis of the form 11xyoO. In
this case, (S-6) implies thatAOiJtl f 0. The conclusion is Three active S-boxes
that we cannot have AOiJ = AOiJ+l= 0. The most promising case for the cryptanalyst (thus the
Remembering that the bits of AOi,i, AOi,j+l are part of most difficult case for the designers of the system) turns
out to be three adjacent active S-boxes S,, Sjtl, and S,,,
f(k,,, m,) 0 f(k(,, m:) = Amitl 0 Ami-, ,
on one round i , and no active S-boxes on adjacent rounds
we see that each of the nonzero bits of AOi,,, AOij+, i - 1 and i + 1. Extending this pattern, we have three
(there is at least one such nonzero bit) forces the adjacent active S-boxes on even-numbered rounds and
corresponding bit of either Ami-, or Ami,, to be nonzero. none on odd-numbered rounds.
Thus, either round i - 1 or round i + 1 (or both) has at A feature of this type of pattern is that, for i even, we
least one active S-box. have Amitl = 0, so that AOitl,, = 0 for allj, and
This contributes to our conclusion that there will be a
large number of active S-boxes over the course of the f(k,,,), mjtJ 0 f(k(itl)9m;+J = h i 0 h i t , = 0.
12-round or 16-round pattern. This implies that
AZi,J+, = 1 1 g h 10,
A4,j+2 = 1 0 k m 0 0.
The unknown bits (c, d, g, h, k, m) are the middle two bits
of each S-box, not shared with adjacent S-boxes. This
simplifies the subsequent analysis.
To find the attack with the highest probability of
success, we choose bits c, d so as to maximize the r- I
probability that AOi,j = 0 given that AZi,j = 0 0 c d 1 1.
Making similar choices of bits g, h and k, m, we can
estimate the probability that "0, = 0, given the choice of
I ' j +I
I
location of the S-boxes S,, SJ+l, and Sj+,. We maximize
this over the eight choices of j = 1, 2, , 8 (S, and SI
are considered to be adjacent) to find the most likely
pattern of this form, which occurs when j = 1 and
Ami = 19600000 (hex). This choice leads to the following (C)
probabilities:
for A4,1 = 0 0 0 0 1 1, prob(AOi,, = 0) = 7/32,
for AZi,2 = 1 1 0 0 1 0, prob(AOi,2= 0) = 4/32, f Three stages of knowledge about inputs to three S-boxes: (a) ini-
for A4,3 = 1 0 1 1 0 0, prob(AOi,3= 0) = 5/32.
1 tially; (b) partial knowledge; (c) with eight bits determined.
Thus,
prob[AO, = OIAmi = 19600000 (hex)]
(S-8) Define
7 4 5 3 5
=-)(-x-=- qo,j= max prob(AOt,, = OIA(,j = 0 0 c d 1 l),
8192
323232 c.d