Modern public-key cryptosystems have become increasingly vulnerable to quantum attack from malicious actors, including oppressive governments and companies. OptIn is a messaging app designed to protect its users' data by implementing perfectly secure one-time pad encryption.
With China's brutal suppression of dissidents making headlines around the world, we believe that it is now more important than ever for the human right to privacy to be protected, and we hope that OptIn functions as a powerful proof-of-concept for the one-time pad's role in helping human rights activists fight for that goal.
When two users want to be able to exchange messages securely on OptIn, they first scan OptIn's randomly generated QR codes with their respective device cameras to securely exchange several kilobytes of one-time pad information. From then on, every message they send one another is encrypted by that one-time pad, making it impossible for any outside party to view their messages.
We built OptIn through two all-nighters of intensive research and frenzied coding fueled by copious amounts of coffee and Monster Energy.
In particular, we can't even count the number of times we've written substantial amounts of code with the intention of utilizing a certain framework only to find some silly reason why that framework is unable to deliver the result we had in mind. These moments may feel frustrating or demoralizing in these times of extreme time pressure and fatigue, but as Henry Ford once said, "Failure is simply the opportunity to begin again, this time more intelligently." And we've definitely had plenty of opportunities to begin again!
I'm writing these words at 5am Sunday morning in a room with several other teams, each of whom has at least one member sleeping on the floor. Each and every one of those teams, including their currently sleeping members, has worked their asses off to build some incredible projects. But when I take a glance at my two teammates sitting beside me, I see them both staring grimly at their computer screens, resolutely typing away.
Whether or not the judging ends up going how we hope it goes, I know my teammates and I gave HackUMass VII the absolute best we had. And I don't need us to win any fancy prizes to know that's a damn good accomplishment.
Each of us learned diverse techniques to augment our existing skillsets throughout the project. In particular, we learned how to setup a TCP server, use Python's Tkinter graphics library, store cryptographically secure random bytes in QR codes, interface with Raspberry Pi cameras, merge Git branches with our master branch, and much, much more.
Next steps for OptIn include:
- Using a color-sensitive graphical information storage system such as JAB code for larger one-time pad sizes
- Expanding the scope of the application with a dedicated server
- Making the application available on mobile phones
OptIn is written primarily in Python. The app utilizes diverse technologies including Raspberry Pi, TCP, OpenCV, QR information storage, Tkinter graphics, and many more.