1. A method of generating a digital proxy signature Sig for a digital message M by a proxy signer on behalf of an original signer, the method comprising performing, by one or more machines, operations comprising: generating a first cyclic group G 1 of elements; selecting a generator P of the first cyclic group G 1 ; selecting a function H capable of generating an element of the first cyclic group G 1 from a first string of binary digits; selecting a private key s or and a public key s or P for the original signer in a hierarchical identity-based system; selecting a private key s pr and a public key s pr P for the proxy signer in the hierarchical identity-based system; generating a proxy private key s or P pr , wherein P pr is determined using the proxy signer's public key s pr P and the function H; generating a message function value P M =H(M); and signing the message M by generating the digital proxy signature Sig=s or P pr +s pr P M .