0% found this document useful (0 votes)
128 views2 pages

Assignment 2 On Network Security

This document provides instructions for two assignments for a course on encoding and encryption. The first assignment involves implementing a simplified version of the Data Encryption Standard (DES) algorithm in a programming language. The second assignment involves working through a numerical example of a one-round version of DES encryption in written form.

Uploaded by

Debomitra Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
128 views2 pages

Assignment 2 On Network Security

This document provides instructions for two assignments for a course on encoding and encryption. The first assignment involves implementing a simplified version of the Data Encryption Standard (DES) algorithm in a programming language. The second assignment involves working through a numerical example of a one-round version of DES encryption in written form.

Uploaded by

Debomitra Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 2

CSIS 5857: Encoding and Encryption

Assignment 2: DES and AES


Due Feb. 17
You are required to do one of the following two assignments (based on whether you
prefer programming or ritten work:
!rogramming Assignment
Implement the Simp"i#ied DES (S-DES) desribed in !ppendi" # (page $%&) of the
te"tbook' It should ha(e the ability to input an 8 bit te"t and a 1$ bit %ey) and encrypt it'
I would prefer that you do this in *) *++) ,a(a) or ,a(aSript' -owe(er) you an do this
in any language) as long as I an ompile and run it in one of our labs and you get my
appro(al first'
I will not be partiularly onerned with programming style) doumentation) et' . the
purpose of this assignment is for you to get a good understanding of the inner workings
of DES' -owe(er) following these suggestions will make your life muh easier:
-a(e your program print as many intermediate (alues as possible'
Start by implementing support funtions to:
o *ompute the &'( of two binary numbers'
o S)i#t a binary number by some amount'
o *ompute the transpose of a binary number based on some permutation array'
o Determine the result of running a binary number through a gi(en S*bo+'
,ote: /he e"ample the te"tbook uses (E"ample #'0) is wrong' In order to test your
program) you an ompare it to the results from an on-line SDES alulator at
http://www.cs.utk.edu/~cjohnson/computing/cns/sdes.html
Email me your final program at 1ohn2is'ysu'edu'
-ritten Assignment
/his problem pro(ides a numerial e"ample of enryption using a one*round (ersion of
DES' 3e will use the same bit pattern for the key and the plainte"t:
-e"adeimal notation: $ 1 2 . / 5 0 7 8 1 A 2 C D E F
4inary notation: $$$$ $$$1 $$1$ $$11 $1$$ $1$1 $11$ $111
1$$$ 1$$1 1$1$ 1$11 11$$ 11$1 111$ 1111
5' Deri(e the round 1 %ey 3
1
' /his in(ol(es the following steps:
a) 6emo(e the parity bits'
b) 7erform the speified left shift on the 89-bit left and right hal(es'
) :se the permutation to deri(e the ;9-bit round 5 key 3
1
'
8' :se this key to perform the round 1 encryption of the plainte"t' /his in(ol(es the
following steps:
a) !pply the initial permutation and break the plainte"t into left and right hal(es
4
$
and (
$
'
b) E"pand (
$
to get E5(
$
6'
) *alulate A < E5(
$
6 3
1
'
d) =roup the ;9-bit result A into sets of $ bits and e(aluate the orresponding S-
bo" substitutions'
e) *onatenate the results of d) to get a 08-bit result 2'
f) !pply the permutation to get !526'
g) *alulate (
1
< !526 4
$
'
7lease turn these in using a word proessor (suh as 3ord)) instead of hand-written form'

You might also like