Blog post by crypto professor Matthew Green, discussing what Telegram does (I wasn’t familiar with it) and criticizing its cryptography. He says Telegram by default is not end-to-end encrypted. It does have an end-to-end “secret chat” feature, but it’s a nuisance to activate and only works for two-person chats (not groups) where both people are online when the chat starts.
It still isn’t clear to me why Telegram’s founder was arrested. Green expresses some concern over that but doesn’t give any details that weren’t in the headlines.
Are there any programs that can do e2e in a group chat? My limited knowledge of e2e and encryption makes me think that’d be extremely difficult and even clunkier
Signal
Element (really any Matrix client that supports e2ee) but rooms with hundreds I’d people and having encryption enabled is going to to have lots of messages with key exchange errors.
Group chat is a tricky problem and the modern crypto group (moderncrypto.org) talked about it at great length a few years back. I don’t know whether any software exists that incorporates all those ideas, but that’s mostly because I haven’t really been looking for it.
There is the MLS standard now that was explicitly developed with e2ee group chat applications in mind. From what I have read so far, this new standard seems well regarded by cryptography experts.
Thanks, I’ll ask my crypto homies about it. I remember they were trying to handle some subtle problems.
MLS info: https://en.m.wikipedia.org/wiki/Messaging_Layer_Security
PGP/GPG encryption. It works with any IM, social network, anything (at least if the platform/program/app/medium allows for sufficiently lengthy messages so to carry the encrypted payload). There are some IMs that bring PGP/GPG natively, as well as extensions for existing IMs that also adds PGP/GPG feature, but PGP/GPG doesn’t need to be native to the app to convey encrypted messages, it’s a base64 text. It’s really an E2EE.
Messages app by Apple. Not extremely difficult, but has its trade offs, and easier when all devices share a CA.
CA?
Certificate Authority
Doesn’t the concept of using a CA (which are generally also central authorities) go against the idea of E2EE that only required to (or more) endpoints or am I missing something? Signal group messages (and the protocol/concept behind it) work without a CA. I think I’m missing something, can you connect the dots for me?
The CA is purely a way to provide validation that the endpoints being connected are who they say they are; the actual signing certificates are still private. Apple uses a central directory; Signal depends on certificates linked to one way hashes of phone numbers.