Now Dave wants to communicate with Alice
without anyone being able to know they're communicating,
and we have a set of routers. These are like our friends in the example of the envelopes.
Let's say I know about five routers. We'll call them R1, R2, R3, R4, and R5.
The routers are all connected. They can all talk to each other.
They can all talk to Alice, and they can all talk to me.
We're assuming we have a fully connected network here.
I haven't drawn all the connections, because that would get kind of messy.
We'll assume we have a fully-connected network here,
and we don't need to have a physically fully-connected network.
There could be other nodes in between these.
We're assuming we have secure channels between each of the routers,
and we  can set up those channels using TLS,
so we have these secure channels between all of the routers
and between all the participants, including myself and Alice.
We'll select some random sequence of the routers.
Each of these i values is one of the values that identifies a router,
and I want to send a message into this network.
Let's assume for now that the last router that I select is R4.
I want it to be the case that R4 sends the final message to Alice that Alice can read.
The question is what message should R4 receive?
The answers are encrypted with Alice's public key.
The message to Alice in clear concatenated with the message--
this is the message Dave wants to send to Alice
encrypted using the public key of R4.
Encrypted using the public key of R4, the message to Alice concatenated with
the message encrypted with Alice's public key.
Encrypted using the private key of Bob, the message to Alice concatenated with
the message encrypted with the public key of R4.
Or the message to Alice concatenated with the message encrypted with
the public key of Alice all encrypted with the public key of Bob.
