AES program

How do I turn in my program?

Send a gzipped tar-file as an attachement by email to Running tar xzf 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 "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 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.5.0). If you want something else modify the makefile 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 in /var/tmp to avoid AFS issues affecting the results. Time will be measured by considering user time and system time as indicated by time.

Note that I want to be able to write
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 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 (austrin) have a C-program called aes.c, I would make a subdirectory called austrin/ and therein put my README file, the file aes.c (as well as any additional source files my program uses) and a makefile.

The gzipped tar-file austrin.tar.gz is created by the commands
tar cf austrin.tar austrin/*
gzip austrin.tar

excecuted in the directory that contains the austrin/ directory.

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

Per Austrin
Last modified: Fri Jan 28 2005