> Nah the best you could do for a long while was just to have n^2 bilateral encryption sessions that behave like a group channel.
What? We could do better than that before we had group chats. PGP will let you send encrypted email to multiple recipients, and multiple simultaneous bilateral encryption sessions are not involved.
The system is:
1. You encrypt the message using a symmetric encryption key.
2. You encrypt the key, which is short, once for every recipient.
3. You prepend the whole bundle of encrypted keys to the message.
4. You send that out. Everyone receives the same encrypted data. This is what would appear in a group channel.
5. When you receive a message, you try to decrypt it. If decrypting the header doesn't produce a key for you, then you're not one of the recipients.
Even if you want to analyze this as a set of bilateral sessions, the storage and computation requirements are linear, not quadratic: when I send a shared message to Alice and Bob, I need to know how I send messages to Alice, and I need to know how I send messages to Bob, but I don't care how Alice sends messages to Bob.