This file is indexed.

/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>