SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
AA PPENDIXPPENDIX GG
SS IMPLIFIEDIMPLIFIED DESDES
William Stallings
Copyright 2010
G.1 OVERVIEW ......................................................................................................................2!
G.2 S-DES KEY GENERATION ............................................................................................3!
G.3 S-DES ENCRYPTION ......................................................................................................4!
Initial and Final Permutations........................................................................................4!
The Function fK.............................................................................................................5!
The Switch Function......................................................................................................7!
G.4 ANALYSIS OF SIMPLIFIED DES ..................................................................................7!
G.5 RELATIONSHIP TO DES................................................................................................8!
Supplement to
Cryptography and Network Security, Fifth Edition
William Stallings
Prentice Hall 2010
ISBN-10: 0136097049
http://williamstallings.com/Crypto/Crypto5e.html
G-2
Simplified DES, developed by Professor Edward Schaefer of Santa Clara University [SCHA96],
is an educational rather than a secure encryption algorithm. It has similar properties and structure
to DES with much smaller parameters. The reader might find it useful to work through an
example by hand while following the discussion in this Appendix.
G.1 OVERVIEW
Figure G.1 illustrates the overall structure of the simplified DES, which we will refer to as S-
DES. The S-DES encryption algorithm takes an 8-bit block of plaintext (example: 10111101)
and a 10-bit key as input and produces an 8-bit block of ciphertext as output. The S-DES
decryption algorithm takes an 8-bit block of ciphertext and the same 10-bit key used to produce
that ciphertext as input and produces the original 8-bit block of plaintext.
The encryption algorithm involves five functions: an initial permutation (IP); a complex
function labeled fK, which involves both permutation and substitution operations and depends on
a key input; a simple permutation function that switches (SW) the two halves of the data; the
function fK again; and finally a permutation function that is the inverse of the initial permutation
(IP–1). As was mentioned in Chapter 2, the use of multiple stages of permutation and substitution
results in a more complex algorithm, which increases the difficulty of cryptanalysis.
The function fK takes as input not only the data passing through the encryption algorithm,
but also an 8-bit key. The algorithm could have been designed to work with a 16-bit key,
consisting of two 8-bit subkeys, one used for each occurrence of fK. Alternatively, a single 8-bit
key could have been used, with the same key used twice in the algorithm. A compromise is to
use a 10-bit key from which two 8-bit subkeys are generated, as depicted in Figure G.1. In this
case, the key is first subjected to a permutation (P10). Then a shift operation is performed. The
output of the shift operation then passes through a permutation function that produces an 8-bit
output (P8) for the first subkey (K1). The output of the shift operation also feeds into another
shift and another instance of P8 to produce the second subkey (K2).
G-3
We can concisely express the encryption algorithm as a composition1 of functions:
IP
-1
! fK2
!SW ! fK1
!IP
which can also be written as:
!
ciphertext = IP-1
fK2
SW fK1
IP plaintext( )( )( )( )( )
where
K1 = P8 Shift P10 key( )( )( )
K2 = P8 Shift Shift P10 key( )( )( )( )
Decryption is also shown in Figure G.1 and is essentially the reverse of encryption:
!
plaintext = IP-1
fK1
SW fK2
IP ciphertext( )( )( )( )( )
We now examine the elements of S-DES in more detail.
G.2 S-DES KEY GENERATION
S-DES depends on the use of a 10-bit key shared between sender and receiver. From this key,
two 8-bit subkeys are produced for use in particular stages of the encryption and decryption
algorithm. Figure G.2 depicts the stages followed to produce the subkeys.
First, permute the key in the following fashion. Let the 10-bit key be designated as (k1, k2,
k3, k4, k5, k6, k7, k8, k9, k10). Then the permutation P10 is defined as:
P10(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (k3, k5, k2, k7, k4, k10, k1, k9, k8, k6)
1 Definition: If f and g are two functions, then the function F with the equation y = F(x) =
g[f(x)] is called the composition of f and g and is denoted as F = g ! f .
G-4
P10 can be concisely defined by the display:
P10
3 5 2 7 4 10 1 9 8 6
This table is read from left to right; each position in the table gives the identity of the input
bit that produces the output bit in that position. So the first output bit is bit 3 of the input; the
second output bit is bit 5 of the input, and so on. For example, the key (1010000010) is permuted
to (1000001100). Next, perform a circular left shift (LS-1), or rotation, separately on the first
five bits and the second five bits. In our example, the result is (00001 11000).
Next we apply P8, which picks out and permutes 8 of the 10 bits according to the following
rule:
P8
6 3 7 4 8 5 10 9
The result is subkey 1 (K1). In our example, this yields (10100100)
We then go back to the pair of 5-bit strings produced by the two LS-1 functions and
perform a circular left shift of 2 bit positions on each string. In our example, the value (00001
11000) becomes (00100 00011). Finally, P8 is applied again to produce K2. In our example, the
result is (01000011).
G.3 S-DES ENCRYPTION
Figure G.3 shows the S-DES encryption algorithm in greater detail. As was mentioned,
encryption involves the sequential application of five functions. We examine each of these.
Initial and Final Permutations
G-5
The input to the algorithm is an 8-bit block of plaintext, which we first permute using the IP
function:
IP
2 6 3 1 4 8 5 7
This retains all 8 bits of the plaintext but mixes them up. At the end of the algorithm, the inverse
permutation is used:
IP–1
4 1 3 5 7 2 8 6
It is easy to show by example that the second permutation is indeed the reverse of the first;
that is, IP–1(IP(X)) = X.
The Function fK
The most complex component of S-DES is the function fK, which consists of a combination of
permutation and substitution functions. The functions can be expressed as follows. Let L and R
be the leftmost 4 bits and rightmost 4 bits of the 8-bit input to fK, and let F be a mapping (not
necessarily one to one) from 4-bit strings to 4-bit strings. Then we let
fK(L, R) = (L ! F(R, SK), R)
where SK is a subkey and ! is the bit-by-bit exclusive-OR function. For example, suppose the
output of the IP stage in Figure G.3 is (10111101) and F(1101, SK) = (1110) for some key SK.
Then fK(10111101) = (01011101) because (1011) ! (1110) = (0101).
We now describe the mapping F. The input is a 4-bit number (n1n2n3n4). The first operation
is an expansion/permutation operation:
G-6
E/P
4 1 2 3 2 3 4 1
For what follows, it is clearer to depict the result in this fashion:
n4 n1 n2 n3
n2 n3 n4 n1
The 8-bit subkey K1 = (k11, k12, k13, k14, k15, k16, k17, k18) is added to this value using exclusive-
OR:
n4 ! k11 n1 ! k12 n2 ! k13 n3 ! k14
n2 ! k15 n3 ! k16 n4 ! k17 n1 ! k18
Let us rename these 8 bits:
p0,0 p0,1 p0,2 p0,3
p1,0 p1,1 p1,2 p1,3
The first 4 bits (first row of the preceding matrix) are fed into the S-box S0 to produce a 2-
bit output, and the remaining 4 bits (second row) are fed into S1 to produce another 2-bit output.
These two boxes are defined as follows:
!
S0 =
0 1 2 3
0
1
2
3
1 0 3 2
3 2 1 0
0 2 1 3
3 1 3 2
"
#
$
$
$
%
&
'
'
'
S1=
0 1 2 3
0
1
2
3
0 1 2 3
2 0 1 3
3 0 1 0
2 1 0 3
"
#
$
$
$
%
&
'
'
'
G-7
The S-boxes operate as follows. The first and fourth input bits are treated as a 2-bit number
that specify a row of the S-box, and the second and third input bits specify a column of the S-
box. The entry in that row and column, in base 2, is the 2-bit output. For example, if (p0,0p0,3) =
(00) and (p0,1p0,2) = (10), then the output is from row 0, column 2 of S0, which is 3, or (11) in
binary. Similarly, (p1,0p1,3) and (p1,1p1,2) are used to index into a row and column of S1 to
produce an additional 2 bits.
Next, the 4 bits produced by S0 and S1 undergo a further permutation as follows:
P4
2 4 3 1
The output of P4 is the output of the function F.
The Switch Function
The function fK only alters the leftmost 4 bits of the input. The switch function (SW)
interchanges the left and right 4 bits so that the second instance of fK operates on a different 4
bits. In this second instance, the E/P, S0, S1, and P4 functions are the same. The key input is K2.
G.4 ANALYSIS OF SIMPLIFIED DES
A brute-force attack on simplified DES is certainly feasible. With a 10-bit key, there are only 210
= 1024 possibilities. Given a ciphertext, an attacker can try each possibility and analyze the
result to determine if it is reasonable plaintext.
What about cryptanalysis? Let us consider a known plaintext attack in which a single
plaintext (p1, p2, p3, p4, p5, p6, p7, p8) and its ciphertext output (c1, c2, c3, c4, c5, c6, c7, c8) are
known and the key (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) is unknown. Then each ci is a polynomial
function gi of the pj's and kj's. We can therefore express the encryption algorithm as 8 nonlinear
equations in 10 unknowns. There are a number of possible solutions, but each of these could be
calculated and then analyzed. Each of the permutations and additions in the algorithm is a linear
G-8
mapping. The nonlinearity comes from the S-boxes. It is useful to write down the equations for
these boxes. For clarity, rename (p0,0, p0,1,p0,2, p0,3) = (a, b, c, d) and (p1,0, p1,1,p1,2, p1,3) = (w, x,
y, z), and let the 4-bit output be (q, r, s, t) Then the operation of the S0 is defined by the
following equations:
q = abcd + ab + ac + b + d
r = abcd + abd + ab + ac + ad + a + c + 1
where all additions are modulo 2. Similar equations define S1. Alternating linear maps with these
nonlinear maps results in very complex polynomial expressions for the ciphertext bits, making
cryptanalysis difficult. To visualize the scale of the problem, note that a polynomial equation in
10 unknowns in binary arithmetic can have 210 possible terms. On average, we might therefore
expect each of the 8 equations to have 29 terms. The interested reader might try to find these
equations with a symbolic processor. Either the reader or the software will give up before much
progress is made.
G.5 RELATIONSHIP TO DES
DES operates on 64-bit blocks of input. The encryption scheme can be defined as:
IP
-1
! fK16
!SW !fK15
! SW !"! SW !fK1
! IP
A 56-bit key is used, from which sixteen 48-bit subkeys are calculated. There is an initial
permutation of 64 bits followed by a sequence of shifts and permutations of 48 bits.
Within the encryption algorithm, instead of F acting on 4 bits (n1n2n3n4), it acts on 32 bits
(n1…n32). After the initial expansion/permutation, the output of 48 bits can be diagrammed as:
n32 n1 n2 n3 n4 n5
n4 n5 n6 n7 n8 n9
G-9
•
•
•
•
•
•
•
•
•
n28 n29 n30 n31 n32 n1
This matrix is added (exclusive-OR) to a 48-bit subkey. There are 8 rows, corresponding to
8 S-boxes. Each S-box has 4 rows and 16 columns. The first and last bit of a row of the
preceding matrix picks out a row of an S-box, and the middle 4 bits pick out a column.
!"#
"#$%&'()*+
,$%&'(-./&0'*1'
23456!7893 :2456!7893
,$%&'(;&-<*='*1' ,$%&'(;&-<*='*1'
>&?@=*(AB"((((C&D-.&E&*F(:2C(C;<*D*
,$%&'(-./&0'*1'
C<&E'
!,
C<&E'
!,
E!
!"
!G !G
!"
CH
8!I"
8!
E!
E!
CH
8!
8!$"
E!
!"#
"#$%&'()*+
!,
!"
!,
-.$" -.$"
-.$/ -.$/
!/
0
"#
0
0
,
,
0
0 0
1&234*(56/(((7*+(5*8*49'&:8(;:4(.&<=>&;&*?(@A.
!"
#$%&'()*+&,'-.'
#$%&'(/&)0-1'-.'
2&341-(567(((8&9)*&:&-;(<=8(=,/1>)'&?,(<-'+&*
!"@A
=B"
"C
8D
!A
8A
E
E
:!
2
8F
#
#
#
#
C
C
G G
C
C
C
C
C
=B"
"C
8D
!G
8A
E
E
:!
2
#
#
C
C
G G
C
C
C

Más contenido relacionado

La actualidad más candente

Authentication Application in Network Security NS4
Authentication Application in Network Security NS4Authentication Application in Network Security NS4
Authentication Application in Network Security NS4
koolkampus
 
DNA based Cryptography_Final_Review
DNA based Cryptography_Final_ReviewDNA based Cryptography_Final_Review
DNA based Cryptography_Final_Review
Rasheed Karuvally
 

La actualidad más candente (20)

symmetric key encryption algorithms
 symmetric key encryption algorithms symmetric key encryption algorithms
symmetric key encryption algorithms
 
Diffiehellman
DiffiehellmanDiffiehellman
Diffiehellman
 
RSA Algorithm
RSA AlgorithmRSA Algorithm
RSA Algorithm
 
Digital signature schemes
Digital signature schemesDigital signature schemes
Digital signature schemes
 
Authentication Application in Network Security NS4
Authentication Application in Network Security NS4Authentication Application in Network Security NS4
Authentication Application in Network Security NS4
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
 
CNS - Unit - 2 - Stream Ciphers and Block Ciphers
CNS - Unit - 2 - Stream Ciphers and Block CiphersCNS - Unit - 2 - Stream Ciphers and Block Ciphers
CNS - Unit - 2 - Stream Ciphers and Block Ciphers
 
DES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentationDES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentation
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
 
Data Encryption Standard (DES)
Data Encryption Standard (DES)Data Encryption Standard (DES)
Data Encryption Standard (DES)
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to Cryptography
 
Data encryption standard
Data encryption standardData encryption standard
Data encryption standard
 
DNA based Cryptography_Final_Review
DNA based Cryptography_Final_ReviewDNA based Cryptography_Final_Review
DNA based Cryptography_Final_Review
 
Message Authentication
Message AuthenticationMessage Authentication
Message Authentication
 
block ciphers
block ciphersblock ciphers
block ciphers
 
Network Security and Cryptography
Network Security and CryptographyNetwork Security and Cryptography
Network Security and Cryptography
 
AES-Advanced Encryption Standard
AES-Advanced Encryption StandardAES-Advanced Encryption Standard
AES-Advanced Encryption Standard
 
Cryptography
CryptographyCryptography
Cryptography
 
Key management and distribution
Key management and distributionKey management and distribution
Key management and distribution
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
 

Similar a DES Simplified

TCN  5080  -­‐‑  Project  1  Description  C.docx
TCN  5080  -­‐‑  Project  1  Description  C.docxTCN  5080  -­‐‑  Project  1  Description  C.docx
TCN  5080  -­‐‑  Project  1  Description  C.docx
ssuserf9c51d
 
Ch03 Ch06 Des And Others
Ch03 Ch06 Des And OthersCh03 Ch06 Des And Others
Ch03 Ch06 Des And Others
nathanurag
 
334 recitation3-sdes
334 recitation3-sdes334 recitation3-sdes
334 recitation3-sdes
Benny SmKr
 
Logic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional LogicLogic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional Logic
Gouda Mando
 

Similar a DES Simplified (20)

TCN  5080  -­‐‑  Project  1  Description  C.docx
TCN  5080  -­‐‑  Project  1  Description  C.docxTCN  5080  -­‐‑  Project  1  Description  C.docx
TCN  5080  -­‐‑  Project  1  Description  C.docx
 
Ch03 Ch06 Des And Others
Ch03 Ch06 Des And OthersCh03 Ch06 Des And Others
Ch03 Ch06 Des And Others
 
334 recitation3-sdes
334 recitation3-sdes334 recitation3-sdes
334 recitation3-sdes
 
Ceng232 Decoder Multiplexer Adder
Ceng232 Decoder Multiplexer AdderCeng232 Decoder Multiplexer Adder
Ceng232 Decoder Multiplexer Adder
 
G029037043
G029037043G029037043
G029037043
 
DES Block Cipher Hao Qi
DES Block Cipher Hao QiDES Block Cipher Hao Qi
DES Block Cipher Hao Qi
 
S-DES.ppt
S-DES.pptS-DES.ppt
S-DES.ppt
 
Chapter 3-block-cipher-des1
Chapter 3-block-cipher-des1Chapter 3-block-cipher-des1
Chapter 3-block-cipher-des1
 
Linear Cryptanalysis Lecture 線形解読法
Linear Cryptanalysis Lecture 線形解読法Linear Cryptanalysis Lecture 線形解読法
Linear Cryptanalysis Lecture 線形解読法
 
A Survey on Various Lightweight Cryptographic Algorithms on FPGA
A Survey on Various Lightweight Cryptographic Algorithms on FPGAA Survey on Various Lightweight Cryptographic Algorithms on FPGA
A Survey on Various Lightweight Cryptographic Algorithms on FPGA
 
Modern Block Cipher- Modern Symmetric-Key Cipher
Modern Block Cipher- Modern Symmetric-Key CipherModern Block Cipher- Modern Symmetric-Key Cipher
Modern Block Cipher- Modern Symmetric-Key Cipher
 
Differential 8 PSK code with multisymbol interleaving
Differential 8 PSK code with multisymbol interleavingDifferential 8 PSK code with multisymbol interleaving
Differential 8 PSK code with multisymbol interleaving
 
Lecture-10.pptx
Lecture-10.pptxLecture-10.pptx
Lecture-10.pptx
 
Network security R.Rathna Deepa 2nd M.sc.,Computer Science
Network security R.Rathna Deepa 2nd M.sc.,Computer ScienceNetwork security R.Rathna Deepa 2nd M.sc.,Computer Science
Network security R.Rathna Deepa 2nd M.sc.,Computer Science
 
Logic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional LogicLogic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional Logic
 
About the computer of the important field
About the computer               of the important fieldAbout the computer               of the important field
About the computer of the important field
 
2 DES.pdf
2 DES.pdf2 DES.pdf
2 DES.pdf
 
Picture arithmetic cryptosystem module explanation
Picture arithmetic cryptosystem module explanationPicture arithmetic cryptosystem module explanation
Picture arithmetic cryptosystem module explanation
 
Filter design and simulation
Filter design and simulationFilter design and simulation
Filter design and simulation
 
Encryption Quality Analysis and Security Evaluation of CAST-128 Algorithm and...
Encryption Quality Analysis and Security Evaluation of CAST-128 Algorithm and...Encryption Quality Analysis and Security Evaluation of CAST-128 Algorithm and...
Encryption Quality Analysis and Security Evaluation of CAST-128 Algorithm and...
 

Más de Shiraz316

Más de Shiraz316 (20)

FINGERNAIL DISORDER DETECTION FOR DISEASE ANALYSIS
FINGERNAIL DISORDER DETECTION FOR DISEASE ANALYSISFINGERNAIL DISORDER DETECTION FOR DISEASE ANALYSIS
FINGERNAIL DISORDER DETECTION FOR DISEASE ANALYSIS
 
K neareast neighbor algorithm presentation
K neareast neighbor algorithm presentationK neareast neighbor algorithm presentation
K neareast neighbor algorithm presentation
 
Khi 087 revised dt report
Khi 087 revised dt reportKhi 087 revised dt report
Khi 087 revised dt report
 
Khi 117 revised dt report
Khi 117 revised dt reportKhi 117 revised dt report
Khi 117 revised dt report
 
Khi 164 revised dt report
Khi 164 revised dt reportKhi 164 revised dt report
Khi 164 revised dt report
 
Khi 054 revised dt report
Khi 054 revised dt reportKhi 054 revised dt report
Khi 054 revised dt report
 
Khi 061 revised dt report
Khi 061 revised dt reportKhi 061 revised dt report
Khi 061 revised dt report
 
Khi 022 revised dt report
Khi 022 revised dt reportKhi 022 revised dt report
Khi 022 revised dt report
 
Khi 113 revised dt report
Khi 113 revised dt reportKhi 113 revised dt report
Khi 113 revised dt report
 
Khi 156 revised dt report
Khi 156 revised dt reportKhi 156 revised dt report
Khi 156 revised dt report
 
Khi 142 revised dt report
Khi 142 revised dt reportKhi 142 revised dt report
Khi 142 revised dt report
 
Khi 316 revised dt report
Khi 316 revised dt reportKhi 316 revised dt report
Khi 316 revised dt report
 
Khi 186 revised dt report
Khi 186 revised dt reportKhi 186 revised dt report
Khi 186 revised dt report
 
Khi 052 revised dt report
Khi 052 revised dt reportKhi 052 revised dt report
Khi 052 revised dt report
 
Khi 151 revised dt report
Khi 151 revised dt reportKhi 151 revised dt report
Khi 151 revised dt report
 
Khi 150 revised dt report
Khi 150 revised dt reportKhi 150 revised dt report
Khi 150 revised dt report
 
Khi 078 revised dt report
Khi 078 revised dt reportKhi 078 revised dt report
Khi 078 revised dt report
 
LTE quick introduction session Training
LTE quick introduction session TrainingLTE quick introduction session Training
LTE quick introduction session Training
 
LTE Sales Training for CPE Device
LTE Sales Training for CPE DeviceLTE Sales Training for CPE Device
LTE Sales Training for CPE Device
 
Witribe Customer Premises Equipment Training for LTE
Witribe Customer Premises Equipment Training for LTEWitribe Customer Premises Equipment Training for LTE
Witribe Customer Premises Equipment Training for LTE
 

Último

Último (20)

On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 

DES Simplified

  • 1. AA PPENDIXPPENDIX GG SS IMPLIFIEDIMPLIFIED DESDES William Stallings Copyright 2010 G.1 OVERVIEW ......................................................................................................................2! G.2 S-DES KEY GENERATION ............................................................................................3! G.3 S-DES ENCRYPTION ......................................................................................................4! Initial and Final Permutations........................................................................................4! The Function fK.............................................................................................................5! The Switch Function......................................................................................................7! G.4 ANALYSIS OF SIMPLIFIED DES ..................................................................................7! G.5 RELATIONSHIP TO DES................................................................................................8! Supplement to Cryptography and Network Security, Fifth Edition William Stallings Prentice Hall 2010 ISBN-10: 0136097049 http://williamstallings.com/Crypto/Crypto5e.html
  • 2. G-2 Simplified DES, developed by Professor Edward Schaefer of Santa Clara University [SCHA96], is an educational rather than a secure encryption algorithm. It has similar properties and structure to DES with much smaller parameters. The reader might find it useful to work through an example by hand while following the discussion in this Appendix. G.1 OVERVIEW Figure G.1 illustrates the overall structure of the simplified DES, which we will refer to as S- DES. The S-DES encryption algorithm takes an 8-bit block of plaintext (example: 10111101) and a 10-bit key as input and produces an 8-bit block of ciphertext as output. The S-DES decryption algorithm takes an 8-bit block of ciphertext and the same 10-bit key used to produce that ciphertext as input and produces the original 8-bit block of plaintext. The encryption algorithm involves five functions: an initial permutation (IP); a complex function labeled fK, which involves both permutation and substitution operations and depends on a key input; a simple permutation function that switches (SW) the two halves of the data; the function fK again; and finally a permutation function that is the inverse of the initial permutation (IP–1). As was mentioned in Chapter 2, the use of multiple stages of permutation and substitution results in a more complex algorithm, which increases the difficulty of cryptanalysis. The function fK takes as input not only the data passing through the encryption algorithm, but also an 8-bit key. The algorithm could have been designed to work with a 16-bit key, consisting of two 8-bit subkeys, one used for each occurrence of fK. Alternatively, a single 8-bit key could have been used, with the same key used twice in the algorithm. A compromise is to use a 10-bit key from which two 8-bit subkeys are generated, as depicted in Figure G.1. In this case, the key is first subjected to a permutation (P10). Then a shift operation is performed. The output of the shift operation then passes through a permutation function that produces an 8-bit output (P8) for the first subkey (K1). The output of the shift operation also feeds into another shift and another instance of P8 to produce the second subkey (K2).
  • 3. G-3 We can concisely express the encryption algorithm as a composition1 of functions: IP -1 ! fK2 !SW ! fK1 !IP which can also be written as: ! ciphertext = IP-1 fK2 SW fK1 IP plaintext( )( )( )( )( ) where K1 = P8 Shift P10 key( )( )( ) K2 = P8 Shift Shift P10 key( )( )( )( ) Decryption is also shown in Figure G.1 and is essentially the reverse of encryption: ! plaintext = IP-1 fK1 SW fK2 IP ciphertext( )( )( )( )( ) We now examine the elements of S-DES in more detail. G.2 S-DES KEY GENERATION S-DES depends on the use of a 10-bit key shared between sender and receiver. From this key, two 8-bit subkeys are produced for use in particular stages of the encryption and decryption algorithm. Figure G.2 depicts the stages followed to produce the subkeys. First, permute the key in the following fashion. Let the 10-bit key be designated as (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10). Then the permutation P10 is defined as: P10(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (k3, k5, k2, k7, k4, k10, k1, k9, k8, k6) 1 Definition: If f and g are two functions, then the function F with the equation y = F(x) = g[f(x)] is called the composition of f and g and is denoted as F = g ! f .
  • 4. G-4 P10 can be concisely defined by the display: P10 3 5 2 7 4 10 1 9 8 6 This table is read from left to right; each position in the table gives the identity of the input bit that produces the output bit in that position. So the first output bit is bit 3 of the input; the second output bit is bit 5 of the input, and so on. For example, the key (1010000010) is permuted to (1000001100). Next, perform a circular left shift (LS-1), or rotation, separately on the first five bits and the second five bits. In our example, the result is (00001 11000). Next we apply P8, which picks out and permutes 8 of the 10 bits according to the following rule: P8 6 3 7 4 8 5 10 9 The result is subkey 1 (K1). In our example, this yields (10100100) We then go back to the pair of 5-bit strings produced by the two LS-1 functions and perform a circular left shift of 2 bit positions on each string. In our example, the value (00001 11000) becomes (00100 00011). Finally, P8 is applied again to produce K2. In our example, the result is (01000011). G.3 S-DES ENCRYPTION Figure G.3 shows the S-DES encryption algorithm in greater detail. As was mentioned, encryption involves the sequential application of five functions. We examine each of these. Initial and Final Permutations
  • 5. G-5 The input to the algorithm is an 8-bit block of plaintext, which we first permute using the IP function: IP 2 6 3 1 4 8 5 7 This retains all 8 bits of the plaintext but mixes them up. At the end of the algorithm, the inverse permutation is used: IP–1 4 1 3 5 7 2 8 6 It is easy to show by example that the second permutation is indeed the reverse of the first; that is, IP–1(IP(X)) = X. The Function fK The most complex component of S-DES is the function fK, which consists of a combination of permutation and substitution functions. The functions can be expressed as follows. Let L and R be the leftmost 4 bits and rightmost 4 bits of the 8-bit input to fK, and let F be a mapping (not necessarily one to one) from 4-bit strings to 4-bit strings. Then we let fK(L, R) = (L ! F(R, SK), R) where SK is a subkey and ! is the bit-by-bit exclusive-OR function. For example, suppose the output of the IP stage in Figure G.3 is (10111101) and F(1101, SK) = (1110) for some key SK. Then fK(10111101) = (01011101) because (1011) ! (1110) = (0101). We now describe the mapping F. The input is a 4-bit number (n1n2n3n4). The first operation is an expansion/permutation operation:
  • 6. G-6 E/P 4 1 2 3 2 3 4 1 For what follows, it is clearer to depict the result in this fashion: n4 n1 n2 n3 n2 n3 n4 n1 The 8-bit subkey K1 = (k11, k12, k13, k14, k15, k16, k17, k18) is added to this value using exclusive- OR: n4 ! k11 n1 ! k12 n2 ! k13 n3 ! k14 n2 ! k15 n3 ! k16 n4 ! k17 n1 ! k18 Let us rename these 8 bits: p0,0 p0,1 p0,2 p0,3 p1,0 p1,1 p1,2 p1,3 The first 4 bits (first row of the preceding matrix) are fed into the S-box S0 to produce a 2- bit output, and the remaining 4 bits (second row) are fed into S1 to produce another 2-bit output. These two boxes are defined as follows: ! S0 = 0 1 2 3 0 1 2 3 1 0 3 2 3 2 1 0 0 2 1 3 3 1 3 2 " # $ $ $ % & ' ' ' S1= 0 1 2 3 0 1 2 3 0 1 2 3 2 0 1 3 3 0 1 0 2 1 0 3 " # $ $ $ % & ' ' '
  • 7. G-7 The S-boxes operate as follows. The first and fourth input bits are treated as a 2-bit number that specify a row of the S-box, and the second and third input bits specify a column of the S- box. The entry in that row and column, in base 2, is the 2-bit output. For example, if (p0,0p0,3) = (00) and (p0,1p0,2) = (10), then the output is from row 0, column 2 of S0, which is 3, or (11) in binary. Similarly, (p1,0p1,3) and (p1,1p1,2) are used to index into a row and column of S1 to produce an additional 2 bits. Next, the 4 bits produced by S0 and S1 undergo a further permutation as follows: P4 2 4 3 1 The output of P4 is the output of the function F. The Switch Function The function fK only alters the leftmost 4 bits of the input. The switch function (SW) interchanges the left and right 4 bits so that the second instance of fK operates on a different 4 bits. In this second instance, the E/P, S0, S1, and P4 functions are the same. The key input is K2. G.4 ANALYSIS OF SIMPLIFIED DES A brute-force attack on simplified DES is certainly feasible. With a 10-bit key, there are only 210 = 1024 possibilities. Given a ciphertext, an attacker can try each possibility and analyze the result to determine if it is reasonable plaintext. What about cryptanalysis? Let us consider a known plaintext attack in which a single plaintext (p1, p2, p3, p4, p5, p6, p7, p8) and its ciphertext output (c1, c2, c3, c4, c5, c6, c7, c8) are known and the key (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) is unknown. Then each ci is a polynomial function gi of the pj's and kj's. We can therefore express the encryption algorithm as 8 nonlinear equations in 10 unknowns. There are a number of possible solutions, but each of these could be calculated and then analyzed. Each of the permutations and additions in the algorithm is a linear
  • 8. G-8 mapping. The nonlinearity comes from the S-boxes. It is useful to write down the equations for these boxes. For clarity, rename (p0,0, p0,1,p0,2, p0,3) = (a, b, c, d) and (p1,0, p1,1,p1,2, p1,3) = (w, x, y, z), and let the 4-bit output be (q, r, s, t) Then the operation of the S0 is defined by the following equations: q = abcd + ab + ac + b + d r = abcd + abd + ab + ac + ad + a + c + 1 where all additions are modulo 2. Similar equations define S1. Alternating linear maps with these nonlinear maps results in very complex polynomial expressions for the ciphertext bits, making cryptanalysis difficult. To visualize the scale of the problem, note that a polynomial equation in 10 unknowns in binary arithmetic can have 210 possible terms. On average, we might therefore expect each of the 8 equations to have 29 terms. The interested reader might try to find these equations with a symbolic processor. Either the reader or the software will give up before much progress is made. G.5 RELATIONSHIP TO DES DES operates on 64-bit blocks of input. The encryption scheme can be defined as: IP -1 ! fK16 !SW !fK15 ! SW !"! SW !fK1 ! IP A 56-bit key is used, from which sixteen 48-bit subkeys are calculated. There is an initial permutation of 64 bits followed by a sequence of shifts and permutations of 48 bits. Within the encryption algorithm, instead of F acting on 4 bits (n1n2n3n4), it acts on 32 bits (n1…n32). After the initial expansion/permutation, the output of 48 bits can be diagrammed as: n32 n1 n2 n3 n4 n5 n4 n5 n6 n7 n8 n9
  • 9. G-9 • • • • • • • • • n28 n29 n30 n31 n32 n1 This matrix is added (exclusive-OR) to a 48-bit subkey. There are 8 rows, corresponding to 8 S-boxes. Each S-box has 4 rows and 16 columns. The first and last bit of a row of the preceding matrix picks out a row of an S-box, and the middle 4 bits pick out a column.
  • 11. !"# "#$%&'()*+ !, !" !, -.$" -.$" -.$/ -.$/ !/ 0 "# 0 0 , , 0 0 0 1&234*(56/(((7*+(5*8*49'&:8(;:4(.&<=>&;&*?(@A.