WO2003071733A1 - Method for generating secure keys for a cryptographic algorithm - Google Patents

Method for generating secure keys for a cryptographic algorithm Download PDF

Info

Publication number
WO2003071733A1
WO2003071733A1 PCT/FR2003/000369 FR0300369W WO03071733A1 WO 2003071733 A1 WO2003071733 A1 WO 2003071733A1 FR 0300369 W FR0300369 W FR 0300369W WO 03071733 A1 WO03071733 A1 WO 03071733A1
Authority
WO
WIPO (PCT)
Prior art keywords
keys
subset
identified
algorithm
key
Prior art date
Application number
PCT/FR2003/000369
Other languages
French (fr)
Inventor
Eric Brier
Christophe Clavier
Original Assignee
Gemplus
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus filed Critical Gemplus
Priority to AU2003222888A priority Critical patent/AU2003222888A1/en
Publication of WO2003071733A1 publication Critical patent/WO2003071733A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Definitions

  • the invention relates to a method for generating secure keys for a cryptographic algorithm.
  • the invention very general, can be used to secure any cryptographic algorithm totally or partially broken.
  • Cryptographic algorithms are most often used in applications where access to data or services is strictly controlled. These algorithms are used in particular in smart cards for certain applications of these. These are, for example, applications for accessing certain databases, banking applications, electronic toll applications, for example for television, petrol distribution or even the passage of motorway tolls. These algorithms are also used in so-called SIM cards, for mobile telephone applications.
  • Cryptographic algorithms are generally implemented in electronic components having an architecture formed around a microprocessor and memories, including a non-volatile memory which contains the secret key.
  • these algorithms have the function of calculating an encrypted message from the secret key contained in the card and a clear message applied as input (of the component) by a host system (remote server, distributor bank, etc.), and provide the encrypted message obtained back to the host system.
  • a host system remote server, distributor bank, etc.
  • the encrypted message is accessible from the outside.
  • the clear message cannot be retrieved without knowledge of the secret key used to obtain the encrypted message.
  • the best known cryptographic algorithms are the DES, AES and RSA algorithms. As part of the mobile telephony the most used algorithm is the Compl28. This list, of course, is not exhaustive. The characteristics of cryptographic algorithms are assumed to be known: operations performed, parameters used. Only the secret key which is specific to each component remains unknown and which cannot be deduced from the mere knowledge of the clear message and / or of the encrypted message.
  • the invention can be applied to a symmetric algorithm (such as DES or AES) as well as to an asymmetric algorithm (such as RSA).
  • a symmetric algorithm such as DES or AES
  • asymmetric algorithm such as RSA
  • secret key denotes both the unique key of a symmetric algorithm and the private key of an asymmetric algorithm.
  • the secret key is a binary number whose size NO depends on the algorithm used.
  • N 2 N0 possible keys.
  • a secret key is generated, which is then stored in a non-volatile memory of the component.
  • the key generation is done in a known manner from a random number generator capable of producing numbers of the desired size NO.
  • a component and the algorithm it uses can be vulnerable to analyzes aimed at "breaking" the algorithm, ie finding the secret key it uses. Such an action, if successful, can have serious consequences, up to the cloning of the component.
  • a cryptanalysis consists in carrying out a mathematical or statistical process using only the knowledge of the algorithm and of one or more clear / encrypted pairs to find the secret key used by this algorithm.
  • a hidden channel attack consists of a simple or differential (statistical) analysis of a specific physical parameter linked to the component when it executes the algorithm. This attack is based on the fact that the trace (the variation of the specific physical parameter, for example the current consumption, the electromagnetic radiation, etc.) of the component executing instructions varies according to the data which it manipulates, and therefore according to of the secret key used. In particular, when the component executes the algorithm, the trace of the component depends on the clear message, the secret key and / or the encrypted message. From measurements of this trace and statistical studies of these measurements, it is possible to find the secret key.
  • the duration of a cryptanalysis or a hidden channel attack can depend on the value of the secret key.
  • the security or resistance of an algorithm is its capacity to resist an attack whatever it is and whatever the key it uses.
  • An algorithm is said to be safe if the time required to break it is prohibitive (on the order of a few weeks to a few years).
  • the security of an algorithm greatly increases with the size of the keys used.
  • the security of an algorithm decreases over time because the performance of the materials likely to be used to break it increases, as does the knowledge of possible attackers.
  • Solutions are known to reinforce the security of an algorithm against hidden channel attacks: they consist in intervening at the level of the implementation of the algorithm and in modifying it so that its trace becomes unpredictable: for example, it is possible to invert process steps randomly, to mix data manipulated by the algorithm with one or more random parameters, etc. These solutions are effective. However, they are more or less difficult to implement because they require part modification of the implementation of the algorithm. These solutions are also costly in terms of algorithm execution time, because more often than not the total number of algorithm steps is increased.
  • an object of the invention is to implement a method for securing a particularly simple and inexpensive cryptographic algorithm.
  • the invention relates to a method for generating secure secret keys for a cryptographic algorithm, the method being characterized in that it comprises the following steps: El: analysis of the set (IK) of possible keys; E2: extraction of a subset (SK) of keys from the set (IK);
  • the invention is applicable to any cryptographic algorithm sensitive to at least one identified attack, when said algorithm behaves differently with respect to the identified attack depending on the value of the key that it uses. This assumes that the concepts of strong key and weak key are relevant to the identified attacks. A key is said to be strong if the time necessary, for said key, to complete the identified attack is prohibitive. A key is said to be weak otherwise.
  • secret keys are thus generated from a subset of keys preselected for their resistance to identified attack. This greatly reduces the chances of success of this attack against a component and / or an algorithm using such secret keys.
  • the strength of the keys of all of the possible keys is evaluated with respect to the attack identified. Then we classify the keys of the key set according to a decreasing order of force. In the case where several attacks are identified, the strength of the keys vis-à-vis each identified attack is determined during step E1. Then, the resulting force of a key is determined as being the minimum of the forces of this key against all of the identified attacks. Finally, we classify the keys of the set of keys according to an order of decreasing resulting force.
  • a sufficient number of keys is extracted from among the strongest keys of the set of possible keys.
  • the number of keys extracted is fixed.
  • the number of keys to be extracted is a function of the average strength of the keys extracted, as will be seen more clearly below in an example.
  • a sufficient number of keys is extracted among the keys whose resulting forces are the greatest among the set of possible keys.
  • the number of keys extracted is fixed.
  • the number of keys to be extracted is a function of the average value of the resulting force of the keys extracted.
  • the secret key is chosen randomly from the subset of keys.
  • the key thus obtained is finally stored in a non-volatile memory of the component to be personalized.
  • the secret key obtained according to the method of the invention is therefore necessarily a strong key with respect to the attack or attacks identified.
  • the identified attack therefore does not give a result if it is applied to a component using said secret key.
  • said secret key having been chosen from the subset of keys comprising a sufficient number of keys, an exhaustive search does not give any result either.
  • the method of the invention thus makes it possible to generate keys such that the identified attack or the exhaustive search applied to a component using the key cannot succeed.
  • FIG. 1 is a block diagram of an architecture of a device in which the method of the invention is installed
  • FIG. 2 is a diagram of a method according to the invention.
  • FIG. 1 represents in the form of a block diagram an electronic device 1 capable of implementing a method of generating keys according to the invention.
  • the device 1 is a reader intended for the personalization of smart cards of the SIM card type.
  • the device 1 comprises a communication interface 10 and programmed calculation means composed of a central unit 2 functionally connected to a set of memories of which: - a memory 4 accessible in read only, in the example of the mask ROM type, also known by the English name "mask Read-Only Memory (mask
  • This memory includes in particular the registers used by the device 1.
  • the executable code corresponding to the method of the invention for the generation of secret key intended for the card to be personalized is contained in program memory. This code can in practice be contained in memory 4, accessible in read only and / or in rewritable memory 6.
  • the central unit 2 is connected to the communication interface 10 which ensures the exchange of signals with the card to be personalized and the supply of its chip.
  • the communication interface 10 is in contact with the chip of the card to be personalized (not shown in FIG. 1) via a physical link (contact card) or a radio-frequency link (card without contact) .
  • collision attack This attack consists in finding distinct clear messages providing the same encrypted message. This phenomenon is called a collision and makes it possible to find the value of a subkey. This collision search can be repeated until all 16 sub-keys are obtained, ie the value of the secret key used is obtained.
  • the method of the invention produces secret keys secured against this identified attack (collision attack).
  • FIG. 2 During the implementation of a key generation method according to the invention, the following steps are carried out (FIG. 2):
  • Step E3 Generation of a secret key from the subset of keys.
  • the generated secret key can then be stored in a non-volatile memory of the card to be personalized.
  • the steps E1 and E2 can be carried out once and for all. Step E3 is to be repeated for each card to be personalized.
  • step E1 the set (IK) of possible keys is examined.
  • the strength of these keys is evaluated, that is to say the force T (Ki) necessary for the outcome of the attack considered in the case of a key Ki.
  • This effort is determined based on the technical knowledge and performance of the available equipment that the attacker is supposed to have.
  • the first step E1 thus makes it possible to classify the keys according to their strength and thus to distinguish the strong keys from the weak keys.
  • the evaluation of the strength of the keys does not need to be done with precision.
  • the classification of keys may not be done in an absolutely rigorous manner.
  • a subset SK of keys is extracted from the set IK of the possible keys so that: the keys of the subset SK are as strong as possible to resist the identified attack, and the keys of the sub-assembly SK are in sufficient number to withstand an exhaustive search.
  • Tl (1 / NS) * ⁇ T (Ki), for i varying between 1 and NS, NS being the number of elements in the subset of keys SK.
  • T2 NS * T0, where T0 is the execution time of the algorithm.
  • T0 is the execution time of the algorithm.
  • Ki the number of keys in SK reaches an optimal number NSO.
  • Tl (l / NS) * ⁇ T (Ki) is a decreasing function of NS, insofar as the keys inserted in the subset SK have a decreasing force.
  • T2 NS * T0 is an increasing, linear function of NS.
  • step E3 a secret key is then randomly chosen from the subset of keys obtained during step E2.
  • the secret key chosen is finally stored in a non-volatile memory of the component to be personalized.
  • a key is composed of 8 16-bit subkeys and a key is strong if and only if the 8 subkeys are themselves strong.
  • step E1 the 2 16 sub-keys of
  • Step E2 then consists in defining the sub-set SK as the set of keys of which all the sub-keys are part of the set of 769 strong sub-keys identified in step El.
  • step E3 8 sub-keys are randomly chosen from the subset of the 769 strong sub-keys, to finally form a strong secret key.
  • the 8 sub-keys being strong, the secret key thus obtained is resistant to the identified attack (collision attack). Furthermore, the secret key obtained is also resistant to an exhaustive search because the size of the subspace SK (from which it comes) is equal to 769 8 # 2 77 .

Abstract

The invention relates to a method and a corresponding device for generating secret secure keys for a cryptographic algorithm. The inventive method comprises the following steps: E1) the whole set (IK) of possible keys is analyzed; E2) a subset (SK) of keys is extracted; E3) the secret keys are generated on the basis of the subset of keys.

Description

PROCEDE DE GENERATION DE CLES SECURISEES POUR UN ALGORITHME CRYPTOGRAPHIQUE SECURE KEY GENERATION METHOD FOR CRYPTOGRAPHIC ALGORITHM
L'invention concerne un procédé de génération de clés sécurisées pour un algorithme cryptographique. L'invention, très générale, peut être utilisée pour sécuriser tout algorithme cryptographique totalement ou partiellement cassé.The invention relates to a method for generating secure keys for a cryptographic algorithm. The invention, very general, can be used to secure any cryptographic algorithm totally or partially broken.
Les algorithmes cryptographiques sont le plus souvent utilisés dans des applications où l'accès à des données ou à des services est sévèrement contrôlé. Ces algorithmes sont notamment utilisés dans les cartes à puce pour certaines applications de celles-ci. Ce sont par exemple des applications d'accès à certaines banques de données, des applications bancaires, des applications de télépéage, par exemple pour la télévision, la distribution d'essence ou encore le passage de péages d'autoroute. Ces algorithmes sont également utilisés dans les cartes dites cartes SIM, pour des applications de téléphonie mobile.Cryptographic algorithms are most often used in applications where access to data or services is strictly controlled. These algorithms are used in particular in smart cards for certain applications of these. These are, for example, applications for accessing certain databases, banking applications, electronic toll applications, for example for television, petrol distribution or even the passage of motorway tolls. These algorithms are also used in so-called SIM cards, for mobile telephone applications.
Les algorithmes cryptographiques sont généralement mis en oeuvre dans des composants électroniques ayant une architecture formée autour d'un microprocesseur et de mémoires, dont une mémoire non volatile qui contient la clé secrète .Cryptographic algorithms are generally implemented in electronic components having an architecture formed around a microprocessor and memories, including a non-volatile memory which contains the secret key.
De manière générale et succinte, ces algorithmes ont pour fonction de calculer un message chiffré à partir de la clé secrète contenue dans la carte et d'un message en clair appliqué en entrée (du composant) par un système hôte (serveur à distance, distributeur bancaire, etc.), et de fournir en retour au système hôte le message chiffré obtenu. Ceci permet au système hôte d'authentifier le composant avant d'échanger des données. Le message chiffré est accessible depuis l'extérieur. Cependant, le message clair ne peut être retrouvé sans la connaissance de la clé secrète utilisée pour obtenir le message chiffré. Les algorithmes cryptographiques les plus connus sont les algorithmes DES, AES et RSA. Dans le cadre de la téléphonie mobile l'algorithme le plus utilisé est le Compl28. Cette liste n'est bien sûr pas exhaustive. Les caractéristiques des algorithmes cryptographiques sont supposées connues : opérations effectuées, paramètres utilisés. Seule reste inconnue la clé secrète qui est spécifique à chaque composant et qui ne peut être déduite de la seule connaissance du message clair et/ou du message chiffré .Generally and succinctly, these algorithms have the function of calculating an encrypted message from the secret key contained in the card and a clear message applied as input (of the component) by a host system (remote server, distributor bank, etc.), and provide the encrypted message obtained back to the host system. This allows the host system to authenticate the component before exchanging data. The encrypted message is accessible from the outside. However, the clear message cannot be retrieved without knowledge of the secret key used to obtain the encrypted message. The best known cryptographic algorithms are the DES, AES and RSA algorithms. As part of the mobile telephony the most used algorithm is the Compl28. This list, of course, is not exhaustive. The characteristics of cryptographic algorithms are assumed to be known: operations performed, parameters used. Only the secret key which is specific to each component remains unknown and which cannot be deduced from the mere knowledge of the clear message and / or of the encrypted message.
L'invention peut s'appliquer aussi bien à un algorithme symétrique (tel que DES ou AES) qu'à un algorithme asymétrique (tel que RSA) . On désigne par le terme "clé secrète" aussi bien la clé unique d'un algorithme symétrique que la clé privée d'un algorithme asymétrique.The invention can be applied to a symmetric algorithm (such as DES or AES) as well as to an asymmetric algorithm (such as RSA). The term "secret key" denotes both the unique key of a symmetric algorithm and the private key of an asymmetric algorithm.
Dans le cadre des algorithmes symétriques, la clé secrète est un nombre binaire dont la taille NO dépend de l'algorithme utilisé. Par exemple, l'algorithme DES utilise des clés de N0=56 bits, l'algorithme Compl28 utilise des clés de N0=128 bits. Pour un tel algorithme, il existe donc un ensemble comprenant N=2N0 clés possibles. Au cours d'une phase de personnalisation du composant, une clé secrète est générée, qui est ensuite mémorisée dans une mémoire non volatile du composant. La génération de clé se fait de manière connue à partir d'un générateur de nombres aléatoires apte à produire des nombres de la taille NO souhaitée.In the framework of symmetric algorithms, the secret key is a binary number whose size NO depends on the algorithm used. For example, the DES algorithm uses keys of N0 = 56 bits, the Compl28 algorithm uses keys of N0 = 128 bits. For such an algorithm, there therefore exists a set comprising N = 2 N0 possible keys. During a component personalization phase, a secret key is generated, which is then stored in a non-volatile memory of the component. The key generation is done in a known manner from a random number generator capable of producing numbers of the desired size NO.
Un composant et l'algorithme qu'il utilise peuvent être vulnérables à des analyses ayant pour but de "casser" l'algorithme, c'est à dire de trouver la clé secrète qu'il utilise. Une telle action, si elle aboutit, peut avoir des conséquences graves allant jusqu'au clonage du composant.A component and the algorithm it uses can be vulnerable to analyzes aimed at "breaking" the algorithm, ie finding the secret key it uses. Such an action, if successful, can have serious consequences, up to the cloning of the component.
Ces^- analyses, du moins celles qui sont connues actuellement, sont essentiellement de deux types : la cryptanalyse et les attaques à canaux cachés (en anglais : side-channel attacks) . Une cryptanalyse consiste à mener un processus mathématique ou statistique n'utilisant que la connaissance de l'algorithme et d'une ou plusieurs paires clair/chiffré pour retrouver la clé secrète utilisée par cet algorithme. Une attaque à canal caché consiste en une analyse simple ou différentielle (statistique) d'un paramètre physique spécifique lié au composant lorsqu'il exécute l'algorithme. Cette attaque repose sur le fait que la trace (la variation du paramètre physique spécifique, par exemple la consommation de courant, le rayonnement électromagnétique, etc. ) du composant exécutant des instructions varie en fonction des données qu'il manipule, et donc en fonction de la clé secrète utilisée. En particulier, lorsque le composant exécute l'algorithme, la trace du composant dépend du message clair, de la clé secrète et/ou du message chiffré. A partir de mesures de cette trace et d'études statistiques de ces mesures, il est possible de retrouver la clé secrète.These ^ - analyzes, at least those which are currently known, are essentially of two types: cryptanalysis and hidden channel attacks (in English: side-channel attacks). A cryptanalysis consists in carrying out a mathematical or statistical process using only the knowledge of the algorithm and of one or more clear / encrypted pairs to find the secret key used by this algorithm. A hidden channel attack consists of a simple or differential (statistical) analysis of a specific physical parameter linked to the component when it executes the algorithm. This attack is based on the fact that the trace (the variation of the specific physical parameter, for example the current consumption, the electromagnetic radiation, etc.) of the component executing instructions varies according to the data which it manipulates, and therefore according to of the secret key used. In particular, when the component executes the algorithm, the trace of the component depends on the clear message, the secret key and / or the encrypted message. From measurements of this trace and statistical studies of these measurements, it is possible to find the secret key.
Enfin, dans tous les cas de figure, une attaque par recherche exhaustive est possible. Elle consiste à rechercher la clé secrète de manière systématique. Pour cela, à partir d'un message clair et d'un message chiffré associé connu, l'algorithme est exécuté de manière systématique avec l'ensemble des clés, une à une, jusqu'à obtention de la clé secrète utilisée. La recherche exhaustive demande un temps très important (temps croissant de manière exponentielle avec la longueur en bits des clés) et/ou un matériel particulièrement performant pour être menée à terme.Finally, in all cases, an attack by exhaustive search is possible. It consists of searching for the secret key systematically. For this, from a clear message and a known associated encrypted message, the algorithm is executed systematically with all the keys, one by one, until the secret key used is obtained. The exhaustive research requires a very significant time (time increasing exponentially with the length in bits of the keys) and / or a particularly efficient material to be carried out.
Contrairement à la recherche exhaustive, la durée d'une cryptanalyse ou d'une attaque à canal caché peut dépendre de la valeur de la clé secrète.Unlike exhaustive search, the duration of a cryptanalysis or a hidden channel attack can depend on the value of the secret key.
La sécurité ou résistance d'un algorithme est sa capacité à résister à une attaque quelle qu'elle soit et quelle que soit la clé qu'il utilise. Un algorithme est dit sûr si le temps nécessaire pour le casser est prohibitif (de l'ordre de quelques semaines à quelques années). La sécurité d'un algorithme augmente fortement avec la taille des clés utilisées. En revanche, la sécurité d'un algorithme diminue dans le temps car les performances des matériels susceptibles d'être utilisés pour le casser augmentent, de même que les connaissances d'éventuels attaquants .The security or resistance of an algorithm is its capacity to resist an attack whatever it is and whatever the key it uses. An algorithm is said to be safe if the time required to break it is prohibitive (on the order of a few weeks to a few years). The security of an algorithm greatly increases with the size of the keys used. On the other hand, the security of an algorithm decreases over time because the performance of the materials likely to be used to break it increases, as does the knowledge of possible attackers.
Des solutions sont connues pour renforcer la sécurité d'un algorithme contre les attaques à canaux cachés : elles consistent à intervenir au niveau de l'implantation de l'algorithme et à le modifier de sorte que sa trace devienne imprédictible : par exemple, il est possible d'intervertir des étapes du procédé de manière aléatoire, de mélanger des données manipulées par l'algorithme avec un ou des paramètres aléatoires, etc. Ces solutions sont efficaces. Cependant, elles sont plus ou moins difficiles à mettre en oeuvre car elles nécessitent de modifier en partie l'implantation de l'algorithme. Ces solutions sont également coûteuses en termes de temps d'exécution de l'algorithme, car le plus souvent le nombre total d'étapes de l'algorithme est augmenté.Solutions are known to reinforce the security of an algorithm against hidden channel attacks: they consist in intervening at the level of the implementation of the algorithm and in modifying it so that its trace becomes unpredictable: for example, it is possible to invert process steps randomly, to mix data manipulated by the algorithm with one or more random parameters, etc. These solutions are effective. However, they are more or less difficult to implement because they require part modification of the implementation of the algorithm. These solutions are also costly in terms of algorithm execution time, because more often than not the total number of algorithm steps is increased.
S'il s'avère impossible ou non souhaitable de sécuriser par ces méthodes l'implantation d'un algorithme, il peut être envisagé de remplacer cet algorithme par un algorithme plus sûr. Cependant, ce remplacement dans un composant existant nécessite de surcroît de modifier l'infrastructure dans laquelle le composant s'inscrit, ce qui peut nécessiter des investissements techniques prohibitifs.If it proves impossible or undesirable to secure the implementation of an algorithm by these methods, it can be envisaged to replace this algorithm with a more secure algorithm. However, this replacement in an existing component also requires modifying the infrastructure in which the component is part, which may require prohibitive technical investments.
Au vu des problèmes exposés ci-dessus, un but de l'invention est de mettre en oeuvre un procédé de sécurisation d'un algorithme cryptographique particulièrement simple et peu onéreux.In view of the problems set out above, an object of the invention is to implement a method for securing a particularly simple and inexpensive cryptographic algorithm.
Ainsi l'invention concerne un procédé de génération de clés secrètes sécurisées pour un algorithme cryptographique, le procédé étant caractérisé en ce qu'il comprend les étapes suivantes : El : analyse de l'ensemble (IK) des clés possibles ; E2 : extraction d'un sous-ensemble (SK) de clés à partir de l'ensemble (IK) ;Thus, the invention relates to a method for generating secure secret keys for a cryptographic algorithm, the method being characterized in that it comprises the following steps: El: analysis of the set (IK) of possible keys; E2: extraction of a subset (SK) of keys from the set (IK);
E3 : génération des clés secrètes à partir du sous- ensemble (SK) de clés.E3: generation of secret keys from the key subset (SK).
L'invention est applicable pour tout algorithme cryptographique sensible à au moins une attaque identifiée, lorsque ledit algorithme se comporte différemment vis-à-vis de l'attaque identifiée selon la valeur de la clé qu'il utilise. Cela suppose que les notions de clé forte et de clé faible soient pertinentes pour l'attaques identifiée. Une clé est dite forte si le temps nécessaire, pour ladite clé, à l'aboutissement de l'attaque identifiée est prohibitif. Une clé est dite faible dans le cas contraire.The invention is applicable to any cryptographic algorithm sensitive to at least one identified attack, when said algorithm behaves differently with respect to the identified attack depending on the value of the key that it uses. This assumes that the concepts of strong key and weak key are relevant to the identified attacks. A key is said to be strong if the time necessary, for said key, to complete the identified attack is prohibitive. A key is said to be weak otherwise.
Selon l'invention, on génère ainsi des clés secrètes parmi un sous-ensemble de clés présélectionnées pour leur résistance à l'attaque identifiée. On diminue ainsi fortement les chances de réussite de cette attaque contre un composant et/ou un algorithme utilisant de telles clés secrètes.According to the invention, secret keys are thus generated from a subset of keys preselected for their resistance to identified attack. This greatly reduces the chances of success of this attack against a component and / or an algorithm using such secret keys.
Au cours de l'étape El d'analyse, on évalue la force des clés de l'ensemble des clés possibles vis-à-vis de l'attaque identifiée. Puis on classe les clés de l'ensemble de clés selon un ordre de force décroissant . Dans le cas où plusieurs attaques sont identifiées, on détermine au cours de l'étape El la force des clés vis-à-vis de chaque attaque identifiée. Ensuite, on détermine la force résultante d'une clé comme étant le minimum des forces de cette clé vis-à-vis de l'ensemble des attaques identifiées. Enfin, on classe les clés de l'ensemble de clés selon un ordre de force résultante décroissant.During the analysis step E1, the strength of the keys of all of the possible keys is evaluated with respect to the attack identified. Then we classify the keys of the key set according to a decreasing order of force. In the case where several attacks are identified, the strength of the keys vis-à-vis each identified attack is determined during step E1. Then, the resulting force of a key is determined as being the minimum of the forces of this key against all of the identified attacks. Finally, we classify the keys of the set of keys according to an order of decreasing resulting force.
Au cours de l'étape E2 d'extraction d'un sous-ensemble de clés, dans le cas où une seule attaque est identifiée, on extrait un nombre de clés suffisant parmi les clés les plus fortes de l'ensemble de clés possibles. Selon une première variante, le nombre de clés extraites est fixé. Selon une autre variante, le nombre de clés à extraire est fonction de la force moyenne des clés extraites, comme on le verra mieux par la suite dans un exemple.During the step E2 of extracting a subset of keys, in the case where a single attack is identified, a sufficient number of keys is extracted from among the strongest keys of the set of possible keys. According to a first variant, the number of keys extracted is fixed. According to one another variant, the number of keys to be extracted is a function of the average strength of the keys extracted, as will be seen more clearly below in an example.
Au cours de l'étape E2 d'extraction d'un sous-ensemble de clés, dans le cas où plusieurs attaques sont identifiées, on extrait un nombre de clés suffisant parmi les clés dont les forces résultantes sont les plus grandes parmi l'ensemble de clés possibles. Selon une première variante, le nombre de clés extraites est fixé. Selon une autre variante, le nombre de clés à extraire est fonction de la valeur moyenne de la force résultante des clés extraites.During the step E2 of extracting a subset of keys, in the case where several attacks are identified, a sufficient number of keys is extracted among the keys whose resulting forces are the greatest among the set of possible keys. According to a first variant, the number of keys extracted is fixed. According to another variant, the number of keys to be extracted is a function of the average value of the resulting force of the keys extracted.
Au cours de l'étape E3 de génération de la clé secrète, la clé secrète est choisie aléatoirement parmi le sous- ensemble de clés. La clé ainsi obtenue est mémorisée finalement dans une mémoire non volatile du composant à personnaliser .During the step E3 of generating the secret key, the secret key is chosen randomly from the subset of keys. The key thus obtained is finally stored in a non-volatile memory of the component to be personalized.
La clé secrète obtenue selon le procédé de l'invention est ainsi nécessairement une clé forte vis-à-vis de l'attaque ou des attaques identifiées. L'attaque identifiée ne donne donc pas de résultat si elle est appliquée à un composant utilisant ladite clé secrète. Par ailleurs, ladite clé secrète ayant été choisie dans le sous-ensemble de clés comprenant un nombre suffisant de clés, une recherche exhaustive ne donne pas non plus de résultat. Le procédé de l'invention permet ainsi de générer des clés telles que l'attaque identifiée ou la recherche exhaustive appliquée sur un composant utilisant la clé ne peut aboutir.The secret key obtained according to the method of the invention is therefore necessarily a strong key with respect to the attack or attacks identified. The identified attack therefore does not give a result if it is applied to a component using said secret key. Furthermore, said secret key having been chosen from the subset of keys comprising a sufficient number of keys, an exhaustive search does not give any result either. The method of the invention thus makes it possible to generate keys such that the identified attack or the exhaustive search applied to a component using the key cannot succeed.
L'invention peut être appliquée pour la génération de clés secrètes pour tout algorithme pour lequel au moins une attaque possible est identifiée, et pour lequel les clés sont plus ou moins sensibles vis-à-vis de l'attaque identifiée. Dans un exemple de réalisation, l'invention est appliquée à l'algorithme Compl28. L'invention et les avantages qui en découlent apparaîtront plus clairement à la lecture de la description qui suit. Un exemple de mise en oeuvre d'un procédé de génération de clés sécurisées sera donné. La description est à lire en référence aux dessins annexés dans lesquels : la figure 1 est un schéma bloc d'une architecture d'un dispositif dans lequel est implanté le procédé de l'invention, et la figure 2 est un diagramme d'un procédé selon l'invention.The invention can be applied for the generation of secret keys for any algorithm for which at least one possible attack is identified, and for which the keys are more or less sensitive with respect to the identified attack. In an exemplary embodiment, the invention is applied to the Compl28 algorithm. The invention and the advantages which result therefrom will appear more clearly on reading the description which follows. An example of implementation of a method for generating secure keys will be given. The description should be read with reference to the accompanying drawings in which: FIG. 1 is a block diagram of an architecture of a device in which the method of the invention is installed, and FIG. 2 is a diagram of a method according to the invention.
La figure 1 représente sous forme de schéma bloc un dispositif électronique 1 apte à mettre en oeuvre un procédé de génération de clés selon l'invention. Dans l'exemple, le dispositif 1 est un lecteur destiné à la personnalisation de cartes à puce de type cartes SIM. Le dispositif 1 comprend une interface de communication 10 et des moyens de calcul programmés composés d'une unité centrale 2 reliée fonctionnellement à un ensemble de mémoires dont : - une mémoire 4 accessible en lecture seulement, dans l'exemple du type ROM masque, aussi connue sous l'appellation anglaise "mask Read-Only Memory (maskFIG. 1 represents in the form of a block diagram an electronic device 1 capable of implementing a method of generating keys according to the invention. In the example, the device 1 is a reader intended for the personalization of smart cards of the SIM card type. The device 1 comprises a communication interface 10 and programmed calculation means composed of a central unit 2 functionally connected to a set of memories of which: - a memory 4 accessible in read only, in the example of the mask ROM type, also known by the English name "mask Read-Only Memory (mask
ROM) " , une mémoire 6 re-programmable électriquement, dans l'exemple du type EEPROM (de l'anglais "electrically erasable programmable ROM"), et une mémoire de travail 8 accessible en lecture et en écriture, dans l'exemple du type RAM (de l'anglais "Random Access Memory"). Cette mémoire comprend notamment les registres utilisés par le dispositif 1.ROM) ", a memory 6 re-programmable electrically, in the example of the EEPROM type (from the English" electrically erasable programmable ROM "), and a working memory 8 accessible in reading and writing, in the example of RAM type (from the English "Random Access Memory"). This memory includes in particular the registers used by the device 1.
Le code exécutable correspondant au procédé de l'invention pour la génération de clé secrète destinée à la carte à personnaliser est contenu en mémoire programme. Ce code peut en pratique être contenu en mémoire 4, accessible en lecture seulement et/ou en mémoire 6 réinscriptible. L'unité centrale 2 est reliée à l'interface de communication 10 qui assure l'échange des signaux avec la carte à personnaliser et l'alimentation de sa puce. L'interface de communication 10 est en contact avec la puce de la carte à personnaliser (non représentée sur la figure 1) par l'intermédiaire d'une liaison physique (carte à contact) ou d'une liaison radio-fréquence (carte sans contact) .The executable code corresponding to the method of the invention for the generation of secret key intended for the card to be personalized is contained in program memory. This code can in practice be contained in memory 4, accessible in read only and / or in rewritable memory 6. The central unit 2 is connected to the communication interface 10 which ensures the exchange of signals with the card to be personalized and the supply of its chip. The communication interface 10 is in contact with the chip of the card to be personalized (not shown in FIG. 1) via a physical link (contact card) or a radio-frequency link (card without contact) .
On suppose dans l'exemple suivant que l'algorithme utilisé est le Compl28. Il utilise des clés de taille N0=128 bits composées de 8 sous-clés de 16 bits. Le nombre total de clés possibles pour cet algorithme est donc égal àIt is assumed in the following example that the algorithm used is the Compl28. It uses keys of size N0 = 128 bits composed of 8 16-bit subkeys. The total number of possible keys for this algorithm is therefore equal to
N=(216)8=2128 clés possibles.N = (2 16 ) 8 = 2 128 possible keys.
Il est connu que cet algorithme est sensible à une cryptanalyse nommée "attaque par collision" . Cette attaque consiste à trouver des messages clairs distincts fournissant un même message chiffré. Ce phénomène s'appelle une collision et permet de retrouver la valeur d'une sous-clé. Cette recherche de collision peut être répétée jusqu'à obtention de toutes les 16 sous-clés, c'est à dire l'obtention de la valeur de la clé secrète utilisée.It is known that this algorithm is sensitive to a cryptanalysis called "collision attack". This attack consists in finding distinct clear messages providing the same encrypted message. This phenomenon is called a collision and makes it possible to find the value of a subkey. This collision search can be repeated until all 16 sub-keys are obtained, ie the value of the secret key used is obtained.
Dans la description qui suit, le procédé de l'invention produit des clés secrètes sécurisées contre cette attaque identifiée (attaque par collision) .In the following description, the method of the invention produces secret keys secured against this identified attack (collision attack).
Lors de la mise en oeuvre d'un procédé de génération de clés selon l'invention, on réalise (figure 2) les étapes suivantes :During the implementation of a key generation method according to the invention, the following steps are carried out (FIG. 2):
El : Analyse de l'ensemble des clés possibles ; - E2 : Extraction d'un sous-ensemble de clés à partir dudit ensemble de clés possibles ;El: Analysis of all possible keys; - E2: Extraction of a subset of keys from said set of possible keys;
E3 : Génération d'une clé secrète à partir du sous- ensemble de clés. La clé secrète générée peut alors être mémorisée dans une mémoire non volatile de la carte à personnaliser. Les étapes El et E2 peuvent être réalisées une fois pour toutes. L'étape E3 est à répéter pour chaque carte à personnaliser.E3: Generation of a secret key from the subset of keys. The generated secret key can then be stored in a non-volatile memory of the card to be personalized. The steps E1 and E2 can be carried out once and for all. Step E3 is to be repeated for each card to be personalized.
Au cours de l'étape El, on examine l'ensemble (IK) des clés possibles. En particulier, on évalue la force de ces clés, c'est à dire l'effort T(Ki) nécessaire à l'aboutissement de l'attaque considérée dans le cas d'une clé Ki . Cet effort est déterminé en fonction des connaissances et des performances techniques du matériel disponible que l'attaquant est supposé avoir. On classe ensuite toutes les clés par ordre décroissant de force T(Ki), de sorte que l'on ait :During step E1, the set (IK) of possible keys is examined. In particular, the strength of these keys is evaluated, that is to say the force T (Ki) necessary for the outcome of the attack considered in the case of a key Ki. This effort is determined based on the technical knowledge and performance of the available equipment that the attacker is supposed to have. We then classify all the keys in decreasing order of force T (Ki), so that we have:
T(Ki) > T(Kj) pour tout i < j.T (Ki)> T (Kj) for all i <j.
La première étape El permet ainsi de classer les clés selon leur force et ainsi de distinguer les clés fortes des clés faibles. L'évaluation de la force des clés ne nécessite pas d'être effectuée avec précision. De même, si la distinction entre clés fortes et clés faibles est primordiale, le classement des clés peut ne pas être fait de façon absolument rigoureuse.The first step E1 thus makes it possible to classify the keys according to their strength and thus to distinguish the strong keys from the weak keys. The evaluation of the strength of the keys does not need to be done with precision. Similarly, if the distinction between strong and weak keys is essential, the classification of keys may not be done in an absolutely rigorous manner.
Dans la deuxième étape E2 , on extrait de l'ensemble IK des clés possibles un sous-ensemble SK de clés de sorte que : les clés du sous-ensemble SK soient aussi fortes que possible pour résister à l'attaque identifiée, et les clés du sous-ensemble SK soient en nombre suffisant pour résister à une recherche exhaustive.In the second step E2, a subset SK of keys is extracted from the set IK of the possible keys so that: the keys of the subset SK are as strong as possible to resist the identified attack, and the keys of the sub-assembly SK are in sufficient number to withstand an exhaustive search.
Dans la suite, il est présenté une méthode pour optimiser le processus d'extraction du sous-ensemble de clés SK décrit dans l'étape E2. Néanmoins, une telle optimisation n'est pas obligatoire pour tirer bénéfice de l'invention. On peut en effet extraire un sous-ensemble de clés SK arbitraire et non optimal contenant suffisament de clés fortes pour contrer aussi bien l'attaque identifiée (grâce à la force des clés) que la recherche exhaustive (grâce au nombre de clés) . Concrètement, l'effort moyen à fournir pour que l'attaque identifiée aboutisse est égal à la somme des efforts à fournir pour toutes les clés du sous-ensemble SK divisée par le nombre de clés du sous-ensemble SK, soit :In the following, a method is presented for optimizing the process of extracting the subset of keys SK described in step E2. However, such optimization is not mandatory to benefit from the invention. We can indeed extract an arbitrary and non-optimal subset of SK keys containing enough strong keys to counter both the identified attack (thanks to the strength of the keys) and the exhaustive search (thanks to the number of keys). Concretely, the average effort to provide for the identified attack to succeed is equal to the sum of the efforts to provide for all the keys of the SK subset divided by the number of keys of the SK subset, that is:
Tl= (1/NS) *ΣT(Ki) , pour i variant entre 1 et NS, NS étant le nombre d'éléments dans le sous-ensemble de clés SK.Tl = (1 / NS) * ΣT (Ki), for i varying between 1 and NS, NS being the number of elements in the subset of keys SK.
Par ailleurs, l'effort à fournir pour mener à son terme une recherche exhaustive sur la base du sous-ensemble SK de clés est égal à :In addition, the effort required to carry out an exhaustive search on the basis of the SK subset of keys is equal to:
T2=NS*T0, où T0 est le temps d'exécution de l'algorithme. Dans la mesure où un attaquant peut choisir de mener une recherche exhaustive ou l'attaque identifiée, l'effort moyen à fournir pour obtenir une clé du sous-ensemble SK est donné par la formule :T2 = NS * T0, where T0 is the execution time of the algorithm. Insofar as an attacker can choose to conduct an exhaustive search or the identified attack, the average effort required to obtain a key of the SK subset is given by the formula:
T3=Min[Tl;T2] =Min[ (l/NS) *∑ (Ki) ;NS*T0] Pour durcir l'algorithme, on cherche à maximiser l'effort moyen T3. Pour cela, on insère des clés dans le sous-ensemble SK par ordre décroissant de force T(Ki), jusqu'à ce que le nombre de clés dans SK atteigne un nombre NSO optimal.T3 = Min [Tl; T2] = Min [(l / NS) * ∑ (Ki); NS * T0] To harden the algorithm, we seek to maximize the average effort T3. To do this, keys are inserted into the subset SK in decreasing order of force T (Ki), until the number of keys in SK reaches an optimal number NSO.
La fonction Tl= (l/NS) *∑T (Ki) est une fonction décroissante de NS, dans la mesure où les clés insérées dans le sous-ensemble SK ont une force décroissante. Inversement, la fonction T2=NS*T0 est une fonction croissante, linéaire de NS.The function Tl = (l / NS) * ∑T (Ki) is a decreasing function of NS, insofar as the keys inserted in the subset SK have a decreasing force. Conversely, the function T2 = NS * T0 is an increasing, linear function of NS.
Une étude mathématique rapide permet de montrer que dans ce cas, T3 est maximum lorsque T1=T2. Ceci permet dans le cas général de calculer le nombre NSO optimum de clés à insérer dans le sous-ensemble de clés SK selon la relation :A quick mathematical study shows that in this case, T3 is maximum when T1 = T2. This allows in the general case to calculate the optimum number NSO of keys to be inserted in the subset of keys SK according to the relation:
T0* (NS0)2=ΣT(Ki) , pour i variant entre 1 et NSO. Au cours de l'étape E3 , on génère ensuite une clé secrète choisie de manière aléatoire dans le sous-ensemble de clés obtenu au cours de l'étape E2. La clé secrète choisie est finalement mémorisée dans une mémoire non volatile du composant à personnaliser.T0 * (NS0) 2 = ΣT (Ki), for i varying between 1 and NSO. During step E3, a secret key is then randomly chosen from the subset of keys obtained during step E2. The secret key chosen is finally stored in a non-volatile memory of the component to be personalized.
Dans le cas pratique d'un composant utilisant l'algorithme Compl28, une clé est composée de 8 sous-clés de 16 bits et une clé est forte si et seulement si les 8 sous- clés sont elles-même fortes.In the practical case of a component using the Compl28 algorithm, a key is composed of 8 16-bit subkeys and a key is strong if and only if the 8 subkeys are themselves strong.
Au cours de l'étape El, on analyse les 216 sous-clés deDuring step E1, the 2 16 sub-keys of
16 bits et on identifie 769 d'entre elles comme étant des sous-clés fortes. Ces 769 sous-clés sont celles présentant la propriété de ne pas donner lieu aux collisions considérées par l'attaque identifiée.16 bits and 769 of them are identified as strong subkeys. These 769 sub-keys are those presenting the property of not giving rise to collisions considered by the identified attack.
L'étape E2 consiste alors à définir le sous-ensemble SK comme l'ensemble des clés dont toutes les sous-clés font partie de l'ensemble des 769 sous-clés fortes identifiées à l'étape El.Step E2 then consists in defining the sub-set SK as the set of keys of which all the sub-keys are part of the set of 769 strong sub-keys identified in step El.
Au cours de l'étape E3 , on choisit aléatoirement 8 sous- clés dans le sous-ensemble des 769 sous-clés fortes, pour former finalement une clé secrète forte. Les 8 sous-clés étant fortes, la clé secrète ainsi obtenue est résistante à l'attaque identifiée (attaque par collision) . Par ailleurs, la clé secrète obtenue est également résistante à une recherche exhaustive car la taille du sous-espace SK (dont elle est issue) est égale à 7698#277. During step E3, 8 sub-keys are randomly chosen from the subset of the 769 strong sub-keys, to finally form a strong secret key. The 8 sub-keys being strong, the secret key thus obtained is resistant to the identified attack (collision attack). Furthermore, the secret key obtained is also resistant to an exhaustive search because the size of the subspace SK (from which it comes) is equal to 769 8 # 2 77 .

Claims

REVENDICATIONS
1. Procédé de génération de clés secrètes sécurisées pour un algorithme cryptographique, faisant face à une attaque qui le rend considéré comme cassé, comprenant les étapes suivantes : El : analyse de l'ensemble (IK) des clés possibles ,1. Method for generating secure secret keys for a cryptographic algorithm, facing an attack which makes it considered broken, comprising the following steps: El: analysis of the set (IK) of possible keys,
E2 : extraction d'un sous-ensemble (SK) de clés à partir de l'ensemble (IK) ,E2: extraction of a subset (SK) of keys from the set (IK),
E3 : génération des clés secrètes à partir du sous- ensemble (SK) de clés, procédé caractérisé en ce que, au cours de l'étape (El) d'analyse, on évalue la force des clés de l'ensemble (IK) des clés possibles vis-à-vis d'une attaque identifiée, qui rend l'algorithme inutisable.E3: generation of secret keys from the subset (SK) of keys, method characterized in that, during the analysis step (E1), the strength of the keys of the set (IK) is evaluated possible keys vis-à-vis an identified attack, which makes the algorithm unusable.
2. Procédé selon la revendication 1, caractérisé en ce que, au cours de l'étape (E2) d'extraction d'un sous-ensemble (SK) , on extrait de l'ensemble des clés (IK) un nombre suffisant de clés fortes vis-à-vis de l'attaque identifiée.2. Method according to claim 1, characterized in that, during the step (E2) of extraction of a subset (SK), a sufficient number of keys are extracted from the set of keys (IK) strong keys to the identified attack.
3. Procédé selon la revendication 2 caractérisé en ce que le nombre suffisant (NSO) est fixé.3. Method according to claim 2 characterized in that the sufficient number (NSO) is fixed.
4. Procédé selon la revendication 3 caractérisé en ce que le nombre suffisant est déterminé en fonction de la force moyenne des clés du sous-ensemble de clés (SK) .4. Method according to claim 3 characterized in that the sufficient number is determined according to the average force of the keys of the key subset (SK).
5. Procédé selon la revendication 1 caractérisé en ce que, face à plusieurs attaques identifiées au cours de l'étape (El) d'analyse, on évalue la force des clés de l'ensemble des clés (IK) vis-à-vis de chacune de ces dites attaques . 5. Method according to claim 1 characterized in that, faced with several attacks identified during the analysis step (El), the strength of the keys of the set of keys (IK) is evaluated vis-à-vis of each of these so-called attacks.
6. Procédé selon la revendication 5 caractérisé en ce qu'on définit la force résultante d'une clé comme étant le minimum des forces de ladite clé vis-à-vis de toutes lesdites attaques identifiées.6. Method according to claim 5 characterized in that the resultant force of a key is defined as being the minimum of the forces of said key against all of said identified attacks.
7. Procédé selon l'une quelconque des revendications 1, 5 ou 6 caractérisé en ce que, au cours de l'étape (E2) d'extraction d'un sous-ensemble (SK) , on extrait de l'ensemble des clés (IK) un nombre suffisant de clés fortes vis-à-vis desdites attaques identifiées.7. Method according to any one of claims 1, 5 or 6 characterized in that, during the step (E2) of extraction of a subset (SK), one extracts from all the keys (IK) a sufficient number of strong keys against said identified attacks.
8. Procédé selon la revendication 7 caractérisé en ce que le nombre suffisant (NSO) est fixé.8. Method according to claim 7 characterized in that the sufficient number (NSO) is fixed.
9. Procédé selon la revendication 7 caractérisé en ce que le nombre suffisant (NSO) est déterminé en fonction de la valeur moyenne des forces résultantes desdites clés vis-à-vis desdites attaques identifiées.9. Method according to claim 7 characterized in that the sufficient number (NSO) is determined as a function of the average value of the forces resulting from said keys with respect to said identified attacks.
10. Procédé selon l'une des revendications 1 à 4 caractérisé en ce que, au cours de l'étape (El) d'analyse, on classe ensuite les clés de l'ensemble de clés (IK) selon un ordre de force décroissant.10. Method according to one of claims 1 to 4 characterized in that, during the analysis step (El), the keys of the set of keys (IK) are then classified according to a decreasing order of force .
11. Procédé selon l'une quelconque des revendications 1, 5 à 9 caractérisé en ce que, au cours de l'étape (El) d'analyse, on classe ensuite les clés de l'ensemble de clés11. Method according to any one of claims 1, 5 to 9 characterized in that, during the analysis step (El), the keys of the set of keys are then classified
(IK) selon un ordre de force résultante décroissant.(IK) in decreasing order of resulting force.
12. Dispositif pour la personnalisation d'un composant électronique par une clé secrète, choisie aléatoirement dans un sous-ensemble (SK) de clés, caractérisé en ce qu'il comprend des moyens programmés (1) pour la mise en œuvre d'un procédé selon l'une quelconque des revendications 1 à 11, les moyens programmés comprenant notamment une unité centrale (2) et une mémoire de programme. 12. Device for personalizing an electronic component by a secret key, chosen randomly from a subset (SK) of keys, characterized in that it comprises programmed means (1) for the implementation of a method according to any one of claims 1 to 11, the programmed means comprising in particular a central unit (2) and a program memory.
PCT/FR2003/000369 2002-02-15 2003-02-06 Method for generating secure keys for a cryptographic algorithm WO2003071733A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003222888A AU2003222888A1 (en) 2002-02-15 2003-02-06 Method for generating secure keys for a cryptographic algorithm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0201883A FR2836312B1 (en) 2002-02-15 2002-02-15 SECURE KEY GENERATION METHOD FOR CRYPTOGRAPHIC ALGORITHM
FR02/01883 2002-02-15

Publications (1)

Publication Number Publication Date
WO2003071733A1 true WO2003071733A1 (en) 2003-08-28

Family

ID=27636184

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2003/000369 WO2003071733A1 (en) 2002-02-15 2003-02-06 Method for generating secure keys for a cryptographic algorithm

Country Status (4)

Country Link
CN (1) CN1438784A (en)
AU (1) AU2003222888A1 (en)
FR (1) FR2836312B1 (en)
WO (1) WO2003071733A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8009017B2 (en) 2003-04-01 2011-08-30 Mi Kyoung Park Contactless type communication tag, portable tag reader for verifying a genuine article, and method for providing information of whether an article is genuine or not

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839460B2 (en) 2008-03-07 2014-09-16 Qualcomm Incorporated Method for securely communicating information about the location of a compromised computing device
US8850568B2 (en) 2008-03-07 2014-09-30 Qualcomm Incorporated Method and apparatus for detecting unauthorized access to a computing device and securely communicating information about such unauthorized access

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A. MENEZES ET AL.: "HANDBOOK OF APPLIED CRYPTOGRAPHY", 1997, CRC PRESS, BOCA RATON, XP002219382 *
HEYS H M: "Linearly weak keys of RC5", ELECTRONICS LETTERS, IEE STEVENAGE, GB, vol. 33, no. 10, 8 May 1997 (1997-05-08), pages 836 - 837, XP006007465, ISSN: 0013-5194 *
KOBLITZ: "ADVANCES IN CRYPTOLOGY-CRYPTO'96, IMPROVED DIFFERENTIAL ATTACKS ON RC5", 1996, SPRINGER, BERLIN, XP002219383 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8009017B2 (en) 2003-04-01 2011-08-30 Mi Kyoung Park Contactless type communication tag, portable tag reader for verifying a genuine article, and method for providing information of whether an article is genuine or not

Also Published As

Publication number Publication date
CN1438784A (en) 2003-08-27
FR2836312B1 (en) 2004-11-19
FR2836312A1 (en) 2003-08-22
AU2003222888A1 (en) 2003-09-09

Similar Documents

Publication Publication Date Title
EP1570648B1 (en) Method of securing software updates
EP0914640B1 (en) Method for storing and operating sensitive information in a security module, and associated security module
WO2006048524A1 (en) Method for secure delegation of calculation of a bilinear application
EP1159797B1 (en) Countermeasure method in an electronic component using a secret key cryptographic algorithm
WO2001086601A1 (en) Method for authenticating a portable object, corresponding portable object, and apparatus therefor
WO2003071733A1 (en) Method for generating secure keys for a cryptographic algorithm
CA2466658A1 (en) Securing a pseudo-random generator
EP1399896B1 (en) Cryptographic method of protecting an electronic chip against fraud
EP1119939B1 (en) Countermeasure method in an electronic component using a secret key cryptographic algorithm
WO2016097650A1 (en) Method of dispatching an item of security information and electronic device able to implement such a method
EP3327607B1 (en) Data verification method
WO2000062473A1 (en) Method for making secure one or several computer installations using a common cryptographic secret key algorithm, use of the method and computer installation
EP3136283B1 (en) Device and method for securing commands exchanged between a terminal and an integrated circuit
WO2009083528A1 (en) Method and system for generating stable biometric data
WO2000030049A1 (en) Method for controlling the use of a smart card
WO2001084491A2 (en) Countermeasure method in a microcircuit and smart card comprising said microcircuit
EP3340098B1 (en) Method for securing an electronic operation with a smart card
EP2129115B1 (en) Method for updating security data in a security module and security module for implementing this method
EP3360034A1 (en) Dynamically distributed backup method and system
EP1442556A2 (en) Method for secure operation of a functional module in an electronic component and corresponding component
FR2789774A1 (en) Security module for secure comparison of an authentication code with one stored in memory has additional auxiliary registers in which randomly chosen data words are placed for use in authenticating the code in the main registers
EP3284209B1 (en) Methods of generating and verifying a security key of a virtual monetary unit
FR3129801A1 (en) digital evidence processing method, system and corresponding program
WO2004093019A1 (en) Electronic entity secured by a modifiable counter for the uses of classified data
EP1792435A1 (en) Method for securing cryptographic processing by means of decoys

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP