SlideShare a Scribd company logo
TCN
5080
-­‐‑
Project
1
Description:
Create
a
program
to
encrypt
and
decrypt
binary
files
using
S-­‐DES
(Simplified
DES)
in
the
Cipher
Block
Chaining
mode.
The
program
takes
the
input
of
an
initial
key
and
an
initial
vector,
reads
the
plaintext
or
ciphertext
from
a
file,
conducts
the
encryption
or
decryption,
and
writes
the
resulting
ciphertext
or
plaintext
into
a
second
file.
This
is
a
group
project
with
no
more
than
two
students
in
a
group.
You
can
use
any
of
your
preferred
programming
languages
and
operating
systems.
The
code
must
be
well-­‐
documented
for
easy
understanding.
Input
Format:
The
program
should
take
a
command
in
the
following
format.
(java)
mycipher
-­‐m
mode
-­‐k
initial_key
-­‐i
initial_vector
-­‐p
plaintext_file
-­‐c
ciphertext_file
mode:
can
be
only
encrypt
or
decrypt
initial_key:
10-­‐bit
initial
key
initial_vector:
8-­‐bit
initial
vector
plaintext_file:
a
binary
(not
text)
file
to
store
the
plaintext
ciphertext_file:
a
binary
(not
text)
file
to
store
the
ciphertext
Output
Format:
The
program
should
print
output
in
the
following
format.
k1=subkey
1
k2=subkey
2
plaintext=all
bytes
of
the
plaintext
separated
by
blanks,
starting
from
the
first
byte
ciphertext=
all
bytes
of
the
ciphertext
separated
by
blanks,
starting
from
the
first
byte
Sample
Screen
Shot:
Sample
Test
Cases:
java
mycipher
-­‐m
encrypt
-­‐k
0111111101
-­‐i
10101010
-­‐p
f1
-­‐c
f3
k1=01011111
k2=11111100
plaintext=00000001
00100011
ciphertext=11110100
00001011
java
mycipher
-­‐m
decrypt
-­‐k
0101010101
-­‐i
00000000
-­‐p
f4
-­‐c
f2
k1=00011011
k2=10101100
ciphertext=00000001
plaintext=01101000
where
f1
is
a
binary
file
with
two
bytes
012316,
and
f2
is
a
binary
file
with
one
byte
0116.
IMPORTANT:
Make
sure
that
your
program
exactly
follows
the
above
specifications,
including
the
execute/java
class
file
name,
the
command
line
input
format,
and
the
output
format.
The
TA
will
test
your
program
by
typing
testing
commands
as
specified
above.
If
your
program
cannot
give
the
correct
output
for
a
command,
you
will
not
receive
the
credit.
Submission
Guide:
Operating
System:
any,
if
not
Windows/Linux/Mac
OS,
need
to
show
your
code
on
your
own
computer.
Programing
Language:
any,
if
not
Java/Python/C/C++,
need
to
show
your
code
on
your
own
computer.
Please
submit
your
source
code
and
a
readme
file
through
Moodle.
The
readme
file
should
including
the
following
information:
Operating
System:
xxx
Programming
Language:
xxx
Compiling
Instruction:
the
command
line
to
compile
your
code.
Grading
Criteria:
Item
Percentage
Successful
compilation
15%
S-­‐DES
key
generation
20%
S-­‐DES
encryption
15%
S-­‐DES
decryption
15%
CBC
mode
S-­‐DES
with
single
block
15%
CBC
mode
S-­‐DES
with
multiple
blocks
20%
AA P P E N D I X P P E N D I X CC
S i m p l i f i e d D E SS i m p l i f i e d D E S
C.1 Overview
...............................................................................................
....................2
C.2 S-DES Key Generation
.............................................................................................3
C.3 S-DES Encryption
...............................................................................................
......3
Initial and Final Permutations
..................................................................................3
The Function fK
...............................................................................................
........4
The Switch Function
...............................................................................................
.5
C.4 Analysis of Simplified DES
......................................................................................5
C.5 Relationship to DES
...............................................................................................
...6
William Stallings
Copyright 2006
Supplement to
Cryptography and Network Security, Fourth Edition
Prentice Hall 2006
ISBN: 0-13-187316-4
http://williamstallings.com/Crypto/Crypto4e.html
8/5/05
C-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.
C.1 Overview
Figure C.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 f
K
, 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 f
K
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 f
K
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
f
K
. 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 C.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 (K
1
). The output of the shift operation also feeds into another
shift and another instance of P8 to produce the second subkey
(K
2
).
We can concisely express the encryption algorithm as a
composition1 of functions:
IP
-1
o f
K2
oSW o f
K1
oIP
which can also be written as:
!
ciphertext = IP
-1
f
K2
SW f
K1
IP plaintext( )( )( )( )( )
where
K1 = P8 Shift P10 key( )( )( )
K2 = P8 Shift Shift P10 key( )( )( )( )
Decryption is also shown in Figure C.1 and is essentially the
reverse of encryption:
!
plaintext = IP
-1
f
K1
SW f
K2
IP ciphertext( )( )( )( )( )
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 o f .
8/5/05
C-3
We now examine the elements of S-DES in more detail.
C.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 C.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 (k
1
, k
2
,
k
3
, k
4
, k
5
, k
6
, k
7
, k
8
, k
9
, k
10
). Then the permutation P10 is defined as:
P10(k
1
, k
2
, k
3
, k
4
, k
5
, k
6
, k
7
, k
8
, k
9
, k
10
) = (k
3
, k
5
, k
2
, k
7
, k
4
, k
10
, k
1
, k
9
, k
8
, k
6
)
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 (K
1
). 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 K
2
. In our example, the
result is (01000011).
C.3 S-DES Encryption
Figure C.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
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:
8/5/05
C-4
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 f
K
The most complex component of S-DES is the function f
K
, 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 f
K
, and let F be a mapping (not
necessarily one to one) from 4-bit strings to 4-bit strings. Then
we let
f
K
(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 C.3 is (10111101) and F(1101,
SK) = (1110) for some key SK.
Then f
K
(10111101) = (01011101) because (1011) ! (1110) = (0101).
We now describe the mapping F. The input is a 4-bit number (n
1
n
2
n
3
n
4
). The first operation
is an expansion/permutation operation:
E/P
4 1 2 3 2 3 4 1
For what follows, it is clearer to depict the result in this
fashion:
n
4
n
1
n
2
n
3
n
2
n
3
n
4
n
1
The 8-bit subkey K
1
= (k
11
, k
12
, k
13
, k
14
, k
15
, k
16
, k
17
, k
18
) is added to this value using exclusive-
OR:
n
4
! k
11
n
1
! k
12
n
2
! k
13
n
3
! k
14
n
2
! k
15
n
3
! k
16
n
4
! k
17
n
1
! k
18
Let us rename these 8 bits:
p
0,0
p
0,1
p
0,2
p
0,3
p
1,0
p
1,1
p
1,2
p
1,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:
8/5/05
C-5
!
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
"
#
$
$
$
%
&
'
'
'
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 (p
0,0
p
0,3
) =
(00) and (p
0,1
p
0,2
) = (10), then the output is from row 0, column 2 of S0, which is
3, or (11) in
binary. Similarly, (p
1,0
p
1,3
) and (p
1,1
p
1,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 f
K
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 f
K
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 K
2
.
C.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 (p
1
, p
2
, p
3
, p
4
, p
5
, p
6
, p
7
, p
8
) and its ciphertext output (c
1
, c
2
, c
3
, c
4
, c
5
, c
6
, c
7
, c
8
) are
known and the key (k
1
, k
2
, k
3
, k
4
, k
5
, k
6
, k
7
, k
8
, k
9
, k
10
) is unknown. Then each c
i
is a polynomial
function g
i
of the p
j
's and k
j
'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
mapping. The nonlinearity comes from the S-boxes. It is useful
to write down the equations for
these boxes. For clarity, rename (p
0,0
, p
0,1
,p
0,2
, p
0,3
) = (a, b, c, d) and (p
1,0,
p
1,1
,p
1,2
, p
1,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
8/5/05
C-6
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.
C.5 Relationship to DES
DES operates on 64-bit blocks of input. The encryption scheme
can be defined as:
IP
-1
o f
K16
oSW of
K15
o SW oL o SW of
K1
o 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 (n
1
n
2
n
3
n
4
), it acts on 32 bits
(n
1
…n
32
). After the initial expansion/permutation, the output of 48 bits
can be diagrammed as:
n
32
n
1
n
2
n
3
n
4
n
5
n
4
n
5
n
6
n
7
n
8
n
9
•
•
•
•
•
•
•
•
•
n
28
n
29
n
30
n
31
n
32
n
1
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.
P10
10-bit key
8-bit plaintext
ENCRYPTION DECRYPTION
8-bit ciphertext 8-bit ciphertext
Figure C.1 Simplified DES Scheme
8-bit plaintext
Shift
P8
Shift
P8
fK
K1
K2 K2
K1
SW
IP–1
IP
fK
fK
SW
IP
IP-1
fK
P10
10-bit key
P8
K1
P8
LS-1 LS-1
LS-2 LS-2
K2
5
10
5
5
8
8
5
5 5
Figure C.2 Key Generation for Simplified DES
IP
8-bit plaintext
8-bit ciphertext
Figure C.3 Simplified DES Encryption Detail
IP–1
E/P
P4
S0
K1
S1
+
+
f
K
F
SW
8
8
8
8
4
4
2 2
4
4
4
4
4
E/P
P4
S0
K2
S1
+
+
f
K
F
8
8
4
4
2 2
4
4
4

More Related Content

PDF
DES Simplified
PPT
Ch03 Ch06 Des And Others
PDF
3-Block Ciphers and DES.pdf
PDF
03 UNIT-2.pdf
PDF
4-BlockCipher-DES-CEN451-BSE-Spring2022-17042022-104521am.pdf
PPTX
Cryptographic algorithms
PPTX
Cryptographic algorithms
PPTX
gyyyyyyyyyyyyyyyyyyyyyyBlockCiphers (1).pptx
DES Simplified
Ch03 Ch06 Des And Others
3-Block Ciphers and DES.pdf
03 UNIT-2.pdf
4-BlockCipher-DES-CEN451-BSE-Spring2022-17042022-104521am.pdf
Cryptographic algorithms
Cryptographic algorithms
gyyyyyyyyyyyyyyyyyyyyyyBlockCiphers (1).pptx

Similar to TCN  5080  -­‐‑  Project  1  Description  C.docx (20)

PPT
data encryption standard algorithm in cryptography
PPT
DATA ENCRYPTION STANDARD ALGORITHM , PPT
PPT
DATA ENCRYPTION STANDARD (DES) / lucifer
PDF
1 DES.pdf
PDF
sheet4.pdf
PDF
paper4.pdf
PDF
lecture3.pdf
PDF
doc4.pdf
PDF
doc4.pdf
PPT
Cryptography Symmetric Key Algorithm (CSE)
PPTX
Information and network security 20 data encryption standard des
PPTX
Overview on Cryptography and Network Security
PPT
block ciphers
PPT
section-8.ppt
PPTX
Data Encryption standard in cryptography
PDF
Network Security UNIT-II
PDF
DES (Data Encryption Standard) Algorithm
PDF
CRYPTOGRAPHY AND NETWORK SECURITY
DOCX
Des1
PPTX
Data Encryption Standard (DES) and Alternatives.pptx
data encryption standard algorithm in cryptography
DATA ENCRYPTION STANDARD ALGORITHM , PPT
DATA ENCRYPTION STANDARD (DES) / lucifer
1 DES.pdf
sheet4.pdf
paper4.pdf
lecture3.pdf
doc4.pdf
doc4.pdf
Cryptography Symmetric Key Algorithm (CSE)
Information and network security 20 data encryption standard des
Overview on Cryptography and Network Security
block ciphers
section-8.ppt
Data Encryption standard in cryptography
Network Security UNIT-II
DES (Data Encryption Standard) Algorithm
CRYPTOGRAPHY AND NETWORK SECURITY
Des1
Data Encryption Standard (DES) and Alternatives.pptx
Ad

More from ssuserf9c51d (20)

DOCX
Muslims in the Golden Age is the theme for the research project. You.docx
DOCX
Multiple Sources of MediaExamine the impact of multiple sour.docx
DOCX
Multicultural Event WrittenPlease choose and research a cult.docx
DOCX
Multi-Party NegotiationFor this Essay, you will explore the co.docx
DOCX
Music has long been used by movements seeking social change.  In the.docx
DOCX
MSW Advanced Clinical Concentration -Student Learning AgreementW.docx
DOCX
Multimedia Instructional MaterialsStaying current on technolog.docx
DOCX
Murray Bowen is one of the most respected family theorists in th.docx
DOCX
Mrs. Thomas is a 54, year old African American widow, mother and gra.docx
DOCX
Multiple Source Essay, Speculating about CausesProposing a Solution.docx
DOCX
Multiyear Plans Please respond to the followingDo you.docx
DOCX
Multinational Financial ManagementDetermine key reasons wh.docx
DOCX
Murder CasePreambleAn organization system administrator .docx
DOCX
Multimodal Personal Narrative – Develop a multimodal document to bot.docx
DOCX
Multigenre ProjectEN101O Fall 2019 Dr. WalterA Multigenre Pr.docx
DOCX
Multimedia activity Business OrganizationVisit the Choose Your .docx
DOCX
Multicultural PerspectiveToday’s classrooms are diverse and .docx
DOCX
Muhammad Ali, how did his refusal to go into the army affect his.docx
DOCX
MS 113 Some key concepts that you need to know to navigate th.docx
DOCX
Much has been made of the new Web 2.0 phenomenon, including social n.docx
Muslims in the Golden Age is the theme for the research project. You.docx
Multiple Sources of MediaExamine the impact of multiple sour.docx
Multicultural Event WrittenPlease choose and research a cult.docx
Multi-Party NegotiationFor this Essay, you will explore the co.docx
Music has long been used by movements seeking social change.  In the.docx
MSW Advanced Clinical Concentration -Student Learning AgreementW.docx
Multimedia Instructional MaterialsStaying current on technolog.docx
Murray Bowen is one of the most respected family theorists in th.docx
Mrs. Thomas is a 54, year old African American widow, mother and gra.docx
Multiple Source Essay, Speculating about CausesProposing a Solution.docx
Multiyear Plans Please respond to the followingDo you.docx
Multinational Financial ManagementDetermine key reasons wh.docx
Murder CasePreambleAn organization system administrator .docx
Multimodal Personal Narrative – Develop a multimodal document to bot.docx
Multigenre ProjectEN101O Fall 2019 Dr. WalterA Multigenre Pr.docx
Multimedia activity Business OrganizationVisit the Choose Your .docx
Multicultural PerspectiveToday’s classrooms are diverse and .docx
Muhammad Ali, how did his refusal to go into the army affect his.docx
MS 113 Some key concepts that you need to know to navigate th.docx
Much has been made of the new Web 2.0 phenomenon, including social n.docx
Ad

Recently uploaded (20)

PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Yogi Goddess Pres Conference Studio Updates
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
A systematic review of self-coping strategies used by university students to ...
PPTX
History, Philosophy and sociology of education (1).pptx
PDF
Trump Administration's workforce development strategy
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
Lesson notes of climatology university.
PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
PDF
Updated Idioms and Phrasal Verbs in English subject
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PPTX
Cell Structure & Organelles in detailed.
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Cell Types and Its function , kingdom of life
PDF
Computing-Curriculum for Schools in Ghana
Microbial disease of the cardiovascular and lymphatic systems
Yogi Goddess Pres Conference Studio Updates
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
A systematic review of self-coping strategies used by university students to ...
History, Philosophy and sociology of education (1).pptx
Trump Administration's workforce development strategy
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Lesson notes of climatology university.
Practical Manual AGRO-233 Principles and Practices of Natural Farming
Updated Idioms and Phrasal Verbs in English subject
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
Cell Structure & Organelles in detailed.
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Module 4: Burden of Disease Tutorial Slides S2 2025
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Cell Types and Its function , kingdom of life
Computing-Curriculum for Schools in Ghana

TCN  5080  -­‐‑  Project  1  Description  C.docx