To my understanding, and I’m no expert so my explanation has no value. You connect to a series of servers around the world that offer some free bandwidth and provides a new IP address to which it then connects to another and another. The idea is to hide your real location from a website or service but it’s not really preventing anyone from tracking you down. You’re supposed to use VPN over Torr which I guess you use your private VPN service and then use the Torr network on top….but it’s very slow to use. I’m not sure what the real point of it would be.
Tor is an implementation of onion routing.
Onion routing is called onion routing because it works with layers of encryption.
The client machine will establish a Tor network by exchanging three encryption keys with 3 Network nodes. The client has all 3 keys, but each Node only receives one.
The client then takes the message it wants to send (e.g. “go to [www.SomeWebsite.com](http://www.SomeWebsite.com)”) it then encrypts that message 3 times with the 3 keys and sends it to the first node.
The first node will then use its key to decrypt the outer most layer of the message. Because the message is encrypted multiple times, all it sees is still gibberish. It then forwards that gibberish to the next node.
Again that node decrypts another layer with its key and forwards to the last node. The last node then decrypts the final layer, reads the message and connects to the “SomeWebsite” Server.
On the way back its the same but in reverse. The last node encrypts the Servers response and sends it to Node2. Node2 then encrypts what it gets and sends it to node 1, who then encrypts it with its key and sends it to the client, who has all 3 keys and can decrypt the message.
The advantage of a Tor network is that if you compromise any one Device (except for the client. If the client is compromised he’s fucked anyway) there is no way to determine who is connecting to which server.
Each Node only forwards the message one step and needs no knowledge at all of any of the other nodes in the network, No node in the network knows both the Endpoint (Server) AND the Client.
Latest Answers