WO02058321A1

Device and method for executing a cryptographic algorithm

Abstract

The device for executing a cryptographic algorithm comprises computational means, data storage means and data communication means. The storage means comprise determined values r and N, a predetermined function f(x) with a value x, as well as an algorithm, by means of which the computational means can determine: the value of z = f(x) modulo r.N; the value of y>r< = f(x) modulo r; if z modulo r is equal to or not equal to y>r<, in order to detect an error in the cryptographic algorithm calculation when z modulo r is not equal to y>r<, and to calculate the value y = z modulo N when z modulo r is in fact equal to y>r<. One possible field of application for said invention is chip cards.

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

39 claims: 6 independent, 33 dependent

  1. 1
    R E V E ND I C A T I O N S 1. Dispositif (1) d'exécution d'un algorithme cryptographique, comprenant des moyens de calcul (2) , des moyens de mémorisation de données (4, 6) et des moyens de communication de données (8) , caractérisé en ce les moyens de mémorisation (4,6) contiennent :des valeurs déterminées r et N, une fonction prédéterminée f (x) d'une valeur x, ainsi qu'un algorithme permettant aux moyens de calcul (2) d'établir : REVE ND ICATIONS 1. Device (1) for executing a cryptographic algorithm, comprising calculation means (2), data storage means (4, 6) and data communication means (8), characterized in that the storage means (4,6) contain: determined values ​​r and N, a predetermined function f (x) of a value x, and an algorithm allowing the calculation means (2) to establish: - la valeur de z = f (x) modulo r.N ;- la valeur de yr = f (x) modulo r ;the value of z = f (x) modulo rN;- the value of yr = f (x) modulo r;- if z modulo r is equal to or not equal to yr, for : - si z modulo r est égal ou pas égal à yr, pour : - dans le cas où z modulo r n'est pas égal à yr, constater une erreur dans le calcul de l'algorithme cryptographique, et - dans le cas où z modulo r est effectivement égal à yr, calculer la valeur y = z modulo N. - in the case where z modulo r is not equal to yr, find an error in the calculation of the cryptographic algorithm, and - in the case where z modulo r is actually equal to yr, calculate the value y = z modulo N.
  2. 6
    Device (1) for executing a cryptographic algorithm, comprising calculation means (2), data storage means (4, 6) and data communication means (8), characterized in that the means for storage (4,6) contain:determined values ​​r and N, a predetermined function f (x) of a value x, and a performance mode type algorithm of the Chinese Remainder Theorem (TRC) allowing the means calculation (2) to establish: 6. Dispositif (1) d'exécution d'un algorithme cryptographique, comprenant des moyens de calcul (2) , des moyens de mémorisation de données (4, 6) et des moyens de communication de données (8) , caractérisé en ce les moyens de mémorisation (4,6) contiennent : des valeurs déterminées r et N, une fonction prédéterminée f (x) d'une valeur x, ainsi qu'un algorithme du type à exécution en mode du théorème des restes chinois (TRC) permettant aux moyens de calcul (2) d'établir : La valeur de zp=xAdp mod p*r et la valeur de zq=xAdq mod q*r où r est un entier aléatoire;La valeur de bp=zpAdq mod r et la valeur de bq=zqAdp mod r;The value of zp= xATdp mod p * r and the value of zq= xATdq mod q * r where r is a random integer;The value of bp= zpATdq mod r and the value of bq= zqATdp mod r;Le constat d'une erreur dans le calcul si la valeur de bp mod r n'est pas égale à la valeur de bq mod r;- La valeur y = TRC(zp mod p, zq mod q) s'il n'y a pas eu d'erreur constatée. The finding of an error in the calculation if the value of bp mod r is not equal to the value of bq mod r;- The value y = TRC (zp mod p, zq mod q) if there has been no error found.
  3. 9
    Device (1) for executing a cryptographic algorithm, comprising calculation means (2), data storage means (4, 6) and data communication means (8), characterized in that the means for storage (4,6) contain:determined values ​​r and N, a predetermined function f (x) of a value x, and a performance mode type algorithm of the Chinese Remainder Theorem (TRC) allowing the means calculation (2) to establish: the value of y = TRC (zp mod p, zq mod q);the finding of a calculation error if (y-zp ) * (y-zq ) is different from 0 modulo N. In this case, the value of y is not returned. 9. Dispositif (1) d'exécution d'un algorithme cryptographique, comprenant des moyens de calcul (2) , des moyens de mémorisation de données (4, 6) et des moyens de communication de données (8) , caractérisé en ce les moyens de mémorisation (4,6) contiennent : des valeurs déterminées r et N, une fonction prédéterminée f (x) d'une valeur x, ainsi qu'un algorithme du type à exécution en mode du théorème des restes chinois (TRC) permettant aux moyens de calcul (2) d'établir : la valeur de y = TRC(zp mod p, zq mod q) ;le constat d'une erreur de calcul si (y- zp ) * (y- zq ) est différent de 0 modulo N. Dans ce cas, la valeur de y n'est pas renvoyée.
  4. 21
    A method of executing a cryptographic algorithm, characterized in that it comprises, from determined values ​​r and N, and a predetermined function f (x) of a value x, the steps of:21. Procédé d'exécution d'un algorithme cryptographique, caractérisé en ce qu'il comprend, à partir de valeurs déterminées r et N, et d'une fonction prédéterminée f (x) d'une valeur x, les étapes de : - calculate the value of z = f (x) modulo rN;- calculer la valeur de z = f (x) modulo r.N ;- calculate the value of yr = f (x) modulo r;- calculer la valeur de yr = f (x) modulo r ;- determine if z modulo r is equal to or not equal to yr, for : - déterminer si z modulo r est égal ou pas égal à yr, pour : - dans le cas où z modulo r n'est pas égal à yr, constater une erreur dans le calcul de l'algorithme cryptographique, et - dans le cas où z modulo r est effectivement égal à yr/ calculer la valeur y = z modulo N. - in the case where z modulo r does not equal to yr, find an error in the calculation of the cryptographic algorithm, and - in the case where z modulo r is actually equal to yr / calculate the value y = z modulo N.
  5. 26
    A method of executing a cryptographic algorithm, characterized in that it comprises, from determined values ​​r and N, and a predetermined function f (x) of a value x, as well as an algorithm of the type in execution mode of the Chinese Remainder Theorem (TRC), the following calculation steps:- calculate the value of zp= xATdp mod p * r and the value of zq= xATdq mod q * r where r is a random integer;calculate the value of bp= zp dq mod r and the value of bq= zqATdp mod r;determine the finding of an error in the calculation if the value of bp mod r is not equal to the value of bq mod r;calculate the value y = TRC (zp mod p, zq mod q) if there has been no error found. 26. Procédé d'exécution d'un algorithme cryptographique, caractérisé en ce qu'il comprend, à partir de valeurs déterminées r et N, et d'une fonction prédéterminée f (x) d'une valeur x, ainsi qu'un algorithme du type à exécution en mode du théorème des restes chinois (TRC) , les étapes de calculs suivantes : - calculer la valeur de zp=xAdp mod p*r et la valeur de zq=xAdq mod q*r où r est un entier aléatoire;calculer la valeur de bp=zp dq mod r et la valeur de bq=zqAdp mod r;déterminer le constat d'une erreur dans le calcul si la valeur de bp mod r n'est pas égale à la valeur de bq mod r;calculer la valeur y = TRC(zp mod p, zq mod q) s'il n'y a pas eu d'erreur constatée.
  6. 29
    Method (1) for executing a cryptographic algorithm, characterized in that it comprises, from the determined values ​​r and N, a predetermined function f (x) of a value x, as well as an algorithm of the type in execution mode of the Chinese Remainder Theorem (TRC), the following calculation steps:calculate the value of y = TRC (zp mod p, zq mod q);determine the finding of a calculation error if (y-p ) * (y-zq ) is different from 0 modulo N and in this case the value of y is not returned. 29. Procédé (1) d'exécution d'un algorithme cryptographique, caractérisé en ce qu'il comprend, à partir des valeurs déterminées r et N, une fonction prédéterminée f (x) d'une valeur x, ainsi qu'un algorithme du type à exécution en mode du théorème des restes chinois (TRC) , les étapes de calculs suivantes : calculer la valeur de y = TRC(zp mod p, zq mod q) ;déterminer le constat d'une erreur de calcul si (y- zp ) * (y- zq ) est différent de 0 modulo N et dans ce cas, la valeur de y n'est pas renvoyée.