/usr/share/doc/axiom-doc/hypertex/cryptoclass10.xhtml is in axiom-hypertex-data 20120501-8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:m="http://www.w3.org/1998/Math/MathML">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="us-ascii"/>
<title>Axiom Documentation</title>
<style>
html {
background-color: #ECEA81;
}
body {
margin: 0px;
padding: 0px;
}
div.command {
color:red;
}
div.center {
color:blue;
}
div.reset {
visibility:hidden;
}
div.mathml {
color:blue;
}
input.subbut {
background-color:#ECEA81;
border: 0;
color:green;
font-family: "Courier New", Courier, monospace;
}
input.noresult {
background-color:#ECEA81;
border: 0;
color:black;
font-family: "Courier New", Courier, monospace;
}
span.cmd {
color:green;
font-family: "Courier New", Courier, monospace;
}
pre {
font-family: "Courier New", Courier, monospace;
}
</style>
</head>
<body>
<div align="center"><img align="middle" src="doctitle.png"/></div>
<hr/>
<center>
<h2>RCM3720 Cryptography, Network and Computer Security</h2>
<h3>Laboratory Class 10: The Data Encryption Standard</h3>
</center>
<hr/>
The object of this lab will be to build up the necessary functions and
tools to implement simplified DES (sDES). All operations will be done on
binary lists. Since the definitions of the sDES functions require lists to be
indexed starting at 0, but in Axiom lists are indexed starting at 1, many of
the operations will have extra ones added at some stage.
<ul>
<li> Save the file <tt>des.input</tt> to a directory in which you
have write access. Read the file into Axiom, and open up the file
with a text editor.
</li>
<li> Compare the first command <tt>perm(b)</tt> with the initial
permutation for sDES defined in page 94 of the notes. How do the
indices in the Axiom command relate to the indices of the
permutation in the notes?
</li>
<li> Now using the above procedure as a guide, write a procedure called
<tt>invperm</tt> to perform the inverse permutation.
</li>
<li> Test this procedure: it should invert the permutation you
obtained from the <tt>perm</tt> procedure.
</li>
<li> The <tt>subkey</tt> procedure creates two lists: one for the
first subkey, and one for the second. Edit the procedure to include
the second subkey as given on the bottom of page 95.
</li>
<li> Write a procedure called <tt>expperm</tt> which implements the
expansion permutation on page 96; use the <tt>perm</tt> and
<tt>invperm</tt> procedures as guides.
</li>
<li> Using the <tt>sbox0</tt> procedure as a guide, write a procedure
to implement S-box 1.
</li>
<li> The mixing function shown in figure 8.5 in the notes is
implemented as <tt>mix</tt>. This procedure has been
commented.
</li>
<li> Comment each line of the <tt>feistel</tt> and <tt>sdes</tt>
procedures in a similar fashion.
</li>
<li> Test the <tt>sdes</tt> procedure on the example given in the notes.
</li>
<li> Modify your procedure to implement sDES decryption, using the
scheme given on page 99.
</li>
<li> Test that your decryption procedure works; that it decrypts the
ciphertext produced by your encryption procedure to the original
plaintext.
</li>
</ul>
</body>
</html>
|