shanet / Cryptully

Encrypted chat for those that don't know crypto.
http://www.cryptully.com
GNU Lesser General Public License v3.0
37 stars 23 forks source link

Verifying server authenticity #41

Closed melvyn2 closed 6 years ago

melvyn2 commented 6 years ago

As you say on your documentation, cryptully uses DH to exchange the AES key and IV. However, how do you know that you aren't connecting to someone who is intercepting, decrypting, reading and re-encrypting the messages before passing them along (basically, how to check if we aren't being MITM'ed)?

shanet commented 6 years ago

Messages are encrypted end-to-end so the server cannot decrypt and read them. As for verifying the keys, the socialist millionaire protocol is used. https://en.wikipedia.org/wiki/Socialist_millionaires

melvyn2 commented 6 years ago

Ok, thank you for the explanation!