Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
OTRv4
otrv4-prekey-server
Commits
f3dc6529
Unverified
Commit
f3dc6529
authored
Aug 13, 2018
by
Sofia Celi
⛸
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Clarify DAKE-3 message
parent
3c612aa0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
2 deletions
+18
-2
otrv4-prekey-server.md
otrv4-prekey-server.md
+18
-2
No files found.
otrv4-prekey-server.md
View file @
f3dc6529
...
...
@@ -868,10 +868,18 @@ A valid Prekey Publication Message is generated as follows:
1.
Concatenate the Prekey Profile, if it needs to be published. Assign
`J`
to 0x01. If there is no Prekey Profile, assign 0x00 to
`J`
.
1.
Calculate the
`Prekey MAC`
:
*
If a Client Profile
and a Prekey Profile are
present:
*
If
only
a Client Profile
is
present:
`KDF(usage_preMAC, prekey_mac_k || message type || N ||
KDF(usage_prekey_message, Prekey Messages, 64) || K ||
KDF(usage_client_profile, Client Profile, 64) || J ||
KDF(usage_client_profile, Client Profile, 64) || J ||, 64)`
.
*
If only a Prekey Profile is present:
`KDF(usage_preMAC, prekey_mac_k || message type || N ||
KDF(usage_prekey_message, Prekey Messages, 64) || K || J ||
KDF(usage_prekey_profile, Prekey Profile, 64), 64)`
.
*
If a Prekey Profile and a Client Profile are present:
`KDF(usage_preMAC, prekey_mac_k || message type || N ||
KDF(usage_prekey_message, Prekey Messages, 64) || K ||
KDF(usage_client_profile, Client Profile, 64) || J ||
KDF(usage_prekey_profile, Prekey Profile, 64), 64)`
.
*
If only Prekey Messages are present:
`KDF(usage_preMAC, prekey_mac_k || message type || N ||
...
...
@@ -889,6 +897,14 @@ To verify a Prekey Publication message:
*
If there is a Prekey Profile, that
`J`
is assign to 0x01.
*
Otherwise, that they are assigned to 0x00.
1.
Calculate the
`Prekey MAC`
:
*
If only a Client Profile is present:
`KDF(usage_preMAC, prekey_mac_k || message type || N ||
KDF(usage_prekey_message, Prekey Messages, 64) || K ||
KDF(usage_client_profile, Client Profile, 64) || J ||, 64)`
.
*
If only a Prekey Profile is present:
`KDF(usage_preMAC, prekey_mac_k || message type || N ||
KDF(usage_prekey_message, Prekey Messages, 64) || K || J ||
KDF(usage_prekey_profile, Prekey Profile, 64), 64)`
.
*
If a Client Profile and a Prekey Profile are present:
`KDF(usage_preMAC, prekey_mac_k || message type || N ||
KDF(usage_prekey_message, Prekey Messages, 64) || K ||
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment