(1) Create: a probabilistic polynomial time algorithm for generating group public and private keys. (2) Joining: an interactive agreement between users and group administrators, so that users can become group administrators. The implementation of this protocol can generate the private keys and membership certificates of group members, and enable group administrators to obtain the private keys of group members. (3) Signature: A probabilistic algorithm that outputs the signature of a message after inputting the private key of a group member. (4) Authentication: A probabilistic algorithm that outputs the signature of bad messages and the private keys of group members. (5) Open: an algorithm to confirm the legal identity of the signer given the signature and group private key.