--- aliases: ["X3DH start conversation message sending"] --- [[Funzione]] [[X3DH]] di [[crittografia ibrida]] attraverso la quale un [[user agent]] avvia una nuova conversazione con un altro. ## Funzionamento 1. 1️⃣ genera una [[coppia di chiavi effimere]]. 2. 1️⃣ richiede e scarica dal [[server di interscambio]]: - [[identity information]] di 2️⃣ - [[identity key]] pubblica di 2️⃣ - [[signed pre-key]] pubblica di 2️⃣ - una [[one-time pre-key]] di 2️⃣, che viene cancellata dal [[server di interscambio]] 3. 1️⃣ calcola contemporaneamente il risultato di 4 ipotetici [[scambio di chiave basato su Diffie-Hellman|scambi di chiave DH]], usando: - [[identity key]] privata di 1️⃣, [[signed pre-key]] pubblica di 2️⃣ - [[autenticità|autentica]] [[session key]] - [[coppia di chiavi effimere|chiave effimera]] privata di 1️⃣, [[identity key]] pubblica di 2️⃣ - [[autenticità|autentica]] [[session key]] - [[coppia di chiavi effimere|chiave effimera]] privata di 1️⃣, [[signed pre-key]] pubblica di 2️⃣ - fornisce [[forward secrecy]] - [[coppia di chiavi effimere|chiave effimera]] privata di 1️⃣, [[one-time pre-key]] pubblica di 2️⃣ - previene [[replay attack]] 4. 1️⃣ fornisce il risultato a una [[key derivation function]], generando la [[session key]]. 5. 1️⃣ inizia a inviare messaggi con la [[session key]].