Hashing Prefix-Free Values in a Signature Scheme
AssigneeCerticom Corp.
InventorsGregory Marc Zaverucha, David William Kravitz
Life of this patent
Estimating the term…
Abstract
Methods, systems, and computer programs for producing hash values are disclosed. A prefix-free value is obtained based on input data. The prefix-free value can be based on an implicit certificate, a message to be signed, a message to be verified, or other suitable information. A hash value is obtained by applying a hash function to the prefix-free value. The hash value is used in a cryptographic scheme. In some instances, a public key or a private key is generated based on the hash value. In some instances, a digital signature is generated based on the hash value, or a digital signature is verified based on the hash value, as appropriate.
Claims21
1-20. (canceled)
A computer-implemented method comprising:
- accessing an input message comprising a first message part N and a second message part V;
- generating, by data processing apparatus, an encoded message part C based on the input message, wherein generating the encoded message part C comprises:
- computing an elliptic curve point Q=zG, where G is an elliptic curve point that represents a base point generator, and z is an integer;
- using a key derivation function to derive a key K based on the elliptic curve point Q;
- and
- using an encoding function to compute the encoded message part C based on the key K and the input message;
- converting a value 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
- generating a signature based on the hash value and a signer's private key.
A computing system comprising:
- memory;
- data processing apparatus operable to:
- access an input message comprising a first message part N and a second message part V;
- generate an encoded message part C based on the input message, wherein generating the encoded message part C comprises:
- computing an elliptic curve point Q=zG, where G is an elliptic curve point that represents a base point generator, and z is an integer;
- using a key derivation function to derive a key K based on the elliptic curve point Q;
- and
- using an encoding function to compute the encoded message part C based on the key K and the input message;
- convert a value C∥V to a prefix-free value, where C∥V represents the encoded message part C concatenated with the second message part V;
- obtain a hash value by applying a hash function to the prefix-free value;
- and
- generate a signature based on the hash value and a signer's private key.
A non-transitory computer-readable medium storing instructions that are operable when executed by data processing apparatus to perform operations comprising:
- accessing an input message comprising a first message part N and a second message part V;
- generating an encoded message part C based on the input message, wherein generating the encoded message part C comprises:
- computing an elliptic curve point Q=zG, where G is an elliptic curve point that represents a base point generator, and z is an integer;
- using a key derivation function to derive a key K based on the elliptic curve point Q;
- and
- using an encoding function to compute the encoded message part C based on the key K and the input message;
- converting a value 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
- generating a signature based on the hash value and a signer's private key.
Dependencies are inferred from the claim text.