I was researching attack vectors on the Tor network and stumbled across something interesting

For example, suppose the attacker controls or watches the Tor relay you choose to enter the network, and also controls or watches the website you visit. In this case, the research community knows no practical low-latency design that can reliably stop the attacker from correlating volume and timing information on the two sides.

My question is if the packet size is consistent throughout the circuit, that means:

Eve can monitor Bob, OR1, OR2, OR3 and Alice. Eve cannot exactly see what the packet contains but he has meta data about when a packet was send/received, who sends/received it, and how big the packet is.

Bob sends a request

GET /contact  HTTP 1.1 Host:

The request is 44 bytes long. Now he sends them to the first Onion Router (OR1), the package he send is now 47 bytes long (2 bytes Circuit ID, 1 byte CMD), OR1 sends a 47 byte package to OR2, OR2 sends a 47 byte package to OR3.

If I understood the Tor whitepaper right, Eve should see something like this in his magic internet surveillance program:

[13:37:20] to (OR1), 47 bytes long
[13:37:23] (OR1) to (OR2), 47 bytes long
[13:37:25] (OR2) to (OR3), 47 bytes long
[13:37:27] (OR3) to (Alice.com), 44 bytes long

I am not quite sure if this is true, TLS encryption of the connection could interfere with the package size.

1 Answer 1


Tor sends data in cells, each of which is exactly 514 bytes long (512 bytes in the past, which is still reflected in some documentation). Any data that is transmitted through Tor will be in multiples of 514 bytes. If the data sent is smaller than once cell, the cell is padded with zeros.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .