OTP Chat - cs428TAs/w2022 GitHub Wiki
OTP stands for the erlang open telecom platform, when authenticating with a server it could be a one time password, but in cryptography it refers to a One Time Pad.
Do you know much about cryptography? I don't.
But I understand that most of the standard encryption methods used today (RSA, AES,,,) are rendered obsolete by sufficiently powerful quantum computers. And that's a bit scary.
One time pads have unbreakable future-proof encryption (with a couple of assumptions) so why don't we see them more? Almost nobody uses them.
Lets change that. I propose building an E2EE messaging app / server utilizing one time pads. Possibly forking code from existing projects like matrix.org or anything else that is expedient. Any ideas?
If forking a messenger app that runs on the matrix.org protocol, I think the scope of this project would have two main parts.
- A) Handling the distribution between cellphones of the one time pads(nfc, bluetooth, otg, qr codes even??).
- B) creating a way to create/capture entropy from user input to create the pads.
You piqued my interest:
- Joseph Scholl
- Matt Edwards
- Calvin Fischer (though i'd add that RSA is easily replaced by other trapdoor functions strong against quantum attacks and AES is not vulnerable to a quantum attack, this is still a cool project, also something to think about)