2 ms·
> Next you realize people aren't always online at the same time and you can't send offline messages. So you remember Signal's double ratchet The part that enab
by auganov 6y ago
> Next you realize people aren't always online at the same time and you can't send offline messages. So you remember Signal's double ratchet
The part that enables sending messages to an offline person is uploading an ephemeral key and one time keys to the server.
The problem with libraries is many parts here aren't strictly cryptographic at all. So say one time keys. The server has keep track of them and your client also has to save them and keep track of them. Once in a while the client will have to replenish the keys on the server. It's hard to librarize this without being very imposing as to the implementation. And the actual cryptographic part isn't too different from normal DH schemes at all.