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.
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 ratings0% 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.
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'