Homework 6, You can't break me!

Short Description:

Write a set of programs which can deal with different encryption systems.

This assignment is worth 100 points.

Goals

When you finish this homework, you should have:

Formal Description

Write programming libraries to support encryption and decryption using the cipher systems. The code for each of these ciphers should be developed as a stand-alone library which can be included in any program. Inclusion of one cipher should not require inclusion of any of the others.

For the Vigenere cipher, you are REQUIRED to create and use a Vigenere square or Vigenere table.

You should produce five programs: Caesar, VIC, Playfair, Vignere, CodeBench. Each of these programs should be interactive and user friendly.

You should also create library of utility functions, which are common to two or more ciphers. This library might contain, for example, the following functions:

There will probably be other such functions. You should not have the same function implemented in two files for this project. If two encryption systems require a function, place it in this library.

Discussion

Required Files

A tar file containing only source code and a Makefile.

A tar file is a file which compresses many files and folders into a single file. TAR stands for Tape ARchive, and is a utility which has existed for most of the history of UNIX. It maintains dates, permissions and ownership of the file. It is a POSIX standard.

To create a tar file:

These instructions assume all of your work is in a folder called program5. Following these instructions you will produce a file called submission.tgz.

  1. Remove all object files and executable files from the folder.
  2. In the folder containing program5 (not in the program5 folder, but its parent) issue the command
    tar cvzf submission.tgz program5
        
  3. This will create a file called submission.tgz
  4. You should submit this file.
  5. If you wish, you may look at the contents of this file with the command
    tar tzf submission.tgz
        
    tar xvzf submission.tgz
        
    You should probably do this in another directory. This will create a new folder called program5 and extract all of the files in the tar file into it.

Submission

Email the tar file of your source code to danbennett360@gmail.com by class time of the due date.