Steps to encrypt endorsements to a petition
This depends on the level of authenticity you want to provide with your system. A lot of public petition systems do not enforce authenticity of petitioners at all. Basically, anyone can submit a petition in behalf of their neighbor, for example, simply by introducing relatively public info about them (name, address, ID number, etc). In this case, public-key encryption seems the way to go. For example, this could be done with plain, old PGP, where the public key belongs to the government officer.

On the contrary, if you want the petitioners to actually sign the petition (digitally, obviously), then this has to be done with some sort of digital signature. I think you could implement this with designated verified signatures:


  A designated verifier signature is a signature scheme in which
  signatures can only be verified by a single designated verifier who is
  chosen by the signer.


In this case, the designated verifier could be trusted government officer receiving the petition.