113
edits
(Minor edits) |
(Removed redundant key information in message header) |
||
| Line 237: | Line 237: | ||
<li>Each client publishes an identity key (AI, BI) and a set of ephemeral key digests (AE{1..n}, BE{1..n}d)</li> | <li>Each client publishes an identity key (AI, BI) and a set of ephemeral key digests (AE{1..n}, BE{1..n}d)</li> | ||
<li>Client A generates a new ephemeral key (AEp) and sends a message to Client B nominating one of client B's ephemeral key digests (BEd).</li> | <li>Client A generates a new ephemeral key (AEp) and sends a message to Client B nominating one of client B's ephemeral key digests (BEd).</li> | ||
<li>Client B receives client A's ephemeral key (AEp) and | <li>Client B receives client A's ephemeral key (AEp) and digest for own ephemeral key (BEd). Using 3DHE and a KDF Client B generates the session key (SK) then sends message including own ephemeral key (BEp) matching digest (BEd). Client B can now encrypt/decrypt the message body with session key.</li> | ||
<li>Client A receives client B's ephemeral key (BEp). Using 3DHE and a KDF, client A generates the session key (SK). Client A can now encrypt/decrypt the message body with the session key.</li> | <li>Client A receives client B's ephemeral key (BEp). Using 3DHE and a KDF, client A generates the session key (SK). Client A can now encrypt/decrypt the message body with the session key.</li> | ||
</ol> | </ol> | ||
| Line 291: | Line 291: | ||
srcclientid: "id of sender", | srcclientid: "id of sender", | ||
srckeyid: "id of sender's ephemeral key", | srckeyid: "id of sender's ephemeral key", | ||
dstclientid: "id of receiver", | dstclientid: "id of receiver", | ||
dstkeyid: "id of receiver's ephemeral key", | |||
sequence: "sequence of this message in session", | sequence: "sequence of this message in session", | ||
type: "message type", | type: "message type", | ||
| Line 304: | Line 303: | ||
<pre> | <pre> | ||
{ | { | ||
clientid: | clientid: "id of client", | ||
name: | name: "name of client" | ||
srckey: "sender's ephemeral key", | |||
dstkeydigest: "digest of receiever's ephemeral key" | |||
} | } | ||
</pre> | </pre> | ||
| Line 325: | Line 325: | ||
status: "okay|fail", | status: "okay|fail", | ||
message: "ephemeral key okay|ephemeral key mismatch", | message: "ephemeral key okay|ephemeral key mismatch", | ||
dstkey: "ephemeral key matching dstkeydigest (if status okay)", | |||
auth: SessionVerifier (if status okay) | auth: SessionVerifier (if status okay) | ||
} | } | ||
edits