A signature {Sig, {Q.sub.i}} is generated on a message M by a signer
E.sub.t in a hierarchical system including the entities E.sub.0, E.sub.1,
. . . , E.sub.t, each entity E.sub.i (i>0) being a child of E.sub.i-1.
Here.times..times..times. ##EQU00001## where: each S.sub.i is a secret
key of E.sub.i; each s.sub.i is a secret of S.sub.i; P.sub.M is a public
function of M; each P.sub.i is a public function of the ID's of all
entities E.sub.j such that 1.ltoreq.j.ltoreq.i; each
Q.sub.i=s.sub.iP.sub.0 where P.sub.0 is public. The verifier confirms
that.function..function..times..times..times..function. ##EQU00002##
where: the product .PI..sub.i (Q.sub.i-1,P.sub.i) is taken over all
integers i in a proper subset of the integers from 1 to t inclusive; is
a bilinear non-degenerate mapping; V can be (Q.sub.0,P.sub.i.sub.0)
where i.sub.0 is predefined (e.g. 1), or V can be another expression is a
verifier is part of the hierarchical system.