Finally, I hope this contribution has sparked your interest in finding other security protocols! If I have access to the Prekeys, I can try to calculate DH1, DH2 and DH3 (although I think it`s difficult without the identity keys and escape) and make key compromise attacks; See this informal overview. Basically, I can calculate the common secret if I have a secret SK key and imitate someone in a conversation. For this reason, the protocol suggests regularly loading prekeys to the server, as these attacks become invalid (the secret key depends on the prekey). After a successful protocol run, Alice and Bob form a common secret SK key, which can be used in another secure communication protocol (z.B. with the double-cratera algorithm). A python implementation of the extended Triple Diffie-Hellman key protocol. With E2EE, your message is encrypted at all times, because it is powered by possible intermediaries. No one other than the intended recipient has the key to decipher it. With a good E2EE protocol, neither intermediaries (email application server, database) or people with malicious intentions could read the messages you sent.
The X3 DH protocol consists of three parts: Alice, Bob and the server. As in the OTR protocol , in some cases, a third party who has compromised Alice`s legitimate private keys or bob could be made available a communication protocol that appears to be between Alice and Bob and which may only have been created by another party also having access to Alice`s legitimate private keys or bob (i.e. Alice or Bob himself) , or someone else who compromised their private keys). An application using extended Triple Diffie-Hellman should define the primitives used in the protocol. Three parameters need to be defined: within each protocol cycle, Alice generates a new pair of ephemeral keys with the public key EKA. The message encryption process depends to a large extent on the extended Triple Diffie-Hellman key agreement (X3DH) and provides the signal protocol for cryptographic detection and denial. This also has an added advantage of asynchronity, so the ability to send messages while they are disconnected. While the session is active, Alice encrypts and sends messages to Bob with the common secret Key of the Masters and Bob`s ephemeral keys. This step is followed by the creation of a root key, a corresponding chain key and a string of messages. These are essential to the protection of secrecy and data protection.
For each message sent, a new set of session keys (ephemeral) is generated, so that none of the previous or future messages can be deciphered by third parties.