AnemoneLabs / unmessage

Privacy enhanced instant messenger
GNU General Public License v3.0
43 stars 7 forks source link

Create a parallel Double Ratchet state for unMessage #86

Open felipedau opened 7 years ago

felipedau commented 7 years ago

As unMessage is based on the Double Ratchet Algorithm, we should try to take advantage of its properties to make unMessage as ephemeral as possible. So far, these are the ideas we had:

Due to our dependency in Double Ratchet, maybe we should go full dependent and create a parallel state for unMessage which is updated based on Double Ratchet's, but with keys that we use for our own features. We can use the Nr and Np numbers to check if we should keep the keys before ratcheting and delete until skipped messages are received (and expire if the messages are not received after a while).

Finally, whenever we think of new features, keep in mind we should try to make it as ephemeral as possible.