DES / AES program

How do I turn in my program?

Send me a gzipped tar-file as an attachement by email to migo@nada.kth.se. Running tar xf should produce a directory with the same name as your username. This directory should contain
  1. the source code
  2. a makefile so that "make" builds your encryption program
  3. for Java solutions: a shellscript "des" or "aes" with the line
    java Encrypt $*
    (assuming your main class is calles Encrypt).
  4. a README file where you state an estimate of your algorithm's encryption speed (in bytes of plaintext per second). You can also include any other information you consider important.
When make has been executed it should be possible to encrypt using the command des (or aes).

In order for your program to be a candidate for fastest encryption it must be turned in on time.

How is it going to be tested?

Your program will be built using your makefile. If you are using Java, I will use the module jdk/latest (jdk/1.4.0). If you want something else modify the make-file and the shellscript accordingly.

The programs will be tested both for correctness and speed by running them on several input files. The files will be stored locally on tcs33. Also, a copy of jdk 1.4.0 will be stored locally, thereby hopefully avoiding AFS affecting the results. Time will be measured by considering user time and system time as indicated by /usr/bin/time on tcs33.

Note that I want to be able to write
/usr/bin/time des deskey < infile > outfile
(or /usr/bin/time aes aeskey < infile > outfile).

How will results be announced?

Results for the fastest programs will be posted on the course web page. Assuming the winners (one for DES, one for AES) do not mind, their names and code will also be posted.

When you present your solutions you will also get the results for your program. You can of course get a pretty good idea by running time on it yourself.

How do I construct the gzipped tar-file?

For instance, if I (migo) had a C-program called des.c, I would make a subdirectory called migo/ and therein put my README file, the file des.c and a makefile.

The gzipped tar-file migo.tar.gz is created by the commands
tar cf migo.tar migo
gzip migo.tar

excecuted in the directory that contains migo/.

The makefile might simply contain the following lines (note that the second line starts with a tab):
des: des.c
        gcc -O4 des.c -o des


Mikael Goldmann
Last modified: Tue Apr 16 10:15:01 MEST 2002