This blog is reserved for more serious things, and ordinarily I wouldn’t spend time on questions like the above. But much as I’d like to spend my time writing about exciting topics, som…
As a kind of a weird bonus, activating end-to-end encryption in Telegram is oddly difficult for non-expert users to actually do.
No, it's not. It's very easy. In the bottom right corner there is a pencil button to compose a new message and right there it asks which tpye of chat to start. Secret chat is the second topmost option after group chat. Really not hidden or complicated at all.
It should be a setting to always use encrypted chat, and it should probably prompt you when you first login.
I don't disagree but the claim that you quoted was that it's complicated to initiate and as I explained it's not. Also secret chats stay in the messages list, so you can go back to an initiated secret chat and pick up there without any additional fiddling.
If you have to enable it every time, it's complicated enough that most people won't bother. Maybe they'll do it once or twice out of novelty, but it's not going to become a habit.
I only consider something "encrypted" if it's actually encrypted by default, or at least prompts to enable it permanently on first launch. Otherwise, it's not an "encrypted" chat, it just has the option to have some chats encrypted.
If you have to enable it every time, it’s complicated
But you don't. As I already explained: secret chats stay in the messages list, so you can go back to an initiated secret chat and pick up there without any additional fiddling.
I have plenty of encrypted chats that I don't have to enable every time I want to send one. I don't understand where this misconception comes from.
Surely you talk to more than one or two people, no? If you have to manually check a box or something every time you start a new message with someone, people are going to stop doing it.
It's not an encrypted chat app. It's an unencrypted chat app that has an option for encrypted chats. Whether something is encrypted or not depends on how most people use it and what the defaults are.
Signal is an encrypted chat app. E2EE is the default and AFAIK only behavior. Telegram can be encrypted, but it's not by default, and defaults matter.
Surely you talk to more than one or two people, no? If you have to manually check a box or something every time you start a new message with someone, people are going to stop doing it.
Maybe you get acquainted to 100 new people every day, so your day is a constant chore of starting secret chats all the time. I don't. I doubt regular people do. Just start the secret chat once and then pick it up later.
Signal is an encrypted chat app.
Except for the locally stored data which is not encrypted and Signal's attitude is that device encryption is up to the user.
True, device encryption should be up to the user. Mine is encrypted, and most smartphones have encrypted storage these days. I actually have mine reboot after a period of inactivity, which removes the encryption keys from memory.
That said, they should have an option for app data encryption, but that's hardly a requirement IMO, because I care far more about data being encrypted in transit than at rest on my devices. I can encrypt data at rest on my machines, I can't encrypt data in-transit unless that's baked in to the service.
That said, they should have an option for app data encryption, but that’s hardly a requirement IMO
So Telegram is not an encrypted messenger because there are types of messages that are not E2E encrypted but Signal is a encrypted messenger because encrypting local storage is optional. Got it.
Yes, because the "encrypted messenger" metric is about sending and receiving messages, not storing messages. On the order of things I care about, E2EE is much more important than local storage. I can do something about local storage, I can't realistically do anything about E2EE.
I'd like to see them try. I use GrapheneOS, and it reboots after a period of inactivity, so the decryption keys aren't even loaded into memory unless I've used my phone recently. There are also constitutional protections so the government can't take my data without my permission, or with a warrant (if they can break the encryption, that is).
Even your average smartphone w/o any special setup is encrypted by default, though a lot of people use pretty awful security (i.e. only biometrics, and police can unlock your device with your biometrics violating your right to not self-incriminate).
It would be nice if Signal stored my data encrypted, but my devices are already encrypted (phone, desktop, and laptop), are usually in my possession, and have extra layers of protection on top to prevent stealing my data. So I'm a lot more comfortable with "unencrypted" data at rest than the chance that a contact will send me an unencrypted, sensitive message. I can mitigate the former, I can't do anything about the latter.
They’ve implemented it in such a way that you only have access to an encrypted chat on a single device, so no syncing between devices. Syncing E2EE chats across devices is more difficult to pull off, but it’s definitely possible and other services do that by default.
Syncing E2EE chats across devices is more difficult to pull off, but it’s definitely possible and other services do that by default.
That's because if you are able to get your private key on another device, then Google, Apple or Microsoft, and that means anyone, also have access to your private key. And you don't have e2ee, literally.
I would look into how Matrix handles this, for example. It involves unique device keys, device verification from a trusted device, and cross-signing. It’s not just some private key that’s spread around to random new devices where you lose track of.
I don't see a reason to not have everything E2EE all the time.
You probably didn't ever meet non-IT person(or most of the IT people). To use e2ee means you need to keep your private key close and safe. 99.999% people can't do that. So when they lost their key their conversation history is gone and it's your fault not theirs.
Signal does this by having your data be unencrypted at rest on your device, and I think that's a reasonable tradeoff because it protects the most import part: data in transit. Or you can be like Matrix and require/strongly encourage setting up multiple clients so you always have a fallback (e.g. desktop and phone). There are reasonable technical solutions to the problem of making an E2EE chat system.
Of course. As I already explained, this sort of thing is my job. Millions of people signing support contracts with me: Awesome! I'll be creating so many jobs. Happy to expand into enterprise communication by offering Teamgram hosting services.
It’s three clicks. And it opens a separate chat from the existing one. It’s obscure enough that you could say the UX deprioritizes (which at best is not an actively malicious design choice) usage of end-to-end encryption.
And it opens a separate chat from the existing one.
I don't see the problem. The secret one has the lock icon to clearly mark it. There's no way one would accidentally pick the wrong chat. Delete the old, unencrypted one to be sure.
It’s obscure enough that you could say the UX deprioritizes (which at best is not an actively malicious design choice) usage of end-to-end encryption.
I agreed in another comment that there should be an "encrypted by default" option somewhere. I'm not claiming that it's perfect but the claim in the blog that it's super complicated is just not true. At least calls are P2P-encrypted by default.
Yeah I mean if you started one. If you went in with a secret chat in the first place then it wouldn't be an issue. And so it's one extra click vs. starting a normal chat. I hope it hasn't inconvenienced you more than it's taken for all these replies.
If you’re talking to 30 people, it’s 90 clicks. It might be 3 clicks if you know where to look, but end of the day, even if you know where to find it, that’s still that many clicks times how many people you chat with. It’s not ideal. I wouldn’t say it’s complicated sure, but it’s not easy.
Uh, so? A "compose message" button is the approach many communication apps use, including e-mail. Don't get me started how many clicks it is to GPG-encrypt e-mails...
It’s not ideal.
I don't know how many times I have to repeat myself that I agree on that part. You act as I would disagree. I don't. It could be better but it's also not a complicated nightmare as the blog author makes it out to be.
Right. But it’s also not exactly “easy” which is what you’re saying it is.
If easy was a sliding scale. Easy would be enabled by default. Hard would be making it obscure and hard to find. I would say it’s definitely closer to the harder to find side. But that’s just me. But 3 clicks, and having to switch chats and maybe delete the old one to avoid confusion, none of that is easy.
Right. But it’s also not exactly “easy” which is what you’re saying it is.
I said it's as easy as tapping the compose button and selecting secret chat. I nowhere claimed that it's easier than that but it's also not more complicated than that.
It’s 100% not just two clicks. You make it sound easier than it really is. But there’s no way for a new or infrequent user to know where it is unless they explore a bit or even knew to look for it. It’s hidden away behind a hamburger menu.
No, I gave a detailed tutorial how to initiate a secret chat and then explained that the procedure has to be done only once per contact. It's exactly as easy or complicated as I explained. Not more, not less.
It’s hidden away behind a hamburger menu.
No, it's not. Tap the pencil in the bottom right corner. That's how I explained it and that's how it's done. Hamburger menu is an additional way but the compose button is the pencil in the bottom right corner.
Maybe it’s different on Android or Desktop/Web. On iOS it’s more than 2 clicks. And it’s tucked away. It would be surprising to me if the UI is that inconsistent across different platforms. But I can’t know for sure. So I will defer to the subject matter experts on Telegram.
Again, it's not, go to their github, check the code of the client, compile it yourself, and make a reproducible build to check that the client they ship to your phone is the same. You are talking nonsense.
You're not getting what I'm saying, because you don't understand what "proprietary" means in this context.
Proprietary encryption ≠ Proprietary code.
You can roll your own shitty novel encryption algorithm and license it under GPL if you want, it's still proprietary encryption in that Signal has its own unvetted encryption algorithm instead of using a trusted existing algorithm.
EDIT: How are people not understanding this?
Proprietary licensing is different from a proprietary way of doing things.
If you folks think that a GitHub repo and GPL license are all you need to vet an encryption algorithm, and you think that absolves an novel untested algo from being called "proprietary encryption" you're gonna get burned one day because your trust was built on not understanding encryption.
Signal built their own encryption algorithm. That's proprietary encryption. If you still think I'm wrong, pick up a dictionary, look up "proprietary" and "encryption", and you might just have a chance at understanding that "proprietary" is an adjective that can apply to a lot of different words.