Definition
Onion routing is a technique for anonymous communication over a computer network. Messages are encapsulated in layers of encryption, analogous to the layers of an onion. Each node along the path removes one layer, revealing the next destination, until the message reaches its final recipient.
History
Onion routing was developed in the mid-1990s at the U.S. Naval Research Laboratory by Michael Reed, Paul Syverson, and David Goldschlag. The goal was to protect U.S. intelligence communications online.
Concept Development
Initial research at Naval Research Laboratory
First Paper Published
"Hiding Routing Information" published at IEEE S&P
Tor Development Begins
Second-generation onion routing (Tor) started
Tor Released
Tor becomes open source and publicly available
How It Works
Layered Encryption
When sending a message through an onion network:
Path Selection
The sender's software selects a random path through the network, typically 3 nodes (relays).
Key Negotiation
The sender negotiates ephemeral keys with each relay using public key cryptography.
Layer Wrapping
The message is encrypted in layers, one for each relay, starting from the last.
Progressive Decryption
Each relay decrypts its layer, learns only the next hop, and forwards the message.
Security Properties
What Onion Routing Protects
- Sender Anonymity: Destination doesn't know who sent the message
- Receiver Anonymity: With hidden services, servers stay anonymous
- Relationship Anonymity: Observers can't link senders and receivers
- Content Privacy: Encrypted traffic (with HTTPS)
Limitations
Implementations
Tor
Most widely used implementation
NetworkLokinet
Blockchain-incentivized variant
NetworkSphinx
Compact packet format for mixnets
ProtocolLightning Network
Uses onion routing for payments
Payments