mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2024-11-25 11:34:18 +00:00
25 lines
1.4 KiB
Markdown
25 lines
1.4 KiB
Markdown
---
|
||
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]].
|