diff options
author | Matthew Hodgson <matthew@matrix.org> | 2015-08-20 22:50:11 +0200 |
---|---|---|
committer | Matthew Hodgson <matthew@matrix.org> | 2015-08-20 22:50:11 +0200 |
commit | b9ff140b175993b6bfde6a36b3a37dbdf92cf79a (patch) | |
tree | a16e4315c72a0163f0a87958154b6a49f3022a3a /docs | |
parent | bed93fcbc76edbb99753495dd144d0dcf3a626d6 (diff) |
minor typos and clarifications
Diffstat (limited to 'docs')
-rw-r--r-- | docs/olm.rst | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/docs/olm.rst b/docs/olm.rst index 8b73c83..7933d36 100644 --- a/docs/olm.rst +++ b/docs/olm.rst @@ -14,7 +14,7 @@ side of an :math:`=` it means that the output is split. When this document uses :math:`ECDH\left(K_A,\,K_B\right)` it means that each party computes a Diffie-Hellman agreement using their private key and the -remote parties public key. +remote party's public key. So party :math:`A` computes :math:`ECDH\left(K_B_public,\,K_A_private\right)` and party :math:`B` computes :math:`ECDH\left(K_A_public,\,K_B_private\right)` @@ -108,10 +108,11 @@ Sending the first pre-key messages Alice computes a message key, :math:`M_{0,j}`, using the current chain key, :math:`C_{0,j}`. Alice replaces the current chain key with :math:`C_{0,j+1}`. Alice encrypts her plain-text with the message key, :math:`M_{0,j}`, using an -authenticated encryption scheme to get a cipher-text, :math:`X_{0,j}`. Alice -sends her identity key, :math:`I_A`, her single-use key, :math:`E_A`, Bob's -single-use key, :math:`E_B`, the current chain index, :math:`j`, her ratchet -key, :math:`T_0`, and the cipher-text, :math:`X_{0,j}`, to Bob. +authenticated encryption scheme (see below) to get a cipher-text, +:math:`X_{0,j}`. Alice sends her identity key, :math:`I_A`, her single-use key, +:math:`E_A`, Bob's single-use key, :math:`E_B`, the current chain index, +:math:`j`, her ratchet key, :math:`T_0`, and the cipher-text, :math:`X_{0,j}`, +to Bob. Alice will continue to send pre-key messages until she receives a message from Bob. @@ -128,7 +129,7 @@ and the chain key :math:`C_{0,0}`. Bob then advances the chain key to compute the chain key used by the message, :math:`C_{0,j}`. Bob then creates the message key, :math:`M_{0,j}`, and attempts to decrypt the cipher-text, :math:`X_{0,j}`. If the cipher-text's authentication is correct then Bob can -discard private part of his single-use one-time key, :math:`E_B`. +discard the private part of his single-use one-time key, :math:`E_B`. Sending messages ~~~~~~~~~~~~~~~~ @@ -141,9 +142,9 @@ using :math:`R_{i-1}`, :math:`T_{i-1}` and :math:`T_i`. A message key, :math:`M_{i,j}` is computed from the current chain key, :math:`C_{i,j}`, and the chain key is replaced with the next chain key, :math:`C_{i,j+1}`. The plain-text is encrypted with :math:`M_{i,j}`, using an authenticated encryption -scheme to get a cipher-text, :math:`X_{i,j}`. Then user sends the current -chain index, :math:`j`, the ratchet key, :math:`T_i`, and the cipher-text, -:math:`X_{i,j}`, to the other user. +scheme (see below) to get a cipher-text, :math:`X_{i,j}`. Then user sends the +current chain index, :math:`j`, the ratchet key, :math:`T_i`, and the +cipher-text, :math:`X_{i,j}`, to the other user. Receiving messages ~~~~~~~~~~~~~~~~~~ |