1. A computer-implemented method comprising: accessing an implicit certificate associated with an entity; converting the implicit certificate to a prefix-free value in a prefix-free set, wherein none of the values in the prefix-free set is a prefix of any other value in the prefix-free set, wherein the converting comprises: generating a first value that indicates a length of the implicit certificate; dividing the implicit certificate into a plurality of blocks, wherein the first value indicates a length of the implicit certificate in units of blocks; and producing the prefix-free value by prepending the first value to the implicit certificate; obtaining a hash value by applying a hash function to the prefix-free value; generating, by data processing apparatus, a public key associated with the entity based on the hash value, wherein the public key is an elliptic curve point Q U , and generating the public key includes: extracting from the implicit certificate an elliptic curve point P U that represents a public key reconstruction value; accessing an elliptic curve point Q CA that represents a public key of a certificate authority that issued the implicit certificate; computing the elliptic curve point Q U =eP U +Q CA , where e is the hash value; and using the public key for cryptographic correspondence.