QRyptography: Hiding QR Codes in Plain Sight
Read our Dissertation here.
Watch the demo video here.
Built using Java in the NetBeans IDE. This was a team effort.
Meet my friend Derek, the other Developer: Derek Coblentz
For a class in CyberSecurity and Information Assurance we had to give a presentation on things we learned. While everyone else was reporting on random topics and showcasing some cool things and some very boring things, my friend and I decided to steal the show. We were hungry to build something, up until this point in our schooling, we hadn't had the opportunity to build a big program from scratch.
So we did.
This program begins by providing you with a screen to upload a QR code (Versions 1-4 supported) and a Host Image. The program then compresses the QR code so that each block (black or white) is represented by a single number (0 or 1, respectively), then we read in the Host Image as streams of pixels and change the right-most value of the Red section of every pixel needed. Changing the least significant number to either a 0 or 1. This successfully hides the QR code and spits out a new image (identical to the Host Image aside from the changed bits).
The program is also capable of decrypting the Steganographic Image and stripping the QR code out of it (only this program can get the QR code out) and display it so that you can view/scan it. And yes, I still have the program available.