L'invention concerne un procede de mise en oeuvre, dans un composant electronique, d'un algorithme de cryptographie utilisant des moyens de calcul, caracterise en ce qu'il consiste a realiser les etapes suivantes: a) choisir une valeur e parmi un nombre determine de valeurs ei, ei etant des nombres entiers, b) tester si ei verifie une relation predeterminee: si c'est le cas, alors e=ei, et memoriser e en vue de son utilisation dans des calculs dudit algorithme de cryptographie.
Standard bodies and organizations are pushing for increasingly larger RSA keys. Today, RSA keys range from 512 bits to 2048 bits and some bodies envision 4096-bit RSA keys in the near future. This paper devises a new methodology for generating RSA keys. Contrary to what is usually done, the key generation is divided into two phases. The first phase is performed off-line, before the input parameters are even known. The second phase is performed on-line by the smart card once the input parameters are known, and is meant to be very fast. Compared to the fastest reported method ([4]), our solution —or more precisely the on-line phase thereof, is conceptually more advanced and achieves extreme execution speeds as generating 1024-bit or 2048-bit RSA keys amounts to practical running times lowered by several orders of magnitude. Moreover, our technique achieves on-line generation of RSA keys of arbitrary length from a small set of seeds computed during the off-line phase. Subsequently, in addition to be fast and flexible, our solution also features attractively low memory requirements.
Complementary hardware and software have contributed to the success of smart cards. New chips and operating systems will further enhance performance and security.
Public-key cryptography faces the problem of the authentication of the public keys: How do we can be sure that a pair of public key/user's identity are match-ing? A related problem is how to distribute public keys trustfully. These issues are proved to be the bottleneck of a wide deployment of public-key systems, such as the RSA cryptosystem. It is here the Public Key Infrastructures (PKIs) come into play [PKIX]. The idea behind PKI is fairly simple. It basically consists in producing an analogue of the phone directory. In the'PKI directory', one should be able to find a user (or more generally an application) and the corresponding public key. Of course, this directory must in some sense be certified. To this purpose, in addition to the name and the public key, the directory also contains a certificate issued by a Certification Authority (CA). Furthermore, in order to make the system inter-operable, each user belongs to a domain and each domain has its own associated certification authority. Then, when the user (or the appli-cation) has to be identified and authenticated, he just produces the certificate issued by the CA of his domain. This certificate is a digital signature by the CA on at least the user's public key and his identity (along with some other credentials, if needed).