Hacker News new | ask | show | jobs
by LeoPanthera 3698 days ago
How is client sync possible with e2e?
4 comments

Why wouldn't it be possible? The app knows who is sending to who and which devices are linked.
Because if it's end to end encrypted each device would either need the same private key to decode the messages or each message is encrypted with each devices public key.

This would require some kind of key exchange i.e. scanning bar codes.

There are probably a million ways to deal with it.

I haven't looked into it at all, but one way I just thought of right now is to have your own devices p2p the message among themselves with original sender's information after the one used most recently receives it.

I've noticed that a new device added to the account will not see the history. It only sees those messages that are received or sent after it has been added to the account.
There's no technical reason that the synced devices couldn't distribute the missing messages amongst themselves. :)
Signal also syncs its e2e encrypted chats
Client-to-client, simple as that. Pushed in encrypted form like regular messages.
It's possible because chats are not end-to-end encrypted.