I was looking at symmetric ciphers, and you can do more with them than I thought you could. Forgive me for reinventing the wheel here. Let C(k,m) be symmetric encryption with key k of message m.

If Alice and Bob share a secret key K, they can have any number of sessions, all with independent keys C(K,i). They'd send i in the clear along with the first encrypted message for each session.

If Alice and Bob do not share a secret key K, but both share secret keys with Eve, Eve can give them both a secret key K. But then Eve can listen in on anything they say. Kerberos is like Alice, Eve, and Bob.

If Alice and Bob also know Evelyn, Evelyn can give them both K', then Alice and Bob can use (K xor K') as a secret key and neither Eve or Evelyn can listen in (unless Eve and Evelyn are in cahoots). This I haven't heard of before.

Alice will eventually collect a lot of keys, too many to remember, so she'll store them in her computer. Eve will be tempted to break into the computer and steal all the keys. But if Alice encrypts them all using a single memorable passphrase, she can allow her database of encrypted private keys to be public, and of no use to Eve.

So now we have public keyrings, passphrases, introducers, a web of trust. I don't see how to publicly sign documents with symmetric encryption. I don't see how to strike up private conversations with someone you haven't been introduced to. Otherwise, this looks rather like PGP, and symmetric algorithms can be a lot faster than public key.

Is this useful? Who's already invented it, and what's the name for it?

Back to the Table of Contents