113
edits
(Simplified Registration protocol v1) |
(Simplified Messaging protocol v1) |
||
| Line 93: | Line 93: | ||
<ol start="0"> | <ol start="0"> | ||
<li>Each client publishes an identity key (AI, BI) and a set of ephemeral keys (AE{1..n}, BE{1..n})</li> | <li>Each client publishes an identity key (AI, BI) and a set of ephemeral keys (AE{1..n}, BE{1..n})</li> | ||
<li>Client A generates a new ephemeral key (AE) and randomly selects one of client B's ephemeral keys (BE). Using 3DHE and a KDF, client A generates the shared secret (S) then sends message including own ephemeral key (AE) and identifier for client B's ephemeral key (X). | <li>Client A generates a new ephemeral key (AE) and randomly selects one of client B's ephemeral keys (BE). Using 3DHE and a KDF, client A generates the shared secret (S) then sends message including own ephemeral key (AE) and identifier for client B's ephemeral key (X). Client B can now also generate the shared secret (S) and hence the message body can be encrypted immediately.</li> | ||
</ol> | </ol> | ||
Both Client A and Client B can now continue to communicate using the shared secret (S) as a session key. | |||
<pre> | <pre> | ||
| Line 104: | Line 104: | ||
BE{1..n}p BE{1..n}s | BE{1..n}p BE{1..n}s | ||
t1 AIs AIp, BIp | t1 AIs AIp, BIp BIs | ||
AEs AEp, BEp | AEs AEp, BEp BEs | ||
S = KDF(3DHE(AIs, AEs, BIp, BEp)) S = KDF(3DHE(BIs, BEs, AIp, AEp)) | |||
S = KDF(3DHE(AIs, AEs, BIp, BEp)) | |||
</pre> | </pre> | ||
edits