Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
matrixorg
Olm
Commits
eee46a54
Commit
eee46a54
authored
Aug 18, 2015
by
Mark Haines
Browse files
Fix spelling
parent
c4ad39a3
Changes
1
Hide whitespace changes
Inline
Sidebyside
docs/olm.rst
View file @
eee46a54
Olm: A Crytographic Ratchet
===========================
Olm: A Cry
p
tographic Ratchet
===========================
=
An implementation of the cryptographic ratchet described by
https://github.com/trevp/axolotl/wiki.
...
...
@@ 12,7 +12,7 @@ Initial setup
~~~~~~~~~~~~~
The setup takes four Curve25519_ inputs: Identity keys for Alice and Bob,
:math:`I_A` and :math:`I_B`, and e
m
phemeral keys for Alice and Bob,
:math:`I_A` and :math:`I_B`, and ephemeral keys for Alice and Bob,
:math:`E_A` and :math:`E_B`. A shared secret, :math:`S`, is generated using
`Triple DiffieHellman`_. The initial 256 bit root key, :math:`R_0`, and 256
bit chain key, :math:`C_{0,0}`, are derived from the shared secret using an
...
...
@@ 113,7 +113,7 @@ Alice's singleuse key, :math:`E_A`, the public part of his singleuse key,
part of the singleuse key, :math:`E_B`. Bob computes the root key :math:`R_0`,
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 ciphertext,
message key, :math:`M_{0,j}`, and attempts to decrypt the cipher

text,
:math:`X_{0,j}`. If the ciphertext's authentication is correct then Bob can
discard private part of his singleuse onetime key, :math:`E_B`.
...
...
@@ 147,7 +147,7 @@ the receiver computes the chain key, :math:`C_{i,j}`. The receiver computes the
message key, :math:`M_{i,j}`, from the chain key and attempts to decrypt the
ciphertext, :math:`X_{i,j}`.
If the decryption succeeds the rec
i
ever updates the chain key for :math:`T_i`
If the decryption succeeds the rece
i
ver updates the chain key for :math:`T_i`
with :math:`C_{i,j+1}` and stores the message keys that were skipped in the
process so that they can decode out of order messages. If the receiver created
a new receiver chain then they discard their current sender chain so that
...
...
@@ 192,7 +192,7 @@ CipherText 0x22 String The ciphertext, :math:`X_{i,j}`, of the message
=========== ===== ======== ================================================
The length of the MAC is determined by the authenticated encryption algorithm
being used. The MAC protects all of the bytes prece
e
ding the MAC.
being used. The MAC protects all of the bytes preceding the MAC.
PreKey Messages
~~~~~~~~~~~~~~~~
...
...
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