As I has read upon "WhatsUp Encryption Overview" when a client receives a
sender message then it performs the following actions:
- Decomposes Sender Message to
- Generates a
Message Keyfrom a
Chain Keyand update the
- The sender encrypts the message using AES256 in CBC mode and signs it with Signature key.
- The sender transmits the single ciphertext message to the server, which does server-side fan-out to all group participants.
So I wonder at the end which is the final group key each participant, as far as I understand has a single key so how others on a group chat are able to decrypt the message?
Also I cannot understand at step 2 which key is used in order to encrypt the message in AES CBC Mode?
Chain Key is updated? As some sort of a DKF function is used to concat all single keys into one master key?