6

I am familiar with asymmetrical encryption, private/public keys...

I am wondering about the "new" trend coming from WhatsApp, Facebook, ... to have end to end message encryption. From my understanding, the device should generate the key pair locally, and send only the public key to the server/other users.

However, if my private key is stored only on my device, how can I still read/fetch all my previous conversations (supposedly encrypted) from the server when I use a new device since I don't have my private key anymore ? Or for example, if I use Facebook messenger on my browser, how can I decrypt previous messages when the private key should not be transferred ?

Limit
  • 3,191
  • 1
  • 16
  • 35
Carlo
  • 163
  • 1
  • 4
  • 1
    When you move to a new device on Whatsapp, you can't read messages from a user till you have generated a key pair for that user. – Limit Dec 24 '16 at 19:08

1 Answers1

1

When talking about Facebook and Whatsapp end to end encryption, both work for one device at a time. Reference: Facebook help center.

However, if my private key is stored only on my device, how can I still read/fetch all my previous conversations (supposedly encrypted) from the server when I use a new device since I don't have my private key anymore ?

In Whatsapp when you move to a new device, you need to wait for your device to get synced with the other device to read all the messages that were sent from that device. Whatsapp basically re-encrypts the messages. I am guessing that same should be the case with Facebook as well. Here is a reference to Whatsapp

Or for example, if I use Facebook messenger on my browser, how can I decrypt previous messages when the private key should not be transferred ?

As mentioned in the Facebook help center, if you are initiating a secret chat( FB name for end to end encrypted chat), only the device used for end to end encryption can decrypt the messages as other devices don't have the same key.
When it comes to Whatsapp web, it allegedly has a secure connection (not end to end) with your phone client and the phone client has true end to end encryption with the other device. Reference

Limit
  • 3,191
  • 1
  • 16
  • 35
  • What to you mean by get synced with other device? Whether new device communicates with old device? – VINOTH ENERGETIC Dec 19 '17 at 13:48
  • By other device I meant the device that you are trying to send messages to. Your new device does not need to communicate with your old device AFAIK. – Limit Dec 20 '17 at 04:57