Skip to main content
Improvement, I hope
Source Link
Goldstern
  • 14k
  • 1
  • 47
  • 71

Let us assume that everybody uses the same asymmetric encryption system (such as PGP), with keys that are so large that Big Brother cannot crack them.

If Alice wants to send a message to Bob, she encrypts it with Bob's public key and broadcasts it to everybody. All of Alice's friends will use their own private keys to decrypt the message, but only Bob will succeed. Big brother has no way of knowing who was able to read the message. (Unless Big Brother can look over Bob's shoulder, in which case nothing will work.)

Of course this system is a bit expensive, but only by some more or less constant factor. If everybody has 1000 friends, and sends a message per day to each of them, then I have to decode 1 million messages per day, only 1000 of which are for me.

EDIT: Now that the questions explicitly asks for a "practical" solution, here is a (slight?) improvement(?). Alice's messages will be pairs (x,y), where x looks like a large random number and y is the actual encrypted message. Whenever Alice writes to Bob, she could add a P.S. "My next message to you will be labeled with $\langle$large random number here$\rangle$. But please continue downloading all my messages, lest Big Brother could gain information about my conversation partners."

Let us assume that everybody uses the same asymmetric encryption system (such as PGP), with keys that are so large that Big Brother cannot crack them.

If Alice wants to send a message to Bob, she encrypts it with Bob's public key and broadcasts it to everybody. All of Alice's friends will use their own private keys to decrypt the message, but only Bob will succeed. Big brother has no way of knowing who was able to read the message. (Unless Big Brother can look over Bob's shoulder, in which case nothing will work.)

Of course this system is a bit expensive, but only by some more or less constant factor. If everybody has 1000 friends, and sends a message per day to each of them, then I have to decode 1 million messages per day, only 1000 of which are for me.

Let us assume that everybody uses the same asymmetric encryption system (such as PGP), with keys that are so large that Big Brother cannot crack them.

If Alice wants to send a message to Bob, she encrypts it with Bob's public key and broadcasts it to everybody. All of Alice's friends will use their own private keys to decrypt the message, but only Bob will succeed. Big brother has no way of knowing who was able to read the message. (Unless Big Brother can look over Bob's shoulder, in which case nothing will work.)

Of course this system is a bit expensive, but only by some more or less constant factor. If everybody has 1000 friends, and sends a message per day to each of them, then I have to decode 1 million messages per day, only 1000 of which are for me.

EDIT: Now that the questions explicitly asks for a "practical" solution, here is a (slight?) improvement(?). Alice's messages will be pairs (x,y), where x looks like a large random number and y is the actual encrypted message. Whenever Alice writes to Bob, she could add a P.S. "My next message to you will be labeled with $\langle$large random number here$\rangle$. But please continue downloading all my messages, lest Big Brother could gain information about my conversation partners."

Source Link
Goldstern
  • 14k
  • 1
  • 47
  • 71

Let us assume that everybody uses the same asymmetric encryption system (such as PGP), with keys that are so large that Big Brother cannot crack them.

If Alice wants to send a message to Bob, she encrypts it with Bob's public key and broadcasts it to everybody. All of Alice's friends will use their own private keys to decrypt the message, but only Bob will succeed. Big brother has no way of knowing who was able to read the message. (Unless Big Brother can look over Bob's shoulder, in which case nothing will work.)

Of course this system is a bit expensive, but only by some more or less constant factor. If everybody has 1000 friends, and sends a message per day to each of them, then I have to decode 1 million messages per day, only 1000 of which are for me.