Spike - That is not possible so long as Alpha must remain anonymous
In general, if Alpha must remain strictly anonymous to Charlie, then
Charlie must stand ready to provide his information to an anonymous
person. But that means that he is ready to provide the information to
anyone, since anyone can be anonymous. Therefore Bravo can also
play the role of the anonymous person and learn the information.
Now, if you tightened up the condtions so that Charlie was only willing
to do this ONCE, and if we assume at the end that Alpha MUST end up with
the information (or he will know Bravo cheated), then it is possible.
Charlie must broadcast his public key to everyone who might want to
communicate with him. This can be done by a direct person to person
contact. It does not impair Alpha's anonymity because everyone gets
the same key.
Now Alpha, via Bravo, sends an encrypted message to Charlie with his own
(Alpha's) public key. Bravo can't alter this message because it is
encrypted, and he can't learn Alpha's public key for the same reason.
Charlie answers back, via Bravo, with the secret information, encrypted
to Alpha's public key. Only Alpha can read this and so the secret
information stays secret.
I believe it may be possible to eliminate the need for Alpha to know
Charlie's public key at the beginning, if the secret information being
requested is something that only Charlie could know, and is checkable
by Alpha (so that Bravo can't just pretend to be Charlie to Alpha).
Of course if Alpha knew this fact about Charlie initially, it is also
plausible that he could have known Charlie's public key. In either
case Alpha knows SOMETHING about Charlie. However this solution is very
technical (and I just came up with it) so I won't try to explain it here.
This archive was generated by hypermail 2b29 : Thu Jul 27 2000 - 14:03:55 MDT