EP1104607A1 - Method and device for authenticating with symmetrical algorithm - Google Patents

Method and device for authenticating with symmetrical algorithm

Info

Publication number
EP1104607A1
EP1104607A1 EP99936740A EP99936740A EP1104607A1 EP 1104607 A1 EP1104607 A1 EP 1104607A1 EP 99936740 A EP99936740 A EP 99936740A EP 99936740 A EP99936740 A EP 99936740A EP 1104607 A1 EP1104607 A1 EP 1104607A1
Authority
EP
European Patent Office
Prior art keywords
xor
faire
secret key
array
alg
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP99936740A
Other languages
German (de)
French (fr)
Inventor
Ludovic Rousseau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales DIS France SA
Original Assignee
Gemplus SCA
Gemplus Card International SA
Gemplus SA
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 SCA, Gemplus Card International SA, Gemplus SA filed Critical Gemplus SCA
Publication of EP1104607A1 publication Critical patent/EP1104607A1/en
Withdrawn legal-status Critical Current

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Definitions

  • the present invention relates to an authentication method using a symmetric algorithm having the main characteristic that, each time two parts are authenticated, commonly called A and B, a cryptographic calculation with a variable key, called K ', is carried out.
  • the invention relates more precisely to the cryptographic calculations cited above during an authentication of the two parties, called A and B, independent of each other in the context of data exchange.
  • This can be between a PC and a server, a reader and a server, a smart card and a smart card reader such as, for example, a cash dispenser when using a credit card.
  • chip called A by a user who, wishing to obtain a few banknotes, goes to a place with an ATM, called B.
  • the two parts A and / or B can be considered as a smart card and / or a reader.
  • A who has a secret key K, chooses a random R or random number also called a message.
  • A sends this hazard R to B, which also has the same secret key K.
  • r is the result of the encryption of the message R with the algorithm ALG and the secret key K.
  • the algorithm called ALG is a symmetric encryption algorithm. This can be the DES (Data Encryption Message), the triple DES, the IDEA, etc.
  • the authentication of B by A is carried out in this way.
  • this operation is not sufficient because it is vulnerable to current measurements and therefore to attacks by a possible hacker.
  • An attacker, or hacker measures the electrical current consumption of the chip. According to the curve obtained, it can deduce information on the operations and the data used by the processor. In order to make precise measurements, the attacker must make several measurements and filter them.
  • the hacker To obtain a relevant measurement, the hacker must perform several measurements and filter them to extract the relevant information. Due to the use of the same constant key K, all the measurements use the same key K and therefore the filtering result is characteristic of the key K.
  • the invention proposes a first feature which consists of a brief modification which is carried out in the formula for calculating r ′ of the authentication protocol which is the subject of the invention.
  • Part A which has the secret key K, sends a random number chosen randomly] _, to part B.
  • the latter also has the same secret key K.
  • B chooses a random number R2, then calculates the number K ', which is also a secret key from the following formula:
  • the impossibility of attack to date stems from the fact that, since K ′ changes with each authentication, the current consumption of the calculation of r and r ′ is different with each execution of the authentication. However, the calculation of K 'remains vulnerable to attacks in current consumption.
  • the invention therefore provides a second feature not related to the first described above, concerning the calculation of K '.
  • K k ⁇ _ xor k2 xor ... xor k n .
  • a first table k called below in the description by k [], is used; this table contains the values of the n under keys kj_.
  • the first step, or step a consists in that as long as there remains an element of the array a_ette [] at the value "T", then a random number i, between 1 and n, is chosen.
  • step b is the equality test of the element i of the array a_excellent [] and the value "T”, called below in the description and in the figure.
  • step b If the equality test in step b is false, then the calculation system returns to the first step, or step a.
  • This algorithm is not in constant time because it is possible to execute more loops than there are sub-keys k-j_.
  • the invention also relates to an authentication system with a symmetric encryption algorithm between two entities or parts A and B, having the same secret key K, which implements the method described above.
  • n number of sub-keys
  • n ⁇ 2 number of sub-keys
  • the initialization remains identical to the general case described above; it is mentioned in FIG. 2 by the reference A or 10.
  • the algorithm loop is performed as follows:
  • the probability of putting at the value "F” the two elements of the array a_ttle [] in two loops or tests is equal to half, or 1/2.

Abstract

The invention concerns a method and a system for authenticating with symmetrical algorithm essentially characterised in that, for each mutual authentication of two parties, a cryptographic computation with a variable key, referred to as K', is carried out. The main steps of said method are as follows: a) party A, possessing the secret key K, sends a random number R2 to party B, the latter also possessing the same secret key K; b) party B selects a random number R2, and computes the number K', which is also a secret key, from the following formula: K' = R2 xor K, xor being the equivalent of the exclusive or mathematical operation; c) then, B, using a symmetrical encryption algorithm ALG, computes a result r derived from the formula: r = ALG[K'](R1); d) said party B then sends r and R2 to said party A; e) said party A, using the same symmetrical encryption algorithm ALG, computes K' and r' from the following formulae: K' = R2 xor K and r' = ALG[k'](R1); f) if r is equal to r', then said party B is authenticated by said party A.

Description

PROCEDE ET DISPOSITIF D'AUTHENTIFICATION A ALGORITHME SYMETRIQUE SYMMETRIC ALGORITHM AUTHENTICATION METHOD AND DEVICE
La présente invention concerne un procédé d' authentification à algorithme symétrique présentant la caractéristique principale que, à chaque authentification de deux parties entre elles, appelées communément A et B, un calcul cryptographique avec une clé variable, appelée K', est effectué.The present invention relates to an authentication method using a symmetric algorithm having the main characteristic that, each time two parts are authenticated, commonly called A and B, a cryptographic calculation with a variable key, called K ', is carried out.
L'invention concerne plus précisément les calculs cryptographiques cités ci-dessus lors d'une authentification des deux parties, appelées A et B, indépendantes l'une de l'autre dans le cadre d'échange de données. Cela peut être entre un PC et un serveur, un lecteur et un serveur, une carte à puce et un lecteur de carte à puce comme, par exemple, un distributeur de billets de banque dans le cadre de l'utilisation d'une carte à puce appelée A par un utilisateur qui, souhaitant se procurer quelques billets de banque, se rend sur un lieu comportant un distributeur de billets, appelé B.The invention relates more precisely to the cryptographic calculations cited above during an authentication of the two parties, called A and B, independent of each other in the context of data exchange. This can be between a PC and a server, a reader and a server, a smart card and a smart card reader such as, for example, a cash dispenser when using a credit card. chip called A by a user who, wishing to obtain a few banknotes, goes to a place with an ATM, called B.
Plus particulièrement, les deux parties A et/ou B peuvent être considérées comme une carte à puce et/ou un lecteur.More particularly, the two parts A and / or B can be considered as a smart card and / or a reader.
Il est connu de l'homme du métier que les problèmes de sécurité sont cruciaux pour un bon fonctionnement d'appareils du type distributeurs de billets et carte à puce. Ces soucis sont l'objet de protections continues et toujours plus efficaces pour rendre une attaque de plus en difficile à commettre.It is known to those skilled in the art that security problems are crucial for the proper functioning of devices of the cash dispenser and smart card type. These concerns are the subject of continuous and always more effective protections to make an attack more and more difficult to commit.
Pour expliquer cet état de fait, dans le domaine technologique de la cryptologie, il est connu de dénommer les deux parties devant communiquer entre elles A et B. D'une manière plus technique et scientifique, le procédé consiste en un certain nombre d'étapes.To explain this state of affairs, in the technological field of cryptology, it is known to name the two parties having to communicate with each other A and B. In a more technical and scientific way, the process consists of a number of steps.
Dans le détail, A, qui possède une clé secrète K, choisit un aléa R ou nombre aléatoire appelé aussi message .In detail, A, who has a secret key K, chooses a random R or random number also called a message.
A envoie cet aléa R à B, qui possède également la même clé secrète K.A sends this hazard R to B, which also has the same secret key K.
B calcule un résultat, à l'aide d'un algorithme symétrique de chiffrement ALG, appelé r par la formule suivante :B calculates a result, using a symmetric ALG encryption algorithm, called r by the following formula:
r = ALG[K] (R) ,r = ALG [K] (R),
r est le résultat du chiffrement du message R avec l'algorithme ALG et la clé secrète K. L'algorithme dénommé ALG est un algorithme de chiffrement symétrique. Cela peut être le DES (Data Encryption Message), le triple DES, 1 ' IDEA, etc.r is the result of the encryption of the message R with the algorithm ALG and the secret key K. The algorithm called ALG is a symmetric encryption algorithm. This can be the DES (Data Encryption Message), the triple DES, the IDEA, etc.
Cette opération est réalisable car la clé secrète K est connue des deux parties A et B et seulement par A et B.This operation is possible because the secret key K is known to both parties A and B and only by A and B.
Ensuite, B envoie le résultat r à A. Ce dernier, A, calcule alors le résultat r' par la formule suivante : r' ≈ ALG[K] (R) .Then B sends the result r to A. The latter, A, then calculates the result r 'by the following formula: r' ≈ ALG [K] (R).
Si le nombre r est égal au résultat r' alors B est authentifié .If the number r is equal to the result r 'then B is authenticated.
L' authentification de B par A est réalisée de cette manière . Cependant, cette opération n'est pas suffisante car elle est vulnérable aux mesures de courant donc aux attaques d'un possible piratage. Un attaquant, ou pirate, mesure la consommation de courant électrique de la puce. Suivant la courbe obtenue, il peut déduire de l'information sur les opérations et les données utilisées par le processeur. Afin de réaliser des mesures précises, l'attaquant doit réaliser plusieurs mesures et les filtrer.The authentication of B by A is carried out in this way. However, this operation is not sufficient because it is vulnerable to current measurements and therefore to attacks by a possible hacker. An attacker, or hacker, measures the electrical current consumption of the chip. According to the curve obtained, it can deduce information on the operations and the data used by the processor. In order to make precise measurements, the attacker must make several measurements and filter them.
Plus précisément, le problème réside dans le calcul de r, c'est à dire sur la formule :More precisely, the problem lies in the calculation of r, ie on the formula:
r ≈ ALGtK] (R) .r ≈ ALGtK] (R).
En effet, des mesures de courant sont faciles à réaliser à ce niveau et il est par conséquent possible de connaître les données par le calcul, en particulier du fait que la clé K est constante.Indeed, current measurements are easy to perform at this level and it is therefore possible to know the data by calculation, in particular because the key K is constant.
Pour obtenir une mesure pertinente, le pirate doit effectuer plusieurs mesures et les filtrer pour en extraire l'information pertinente. Du fait de l'utilisation d'une même clé K constante, toutes les mesures utilisent la même clé K et donc le résultat du filtrage est caractéristique de la clé K.To obtain a relevant measurement, the hacker must perform several measurements and filter them to extract the relevant information. Due to the use of the same constant key K, all the measurements use the same key K and therefore the filtering result is characteristic of the key K.
L'invention propose une première particularité qui consiste en une modification succincte qui est réalisée dans la formule du calcul de r' du protocole d' authentification, objet de l'invention. La partie A, qui possède la clé secrète K, envoie un aléa ou nombre choisi aléatoirement ]_ , à la partie B. Cette dernière possède également la même clé secrète K. B choisit un nombre aléatoire R2 , puis calcule le nombre K' , qui est aussi une clé secrète à partir de la formule suivante :The invention proposes a first feature which consists of a brief modification which is carried out in the formula for calculating r ′ of the authentication protocol which is the subject of the invention. Part A, which has the secret key K, sends a random number chosen randomly] _, to part B. The latter also has the same secret key K. B chooses a random number R2, then calculates the number K ', which is also a secret key from the following formula:
K' = R2 xor K, xor étant le "ou exclusif" mathé atique .K '= R2 xor K, xor being the "or exclusive" mathematical.
Ensuite, B calcule un résultat r issu de la formule :Then B calculates a result r from the formula:
r = ALG[K'] (R]_)r = ALG [K '] (R] _)
B envoie ensuite r et R2 à A.B then sends r and R2 to A.
Ce dernier calcule, à l'aide du même algorithme symétrique de chiffrement ALG, K' et r' à partir des formules suivantes :The latter calculates, using the same symmetric encryption algorithm ALG, K 'and r' from the following formulas:
K' = R2 xor K et r' = ALG[K'] (Ri)K '= R2 xor K and r' = ALG [K '] (Ri)
Dans l'hypothèse où r est égal à r', alors B est authentifié par A.Assuming that r is equal to r ', then B is authenticated by A.
L'impossibilité d'attaque à ce jour provient du fait que, puisque K' change à chaque authentification, la consommation de courant du calcul de r et r' est différente à chaque exécution de 1 ' authentification. Cependant, le calcul de K' reste vulnérable aux attaques en consommation de courant. L'invention propose donc une seconde particularité non liée à la première ci-dessus décrite, concernant le calcul de K' .The impossibility of attack to date stems from the fact that, since K ′ changes with each authentication, the current consumption of the calculation of r and r ′ is different with each execution of the authentication. However, the calculation of K 'remains vulnerable to attacks in current consumption. The invention therefore provides a second feature not related to the first described above, concerning the calculation of K '.
En effet, l'invention utilise un système de chiffrement indépendant et/ou dépendant du système d' authentification ci-dessus décrit.Indeed, the invention uses an encryption system independent and / or dependent on the authentication system described above.
Il consiste en un calcul de K' qui est rendu aléatoire.It consists of a calculation of K 'which is made random.
Pour cela, on décompose la clé secrète K en un ensemble de n sous clés k-j_ , i étant l'indice de sous clés par la formule :For this, we decompose the secret key K into a set of n sub-keys k-j_, i being the index of sub-keys by the formula:
K = kι_ xor k2 xor ... xor kn.K = kι_ xor k2 xor ... xor k n .
Ainsi, le calcul de K' est possible comme étant, sous une autre formulation :Thus, the calculation of K 'is possible as being, under another formulation:
K' = R2 xor kι_ xor ... xor kn.K '= R2 xor kι_ xor ... xor k n .
Du fait de la commutativité de l'opérateur xor, il est possible de changer l'ordre de calcul pour obtenir un calcul variable à chaque authentification.Due to the commutativity of the operator xor, it is possible to change the order of calculation to obtain a variable calculation at each authentication.
Pour qu'un lien soit établi entre K et K' l'algorithme utilisé comprend une phase d'initialisation et un sous-ensemble de boucles.In order for a link to be established between K and K ′, the algorithm used comprises an initialization phase and a subset of loops.
L'initialisation de l'algorithme doit être expliquée, de manière générale d'abord, et ensuite en prenant un cas particulier d'explication, transposable ensuite à la généralité. L'initialisation a pour explication les propos suivants.The initialization of the algorithm must be explained, in general first, and then by taking a particular case of explanation, which can then be transposed to generality. The initialization has for explanation the following remarks.
D'une manière générale, un premier tableau k, dénommé ci-après dans la description par k[], est utilisé; ce tableau contient les valeurs des n sous clés kj_ .In general, a first table k, called below in the description by k [], is used; this table contains the values of the n under keys kj_.
Un second tableau appelé a_faire, dénommé ci -après par a_faire [] , contient n booléens. Chaque booléen contient la valeur vraie appelée "True" ou "T", ci- après et sur la figure 2. Les tableaux k[] et a_faire [] contiennent le même nombre n d'éléments, représentant les n sous clés kj_ et les n booléensA second array called a_faire, hereinafter called a_faire [], contains n booleans. Each boolean contains the true value called "True" or "T", below and in FIG. 2. The arrays k [] and a_faire [] contain the same number n of elements, representing the n sub-keys kj_ and the n booleans
Il est affecté la valeur R2 à K' , plus précisément K' = R2.The value R2 is assigned to K ', more precisely K' = R 2 .
La boucle de l'algorithme est décrite ci-dessous et représentée à la figure 1 :The algorithm loop is described below and shown in Figure 1:
La première étape, ou étape a, consiste en ce que tant qu'il reste un élément du tableau a_faire[] à la valeur "T", alors un nombre aléatoire i, compris entre 1 et n, est choisi.The first step, or step a, consists in that as long as there remains an element of the array a_faire [] at the value "T", then a random number i, between 1 and n, is chosen.
L'étape suivante, étape b, est le test d'égalité de l'élément i du tableau a_faire [] et de la valeur "T" , dénommée ci-après dans la description et sur la figure.The next step, step b, is the equality test of the element i of the array a_faire [] and the value "T", called below in the description and in the figure.
Si le précédent test d'égalité est vrai, deux opérations sont effectuées :If the previous equality test is true, two operations are performed:
- La première, étape c, est l'affectation à la variable K' du résultat du "ou exclusif" mathématique entre K' et le i^me élément du tableau k[] qui est en fait le calcul de la formule suivante : K' = K1 xor k[i]- The first, step c, is the assignment to variable K 'of the result of the mathematical "or exclusive" between K 'and the i ^ th element of the array k [] which is in fact the calculation of the following formula: K' = K 1 xor k [i]
La deuxième, étape d, est l'affectation à l'élément d'indice i du tableau a_faire[] de la valeur "False", dénommée ci-après dans la description et sur la figure par "F" : a_faire [i] = "F".The second, step d, is the assignment to the element of index i of the table a_faire [] of the value "False", called below in the description and in the figure by "F": a_faire [i] = "F".
Si le test d'égalité de l'étape b est faux, alors le système de calcul revient à l'étape première, ou étape a.If the equality test in step b is false, then the calculation system returns to the first step, or step a.
Cet algorithme n'est pas en temps constant car il est possible d'exécuter plus de boucles qu'il y a de sous-clés k-j_ .This algorithm is not in constant time because it is possible to execute more loops than there are sub-keys k-j_.
L'invention concerne également un système d' authentification à algorithme de chiffrement symétrique entre deux entités ou parties A et B, possédant une même clé secrète K, qui met en oeuvre le procédé ci-dessus décrit.The invention also relates to an authentication system with a symmetric encryption algorithm between two entities or parts A and B, having the same secret key K, which implements the method described above.
L'invention va être maintenant décrite avec un exemple de réalisation précis qui est le cas pour lequel n, nombre de sous clés, est égal à deux, n ≈ 2, en relation avec la figure 2, figure ne décrivant que deux boucles.The invention will now be described with a specific embodiment which is the case where n, number of sub-keys, is equal to two, n ≈ 2, in relation to FIG. 2, a figure describing only two loops.
L'initialisation reste identique au cas général ci- dessus décrit; elle est mentionnée sur la figure 2 par la référence A ou 10. La boucle de l'algorithme est réalisée de la manière suivante :The initialization remains identical to the general case described above; it is mentioned in FIG. 2 by the reference A or 10. The algorithm loop is performed as follows:
Deux calculs de l'algorithme sont possibles. Soit l'opération suivante sera effectuée :Two calculations of the algorithm are possible. Either the following operation will be performed:
K ' = R2 xor k]_ xor k2 ; Soit l'opération suivante sera effectuée :K '= R2 xor k] _ xor k 2 ; Either the following operation will be performed:
K ' = R2 xor k2 xor k]_ ;K '= R2 xor k2 xor k] _;
Ainsi, le pirate ne sait pas quel est le calcul qui va être effectué en premier lieu et donc ne peut pas utiliser plusieurs mesures pour effectuer des filtrages .Thus, the hacker does not know what is the calculation that will be performed in the first place and therefore cannot use several measures to perform filtering.
La probabilité de remplir les deux éléments en un tour de boucle ou premier essai est nulle, ou bien de manière plus explicite et visuelle (cf. figure 2), la probabilité de mettre à la valeur "F" les deux éléments du tableau a_f ire [] en un seul essai est nulle. Il est donc impossible d'obtenir en un seul bouclage les deux valeurs identiques "F", "F".The probability of filling the two elements in a loop or first try is zero, or more explicitly and visually (cf. Figure 2), the probability of setting the value of "two" in the two elements of the array a_f ire [] in one try is null. It is therefore impossible to obtain in a single loop the two identical values "F", "F".
Ensuite, la probabilité de mettre à la valeur "F" les deux éléments du tableau a_faire[] en deux boucles ou essais est égale à un demi, ou 1/2.Then, the probability of putting at the value "F" the two elements of the array a_faire [] in two loops or tests is equal to half, or 1/2.
En effet, lors de la première boucle, un nombre aléatoire i égal à 1 (20) ou 2 (21) , i=l ou 2, est choisi; alors la valeur "F" est mise dans un des deux éléments du tableau a_faire [] ; cette première boucle est mentionnée figure 2 par la référence B. Lors d'une seconde boucle (cf. figure 2), un nombre aléatoire i égal à 1 ou 2, i=l ou 2, est choisi; alors la valeur "F" est mise dans un des deux éléments du tableau a_faire [] , selon le nombre aléatoire choisi; cette seconde boucle est mentionnée figure 2 par la référence C.Indeed, during the first loop, a random number i equal to 1 (20) or 2 (21), i = 1 or 2, is chosen; then the value "F" is put in one of the two elements of the array a_faire []; this first loop is mentioned in FIG. 2 by the reference B. During a second loop (see Figure 2), a random number i equal to 1 or 2, i = 1 or 2, is chosen; then the value "F" is put in one of the two elements of the array a_faire [], according to the random number chosen; this second loop is mentioned in FIG. 2 by the reference C.
Ainsi, on a deux cas terminés (31, 32), c'est à dire deux valeurs "F" dans deux éléments et deux cas non terminés (30, 33); le calcul de K' n'est pas terminé. La probabilité d'obtenir ce résultat est de un demi .Thus, there are two completed cases (31, 32), that is to say two "F" values in two elements and two unfinished cases (30, 33); the calculation of K 'is not finished. The probability of obtaining this result is half.
En outre, la probabilité de remplir deux éléments en trois boucles ou essais est égale à un quart, ou 1/4 (non représentée sur la figure 2) .In addition, the probability of completing two elements in three loops or tests is equal to a quarter, or 1/4 (not shown in Figure 2).
En effet, un nombre aléatoire i égal à 1 ou 2 est choisi; la valeur "F" est mise soit dans le premier élément, soit dans le second élément du tableau a_faire [] .Indeed, a random number i equal to 1 or 2 is chosen; the value "F" is put either in the first element, or in the second element of the array a_faire [].
Ainsi, comme lors du second bouclage, on a deux cas terminés, c'est à dire deux valeurs "F" dans deux éléments et deux cas non terminés, Le calcul de K' n'est pas terminé.Thus, as during the second looping, there are two completed cases, that is to say two "F" values in two elements and two unfinished cases, The calculation of K 'is not finished.
De manière très générale, la probabilité de remplir les deux éléments en k boucles est égale à Il est intéressant de connaître une moyenne S de boucles à réaliser pour tomber sur deux éléments comprenant chacun la valeur "F".Very generally, the probability of filling the two elements in k loops is equal to It is interesting to know an average S of loops to be made to fall on two elements each comprising the value "F".
Pour cela, l'espérance mathématique est calculée et est formulée de la manière suivante :For this, the mathematical expectation is calculated and is formulated as follows:
= ∑i : ,-ι= Σi:,
Cette espérance mathématique est la somme pondérée des probabilités.This mathematical expectation is the weighted sum of the probabilities.
Elle est égale, une fois calculée, à trois.Once calculated, it is three.
La conclusion est donc : S = 3The conclusion is therefore: S = 3
Le calcul de K' est réalisé en trois boucles en moyenne . The calculation of K 'is carried out in three loops on average.

Claims

REVENDICATIONS
1. Procédé d ' authentification à algorithme de chiffrement symétrique entre deux entités ou parties A et B, possédant une même clé secrète K, caractérisé en ce qu'il effectue les étapes suivantes pour1. Authentication method using a symmetric encryption algorithm between two entities or parts A and B, having the same secret key K, characterized in that it performs the following steps to
1 ' authentification : a) la partie A, possédant la clé secrète K, envoie un aléa, ou nombre choisi aléatoirement R2 a la partie B, cette dernière possédant également la même clé secrète K; b) la partie B choisit un nombre aléatoire R2, et calcule le nombre K' , qui est aussi une clé secrète, à partir de la formule suivante :1 authentication: a) part A, having the secret key K, sends a random number or randomly chosen number R2 to part B, the latter also having the same secret key K; b) part B chooses a random number R2, and calculates the number K ', which is also a secret key, from the following formula:
K' = R2 xor K, xor étant l'équivalent du "ou exclusif" mathématique; c) ensuite, B calcule, à l'aide d'un algorithme symétrique de chiffrement ALG un résultat r issu de la formule :K '= R2 xor K, xor being the equivalent of the mathematical "or exclusive"; c) then B calculates, using a symmetric ALG encryption algorithm, a result r from the formula:
r = ALG[K'] (R ) ;r = ALG [K '] (R);
d) ladite partie B envoie ensuite r et R2 a ladite partie A; e) ladite partie A calcule, à l'aide du même algorithme symétrique de chiffrement ALG, K' et r' à partir des formules suivantes :d) said part B then sends r and R2 to said part A; e) said part A calculates, using the same symmetric encryption algorithm ALG, K 'and r' from the following formulas:
K' = R2 xor K et r' = ALG[K'] (R2) ;K '= R 2 xor K and r '= ALG [K'] (R 2 );
f) si r est égal à r', alors ladite partie B est authentifié par ladite partie A.f) if r is equal to r ', then said part B is authenticated by said part A.
2. Procédé selon la revendication 1 caractérisé en ce que la clé K est décomposée en un ensemble de n sous clés kj, i étant l'indice de sous clés, par la formule:2. Method according to claim 1 characterized in that the key K is broken down into a set of n sub-keys kj, i being the index of sub-keys, by the formula:
K = k]_ xor k2 xor ... xor kn.K = k ] _ xor k2 xor ... xor k n .
3. Procédé selon la revendication 1 ou 2 caractérisé en ce qu'il comprend un système de calcul de la clé K' rendu aléatoire par l'ordre d'utilisation des sous clés k- i étant l'indice de sous clés, dans la formulation :3. Method according to claim 1 or 2 characterized in that it comprises a system for calculating the key K 'made random by the order of use of the sub-keys k- i being the index of sub-keys, in the formulation:
K' = R2 xor k^ xor ... xor kn.K '= R2 xor k ^ xor ... xor k n .
4. Procédé selon la revendication 3 caractérisé en ce que la clé secrète K' est calculée au moyen d'un algorithme qui comprend une phase d'initialisation et un ensemble de boucles.4. Method according to claim 3 characterized in that the secret key K 'is calculated by means of an algorithm which comprises an initialization phase and a set of loops.
5. Procédé selon la revendication 4 caractérisé en ce que la phase d'initialisation comprend :5. Method according to claim 4 characterized in that the initialization phase comprises:
- un premier tableau k, ou k[], contenant les n sous clés kj_ et- a first array k, or k [], containing the n sub-keys kj_ and
- un second tableau appelé a_faire, ou a_faire[], contenant n booléens, chaque booléen contenant la valeur vraie appelée "True" ou "T", et caractérisé en ce que les tableaux k[] et a_faire[] contiennent le même nombre n d'éléments, représentent les n sous clés k_ et les n booléens.- a second array called a_faire, or a_faire [], containing n booleans, each boolean containing the true value called "True" or "T", and characterized in that the arrays k [] and a_faire [] contain the same number n of elements, represent the n subkeys k_ and the n booleans.
6. Procédé selon la revendication 4 caractérisé en ce que la boucle de l'algorithme comprend les étapes suivantes a) la première étape consiste en ce que tant qu'il reste un élément du tableau a_faire [] à la valeur "T", un nombre aléatoire i, compris entre6. Method according to claim 4 characterized in that the loop of the algorithm comprises the following steps a) the first step consists in that as long as there remains an element of the array a_faire [] at the value "T", a random number i, between
1 et n, est alors choisi; b) la seconde étape consiste au test de l'élément i du tableau a_faire [] à la valeur "T"; c) si le résultat de la seconde étape est vrai, alors la troisième étape consiste en deux opérations : - la première est l'affectation, à la variable K' , du résultat du "ou exclusif" mathématique entre K' et le i^ e élément du tableau k[] qui est le calcul de la formule suivante :1 and n, is then chosen; b) the second step consists in testing the element i of the array a_faire [] at the value "T"; c) if the result of the second step is true, then the third step consists of two operations: - the first is the assignment, to the variable K ', of the result of the mathematical "or exclusive" between K' and the i ^ e element of the array k [] which is the calculation of the following formula:
K' = K' xor k[i] .K '= K' xor k [i].
La deuxième est l'affectation à l'élément d'indice i du tableau a_faire [] de la valeur "False", dénommée ci-après dans la description et sur la figure par "F" : a faire [i] = "F".The second is the assignment to the element of index i of the table a_faire [] of the value "False", called below in the description and in the figure by "F": to do [i] = "F ".
7. Procédé selon la revendication 4 caractérisé en ce que la boucle de l'algorithme comprend les étapes suivantes a) la première étape consiste en ce que tant qu'il reste un élément du tableau a faire [] à la valeur "T", un nombre aléatoire i, compris entre 1 et n, étant alors choisi; b) la seconde étape consiste au test de l'élément i du tableau a_faire [] à la valeur "T"; c) si le résultat de la seconde étape est faux alors le système de calcul revient à l'étape première .7. Method according to claim 4 characterized in that the loop of the algorithm comprises the following steps a) the first step consists in that as long as there remains an element of the array to do [] at the value "T", a random number i, between 1 and n, then being chosen; b) the second step consists in testing the element i of the array a_faire [] at the value "T"; c) if the result of the second step is false then the calculation system returns to the first step.
8. Système d' authentification à algorithme de chiffrement symétrique entre deux entités ou parties A et B, possédant une même clé secrète K caractérisé en ce qu'il met en oeuvre le procédé d' authentification selon l'une quelconque des revendications 1 à 7. 8. Authentication system with symmetric encryption algorithm between two entities or parts A and B, having the same secret key K characterized in that it implements the authentication method according to any one of claims 1 to 7 .
EP99936740A 1998-08-17 1999-08-16 Method and device for authenticating with symmetrical algorithm Withdrawn EP1104607A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9810591A FR2782431B1 (en) 1998-08-17 1998-08-17 SYMMETRIC ALGORITHM AUTHENTICATION METHOD AND DEVICE
FR9810591 1998-08-17
PCT/FR1999/001995 WO2000010287A1 (en) 1998-08-17 1999-08-16 Method and device for authenticating with symmetrical algorithm

Publications (1)

Publication Number Publication Date
EP1104607A1 true EP1104607A1 (en) 2001-06-06

Family

ID=9529804

Family Applications (1)

Application Number Title Priority Date Filing Date
EP99936740A Withdrawn EP1104607A1 (en) 1998-08-17 1999-08-16 Method and device for authenticating with symmetrical algorithm

Country Status (7)

Country Link
EP (1) EP1104607A1 (en)
JP (1) JP2002523923A (en)
CN (1) CN1323478A (en)
AU (1) AU5173199A (en)
FR (1) FR2782431B1 (en)
MX (1) MXPA01001783A (en)
WO (1) WO2000010287A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2804524B1 (en) * 2000-01-31 2002-04-19 Oberthur Card Systems Sas METHOD FOR EXECUTING A CRYPTOGRAPHIC PROTOCOL BETWEEN TWO ELECTRONIC ENTITIES
FR2819078B1 (en) * 2000-12-29 2003-02-14 Gemplus Card Int METHOD OF PROTECTION AGAINST ATTACKS BY MEASURING CURRENT OR BY MEASURING ELECTROMAGNETIC RADIATION
FR2819079B1 (en) * 2000-12-29 2003-02-14 Gemplus Card Int METHOD OF PROTECTION AGAINST ATTACKS BY MEASURING CURRENT OR ELECTROMAGNETIC RADIATION
US6950517B2 (en) * 2002-07-24 2005-09-27 Qualcomm, Inc. Efficient encryption and authentication for data processing systems
CN1684411B (en) * 2004-04-13 2010-04-28 华为技术有限公司 Method for verifying user's legitimate of mobile terminal
CN100364262C (en) * 2004-08-04 2008-01-23 中国联合通信有限公司 Access discrimination method and device for EV-DO network
US7401222B2 (en) * 2004-12-16 2008-07-15 Xerox Corporation Method of authentication of memory device and device therefor
CN100405395C (en) * 2005-03-22 2008-07-23 刘普合 Commodity composite anti-fake code and symmetric test anit-fake method
CN1863042B (en) * 2005-12-13 2011-05-04 华为技术有限公司 Method for information encryption and decryption
CN102411692B (en) * 2010-09-25 2015-07-01 中国移动通信有限公司 Method, system and equipment for running terminal
CN101997880A (en) * 2010-12-01 2011-03-30 湖南智源信息网络技术开发有限公司 Method and device for verifying security of network page or interface
CN102014136B (en) * 2010-12-13 2013-03-06 南京邮电大学 Peer to peer (P2P) network secure communication method based on random handshake
FR2974694B1 (en) * 2011-04-27 2013-05-31 Peugeot Citroen Automobiles Sa METHOD OF SECURELY EXCHANGING SYMMETRICALLY ENCRYPTED MESSAGES
CZ2022127A3 (en) * 2022-03-17 2023-05-17 Jan Topol A method of municipal wastewater treatment and equipment for performing the method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2530053B1 (en) * 1982-07-08 1986-04-25 Bull Sa METHOD FOR CERTIFYING THE SOURCE OF AT LEAST ONE INFORMATION RECORDED IN A MEMORY OF A FIRST ELECTRONIC DEVICE AND TRANSMITTED TO A SECOND ELECTRONIC DEVICE, AND SYSTEM FOR IMPLEMENTING SUCH A METHOD
FR2612315A1 (en) * 1987-03-13 1988-09-16 Trt Telecom Radio Electr METHOD FOR SIMULTANEOUSLY READING AND CERTIFYING INFORMATION PRESENT IN A MEMORY OF AN ELECTRONIC MEDIUM
JP2531354B2 (en) * 1993-06-29 1996-09-04 日本電気株式会社 Authentication method
FR2738972B1 (en) * 1995-09-15 1997-11-28 Thomson Multimedia Sa DATA PAGING METHOD FOR A SECURE DATA EXCHANGE PROTOCOL
DE19716111A1 (en) * 1997-04-17 1998-10-22 Giesecke & Devrient Gmbh Procedure for mutual authentication of two units

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0010287A1 *

Also Published As

Publication number Publication date
AU5173199A (en) 2000-03-06
FR2782431A1 (en) 2000-02-18
CN1323478A (en) 2001-11-21
JP2002523923A (en) 2002-07-30
MXPA01001783A (en) 2002-07-22
WO2000010287A1 (en) 2000-02-24
FR2782431B1 (en) 2000-09-29

Similar Documents

Publication Publication Date Title
EP1529369B1 (en) Method for secure data exchange between two devices
EP1104607A1 (en) Method and device for authenticating with symmetrical algorithm
FR2689264A1 (en) Authentication method performed between an integrated circuit card and a terminal unit and system provided for this purpose.
EP2213038A1 (en) Information system and method of identifying a user by an application server
EP2301187A1 (en) Terminal for strong authentication of a user
EP0756398B1 (en) System and method for communicating encrypted messages using RSA with modular reduction to provide fast decryption
EP3991381B1 (en) Method and system for generating encryption keys for transaction or connection data
EP1119940B1 (en) Countermeasure method in an electronic component using a secret key cryptographic algorithm
EP1119939B1 (en) Countermeasure method in an electronic component using a secret key cryptographic algorithm
CA2613884C (en) Method for providing a secured communication between a user and an entity
EP3035583A1 (en) Communication device and system, data-processing method and method for secure data exchange
EP1125394B1 (en) Countermeasure method in an electronic component using a secret key cryptographic algorithm
EP1180260B1 (en) Countermeasure method in an electronic component using a dynamic secret key cryptographic algorithm
WO2003055134A9 (en) Cryptographic method for distributing load among several entities and devices therefor
EP3842970B1 (en) Method for checking the password of a dongle, associated computer program, dongle and user terminal
FR2830146A1 (en) Implementation of cryptography algorithms in an electronic chip card or component whereby a value for use in the encryption algorithm is first selected in such a manner that differential power attacks are frustrated
FR3086417A1 (en) CRYPTOGRAPHIC METHOD FOR SECURE COMPARISON OF TWO SECRET DATA X AND Y
WO2010106042A1 (en) Method for generating security data, and corresponding device and computer program
EP4246880A1 (en) Protecting a secret key
EP1297504B1 (en) Method and system for limiting the possibility of transforming data
EP4070502A1 (en) Method for cogenerating a shared cryptographic material, devices, system and corresponding computer program
WO2023031561A1 (en) Method for providing a computer-implemented service in a blockchain, and corresponding blockchain network node and computer program
WO2003069841A1 (en) Method for detection of attacks on cryptographic algorithms by trial and error
WO2008081151A2 (en) Method for signing an anonymous and correlatable list
WO2008017765A1 (en) Public key cryptographic system and method

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20010319

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

17Q First examination report despatched

Effective date: 20040504

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: GEMALTO SA

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RTI1 Title (correction)

Free format text: METHOD FOR AUTHENTICATING WITH SYMMETRICAL ALGORITHM

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20110414