Verified Commit ff795ea7 authored by Sofia Celi's avatar Sofia Celi
Browse files

Clarify algorithm

parent 247c3bbe
......@@ -35,10 +35,11 @@ The process works like this:
2. Calculate: `enc_key(32), auth_key(32), IV(16) := SHA-256(sym_k || 0x00 || "OMEMO Payload")`
3. Encrypt: `c := AES_CBC(enc_key, IV || message)`
4. Calculate: `MAC := SHA-256(auth_key || c)`
5. Concatenate: `payload := c || MAC`
5. Concatenate: `payload := enc_key || MAC`
6. Execute the double ratchet algorithm and generate a message key `mk`.
7. Calculate: `h_enc_key(32), auth_key(32), IV(16) := SHA-256(m_k || 0x00 || "OMEMO Message Key Material")`
8. Encrypt the payload: `h := (h_enc_key, payload)`
8. Encrypt the payload: `h := AES_CBC(h_enc_key, payload)`
9. Send `h || c`.
Since step 6, it is executed per device.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment