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.
Download as DOC, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
105 views
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.
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'