the des algorithm - santa monica collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · the des...

18
1 The DES algorithm The DES algorithm (Data Encryption Standard) (Data Encryption Standard) a conventional (i.e., 1 a conventional (i.e., 1- key) substitution cipher key) substitution cipher represented by a simplified example represented by a simplified example David Morgan S- DES* process flow DES* process flow Credit to Cryptography and Network Security, Principles and Practice , William Stallings, Prentice Hall, 1999 for figure and precision of explanation. *simplified version of the DES algorithm for tutorial purposes, by Edward Schaefer, Santa Clara University

Upload: others

Post on 27-Mar-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

1

The DES algorithmThe DES algorithm

(Data Encryption Standard)(Data Encryption Standard)

a conventional (i.e., 1a conventional (i.e., 1--key) substitution cipherkey) substitution cipher

represented by a simplified examplerepresented by a simplified example

David Morgan

SS--DES* process flowDES* process flow

Credit to Cryptography and Network Security,

Principles and Practice, William Stallings,

Prentice Hall, 1999 for figure and precision of

explanation.

*simplified version of the DES algorithm for

tutorial purposes, by Edward Schaefer, Santa

Clara University

Page 2: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

2

Credit to Cryptography and Network Security,

Principles and Practice, William Stallings,

Prentice Hall, 1999 for figures and precision of

explanation.

SS--DES DES

encryption encryption

component component

process flowprocess flow

ENCRYPTENCRYPT

Following slide images are screenshots from an exercise at

http://homepage.smc.edu/morgan_david/vpn/assignments/assgt-sdes.htm

Page 3: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

3

Initial permutation IPInitial permutation IP

0 1 1 0 1 1 0 1

1 1 1 0 0 1 1 0

expansion/expansion/permutaionpermutaion E/PE/P

Page 4: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

4

XOR with XOR with subkeysubkey K1K1

...etc

ss--box substitutionsbox substitutions

Page 5: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

5

Permutation P4Permutation P4

XORXOR

Page 6: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

6

leftleft--nibble replacementnibble replacement

Swap SWSwap SW

Page 7: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

7

expansion/expansion/permutaionpermutaion E/PE/P

XOR with XOR with subkeysubkey K2K2

Page 8: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

8

ss--box substitutionsbox substitutions

Permutation P4Permutation P4

Page 9: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

9

XORXOR

leftleft--nibble replacementnibble replacement

Page 10: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

10

Inverse initial permutation IPInverse initial permutation IP--11

DECRYPTDECRYPT

Page 11: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

11

Initial permutation IPInitial permutation IP

expansion/expansion/permutaionpermutaion E/PE/P

Page 12: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

12

XOR with XOR with subkeysubkey K2K2

...etc

ss--box substitutionsbox substitutions

Page 13: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

13

Permutation P4Permutation P4

XORXOR

Page 14: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

14

leftleft--nibble replacementnibble replacement

Swap SWSwap SW

Page 15: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

15

expansion/expansion/permutaionpermutaion E/PE/P

XOR with XOR with subkeysubkey K1K1

Page 16: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

16

ss--box substitutionsbox substitutions

Permutation P4Permutation P4

Page 17: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

17

XORXOR

leftleft--nibble replacementnibble replacement

Page 18: The DES algorithm - Santa Monica Collegehomepage.smc.edu/morgan_david/linux/a26-sdes.pdf · The DES algorithm (Data Encryption Standard) a conventional (i.e., 1 -key) substitution

18

Inverse initial permutation IPInverse initial permutation IP--11

Matches original input, decrypt succeeded