At the beginning of the protocol, we assume the following:
All members in the group hold the same symmetric group key K.Group
Alice holds a private key K.Alice, shared only with Trent.
Trent holds a public and private key pair (K.Trent.pub,
K.Trent.priv). K.Trent.pub is known by all members in the group.
Trent holds a list of authorized senders.
To send a message to the group, the following steps are performed:
Alice sends an encrypted unicast message to Trent using her
private key K.Alice
Alice -> Trent: {M}K.Alice
Trent decrypts the message, verifies that Alice is one of the
authorized senders, encrypts the message with the group key, signs
the encrypted message with his private key, and broadcasts to the
group: