CA2592875C

Accelerated verification of digital signatures and public keys

Abstract

Accelerated computation of combinations of group operations in a finite field is provided by arranging for at least one of the operands to have a relatively small bit length. In a elliptic curve group, verification that a value representative of a point R corresponds the sum of two other points uG and vG is obtained by deriving integers w,z of reduced bit length and so that v = w/z. The verification equality R = uG + vQ may then be computed as -zR +(uz mod n) G + wQ = O with z and w of reduced bit length. This is beneficial in digital signature verification where increased verification can be attained.

CA2592875C, drawing sheet 1
Sheet 1 of 18

Term

Term ended

Expired 18 January 2026, 0.7 years ago.

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

32 claims: 2 independent, 30 dependent

  1. 1
    CA 02592875 2015-09-28 What is claimed is:1. A method of verifying an original relationship between a sum of original scalar multiples of a pair of points on an elliptic curve and a third point on the elliptic curve, the method comprising: a cryptographic module obtaining a first integer and a second integer, the first integer and the second integer each having a bit length less than the bit length of one of the original scalars and wherein the ratio of the first integer to the second integer corresponds to the other of the original scalars;an arithmetic processing unit of the cryptographic module performing a number of computations to verify an equivalent relationship to the original relationship, the equivalent relationship obtained by substituting the first integer and the second integer for the other of the original scalars in the original relationship;and in the event a result of the computations indicates verification of the equivalent relationship, producing an output indicative of verification of the original relationship, wherein the equivalent relationship has a plurality of terms, and at least one of the terms is a new scalar multiple of one of the points, a representation of the new scalar multiple having a reduced bit length in comparison to a representation of the original scalar multiples, and wherein the number of computations performed by the arithmetic processing unit to verify the equivalent relationship is less than a number of computations required for the arithmetic processing unit to verifÿ the original relationship.
  2. 6
    The method according to any one of claims 3 to 5, wherein the first integer and the second integer have equal bit length.
  3. 7
    The method according to any one of claims 3 to 5, wherein the first integer and the second integer have different bit lengths.
  4. 8
    The method according to any one of claims 3 to 7, wherein the computations to verify the equivalent relationship include performing simultaneous addition on at least two points.
  5. 16
    A method of verifying a digital signature of a message performed by a cryptographic operation in a group of a finite field having elements represented by bit strings, the signature comprising a first component and a second component, the first component having being derived from an ephemeral CA 02592875 2015-09-28 public key of a signer and the second component being derived from the message, from the first component, from an ephemeral private key of the signer, and from a long term private key of the signer, the method comprising:a cryptographic module recovering the ephemeral public key from the first component;an arithmetic processing unit of the cryptographic module computing a first scalar and a second scalar, the first scalar computed using the message and the second signature component, and the second scalar computed using the first signature component and the second signature component;the cryptographic module obtaining a first integer and a second integer, the first integer and the second integer each having a bit length less than a bit length of the first scalar and wherein the ratio of the first integer to the second integer corresponds to the second scalar;the arithmetic processing unit performing computations from which the digital signature can be verified, the computations involving the ephemeral public key, a long term public key of the signer, and a generator of the group, wherein the first integer and the second integer are used in the computations instead of the second scalar, thereby reducing the number of the computations;and accepting the digital signature only if a result of the computations indicates verification of the digital signature.
  6. 30
    The method according to any one of claims 19 to 29, wherein the digital signature includes an indicator to identify one of a plurality of possible values of the ephemeral public key.
  7. 31
    A cryptographic module having an arithmetic processing unit, the cryptographic module operable to perform the method according to any one of claims 1 to 15 or the method according to any one of claims 16 to 30.
  8. 32
    A computer readable medium storing instructions that, when executed by one or more processors, perform the method according to any one of claims 1 to 15 or any one of claims 16 to 30.