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)