You are to write a small (and hopefully simple) application. Your application is
intended to be somewhat similar to the “GPass” program from the Gnome2
application suite. The intention is simple: you have a password and some textual
information. The text is encrypted with the password and the data stored in a file. The
same password when given will decrypt the information (play with GPass if you like).
It is not the intention of this assignment that your code be sophisticated- it just needs
the basic functionality – prompt for a password, decrypt the file and display it. That is
sufficient. GPass itself is vastly more than I would envision any of you writing.
You can implement whatever nice enhancements you see fit for your program, but try
to keep it reasonably simple.
You must provide a manual for your program. This manual must cover how to build
the application from source, how you would see it installed and used (clearly: it is not
going to be something that could easily integrate with say Gnome like GPass can);
and a clear user manual for the program.
Your code must be clear and well commented.
Your code should be as cross platform as is possible. So you can use Java and then
use WxWindows or similar to provide cross platform windowing. Your code should
be able to run on Linux or Windows platform.
I’m not going to explain how to get a “pop up window” or anything like that, but the
Cryptographic code needs an explanation. While you debug your code, write your
own Cryptographic code that meets whatever CryptoAPI you have chosen and does
nothing more than return the buffer passed with (say) case inverted. This will permit
you to debug whatever problems you might have without having to deal with 8 bit
binary junk. Substitute the real crypto when you get it working. In essence, all the
cryptoAPIs are the same and take the form of:
[url removed, login to view](buffer, password)
so it isn’t “rocket science”.
Please note carefully: you do not have to write your own crypto code. I want you
to use an existing API and code. Indeed, it is a very bad idea to even think about
writing your own cryptographic code!
Since this is a security course and since you are trying to encrypt something (and
decrypt it) you should make some effort to not reveal the password.
Please bid accordingly. Higher bid will not be considered.