Rubber duck debugging! Two of our members have large rubber ducks for use in debugging and we came up with a custom encryption scheme.
QuackCryption is a novel approach to data structures, app development, and encryption by four, 2nd-semester Purdue University computer science majors. In essence, either text or a file is inputted (along with maybe a passphrase of the user's choosing), the text is encrypted using 128-bit AES (in CBC mode), and then that text is then converted into 'Quack' code. The data encrypted can be decrypted back to its original form, bit-for-bit. This software is open source.
How we built it
Challenges we ran into
Converting files into quacks (essentially creating a data structure) was extremely difficult as we had to read in data one byte at a time. File structures were not very intuitive to work with. Maintaining file name across encryption/decryption was extremely arduous.
Documenting and standardizing one data structure (the .quack data structure) across all of the platforms was extremely difficult.
Java's Swing package was extremely difficult to work.
The web app is mostly non-functional. It works to some extent (text can be quacked and unquacked across sessions) but is not interoperable across other QuackCryption products.
Accomplishments that we're proud of
It legitimately works!
What we learned
Java's Swing package, graphic design, AES encryption, and data structures/encrypted data structures.
What's next for QuackCryption
Convert to LLC, change world, sell out to Google.