US20030194086A1

Method for strengthening the implementation of ECDSA against power analysis

Claim Score by NHIP

Read claim 25, the broadest

Abstract

A method of inhibiting the disclosure of confidential information through power analysis attacks on processors in cryptographic systems. The method masks a cryptographic operation using a generator G. A secret value, which may be combined with the generator G to form a secret generator is generated. The secret value is divided into a plurality of parts. A random value is generated for association with the plurality of parts. Each of the plurality of parts is combined with the random value to derive a plurality of new values such that the new values when combined are equivalent to the secret value. Each of the new values is used in the cryptographic operation, thereby using the secret generator in place of the generator G in the cryptographic operation. The introduction of randomness facilitates the introduction of noise into algorithms used by cryptographic systems so as to mask the secret value and provide protection against power analysis attacks.

US20030194086A1, drawing sheet 1
Sheet 1 of 4

Term

Term ended

Projected expiry passed 25 December 2022, 3.7 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

25 claims: 5 independent, 20 dependent

  1. 1
    A method of masking a cryptographic operation using a generator G, said method comprising the steps of:a) generating a secret value;b) dividing said secret value into a plurality of parts;c) generating a random value for association with said plurality of parts;d) combining each of said plurality of parts with said random value to derive a plurality of new values such that the new values when combined are equivalent to said secret value;and e) using each of said new values in said cryptographic operation, thereby using a secret generator corresponding to a product of said secret value and said generator G in place of said generator G in said cryptographic operation.
  2. 6
    A method of computing a digital signature on a message m, said signature being computed by a signer having a private key d and a public key dG, where G is a generator of a cryptographic group, said method comprising:a) dividing said private key d into a plurality of private key parts;b) presenting a masking value β;c) generating an ephemeral private key k;d) computing an ephemeral public key kG′ corresponding to a product of said masking value β and said generator G;e) computing a value e derived from said message m by application of cryptographic function;f) computing a signature component utilising said masking value β, said plurality of private key parts, said ephemeral public key kG′, and said value e.
  3. 13
    A method of computing a public key corresponding to a private key d in a cryptosystem, wherein the cryptosystem uses a generator G, said method comprising the steps of:a) representing a masking value β as a plurality of values which may be combined to obtain said masking value;b) combining each of said plurality of values with said private key to obtain a plurality of private key components;c) combining each of said plurality of private key components with said generator to obtain a plurality of public key components;d) combining said public key components to obtain said public key.
  4. 18
    A method of computing an ECDSA signature on a message m, said method being performed by a signer having a private key d and a public key dG, where G is a generator, said signature comprising an ephemeral public key r corresponding to an ephemeral private key k and a signature component s derived from said message, m, said ephemeral private key k, and said private d, said method characterised in that the computation of said signature comprises the steps of:a) dividing said private key d into a plurality of private key parts;b) presenting a masking value β;c) generating an ephemeral private key k;d) computing an ephemeral public key kG′ corresponding to a product of said masking value β and said generator G;e) computing a value e derived from said message m by application of cryptographic function;f) computing a signature component utilising said masking value, said plurality of private key parts, said ephemeral public key kG′, and said value e.
  5. 25
    Broadest claimClaim Score 84, broad(NHIP)A method of inverting an element k of a finite field, comprising the steps of:a) generating a random value w;b) computing wk and the inverse (wk) −1 thereof;c) computing k −1 as w(wk) −1 .