If Alice (sender) sends a private message embedded with public key of the Bob(recipient) through onion network, so in this key exchange, does Bob remains anonymous to Alice as Alice knows about the public key of Bob. So if we want to achieve mutual anonymity, how can we do that? Can we achieve mutual anonymity through this key exchange?

  • $\begingroup$ I suppose you'll have to state your question more precisely ... as it is, there is not enough detail. What kind of mix network are you using? How does the public key relates to who receives the message? $\endgroup$ – Paŭlo Ebermann Mar 18 '13 at 18:14

You could cheat and use different keys for each recipient. That would work assuming the recipients don't know each other (and cannot compare keys).

Mix networks are by design hard to trace so it depends on the network.

Sending a message to Bob implies Alice knows how to find Bob in the first place, or knows someone who knows where Bob is, without Bob having to directly reveal his location to Alice. The Tor network has implemented this through hidden services which guarantees that both Alice and Bob remain anonymous to each other. The webpage has some diagrams as well and explains how it works, but I won't go into much detail about it because your question isn't about Tor.

It is important to note that public key cryptography doesn't guarantee anonymity or privacy or protection from identification. It's not designed for it. It just protects a message. Tor has managed to do a decent job at protecting two parties who wish to talk to each other and is reasonably mature but mutual anonymity really depends on the (onion) network Alice and Bob are using - not on the PK scheme.


If Alice didn't know who Bob was before, she still doesn't. All she knows is that she communicated with someone who has the private key corresponding with that public key, which presumably is the reason Bob has a public key.

  • $\begingroup$ Thank you for your reply. So it means that we can use onion routing in P2P network for anonymous data transfer between two parties(Alice and Bob) such that requester(Alice) does not know about sender and sender does not know about requester?As I thought that with if we create a route from requester to sender through onion routers, the anonymity between two could not be achieved. $\endgroup$ – Alexandera Mar 19 '13 at 12:30
  • $\begingroup$ @Alexandera: Why wouldn't they be able to remain anonymous? All the communications are re-encrypted on each hop and unless lots of nodes are conspiring, nobody knows the whole path. (Even the node Alice is communicating directly with doesn't know it's communicating directly with Alice. For all it knows, Alice got the data from another node. Ditto for Bob's node, which has no idea it's the last node in the path.) $\endgroup$ – David Schwartz Mar 19 '13 at 12:45
  • $\begingroup$ @ as for anonymity, i thought that requester should not know the identity of sender and sender should not know the identity of the requester.And that knowing the public key(or pseudonym), we can relate it with identity. $\endgroup$ – Alexandera Mar 19 '13 at 12:53
  • $\begingroup$ It means that the last node of Bob decrypts the packet and found out that there is no other router to forward the packet to, thus it transfers the unencrypted content to Bob,right? $\endgroup$ – Alexandera Mar 19 '13 at 12:58
  • $\begingroup$ @Alexandera: No. Alice encrypted the packet with Bob's key in the first place, so only Bob can get the decrypted contents. The last node decrypts the packet with its key and finds inside another encrypted packet which it forwards to Bob. It has no idea what's inside that encrypted packet since it doesn't have Bob's key. So far as the node talking to Bob knows, he might be the final destination or he might unwrap another encrypted packet he sends to someone else. And, of course, that node has absolutely no idea who the originator is. $\endgroup$ – David Schwartz Mar 19 '13 at 13:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.