CA2792575C

Multiple hashing in a cryptographic scheme

Abstract

Methods, systems, and computer programs for producing hash values are disclosed. A first hash value is obtained by applying a first hash function to a first input. The first input can be based on an implicit certificate, a message to be signed, a message to be verified, or other suitable information. A second hash value is obtained by applying a second hash function to a second input. The second input is based on the first hash value. The second hash value is used in a cryptographic scheme. In some instances, a public key or a private key is generated based on the second hash value. In some instances, a digital signature is generated based on the second hash value, or a digital signature is verified based on the second hash value, as appropriate.

CA2792575C, drawing sheet 1
Sheet 1 of 7

Term

6 yearsleft in the term

Expires 28 September 2032.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

19 claims: 3 independent, 16 dependent

  1. 1
    CA 02792575 2014-08-15 CLAIMS What is claimed is:1. A computer-implemented method comprising: 5 accessing an implicit certificate associated with an entity;obtaining a first input by concatenating a κ-bit constant with the implicit certificate;obtaining a first hash value by applying a first hash function to a first input, the first input based on the implicit certificate, the first hash function being configured to 10 produce a κ-bit output;obtaining a second hash value by applying a second hash function to a second input, the second input based on the first hash value;and generating, by data processing apparatus, a public key associated with the entity based on the second hash value. 15
  2. 13
    A computing system comprising:a hash module operable to: obtain a first input by concatenating a κ-bit constant with an implicit certificate associated with an entity;5 obtain a first hash value by applying a first hash function to a first input, the first input based on the implicit certificate, the first hash function being configured to produce a κ-bit output;and obtain a second hash value by applying a second hash function to a second input, the second input based on the first hash value;and 10 a key generation module operable to generate a public key associated with the entity based on the second hash value.
  3. 17
    A non-transitory computer-readable storage medium storing instructions that are operable when executed by data processing apparatus to perform operations comprising:20 obtaining a first input by concatenating a κ-bit constant with an implicit certificate associated with an entity;obtaining a first hash value by applying a first hash function to a first input, the first input based on the implicit certificate, the first hash function being configured to produce a κ-bit output;25 obtaining a second hash value by applying a second hash function to a second input, the second input based on the first hash value;and generating a public key associated with the entity based on the second hash value. CA 02792575 2014-08-15