This application demonstrates a modified version of the Hill Cipher algorithm. It is different than the normal Hill Cipher in that it uses a dynamic key matrix which is permuted by pseudo-random numbers, and also implements the concept of Diagonalizing matrices. I took this on as a challenge during a linear algebra class I took in college.
To see the full details of this algorithm, you should look at the paper that it is based off of, which is available online at this location. It goes into much better depth than here. As of this writing, there is no other source code available for the algorithm.
The program was written in Visual C# using Visual Studio 2010 Professional, however the express edition should be fine for compiling it. Earlier versions may or may not be compatible; if your version is not, just create a new project and add all of the .cs files included in the zip to it.
I am releasing it with source under the BSD license, which is included in the zip file. Finally, the Matrix background used is courtesy PSDGraphics.com. If you want to use it, get it from the source; not me.