Aquí hay algunas especificaciones si desea ver más a fondo, especialmente X3DH .
Básicamente (y esto es una simplificación), el servidor almacena una cantidad de "prekeys" para cada dispositivo, que son las mitades públicas de las claves DH efímeras generadas por un dispositivo cuando se registra y se regenera según sea necesario.
Cuando Alice inicia una sesión con Bob, recupera una prekey del servidor y crea una nueva clave efímera para usar con ella. El mensaje que envía incluye un identificador para la presa que usó y la mitad pública de su clave efímera.
Cuando Bob recibe el mensaje, puede localizar la mitad privada de la prekey utilizada por Alice y usarla con la clave pública que envió para calcular el secreto compartido.
Vale la pena señalar que el acuerdo clave es necesario no solo para compartir el perfil, sino también para enviar un mensaje cifrado. Si dos dispositivos fueran incapaces de crear un secreto compartido de forma asíncrona, no sería posible iniciar una sesión a menos que ambos dispositivos estuvieran en línea, o al menos que el servidor almacenara en caché los mensajes de acuerdo clave hasta la entrega, lo que aún crearía retrasos innecesarios. Las prekeys son una forma de "precachar" los mensajes de acuerdo clave.