From 1cb38abf999b5bc0b0eddad43760c31580dc2d48 Mon Sep 17 00:00:00 2001 From: Agatha Date: Tue, 4 Mar 2014 07:48:38 -0500 Subject: Minor documentation cleanup This commit fixes some typos and grammar mistakes. It also fixes some of the long text lines and generally makes the documentation more readable. --- docs/Prevent_Tracking.txt | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'docs/Prevent_Tracking.txt') diff --git a/docs/Prevent_Tracking.txt b/docs/Prevent_Tracking.txt index 07e8ae1e..c5f33e96 100644 --- a/docs/Prevent_Tracking.txt +++ b/docs/Prevent_Tracking.txt @@ -21,36 +21,36 @@ So, every node in the DHT now has a temporary keypair not related to their real long term one. But, how do people find themselves then? We have to add a way for people to -tell their friends what their DHT public key is, we also have to somehow make -it so people can send/receive friend requests, this has to be done without non -friends being able to find out where a node is. +tell their friends what their DHT public key is. We also have to somehow make +it so people can send/receive friend requests. This has to be done without +non-friends being able to find out where a node is. The solution: Onion routing + enable the storage of some small amount of data -on -DHT nodes. +on DHT nodes. -Alice and bob are friends, before joining the DHT they generate temporary +Alice and bob are friends. Before joining the DHT they generate temporary session keypairs to be used for the DHT instead of their long term keys. Bob finds a bunch of random nodes then picks 3 random working ones (A, B, C). -Bob gets the know working node with an id closest to his real one from his list (D) +Bob gets the known working node with an id closest to his real one from his list (D) Bob then creates an onion (the packet will go through A, B, C and will end up at D) announce request packet with his real public key, ping_id as zeros and searching for his real public key. -Bob will announce response packets and will recursively send onion announce request packets -to closer and closer nodes until he finds the ones closest to his real public key. +Bob will announce response packets and will recursively send onion announce request +packets to closer and closer nodes until he finds the ones closest to his real public key. -Once he has done this, he will send some onion announce request packets with the right ping_id previously -received from the node when he queried it to announce himself to the node. +Once he has done this, he will send some onion announce request packets with the right +ping_id previously received from the node when he queried it to announce himself to the node. -The nodes he announces himself to keep the information to send onion packets to that node in memory. +The nodes he announces himself to keep the information to send onion packets to that node in +memory. -Alice meanwhile searches for the Nodes closest to Bobs real id using a temporary keypair and announce -request packets, she does this until she finds nodes that respond with a ping_id of zero. +Alice meanwhile searches for the nodes closest to Bobs real id using a temporary keypair and +announce request packets. She does this until she finds nodes that respond with a ping_id of zero. She sends data to route request packet with information telling Bob her temporary id in the DHT (or a friend request if she is not friends with him). @@ -58,9 +58,9 @@ She sends data to route request packet with information telling Bob her temporar Bob finds her by using her temporary id and they connect to each other. -NOTE: crypto_box is used for all the asymmetric encryption and crypto_secretbox is used for all the symmetric. -Also every DHT node have a random symmetric key which they use to encrypt the stuff in normal get node request that is -used to encrypt stuff in the following. +NOTE: crypto_box is used for all the asymmetric encryption and crypto_secretbox is used for all +the symmetric. Also every DHT node have a random symmetric key which they use to encrypt the stuff +in normal get node request that is used to encrypt stuff in the following. Onion packet (request): @@ -151,7 +151,7 @@ encrypted with temp symmetric key of Node A: [IP_Port (of us)][data to send back Data packets: -To tell our friend what our DHT public key is so that he can connect to us we send a data packet with id 156 and -the data being:[uint64_t (in network byte order) no_replay, the packet will only be accepted if this number is bigger than the last one recieved] -[our dht public key][Node_Format * (maximum of 8) nodes closest to us so that the friend can find us faster] - +To tell our friend what our DHT public key is so that he can connect to us we send a data packet +with id 156 and the data being:[uint64_t (in network byte order) no_replay, the packet will only be +accepted if this number is bigger than the last one recieved] [our dht public key][Node_Format * ( +maximum of 8) nodes closest to us so that the friend can find us faster] -- cgit v1.2.3