The AES standard has become synonymous with state-of-the-art encryption. The AES (Rijndael) cipher is specified in NIST FIPS-197.  I decided to implement the cipher in LabVIEW, my favorite programming language.  All code was written from scratch from the specification. In addition, the first four encryption modes in NIST SB 800-38A were implemented. Electronic Code Book (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), and Output Feedback (OFB) are included and work. The programs pass all test vectors listed for the included modes.

Two simple utilities can be found in the Tools section which demonstrate the AES standard implemented in LabVIEW. The first encrypts a given file and saves it with an ".encr" extension. The second decrypts and (by default) strips off the last extension. The default key is from the spec so I don't suggest using it. It's a perfectly good key, just easy to guess. I wont promise these programs are secure against all attacks, but they do work.

Don't forget your key! The utility doesn't remember it. It's a feature not a bug. I suggest you write it down and store it on a safe place. You'll need to download and install a recent LabVIEW runtime engine to make these work.

Update:  We have added an installer which includes the Labview 2012 runtime.  We're sorry the runtime is such a beast.  This way you will not have to create a (free) NI account to try these out!

Encryption Utility

Decryption Utility

Encrypt a File

Decrypt a File

New!  Installer with Labview 2012 Runtime