FR3129262A1 - Réduction et conversion d'un scalaire en une représentation tau-adique - Google Patents
Réduction et conversion d'un scalaire en une représentation tau-adique Download PDFInfo
- Publication number
- FR3129262A1 FR3129262A1 FR2112052A FR2112052A FR3129262A1 FR 3129262 A1 FR3129262 A1 FR 3129262A1 FR 2112052 A FR2112052 A FR 2112052A FR 2112052 A FR2112052 A FR 2112052A FR 3129262 A1 FR3129262 A1 FR 3129262A1
- Authority
- FR
- France
- Prior art keywords
- scalar
- cryptographic method
- cryptographic
- data value
- elements
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
Réduction et conversion d'un scalaire en une représentation tau-adique La présente description concerne un procédé cryptographique comprenant : l'exécution, par un circuit cryptographique, d'un algorithme appliqué à un scalaire afin de générer un vecteur de sortie, de longueur l+n, dont les éléments sont , l'algorithme comprenant des itérations i, chaque itération i prenant une valeur de donnée d'entrée, initialement égale audit scalaire et un vecteur d'entrée de longueur c, dont les éléments sont , où pour chaque l'élément est tel que . Figure pour l'abrégé : Fig. 2
Description
La présente description concerne de façon générale le domaine de la cryptographie et, en particulier, un procédé et un dispositif destinés à mettre en œuvre une opération de cryptographie sur la base d'une cryptographie à courbe elliptique.
La cryptographie à courbe elliptique (ECC) est bien adaptée pour des procédés de cryptographie à clef publique dans la mesure où elle permet d'utiliser une clef cryptographique de taille réduite. Par exemple, une cryptographie à courbe elliptique peut être utilisée pour mettre en œuvre une opération de cryptage, d'échange de clef, de validation de clef, de signature numérique ou d'authentification.
En outre, l'utilisation d'une courbe de Koblitz permet d'accroître la vitesse de certaines opérations de cryptographie, en particulier la multiplication d'un point par un scalaire. Toutefois, pour être efficace, le scalaire doit généralement être converti en une représentation particulière avant d'être utilisé dans des opérations cryptographiques sur une courbe de Koblitz.
Il serait souhaitable de rendre plus rapide le processus de conversion et/ou de rendre la valeur du scalaire difficile à détecter pendant l'exécution, par un dispositif électronique, d'opérations cryptographiques l'impliquant.
Il existe un besoin d'améliorer le processus de conversion de la valeur d'un scalaire en une représentation appropriée pour un usage sur des courbes de Koblitz.
Il existe un besoin d'améliorer la protection de la valeur d'un scalaire utilisée pendant des opérations cryptographiques, en particulier celles basées sur des courbes de Koblitz.
Un mode de réalisation prévoit un procédé cryptographique comprenant :
l'exécution, par un circuit cryptographique, d'un algorithme appliqué à un scalaire afin de générer un vecteur de sortie, de longueur l+n, dont les éléments sont , l'algorithme comprenant des itérations i, chaque itération i prenant une valeur de donnée d'entrée, initialement égale audit scalaire et un vecteur d'entrée de longueur c, dont les éléments sont , où pour chaque l'élément est tel que ,
où m est un entier positif et chaque itération i comprend :
a) le calcul d'une première valeur de donnée intermédiaire par une première opération appliquée, modulo , à la première donnée d'entrée et au vecteur d'entrée, où est un nombre complexe ;
b) la mise à jour de la valeur de la première valeur de donnée d'entrée par une deuxième opération appliquée à la première valeur de donnée d'entrée, au vecteur d'entrée, à la première valeur de donnée intermédiaire et à ; et
c) la mise à jour de l'élément à la position i modulo m du vecteur de sortie égal à la première valeur de donnée intermédiaire,
dans lequel le nombre total d'itérations est déterminé par le circuit cryptographique sur la base d'un critère d'arrêt.
l'exécution, par un circuit cryptographique, d'un algorithme appliqué à un scalaire afin de générer un vecteur de sortie, de longueur l+n, dont les éléments sont
où m est un entier positif et chaque itération i comprend :
a) le calcul d'une première valeur de donnée intermédiaire par une première opération appliquée, modulo
b) la mise à jour de la valeur de la première valeur de donnée d'entrée par une deuxième opération appliquée à la première valeur de donnée d'entrée, au vecteur d'entrée, à la première valeur de donnée intermédiaire et à
c) la mise à jour de l'élément à la position i modulo m du vecteur de sortie égal à la première valeur de donnée intermédiaire,
dans lequel le nombre total d'itérations est déterminé par le circuit cryptographique sur la base d'un critère d'arrêt.
Selon un mode de réalisation, chaque itération comprend en outre :
d) la mise à jour de i à i+1 ; et
e) lorsque , la réinitialisation de à .
d) la mise à jour de i à i+1 ; et
e) lorsque
Selon un mode de réalisation, le premier entier l est supérieur au deuxième entier m, le procédé comprenant en outre, après l'exécution de l'étape e) de l'itération l-1, l'application d'une fonction aux c-1 éléments du vecteur de sortie à la position j, où j appartient à , ainsi qu'avec la première valeur de donnée d'entrée, et la mise à jour de ces éléments du vecteur de sortie, ainsi que de la première valeur de données d'entrée, par ceux résultant de l'application de la fonction, la fonction étant telle que :
- une quantité égale à
- les éléments mis à jour
Selon un mode de réalisation, le procédé cryptographique comprend l'établissement des n derniers coordonnées du vecteur de sortie à une représentation en base de la première valeur de donnée d'entrée de la dernière itération.
Selon un mode de réalisation, les coordonnées du vecteur de sortie correspondent à des éléments du scalaire sous une forme -adique réduite.
Selon un mode de réalisation, la longueur de la conversion -adique réduite du scalaire ne dépend pas de la valeur dudit scalaire.
Selon un mode de réalisation, le critère d'arrêt est que la première valeur de donnée d'entrée est suffisamment basse pour qu'elle puisse être représentée par n éléments en base .
Selon un mode de réalisation, le résultat de la première opération est un reste, pas nécessairement minimal, d'une division euclidienne de la somme de la première valeur de donnée d'entrée et du premier élément du vecteur d'entrée par le nombre complexe.
Selon un mode de réalisation, l'entier m est défini conformément à une courbe de Koblitz définie par un ensemble de points ayant la forme suivante : où est égal à 0 ou 1 et est un champ fini de cardinalité .
Selon un mode de réalisation, le procédé cryptographique comprend la multiplication scalaire d'une donnée correspondant à un point P appartenant à la courbe de Koblitz par le scalaire.
Selon un mode de réalisation, le nombre complexe est égal à , où est égal à .
Selon un mode de réalisation, le scalaire est une clef cryptographique stockée dans une mémoire d'un dispositif électronique.
Selon un mode de réalisation, l'entier l est égal à m et le vecteur de sortie est constitué d'un nombre de m+n coordonnées et, avant l'exécution des étapes a) à c) de la première itération i=0, chaque coordonnée est égal à 0.
Selon un mode de réalisation, le premier entier l est supérieur au deuxième entier m et, avant l'exécution des étapes a) à c) de la première itération i=0, les l premiers éléments du vecteur de sortie sont les éléments d'un multiple de sous une forme –adique.
Selon un mode de réalisation, avant l'exécution des étapes a) à c) de la première itération i=0, les l premiers éléments (d0,…,dl+n-1) du vecteur de sortie sont fixés de sorte que :
- l'élément à la position j, où j est compris entre 0 et l-m-1, soit l'opposé de l'élément à la position m+j ; et
- chaque élément à la position j, où j est compris entre l-m et m-1, soit égal à 0.
- l'élément à la position j, où j est compris entre 0 et l-m-1, soit l'opposé de l'élément à la position m+j ; et
- chaque élément à la position j, où j est compris entre l-m et m-1, soit égal à 0.
Un mode de réalisation prévoit une mémoire non transitoire stockant des instructions destinées à la mise en œuvre du procédé cryptographique, lorsque ces instructions sont exécutées par un circuit cryptographique.
Un mode de réalisation prévoit un dispositif électronique comprenant un circuit cryptographique configuré pour mettre en œuvre le procédé cryptographique.
Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles :
la représente schématiquement un exemple d'un dispositif électronique selon un mode de réalisation de la présente description ;
la est un organigramme représentant des opérations d'un procédé de mise en œuvre d'une conversion scalaire selon un mode de réalisation ;
la représente un exemple d'un état initial d'une valeur à l éléments utilisée dans le procédé de la ;
la est un organigramme représentant des opérations d'un procédé de mise en œuvre d'une conversion scalaire selon un autre mode de réalisation ;
la représente un exemple d'un état initial d'une valeur à l éléments utilisée dans le procédé de la ; et
la est un organigramme représentant un exemple d'un procédé cryptographique selon un mode de réalisation de la présente description.
Claims (17)
- Procédé cryptographique comprenant :
- l'exécution, par un circuit cryptographique (104), d'un algorithme appliqué à un scalaire (k) afin de générer un vecteur de sortie, de longueur l+n, dont les éléments sont
où m est un entier positif et chaque itération i comprend :
a) le calcul d'une première valeur de donnée intermédiaire (u) par une première opération appliquée, modulo
b) la mise à jour de la valeur de la première valeur de donnée d'entrée (
c) la mise à jour de l'élément (
dans lequel le nombre total d'itérations est déterminé par le circuit cryptographique sur la base d'un critère d'arrêt. - Procédé cryptographique selon la revendication 1, dans lequel chaque itération comprend en outre :
d) la mise à jour de i à i+1 ; et
e) lorsque - Procédé cryptographique selon la revendication 2, dans lequel le premier entier l est supérieur au deuxième entier m, le procédé comprenant en outre, après l'exécution de l'étape e) de l'itération l-1, l'application d'une fonction (CORRECT) aux c-1 éléments du vecteur de sortie (d0, … dl+n-1) à la position j, où j appartient à
- une quantité égale à
- les éléments mis à jour - Procédé cryptographique selon l'une quelconque des revendications 1 à 3, comprenant l'établissement des n derniers coordonnées du vecteur de sortie à une représentation en base
- Procédé cryptographique selon l'une quelconque des revendications 1 à 4, dans lequel les coordonnées du vecteur de sortie (
- Procédé cryptographique selon la revendication 5, dans lequel la longueur de la conversion
- Procédé cryptographique selon l'une quelconque des revendications 1 à 6, dans lequel le critère d'arrêt est que la première valeur de donnée d'entrée est suffisamment basse pour qu'elle puisse être représentée par n éléments en base
- Procédé cryptographique selon l'une quelconque des revendications 1 à 7, dans lequel le résultat de la première opération est un reste, pas nécessairement minimal, d'une division euclidienne de la somme de la première valeur de donnée d'entrée (
- Procédé cryptographique selon l'une quelconque des revendications 1 à 8, dans lequel l'entier m est défini conformément à une courbe de Koblitz définie par un ensemble de points ayant la forme suivante :
où - Procédé cryptographique selon la revendication 9, comprenant la multiplication scalaire d'une donnée correspondant à un point P appartenant à la courbe de Koblitz (E) par le scalaire (k).
- Procédé cryptographique selon la revendication 9 ou 10, dans lequel le nombre complexe
- Procédé cryptographique selon l'une quelconque des revendications 1 à 11, dans lequel le scalaire (k) est une clef cryptographique stockée dans une mémoire d'un dispositif électronique.
- Procédé cryptographique selon l'une quelconque des revendications 1 à 12, dans lequel l'entier l est égal à m et dans lequel le vecteur de sortie
- Procédé cryptographique selon l'une quelconque des revendications 1 à 12, dans lequel le premier entier l est supérieur au deuxième entier m et dans lequel, avant l'exécution des étapes a) à c) de la première itération i=0, les l premiers éléments du vecteur de sortie (d0,…,dl+n-1) sont les éléments d'un multiple de
- Procédé cryptographique selon la revendication 14, dans lequel, avant l'exécution des étapes a) à c) de la première itération i=0, les l premiers éléments du vecteur de sortie (d0,…,dl+n-1) sont fixés de sorte que :
- l'élément à la position j, où j est compris entre 0 et l-m-1, soit l'opposé de l'élément à la position m+j ; et
- chaque élément à la position j, où j est compris entre l-m et m-l, soit égal à 0. - Mémoire non transitoire stockant des instructions destinées à mettre en œuvre le procédé cryptographique selon l'une quelconque des revendications 1 à 15, lorsque ces instructions sont exécutées par un circuit cryptographique.
- Dispositif électronique comprenant un circuit cryptographique configuré pour mettre en œuvre le procédé cryptographique selon l'une quelconque des revendications 1 à 15.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2112052A FR3129262A1 (fr) | 2021-11-15 | 2021-11-15 | Réduction et conversion d'un scalaire en une représentation tau-adique |
US17/981,200 US20230155828A1 (en) | 2021-11-15 | 2022-11-04 | Reduction and conversion of a scalar to a tau-adic representation |
EP22206509.6A EP4181459A1 (fr) | 2021-11-15 | 2022-11-09 | Réduction et conversion d'un scalaire en une représentation tau-adic |
CN202211419894.9A CN116127534A (zh) | 2021-11-15 | 2022-11-14 | 标量到陶氏表示法的约简和转换 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2112052A FR3129262A1 (fr) | 2021-11-15 | 2021-11-15 | Réduction et conversion d'un scalaire en une représentation tau-adique |
FR2112052 | 2021-11-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3129262A1 true FR3129262A1 (fr) | 2023-05-19 |
Family
ID=81328223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2112052A Pending FR3129262A1 (fr) | 2021-11-15 | 2021-11-15 | Réduction et conversion d'un scalaire en une représentation tau-adique |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230155828A1 (fr) |
EP (1) | EP4181459A1 (fr) |
FR (1) | FR3129262A1 (fr) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2109096A5 (fr) | 1970-10-01 | 1972-05-26 | Liautaud Jean |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2796177B1 (fr) * | 1999-07-09 | 2001-10-12 | Oberthur Card Systems Sas | Procede de cryptographie mis en oeuvre entre deux entites echangeant des informations |
US8422685B2 (en) * | 2008-02-26 | 2013-04-16 | King Fahd University Of Petroleum And Minerals | Method for elliptic curve scalar multiplication |
FR3001315B1 (fr) * | 2013-01-18 | 2016-05-06 | Inside Secure | Procede de cryptographie comprenant une operation de multiplication par un scalaire ou une exponentiation |
WO2018145191A1 (fr) * | 2017-02-13 | 2018-08-16 | Infosec Global Inc. | Système et procédé destinés à des opérations de cryptographie de courbe elliptique optimisées |
EP3993314B1 (fr) * | 2020-10-30 | 2023-11-29 | STMicroelectronics S.r.l. | Clés pour la cryptographie à courbe elliptique |
US12101403B2 (en) * | 2022-10-26 | 2024-09-24 | Tencent America LLC | Interleaved scalar multiplication for elliptic curve cryptography |
-
2021
- 2021-11-15 FR FR2112052A patent/FR3129262A1/fr active Pending
-
2022
- 2022-11-04 US US17/981,200 patent/US20230155828A1/en active Pending
- 2022-11-09 EP EP22206509.6A patent/EP4181459A1/fr active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2109096A5 (fr) | 1970-10-01 | 1972-05-26 | Liautaud Jean |
Non-Patent Citations (2)
Title |
---|
BRUMLEY B B ET AL: "Conversion Algorithms and Implementations for Koblitz Curve Cryptography", IEEE TRANSACTIONS ON COMPUTERS, IEEE, USA, vol. 59, no. 1, 1 January 2010 (2010-01-01), pages 81 - 92, XP011283081, ISSN: 0018-9340, DOI: 10.1109/TC.2009.132 * |
JITHRA ADIKARI ET AL: "A Fast Hardware Architecture for Integer to \tauNAF Conversion for Koblitz Curves", IEEE TRANSACTIONS ON COMPUTERS, IEEE, USA, vol. 61, no. 5, 1 May 2012 (2012-05-01), pages 732 - 737, XP011439761, ISSN: 0018-9340, DOI: 10.1109/TC.2011.87 * |
Also Published As
Publication number | Publication date |
---|---|
US20230155828A1 (en) | 2023-05-18 |
EP4181459A1 (fr) | 2023-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1320027B1 (fr) | Dispositif cryptosystème, procédé et programme à courbe elliptique | |
EP1745366B1 (fr) | Procede de protection d"un ensemble cryptographique par masquage homographique | |
EP1368747B1 (fr) | Procede et dispositif pour reduire le temps de calcul d'un produit, d'une multiplication et d'une exponentiation modulaire selon la methode de montgomery | |
EP2000904B1 (fr) | Procédé de multiplication modulaire de Montgomery masquée | |
FR3033965A1 (fr) | ||
EP2515228A1 (fr) | Procédé de multiplication de Montgomery | |
EP2391052A1 (fr) | Procédé d'évaluation d'une fonction et dispositif associé | |
US10140090B2 (en) | Computing and summing up multiple products in a single multiplier | |
EP3734899A1 (fr) | Procédé et système de masquage pour la cryptographie | |
EP2391051B1 (fr) | Procédé de détermination d'une représentation d'un produit d'éléments d'un corps fini | |
FR2867580A1 (fr) | Multiplieur modulaire de montgomery et procede de multiplication correspondant | |
EP1869545B1 (fr) | Dispositif implementant la multiplication modulaire de montgomery | |
FR3129262A1 (fr) | Réduction et conversion d'un scalaire en une représentation tau-adique | |
EP3306465B1 (fr) | Procédé de traitement cryptographique comprenant une multiplication d'un point d'une courbe elliptique par un scalaire | |
FR2818765A1 (fr) | Multiplicateur modulaire et processeur de cryptage/decryptage utilisant le multiplicateur modulaire | |
EP0778518B1 (fr) | Procédé de production d'un paramètre J0 associé à la mise en oeuvre d'opérations modulaires selon la méthode de Montgomery | |
EP1452959A1 (fr) | Generateur de sequences de nombres aleatoires, procede de generation de sequences de nombres aleatoires, programme et support d'enregistrement d'informations | |
EP0927928A1 (fr) | Procédé de production amélioré d'un paramètre JO associé à la mise en oeuvre d'opérations modulaires selon la méthode de Montgomery | |
FR3126581A1 (fr) | Protection d’une opération cryptographique | |
EP1891769B1 (fr) | Protection d'un calcul d'exponentiation modulaire effectue par un circuit integre | |
FR2809835A1 (fr) | Systeme et procede d'arrondissement base sur une selection pour des operations a virgule flottante | |
EP3929726A1 (fr) | Procede de traitement cryptographique,dispositif electronique et programme d'ordinateur associes | |
FR3083631A1 (fr) | Procede et dispositif de traitement cryptographique sur une courbe elliptique | |
EP4436101A1 (fr) | Verification d'une donnee | |
EP0419381B1 (fr) | Circuit de détermination de valeur absolue pour des nombres exprimés en chiffres signés à base 2 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20230519 |
|
PLFP | Fee payment |
Year of fee payment: 3 |