Patent ID: 8850199

Claim:
A computer-implemented method comprising: accessing a message from an entity, the message comprising an encoded message part C and a second message part V; accessing a signature associated with the message; converting the message to a prefix-free value, wherein converting the message to a prefix-free value includes converting C∥V to a prefix-free value, where C∥V represents the encoded message part C concatenated with the second message part V; obtaining a hash value by applying a hash function to the prefix-free value; and verifying, by data processing apparatus, the signature based on the hash value, wherein verifying the signature comprises: computing an elliptic curve point Q′=sG+eG A , where s is an integer that represents the signature, G is an elliptic curve point that represents a base point generator, e is an integer that represents the hash value, and G A is an elliptic curve point that represents a public key of the entity; using a key derivation function to derive a key K′ based on the elliptic curve point Q′; using a decoding function to compute a recovered message M′ based on the key K′ and the encoded message part C; and verifying that the recovered message M′ is valid.