diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/Group-Chats.md | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/docs/Group-Chats.md b/docs/Group-Chats.md index 0da6da04..e318613d 100644 --- a/docs/Group-Chats.md +++ b/docs/Group-Chats.md | |||
@@ -1,5 +1,7 @@ | |||
1 | Massive public group chats. | 1 | Massive public group chats. |
2 | 2 | ||
3 | Note that not all this document has been implemented: only private (invite only) group chats are currently implemented. | ||
4 | |||
3 | Everyone generates a short term public private key pair right before joining | 5 | Everyone generates a short term public private key pair right before joining |
4 | the chat. | 6 | the chat. |
5 | 7 | ||
@@ -14,25 +16,23 @@ form of spam/access control. | |||
14 | 16 | ||
15 | 17 | ||
16 | Node format: | 18 | Node format: |
17 | ``` | 19 | See DHT, currently uses the IPv6 Node_format. |
18 | [char array (node_id), length=32 bytes][ip (in network byte order), length=4 bytes][port (in network byte order), length=2 bytes][Padding , length=2 bytes] | ||
19 | ``` | ||
20 | 20 | ||
21 | Get nodes (Request): | 21 | Get nodes (Request): |
22 | Packet contents: | 22 | Packet contents: |
23 | ``` | 23 | ``` |
24 | [char with a value of 48][Bob's (The reciever's) Public key (client_id) (32 bytes))][Alice's (The sender's) Public key (client_id) (32 bytes)][Random nonce (24 bytes)][Encrypted with the nonce and private key of the sender:[char with a value of 48][random 8 byte (ping_id)] | 24 | [char with a value of 48][Bob's (The reciever's) Public key (client_id) (32 bytes))][Alice's (The sender's) Public key (client_id) (32 bytes)][Random nonce (24 bytes)][Encrypted with the nonce, private key of the sender and public key of the reciever:[char with a value of 48][random 8 byte (ping_id)] |
25 | ``` | 25 | ``` |
26 | Valid replies: a send_nodes packet | 26 | Valid replies: a send_nodes packet |
27 | 27 | ||
28 | Send_nodes (response): | 28 | Send_nodes (response): |
29 | ``` | 29 | ``` |
30 | [char with a value of 48][Bob's (The reciever's) Public key (client_id) (32 bytes))][Alice's (The sender's) Public key (client_id) (32 bytes)][Random nonce (24 bytes)][Encrypted with the nonce and private key of the sender:[char with a value of 49][random 8 byte (ping_id)][Nodes in node format, length=40 * (number of nodes (maximum of 6 nodes)) bytes]] | 30 | [char with a value of 48][Bob's (The reciever's) Public key (client_id) (32 bytes))][Alice's (The sender's) Public key (client_id) (32 bytes)][Random nonce (24 bytes)][Encrypted with the nonce, private key of the sender and public key of the reciever:[char with a value of 49][random 8 byte (ping_id)][Nodes in node format, length=40 * (number of nodes (maximum of 6 nodes)) bytes]] |
31 | ``` | 31 | ``` |
32 | 32 | ||
33 | Broadcast packet: | 33 | Broadcast packet: |
34 | ``` | 34 | ``` |
35 | [char with a value of 48][Bob's (The reciever's) Public key (client_id) (32 bytes))][Alice's (The sender's) Public key (client_id) (32 bytes)][nonce][Encrypted with the nonce and private key of the sender:[char with a value of 50][Data to send to everyone]] | 35 | [char with a value of 48][Bob's (The reciever's) Public key (client_id) (32 bytes))][Alice's (The sender's) Public key (client_id) (32 bytes)][nonce][Encrypted with the nonce, private key of the sender and public key of the reciever:[char with a value of 50][Data to send to everyone]] |
36 | ``` | 36 | ``` |
37 | 37 | ||
38 | 38 | ||