I just finished writing my final report for Intro to Modern Cryptography. The topic: a light, home-brewed, C++, library-asisted OpenPGP equivalent for encrypting files. The basic concept is as follows for OpenPGP:

  1. Symmetric encryption (AES etc.) is fast but you have to get the key from point A to point B securely
  2. Asymmetric encryption (RSA etc.) negates the key sharing requirement but is slow
  3. Asymmetrically encrypt a symmetric “session” key, then use the session key to encrypt the file/message you’re trying to send and you get the best of both worlds!

So I made a command line utility, using the Chilkat Visual C++ library set, that did the above for file encryption, with automatic signing built in so the recipient knows who sent the file. The application is rather basic, but it works very well (and pretty quickly for encryption/decryption…my IdeaPad took about seven seconds each to encrypt and decrypt a 100MB file) and is easy to dissect for anyone who wants to do that sort of thing.

For more information, download the package below Read the rest of this entry »

Tags: , , , , ,