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 PDF

Info

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
Application number
FR2112052A
Other languages
English (en)
Inventor
Guilhem ASSAEL
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.)
STMicroelectronics Rousset SAS
Original Assignee
STMicroelectronics Rousset SAS
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 STMicroelectronics Rousset SAS filed Critical STMicroelectronics Rousset SAS
Priority to FR2112052A priority Critical patent/FR3129262A1/fr
Priority to US17/981,200 priority patent/US20230155828A1/en
Priority to EP22206509.6A priority patent/EP4181459A1/fr
Priority to CN202211419894.9A priority patent/CN116127534A/zh
Publication of FR3129262A1 publication Critical patent/FR3129262A1/fr
Pending 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite field arithmetic
    • G06F7/725Finite 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

Réduction et conversion d'un scalaire en une représentation tau-adique
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.
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 à .
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 à demeure la même avant et après la mise à jour des éléments par la fonction ; et
  • les éléments mis à jour à satisfassent un prédicat C, le prédicat C dépendant d'une représentation en base .
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 : 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.
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)

  1. 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 , 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 (u) 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 (u) 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 (u),
    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.
  2. 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 , la réinitialisation de à .
  3. 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 à , 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ésultants de l'application de la fonction, la fonction étant telle que :
    - une quantité égale à demeure la même avant et après la mise à jour des éléments par la fonction ; et
    - les éléments mis à jour à satisfassent un prédicat C, le prédicat C dépendant d'une représentation en base .
  4. 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 de la première valeur de donnée d'entrée ( ) de la dernière itération.
  5. Procédé cryptographique selon l'une quelconque des revendications 1 à 4, dans lequel les coordonnées du vecteur de sortie ( ) correspondent aux éléments du scalaire (k) sous une forme -adique réduite.
  6. Procédé cryptographique selon la revendication 5, dans lequel la longueur de la conversion -adique réduite du scalaire (k) ne dépend pas de la valeur dudit scalaire.
  7. 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 .
  8. 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 ( ) et du premier élément du vecteur d'entrée (d’i) par le nombre complexe ( ).
  9. 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 :

    est égal à 0 ou 1 et est un champ fini de cardinalité .
  10. 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).
  11. Procédé cryptographique selon la revendication 9 ou 10, dans lequel le nombre complexe est égal à , où est égal à .
  12. 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.
  13. 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 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.
  14. 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 sous une forme –adique.
  15. 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.
  16. 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.
  17. Dispositif électronique comprenant un circuit cryptographique configuré pour mettre en œuvre le procédé cryptographique selon l'une quelconque des revendications 1 à 15.
FR2112052A 2021-11-15 2021-11-15 Réduction et conversion d'un scalaire en une représentation tau-adique Pending FR3129262A1 (fr)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2109096A5 (fr) 1970-10-01 1972-05-26 Liautaud Jean

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2109096A5 (fr) 1970-10-01 1972-05-26 Liautaud Jean

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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