Cryptography(COT 5937) Lecture 16
7/10/01
Data Encryption Standard(DES)
Here is the basic algorithm used for DES:
To encrypt a plaintext x of 64 bits and a secret key K of 56 bits do the following:
1) Compute x
0
= IP(x), a fixed permutation of the bits in x. IP is specified in the text.
2) Let x
i
= L
i
R
i
, for 0
≤
i
≤
16, where L
i
is the 32 leftmost bits of x
i
and R
i
is the 32
rightmost bits of x
i
. Make the following sequence of computations:
for (i=1 to 16) {
L
i
= R
i1
R
i
= L
i1
⊕
f(R
i1
, K
i
)
}
Essentially, each loop iteration is known as a Feistel round. (Feistel is the creator of
DES.) DEs comprises 16 of these rounds. Each round encrypts ½ of the bits from the
pervious round. The function f and the key for the ith round K
i
will be discussed in detail
later in these notes.
3) y = IP
1
(R
16
L
16
), this means applying the inverse permutation applied in step 1 to the
string R
16
L
16
. (Notice the “reverse” order of the two blocks L
16
and R
16
.)
In essence, you would repeat this process for every block of 64 bits that needs to be
encrypted.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Summer '09
 Cryptography, Block cipher, LSI

Click to edit the document details