Nova Patents
CA2587618C

Custom static diffie-hellman groups

Abstract

Methods for choosing groups for a static Diffie-Hellman key agreement protocol to inhibit active attacks by an adversary are provided. In mod p groups, an even h is chosen of value approximately (9/16)(log2n)2, values r and n are determined using sieving and primality testing on r and n, and a value t is found to compute p = tn + 1 wherein p is prime. In elliptic curve groups defined over a binary field, a random curve is chosen, the number of points on the curve is counted and this number is checked for value of 2n wherein n is prime and n-1 meets preferred criteria. In elliptic curve groups defined over a prime field of order q, a value n = hr + 1 is computed, wherein n is prime and n-1 meets preferred criteria, and a complex multiplication method is applied on n to produce a value q and an elliptic curve E defined over q and having an order n.

CA2587618C, drawing sheet 1
Sheet 1 of 5

Term

Term ended

Expired 11 November 2025, 0.9 years ago.

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

30 claims: 14 independent, 16 dependent

  1. 1
    CA 02587618 2014-02-13 What we claim is:1. A method of establishing an order p of a finite field Z p , and an order n of a subgroup of a multiplicative group Z p * of said finite field Z p , the method being performed by a correspondent in a data communication system, the correspondent having a cryptographic unit for performing cryptographic operations, the method comprising the steps of: i) the cryptographic unit obtaining a value of n of the form n = hr + 1 where h is an integer, r is a prime integer, r is greater than n 273 , and all factors of n-1 are significantly smaller or bigger than n 1/3 ;ii) the cryptographic unit obtaining an even integer t and computing tn + 1 to produce a computed value;iii) the cryptographic unit checking whether the computed value is prime;and iv) the cryptographic unit utilizing the computed value as a prime order p of the finite field if said computed value is prime, and the cryptographic unit utilizing the value n as the order n of the subgroup of the multiplicative group.
  2. 4
    5. The method of any one of claims 1 to 4 wherein h is less than 2(9/16)(log 2 n) 2 .
  3. 6
    7. A method of verifying domain parameters for use in a cryptographic system, the method being performed by a correspondent in the cryptographic system and comprising:(a) a cryptographic unit of the correspondent checking that n = hr + 1, where h is an integer, r is a prime integer, r is greater than n 273 , and all factors of n-1 are significantly smaller or bigger than n 1/3 ;and (b) the cryptographic unit checking that p = tn + 1 where t is an even integer, and p is for use as an order of a finite field.
  4. 7
    8. A method for establishing an order of a subgroup of an elliptic curve group, the method being performed by a correspondent in a data communication system, the correspondent having a cryptographic unit for performing cryptographic operations, the method comprising the steps of:a) the cryptographic unit obtaining a value n of the form n = hr + 1 where h is an integer, r is a prime integer, r is greater than n 273 , and all factors of n-1 are significantly smaller or bigger than n 173 ;and b) the cryptographic unit utilizing the value n as the order of the subgroup of the elliptic curve group.
  5. 13
    14. The method of claim any one of claims 10 to 13 wherein r and n are selected by sieving to exclude values having small primes.
  6. 15
    16. The method of any one of claims 8 to 15 wherein h is less than 2(9/16)(log 2 n) 2 .
  7. 17
    18. A computer-readable medium having stored thereon computer-executable instructions that when executed by a computer perform the method of any one of claims 1 to 17.
  8. 18
    19. A device comprising a cryptographic unit configured to perform the method of any one of claims 1 to 17.
  9. 19
    20. A method for computing a shared secret using a computing device comprising a cryptographic unit and a private key, the method comprising:the computing device obtaining a public key of a correspondent computing device;the computing device computing the shared secret by combining the private key and the public key of the correspondent computing device;and wherein the public key of the correspondent computing device and the shared secret are elements of a group of order n, and n is a prime number such that (n-1 ) has a prime factor r that 22609053.1 - 17CA 02587618 2014-11-12 is substantially larger than n 2/3 .
  10. 24
    25. The method of any one of claims 20 to 24 wherein the shared secret is used in establishing an encryption key.
  11. 25
    26. The method of any one of claims 20 to 24 wherein the shared secret is used in a FordKaliski key retrieval protocol.
  12. 26
    27. The method of any one of claims 20 to 26 wherein n is of the form n=hr+1.
  13. 29
    30. A computing device comprising a cryptographic unit, the computing device configured for computing a shared secret according to the method of any one of claims 20 to 29.
  14. 30
    31. A computer-readable medium having stored thereon computer-executable instructions that when executed by a computer perform the method of any one of claims 20 to 29. 22609053.1