Inspiration
It came from the growing concern around the potential threat that quantum computers pose to traditional encryption schemes. We mainly wanted to demonstrate encryption schemes that are safe and secure even in the face of quantum attacks.
What it does (or was supposed to do)
QuantumChat is a web-based chat application that would allow users to connect and send secure, encrypted messages using post-quantum cryptography. We used the New Hope lattice encryption scheme, one of many lattice based encryption schemes which will likely succeed current elliptic curve public key encryption used across the internet today.
How we built it
The webapp was built using JavaScript and CSS. We used the crypto module of Node.js with OpenSSL for implementing the encryption schemes.
Challenges we ran into
Understanding the complex mathematics was actually the easy part. We struggled on implementing the various network protocols needed to create secure network traffic and host it on the internet. In the end we were unable to implement a working encrypted messaging app. However, we were able to perform the encryption on text files locally, individually. An attempt was made to set up an oracle cloud VM and VCN to explore different network topologies and have a more accurate simulation of what network performance might look like for the app, but couldn't get it to work.
Accomplishments that we're proud of
Super happy that we at least got one piece of quantum-resistant encryption code to work, even if it was on individual text files, locally. Also happy to have explored cloud computing options, and making pretty graphs with JMeter.
What we learned
It was super cool to concretely work with JMeter, and set up a variety of testing procedures, and reading through a bunch of papers on new encryption schemes. We're very certain the next scheme to be adopted will be lattice-based, and we're looking forward to seeing that happen.
What's next for QuantumChat
It would be great to properly set up the oracle cloud systems, and to set up multiple of the competing lattice-based encryption schemes participating in the NIST project. That way we could benchmark them against a variety of network parameters and schemes to see where some outperform others. Another thing we would like to explore is homomorphic encryption, which is a recent technology that lets you perform arithmetic computations on encrypted data, useful for if you don't want the server side to have access to potentially sensitive data.
Built With
- crypto
- javascript
- node.js

Log in or sign up for Devpost to join the conversation.