Cryptography method on elliptic curves
AssigneeGemplus
InventorsJean-Sebastien Coron, Christophe Tymen
Life of this patent
Estimating the term…
Abstract
The invention concerns a cryptography method for generating probabilistic digital signatures and/or for a key-exchange a protocol and/or for an encryption algorithm, said method being based on the use of a public key algorithm on abnormal binary elliptic curve (E) (Koblitz curve) whereon a point P (x, y) is selected, pairs (ki, Pi) being stored with Pi the point corresponding to the scalar multiplication of the point P by ki, said method comprising steps which consist in generating a random variable (k) and in calculating a point C corresponding to the scalar multiplication of P by k (C=k.P). The invention is characterised in that the generation of said random variable (k) and the calculation of the point C are performed simultaneously.
Claims9
A cryptography method for generating probabilistic digital signatures and/or for a key exchange protocol and/or for an enciphering algorithm, the said method being based on the use of a public key algorithm on an abnormal binary elliptic curve (E) (Koblitz curve) on which a point P(x,y) is selected, pairs (ki,Pi) being stored with Pi the point corresponding to the scalar multiplication of the point P by ki, the said method comprising steps consisting in generating a random variable k and calculating a point C corresponding to the scalar multiplication of P by k (C=k·P), characterised in that the generation of the said random variable k and the calculation of the point C are performed simultaneously.
A method according to any one of the preceding claims, the method being based on the use of a Koblitz curve defined on the mathematical set GF(2n) on which a so-called Frobenius operator τ[P(x,y)]=(x2,y2) is available, the method being characterised in that it includes the following steps:
- initialising the random variable k=0 and the point C=0,
- performing a loop for j ranging from 1 to niter, the said loop consisting in:
- generating the following random variables at each new iteration of j:
- a, between 0 and n, with n the size of the finite field on which the curve (E) is defined,
- u{−1,1},
- i between 0 and t, with t the number of pairs (ki,Pi) stored,
- calculating the point Cj=Cj−1+u·τa·Pi
- generating the random variable kj=kj−1+u·ki·τa
- converting k into an integer at the end of the loop,
- simultaneously presenting the random variable k and the point C=k·P.
Dependencies are inferred from the claim text.