Difference between revisions of "Np1sec/algebraic"
(→Receive) |
m (Dmitri moved page MpOTR/algebraic to Np1sec/algebraic) |
||
(2 intermediate revisions by one other user not shown) | |||
Line 201: | Line 201: | ||
|align="right"| check signature | |align="right"| check signature | ||
|align="center"|<math> verify(m,\sigma) </math> | |align="center"|<math> verify(m,\sigma) </math> | ||
+ | |- | ||
+ | |align="right"| update message block chain | ||
+ | |align="center"|<math> Insert(BlackChain_{sid}, m) </math> | ||
|- | |- | ||
|align="right"| decrypt messagen | |align="right"| decrypt messagen | ||
Line 217: | Line 220: | ||
|align="center"|<math>m</math> | |align="center"|<math>m</math> | ||
|} | |} | ||
+ | |||
+ | [[Category: mpOTR]] |
Latest revision as of 18:46, 2 December 2014
Chatroom Setup
Description | Pseudo-code |
---|---|
Generate ephemeral DH private key of the room initiator | |
Generate DH key for BD, Triple DH and Signature | |
Set participant list |
Join
Description | Pseudo-code |
---|---|
Generate ephemeral DH private key | |
Generate DH key for BD, Triple DH and Signature | |
Broadcast User identity and the DH key | |
Receive other users' id/key | |
Compute Session Id | |
Generate Triple Diffie-Hellman P2P keys | }} |
Generate key confirmations | }} |
Generate secret shares | |
Generate public shares | |
Sign identity, shares | |
Broadcast key shares and confirmation | |
Receive other users' key shares and confirmation | |
Check validity of key confirmation | |
Check public shares | |
Check signatures | |
Recover secret shares | |
Generate session key | |
Broadcast session key confirmation |
Accept
Description | Pseudo-code |
---|---|
broadcast all user's identities | |
Receive other users' id/key and update participant list | |
Compute Session Id | |
Generate Triple Diffie-Hellman P2P key for the new participant | |
Generate key confirmations | |
Generate secret shares | |
Generate public shares | |
Sign identity, shares | |
Broadcast key shares and confirmation | |
Receive other users' key shares and new users confirmation | |
Check validity of key confirmation | |
Check public shares | |
Check signatures | |
Recover secret shares | |
Generate session key | |
Broadcast session key confirmation |
Leave
Description | Pseudo-code |
---|---|
Remove leaving user's id/key and update participant list | |
Compute Session Id | |
Generate secret shares | |
Generate public shares | |
Sign identity, shares | |
Broadcast key shares | |
Receive other users' key shares | |
Check public shares | |
Check signatures | |
Recover secret shares | |
Generate session key | |
Broadcast session key confirmation |
Send
Description | Pseudo-code |
---|---|
Generate new DH Key or new key share if needed and append | |
Append the hash of the session digest up to parent of current message | |
Sign the message | |
Encrypt | |
Broadcast the message |
Receive
Description | Pseudo-code |
---|---|
check signature | |
update message block chain | |
decrypt messagen | |
Verify session id and hash | |
Update sender key or share key | |
if all users' share are received session key | |
return m |