Ok, so thank you for taking some time to read this.
My teammates and I are on a university project to understand how Tor functions.
In the context that a client made a request to a normal website (i.e. through public DNS), the request will have a path consisting of exactly three nodes and the last node will make the request to the requested IPv4 address.
Otherwise, if it is an onion address (and this is the question), there will be three nodes for the client, and three nodes for the server who is hosting the onion website requested. Between the client nodes and the server nodes, is the request filtered through Tor's DNS so they can change the onion address to an IPv4 address? And relay the request to the first server node which will transmit it to the others two nodes where the exit node is going to make the request with the IPv4 address that Tor's server changed?
For sure, Tor's server would have encrypted the message three times.
By the way, is the message encrypted with RSA with the three public keys of the assigned node's path? Once a node has the message, does it decrypt it with it's private key?
To summarize a little bit:
- Is Tor changing an onion url to an IPv4 address in the middle between the three client nodes and the three server nodes?
- Is the exit node on the server side making the request with an IPv4 address?
Thank you so much for helping us in our understanding of Tor!