Intentaré responder lo que, en el momento de escribir, entiendo, son sus preguntas:
La criptografía es independiente de la plataforma, por lo que no importa qué plataforma está enviando o recibiendo un mensaje cifrado siempre que el remitente y el receptor se adhieran al mismo protocolo.
En cuanto al intercambio de claves: Digamos que tiene dispositivos A y B, ambos pertenecientes a la misma identidad, I. Ahora, se supone que tengo acceso a los mensajes a través de A y B. Eso significa que cada mensaje es para estar cifrado con la clave (A) y la clave (B), o esa clave (A) = clave (B).
En el primer caso, no puede confiar en que el servidor no agregue de forma transparente un tercer dispositivo bajo su control a la lista de teclas para I, es decir, la tecla (C). Esto podría provocar algunas cejas con el remitente, pero como están en control de la interfaz de usuario y para eso, no importa.
En el segundo caso, puede compartir las claves estableciendo un canal de comunicaciones seguro para transmitir la clave, por ejemplo, al mostrar un código QR en A y escanearlo con B en un entorno seguro.
En ambos casos, como la IU y la lógica pueden ser fuente cerrada o puede que no esté ejecutando el binario para el que tiene fuentes (podría estar parcheado antes de la entrega), no puede estar seguro de que A ni B transmitan todas las claves conocidas. al servidor mientras estás enviando mensajes de texto.
Se reduce a: el intercambio de claves es un problema solucionable para este escenario, pero el software de confianza no lo es. Usted hace o no lo hace y utiliza su propio software bajo su control, siguiendo el mismo protocolo.
En cuanto a que solicita la implementación y los detalles de diseño para un producto específico: No lo sé; Puede que no sea revelado. Y si lo fuera, si desconfías del proveedor, ¿por qué confiar en lo que dicen?