Signal protocol X3DH
E831072
Signal protocol X3DH is a key agreement protocol used in secure messaging systems to establish forward-secure, asynchronous end-to-end encrypted sessions between users.
Statements (51)
| Predicate | Object |
|---|---|
| instanceOf |
asynchronous key exchange protocol
ⓘ
cryptographic protocol ⓘ key agreement protocol ⓘ |
| abbreviation | X3DH NERFINISHED ⓘ |
| basedOn | Diffie–Hellman key exchange NERFINISHED ⓘ |
| category | end-to-end encryption technology ⓘ |
| componentOf | Signal Protocol NERFINISHED ⓘ |
| designedBy |
Moxie Marlinspike
NERFINISHED
ⓘ
Trevor Perrin NERFINISHED ⓘ |
| extends | triple Diffie–Hellman (3DH) NERFINISHED ⓘ |
| firstPublicationYear | 2016 ⓘ |
| followsModel | triple Diffie–Hellman pattern ⓘ |
| fullName | Extended Triple Diffie-Hellman NERFINISHED ⓘ |
| hasPhase |
initial handshake phase
ⓘ
prekey publication phase ⓘ session key derivation phase ⓘ |
| providesProperty |
asynchronous operation
ⓘ
authentication ⓘ deniability ⓘ forward secrecy ⓘ identity binding ⓘ |
| publishedBy | Open Whisper Systems NERFINISHED ⓘ |
| roleInProtocolSuite | initial key agreement for the Signal Double Ratchet ⓘ |
| securityGoal |
confidentiality of session keys
ⓘ
mutual authentication ⓘ post-compromise security for future sessions ⓘ resistance to key compromise impersonation ⓘ resistance to replay attacks ⓘ |
| specifiedIn | X3DH: Extended Triple Diffie-Hellman Key Agreement protocol specification NERFINISHED ⓘ |
| supports |
asynchronous message setup
ⓘ
clients that are offline during key establishment ⓘ |
| threatModel |
active network attacker
ⓘ
passive eavesdropper ⓘ |
| usedBy |
Facebook Messenger Secret Conversations
NERFINISHED
ⓘ
Google RCS end-to-end encryption (based on Signal protocol) ⓘ Signal messenger NERFINISHED ⓘ Signal secure messaging protocol ⓘ WhatsApp end-to-end encryption NERFINISHED ⓘ Wire messenger (Signal-based variants historically) NERFINISHED ⓘ |
| usedFor |
asynchronous key agreement
ⓘ
establishing end-to-end encrypted sessions ⓘ forward-secure key establishment ⓘ secure messaging ⓘ |
| usesCurve | Curve25519 (in Signal’s implementation) NERFINISHED ⓘ |
| usesKeyType |
ephemeral key
ⓘ
identity key ⓘ one-time prekey ⓘ signed prekey ⓘ |
| usesPrimitive |
digital signatures
ⓘ
elliptic-curve Diffie–Hellman ⓘ public-key cryptography ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.