To establish a shared secret key between the sender and the receiver, the Signal Protocol uses the Extended Triple Diffie-Hellman (X3DH) key agreement protocol. It’s used for asynchronous messaging and authentication. To repel MITM attacks, the Signal secure messaging protocol uses the Double Ratchet algorithm and prekeys. More so, the Signal Protocol uses low-level cryptographic protocols including Curve25519, AES-256, and HMAC-SHA256 that are frequently applied for high-load computer security systems.