The centralized server is only important because it sends you the message to get around the encryption (either adding a new client to your list of trusted clients or in some other way getting your client to send your messages to Meta).
If we trust the keys are possessed only by the generating device, then how does the encrypted message become compromised?
Because the client is capable of adding the backdoor, it isn’t comprosing the encryption. When you add a desktop client to your Signal account it doesn’t break E2E encryption either but your messages are visible in more places. That (or something like it) is what is being described, Meta aren’t decryption your messages as they go through their E2E network, they are tapping them client side.
wonderingwanderer@sopuli.xyz 11 hours ago
Now I’m curious: how does the person you’re messaging get the same key to decrypt the message you send?
I’m genuinely curious.
theherk@lemmy.world 11 hours ago
They share it with you. Their public key is generated by them. You encrypt a message to them with their public key. They use their private key to decrypt it.
wonderingwanderer@sopuli.xyz 11 hours ago
Is that vulnerable to an attack if a hacker gets their public key and intercepts the data traffic? Or can it only be used to encrypt but not decrypt?
Or are the added layers of complexity designed specifically to prevent that from happening?
This is why I like open-source, because people who know more about it than I do can check everything over and say whether it’s good.
theherk@lemmy.world 11 hours ago
Actually great questions. Yes and no. There are vulnerabilities if the private key leaks, but public keys are just that; perfectly okay public in any hands. You only encrypt data with it.
What makes the Signal protocol so awesome, and other algorithms like it, is that it reduces the threat surface area further by using onetime keys. So even if your key is leaked, it cannot be used to decrypt old or forthcoming messages as the keys have already ratcheted to the next pair.