The invention relates, in general terms, to recent cryptographic techniques and the processes used therein.
More specifically, the invention relates, according to a first -aspect, to a cryptographic process using an elliptic curve represented in a plane by means of an equation containing first and second parameters (a, b), a bilinear matching, and calculations in a finite group of integers constructed around at least one first reduction rule reducing each integer to its remainder in a whole division by a first prime number (p) that constitutes a third parameter, the elements of the finite group being in bijection with points selected on the elliptic curve, and the number of which is linked to a fourth parameter (q), this process using public and private keys, each of which is represented by a given point of the elliptic curve or by a multiplication factor between two points of this curve.
Such processes are the basis for the most recent cryptographical techniques, based on a bilinear pairing, for example a Weil pairing.
A notable example of such a process is provided in the article entitled “Identity-Based Encryption from the Weil Pairing”, published in 2003 in the SIAM Journal of Computing, Volume 32, No. 3, pages 586 to 615 by Dan Boneh and Matthew Franklin.
Current processes of this type rely on the use of supersingular elliptic curves.
And yet, the use of such curves implies complex calculations, which may be an obstacle to the use of these processes in all cases in which the available calculation capacities are limited.
In this context, the invention aims to offer an alternative solution that enables the construction of non-supersingular elliptic curves, resulting in a cryptographical process with simplified implementation, although it is also based on a bilinear pairing, for example a Weil pairing.
To this end, the process of the invention, which also conforms to the generic definition given in the preamble above, is essentially characterised in that said first reduction rule is the only reduction rule implemented, and in that the elliptic curve is obtained through a step-by-step construction process, directly allocating to the finite group q*q q-order points in the elliptic curve.
In the case that the cryptographic process at least implements the “SetUp” algorithm from the “Identity Based Encryption” protocol, as defined in the aforementioned article and as known to those skilled in the technique, the step-by-step construction process of said elliptic curve is an integral part of this “SetUp” algorithm.
The invention also relates to a process for generating an elliptic curve represented in a plane by an equation containing first and second parameters (a, b), including calculations in a finite group of integers built on at least one reduction rule that reduces each integer to its remainder in a whole division by a first prime number (p), which constitutes a third parameter, the elements of the finite group being in bijection with points selected on the elliptic curve, and the number of which is linked to a fourth parameter (q), this process being characterised in that it includes operations that consist of the following:
selecting, as a fifth parameter, an integer (d) that complies with the constraints that are inherent in the complex multiplication by numbers with the form [u+v*root(−d)], where u and v are integers;
from which it results that the elliptic curve matches the equation y^2=x^3+a·x+b, that the finite group includes q*q q-order points in the elliptic curve, and that the first reduction rule is the only reduction rule to be used for constructing the finite group, the calculations thus being simplified.
The fourth parameter (q) is preferably a prime number with at least 160 bits.
It can also be advantageous to provide for the fifth parameter (d) to be an integer equal, at most, to 1000.
In a preferred embodiment of the invention, the fifth parameter (d) is equal to 3, which means that the first parameter (a) is zero.
The process for generating the elliptic curve such as described above is ideally applicable to the execution of the step-by-step construction process of the cryptographic process recalled initially.
Further characteristics and advantages of the invention will appear clearly from the description provided below, for informative purposes and in a non-exhaustive fashion, in reference to its specific application to the “Identity Based Encryption” protocol, also known to those skilled in the technique by the acronym “IBE” and defined in the aforementioned article by Dan Boneh and Matthew Franklin.
The IBE protocol includes, first of all, a so-called “SetUp” algorithm, which allows a trusted body to generate global parameters of the cryptography system and a master key.
The IBE protocol also includes a so-called “Extract” algorithm, which enables a private key to be generated according to the master key and any public key whatsoever.
The fact that any public key whatsoever can be used, allows each user to use, as a public key, a character string that is entirely specific to the user and yet easy to memorise, for example, his/her internet name. Finally, the IBE protocol includes two algorithms that complement each other, marked as “Encrypt” and “Decrypt”.
The “Encrypt” algorithm allows the user to obtain an encrypted message from a plain text message through application of the public key, and the “Decrypt” algorithm allows the user to obtain a message in plain text from the encrypted message through application of the private key.
The global parameters of the system include:
In fact, each of the public and private keys is represented by a given point of the elliptic curve or by a multiplication factor between two points in this curve, such points being in bijection with the elements of a finite group of integers, the number of which is linked with the fourth parameter (q).
The main aim of the invention is to construct the parameters a, b, p, and q in order for the calculations that need to be carried out by the trusted authority and by the users to be as simple as possible.
In the known previous technique, the finite group of integers in which the calculations of the “SetUp” algorithm are performed is constructed according to a first reduction rule that reduces each integer to its remainder in a whole division by the first prime number (p) and to a second reduction rule that involves a polynomial.
In its most generic definition, the invention consists of planning for the first reduction rule to be the only reduction rule implemented, and to obtain the elliptic curve by means of a step-by-step construction process, directly allocating to the finite group q*q q-order points of this elliptic curve.
In the case that the “Identity Based Encryption” protocol is used, the step-by-step construction process of the elliptic curve is then an integral part of the “SetUp” algorithm.
The elliptic curve can, for example, be obtained by implementing the following operations:
6—constructing the first and second parameters (a, b) by applying to the third parameter (p) the technique of complex multiplication by [u+v*root(−d)], where u and v are integers.
Implementing these operations results in the elliptic curve actually responding to the equation y^2=x^3+a. x+b, the finite group comprising q*q q-order points in the elliptic curve, and the first reduction rule being the only reduction rule used for constructing the finite group.
The complex multiplication technique, which should not be confused with the multiplication of two complex numbers, is well known to those skilled in the technique, and notably described in the work: “Blake, I. F., Seroussi, G., and Smart, N. P., Elliptic Curves in Cryptography, London Mathematical Society Lecture Notes Series 265, Cambridge University Press, 1999”.
The fourth parameter (q) is, for example, a prime number with at least 160 bits; the fifth parameter (d) can be an integer equal to or less than 1000.
In the case of the fifth parameter (d) being equal to 3, the calculations are particularly simplified, since the first parameter (a) becomes zero, the equation of the elliptic curve being reduced to:
y^2=x^3+b.
In this case, the elliptic curve can be obtained by implementing the following operations:
The result is a point of the curve, with order q.
Implementation of the process described above provides, for example, the following specific values.
q=4297242806128994185033021941702087560370368619631.
p=2182255977067110242387819202096967372972825015578536888 7057491073750168475624047105694932863429081910233925327 1529893442070457891195274735458620625415190633449567948 5740755687689682603079627276015128159703948632280242718 7040926033208055563751891758532222532293275449078013248 088539370376808014228321266803863367.
The equation of the curve is then y^2=x^3+8.
Thanks to the simplification of the calculations to which it leads, the invention facilitates the implementation of a cryptographic process using a bilinear pairing on a chip card equipped with nothing but a crypto-coprocessor designed to perform fast calculations modulo a large number.
Number | Date | Country | Kind |
---|---|---|---|
05 00671 | Jan 2005 | FR | national |
Number | Name | Date | Kind |
---|---|---|---|
6212277 | Miyaji | Apr 2001 | B1 |
6212279 | Reiter et al. | Apr 2001 | B1 |
6618483 | Vanstone et al. | Sep 2003 | B1 |
6778666 | Kuzmich et al. | Aug 2004 | B1 |
6816594 | Okeya | Nov 2004 | B1 |
6952475 | Horn et al. | Oct 2005 | B1 |
7062044 | Solinas | Jun 2006 | B1 |
7239701 | Ogishi et al. | Jul 2007 | B1 |
7286666 | Coron | Oct 2007 | B1 |
7486789 | Futa et al. | Feb 2009 | B2 |
7539315 | Watanabe et al. | May 2009 | B2 |
20020041683 | Hopkins et al. | Apr 2002 | A1 |
20030208518 | Gura et al. | Nov 2003 | A1 |
20050135605 | Dimitrov et al. | Jun 2005 | A1 |
20050141720 | Watanabe et al. | Jun 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20070189513 A1 | Aug 2007 | US |