FR2862454A1 - Methode de reduction modulaire aleatoire et equipement associe - Google Patents

Methode de reduction modulaire aleatoire et equipement associe Download PDF

Info

Publication number
FR2862454A1
FR2862454A1 FR0313507A FR0313507A FR2862454A1 FR 2862454 A1 FR2862454 A1 FR 2862454A1 FR 0313507 A FR0313507 A FR 0313507A FR 0313507 A FR0313507 A FR 0313507A FR 2862454 A1 FR2862454 A1 FR 2862454A1
Authority
FR
France
Prior art keywords
quotient
random
approximate
word
number generator
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
FR0313507A
Other languages
English (en)
Inventor
Vincent Dupaquis
Michel Douguet
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.)
Atmel Corp
Original Assignee
Atmel Corp
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 Atmel Corp filed Critical Atmel Corp
Priority to FR0313507A priority Critical patent/FR2862454A1/fr
Priority to US10/781,311 priority patent/US7809133B2/en
Priority to CN200480033595.5A priority patent/CN1883155B/zh
Priority to EP04800660A priority patent/EP1687930B1/fr
Priority to PCT/US2004/036590 priority patent/WO2005050905A1/fr
Priority to TW093134209A priority patent/TWI403144B/zh
Publication of FR2862454A1 publication Critical patent/FR2862454A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Abstract

Une méthode de réduction modulaire exécutée par ordinateur, sécurisée à des fins cryptographiques, sous-estime et randomise systématiquement un quotient approximatif utilisé pour le calcul d'un reste. L'erreur aléatoire injectée dans le quotient approximatif est limitée à quelques bits, par exemple moins d'un demi-mot. Le reste calculé n'est congruent qu'avec un petit multiple aléatoire du résidu, qui peut être déterminé au moyen d'un ensemble final de soustractions du module. Outre une unité de calcul et un séquenceur d'opérations, l'équipement de calcul comprend également un générateur de nombres aléatoires ou pseudo-aléatoires pour produire l'erreur aléatoire. Cette méthode de réduction modulaire résiste donc à des attaques de cryptoanalyse matérielles, telles des attaques d'horloge et d'analyse de puissance.

Description

METHODE DE REDUCTION MODULAIRE ALEATOIRE ET EQUIPEMENT
ASSOCIE
La présente invention concerne une méthode de traitement et de calcul arithmétique, destinée à être utilisés particulièrement dans les applications cryptographiques. La présente invention concerne en particulier le calcul des résidus impliquant une réduction modulaire, particulièrement les calculs dérivés de la méthode de réduction de Barrett.
De nombreux algorithmes cryptographiques utilisent la multiplication (ou l'exponentiation) de grands entiers et la réduction du produit à une valeur résiduelle qui est congruente avec un module spécifié associé à la clé cryptographique. Ces calculs peuvent faire l'objet d'attaques d'horloge et d'analyses de puissance. Il est donc important que ces calculs soient sécurisés de sorte que les informations sur la clé ne puissent être obtenues.
En même temps, il est important que ces calculs soient rapides et précis. La multiplication et la réduction de grands entiers est généralement la partie exigeant le plus de calculs d'un algorithme cryptographique. Plusieurs techniques distinctes de calcul ont été développées en vue d'une réduction modulaire efficace, y compris celles connues sous le nom de méthode de Quisqueter, de méthode de Barrett et de méthode de Montgomery, et de modifications impliquant des calculs préliminaires et une consultation de table. Ces techniques bien connues sont décrites et comparées dans l'art antérieur. Voir, par exemple: (1) A. Bosselaers et al., Comparison of three modular reduction functions , , Advances in Cryptology/Crypto '93, LNCS 773, Springer- Verlag, 1994, pp. 175-186. (2) Jean-François Dhem, Design of an efficient public key cryptographic library for RISC-based smart cards , thèse de doctorat, Université catholique de Louvain, Louvain-la-Neuve, Belgique, mai 1998. (3) C. H. Lim et al., Fast Modular Reduction with Precomputation , publication préliminaire, 1999 (disponible à la CiteSeer Scientific Literature Digital Library, citeseer.nj.nec. com/109504.html). (4) Hollmann et al., Method and Device for Executing a Decrypting Mechanism through Calculating a Standardized Modular Exponentiation for Thwarting Timing Attacks , brevet US n 6 366 673 B1, Apr. 2 2002 (basé sur la demande déposée le 15 septembre 1998).
Un objectif de la présente invention est d'améliorer la méthode de réduction modulaire de Barrett et le dispositif de calcul à cet effet, afin de le sécuriser davantage contre les attaques de cryptoanalyse, tout en continuant à obtenir des résultats rapides et précis.
Un autre objectif de la présente invention est de proposer la méthode améliorée susmentionnée et un dispositif qui accélère l'estimation de quotient.
Ces objets sont atteints par une méthode de réduction modulaire exécutée par ordinateur dans laquelle un quotient utilisé pour le calcul est systématiquement sous- estimé avec une erreur aléatoire de quelques bits, par exemple de moins d'un demi-mot. Le reste résultant est toujours congruent par rapport au produit intermédiaire correspondant associé au module spécifié, mais est plus grand que la valeur résiduelle et diffère de façon aléatoire d'une exécution à l'autre. Du fait que le quotient a seulement besoin d'être approximé, son estimation est plus rapide. Du fait que l'erreur d'estimation est délibérément aléatoire, cette méthode est plus sûre pour la prévention contre la cryptoanalyse. Toutefois, les résultats intermédiaires sont mathématiquement équivalents (congruents par rapport aux résultats réels), et le résultat final (après un ensemble final de soustractions du module) est exactement le même, ce qui permet d'atteindre la précision nécessaire pour pouvoir inverser les opérations cryptographiques.
L'équipement utilisé pour exécuter les étapes de la méthode selon la présente invention comprend un générateur de nombres aléatoires pour injecter une erreur aléatoire dans l'estimation du quotient. Une unité de calcul à accès mémoire et injection de report opère sous contrôle d'un micrologiciel exécutant un séquenceur d'opérations pour exécuter les étapes de multiplication-accumulation au niveau mot nécessaires à la multiplication et à la réduction modulaire de grands entiers.
La figure 1 est une vue en plan schématique de l'équipement de calcul selon la présente invention (y compris un générateur de nombres aléatoires) utilisé pour exécuter la méthode de réduction modulaire selon la présente invention.
La figure 2 est un organigramme illustrant les étapes générales de la présente méthode de réduction modulaire.
Sur la figure 1, l'équipement de calcul comprend une unité de calcul 10 capable d'exécuter les étapes de multiplication au niveau mot et de multiplication-accumulation d'opérandes extraits à partir de la mémoire (RAM) 12 et de termes de report issus des registres 14. Le séquenceur d'opérations 16 comprend des circuits logiques pour contrôler l'unité de calcul 10 en accord avec les instructions de micrologiciel ou de logiciel pour exécuter l'ensemble des opérations de multiplication (ou d'exponentiation) et la réduction modulaire de grands entiers. Les paramètres des opérations, stockés dans les registres 18 accessibles par le séquenceur d'opérations 16, consistent en pointeurs qui permettent au séquenceur d'opérations de situer un opérateur dans la RAM 12, ainsi que des informations sur la longueur (nombre de mots) des opérandes, les informations de contrôle d'injection de reports, et l'adresse de destination des résultats intermédiaires. Jusqu'à présent, ce dispositif est pratiquement similaire aux autres équipements adaptés aux opérations arithmétiques sur les grands entiers. En dehors des détails des étapes de réduction, qui seront décrits plus bas, les instructions de micrologiciel ou de logiciel sont également similaires aux programmes antérieurs pour l'exécution de multiplications ou d'exponentiations efficaces sur des grands entiers dans des segments de niveau mot.
A la différence des équipements antérieurs de ce type, l'équipement de la figure 1 comprend également un générateur de nombres aléatoires 20 qui, par exemple, peut être tout circuit générateur de nombres pseudoaléatoires connu. Ce générateur de nombres aléatoires exécute un calcul et produit un nombre aléatoire utilisé dans la présente méthode. Ici le générateur de nombres aléatoires 20 est accédé par l'unité de calcul 10, sous commande du séquenceur d'opérations 16 en accord avec les instructions de programmes exécutant la méthode selon la présente invention, de façon à injecter la quantité d'erreur aléatoire dans l'estimation du quotient, comme décrit ci-dessous.
Sur la figure 2, la méthode selon la présente invention est une amélioration de la technique de réduction modulaire de Barrett, en exécutant une estimation de quotient plus rapide et en permettant de résister aux attaques de cryptoanalyse. Cette méthode est exécutée par l'équipement de la figure 1.
La réduction modulaire résout généralement R = X mod M X - LX/NL M, où R est la valeur résiduelle à déterminer qui est congruente avec X pour le module M, et le symbole Lai représente la partie entière (le plus grand entier s a) de telle sorte que LX/M_ correspond à une division d'entier. Le nombre X à réduire est typiquement un produit de deux grands entiers (généralement premiers), X = A.B, autrement dit l'un ou les deux parmi les entiers A et B ont une taille de plusieurs mots (ex. A et B peuvent être chacun de 1024 bits, ou 32 mots de 32 bits de long). Dans tous les cas, le problème de base dans toute méthode de réduction modulaire réside dans l'évaluation du quotient q = LX/M- de manière efficace pour de grands nombres (multi-mots) X et M. Dans la présente invention, un problème supplémentaire réside dans l'exécution de la réduction d'une manière sécurisée contre les attaques d'analyse de puissance dans les applications cryptographiques.
La méthode de Barrett implique le calcul préliminaire et le stockage d'une estimation mise à l'échelle de la réciproque du module, U, et le remplacement de la longue division par des multiplications et des décalages de mots (division par b) afin d'estimer le quotient. Avec le choix approprié de paramètres, l'erreur d'estimation du quotient est au plus de deux. La présente invention améliore la méthode de Barrett en effectuant seulement une approximation du quotient par une estimation moins précise mais plus rapide, et en injectant intentionnellement une erreur aléatoire dans le quotient avant de calculer le reste. Le reste résultant sera plus légèrement plus grand que, mais congruent avec, la valeur résiduelle.
Supposons que w représente la taille de mot (ex. w = 32 pour les processeurs 32 bits), b = 2w représente la 10 racine, n est la longueur du module M en mots, où M = Ei=on mibi, 0 < mn-1 < b, 0 s mi < b, pour i= 0 à n-2, 15 bn-1 5 M < bn, et X est le nombre à réduire, qui a une longueur maximum de 2n +1 mots, c'est-à-dire que X = zi02n xibi, 0 s xi < b, pour i = 0 à 2n, 0 s X < ben+1 (ou M s X < b2n+1, dans certaines circonstances) Nous commençons à calculer de façon préliminaire et à 25 stocker (étape 30 de la figure 2) une constante U représentant la réciproque mise à l'échelle du module M U = _ben+1/D/L. = L22nw+w/M- Cette valeur stockée est alors utilisée ensuite dans toutes les opérations de réduction de ce module particulier M. U a toujours une longueur de n+1 mots pour chaque module M qui n'est pas une puissance de b.
2862454 7 Pour exécuter une réduction de module de X, nous estimons un quotient q (étape 32) en utilisant la valeur stockée U, q = L (LX/1A i.0) /bn+2i = L (LX/2nwi.U) /2nw+2w] Ceci n'exige que des multiplications et des décalages de mots pour le calcul. Les parties entières tendent à garantir que le quotient q est toujours sous-estimé (jamais surestimé), bien qu'il soit possible que l'estimation du quotient se révèle être exacte. Une soustraction supplémentaire de un peut être incluse si une sous-estimation est nécessaire. Le quotient U et l'estimation du quotient diffèrent tous deux de celles de Barrett d'un décalage supplémentaire d'un mot chacun.
(Barrett utilise U - _b2n/M- et q = L (LX/bn-1 J.0) / bn+1] 15.) Le quotient estimé q s 0 aura une longueur maximum de n+1 mots.
A ce stade, il est préférable d'injecter (étape 36) une erreur aléatoire E dans le quotient calculé de façon à obtenir un quotient aléatoire, q' = q - E. Dans ce cas, nous devons avoir M. 2wi2 s X <b2n+1 pour eviter d'avoir des nombres négatifs. L'erreur aléatoire E peut être générée (étape 34) à partir de tout générateur de nombres aléatoires ou pseudo- aléatoires (matériel ou logiciel). La seule contrainte est que l'erreur soit dans une plage spécifiée, de telle sorte que 0 s E 2''2- 1) Ceci limite l'erreur potentielle introduite par le générateur aléatoire à un nombre de bits spécifié, ex. un demi-mot, en plus de toute erreur provenant de l'estimation du quotient elle-même.
Nous calculons ensuite (étape 38) le reste R' qui sera congruent (module M) avec la valeur résiduelle R: R' = X - q' M Du fait que le quotient q est sous-estimé, et qu'une erreur aléatoire E est introduite, le reste R' z R, à savoir le reste calculé, sera supérieur ou égal au résidu d'un petit multiple aléatoire du module M. Le reste aléatoire R' peut être utilisé dans des calculs ultérieurs (étape 48), du type multiplication ou addition, avec un autre reste R" (aléatoire ou non) qui, si nécessaire, est encore réduit (en revenant à l'étape 32) pour la cohérence. (L'erreur reste limitée).
En variante, si un résultat aléatoire n'est pas requis, nous pouvons choisir de conserver le quotient rapproché q (étape 44). Dans ce cas, nous pouvons avoir 0 s X s bzn+l. Le fait de conserver le quotient proche va permettre d'obtenir le vrai reste (étapes 46 et 40).
Finalement, en fonction des besoins de l'application particulière, le résidu R peut être calculé à partir du reste R' en appliquant des soustractions du module M (étape 40) jusqu'à ce que cette valeur soit inférieur à M. La valeur résiduelle R qui est égale à R' après la soustraction finale peut alors être renvoyée afin d'être utilisée dans le reste du système cryptographique (étape 42).
La randomisation de la réduction modulaire constitue une protection contre les diverses attaques de cryptoanalyse qui reposent sur la constance de l'utilisation des puissances pour déterminer le module.
Ici, la réduction de X modulo M varie de façon aléatoire d'une exécution à l'autre, tout en continuant à produire un reste intermédiaire R' qui est congruent. Le nombre de soustractions à la fin pour générer une valeur résiduelle finale R varie également de façon aléatoire d'une exécution à l'autre. Le nombre X à réduire de cette façon peut être obtenu à partir de diverses opérations mathématiques, y compris la multiplication, la mise au carré, l'exponentiation, l'addition, etc. De même, le module M à utiliser peut être dérivé de plusieurs manières, le plus souvent en cryptographie à partir d'une clé. La méthode de réduction modulaire aléatoire selon la présente invention est utile dans de nombreux algorithmes cryptographiques qui reposent sur cette réduction, dont les système cryptographiques à clé publique basés sur des grands premiers (par exemple RSA) et basés sur une courbe elliptique.

Claims (13)

REVENDICATIONS
1. Méthode de réduction modulaire exécutée par ordinateur sécurisée à des fins cryptographiques, comprenant: le calcul préliminaire et le stockage en mémoire 5 d'une constante U représentant une réciproque approximative au niveau bits d'un module M; l'estimation d'un quotient approximatif q pour un nombre X à réduire modulo M, dans lequel ladite estimation est exécutée sur X dans une unité de calcul, par multiplication par ladite constante U et par décalages de bits de X et par décalage de ladite multiplication; la génération dans un générateur de nombres aléatoires d'une valeur d'erreur aléatoire E et l'application de ladite valeur d'erreur audit quotient approximatif pour obtenir un quotient aléatoire q' = q - E; et le calcul d'un reste R' = X - q'M dans ladite unité de calcul, ledit reste étant supérieur audit module M mais congruent avec X modulo M.
2. Méthode selon la revendication 1 dans laquelle le calcul préliminaire de ladite constante U est exécuté selon l'équation U = _ben+l/M_, où b = 2W, w étant la taille en mots de l'unité de calcul en bits.
3. Méthode selon la revendication 2 dans laquelle l'estimation du quotient approximatif q est exécutée par l'unité de calcul selon l'équation q = L (LX/bn l.0) /bn+2i
4. Méthode selon la revendication 3 dans laquelle une soustraction supplémentaire de un est comprise dans l'estimation du quotient.
5. Méthode selon la revendication 1 dans laquelle la réduction modulaire de X fait partie d'un programme de cryptographie exécuté par ordinateur.
6. Méthode selon la revendication 1 dans laquelle un trajet de circulation alterné est assuré entre la génération et l'application d'une valeur d'erreur au quotient approximatif peut être omise de façon sélective.
7. Méthode selon la revendication 1 dans laquelle le 15 générateur de nombres aléatoires a une limite d'erreur spécifiée d'un demi-mot, moyennant quoi 0 s E < (2W'2- 1).
8. Equipement de calcul pour l'exécution d'une méthode de réduction modulaire sécurisée à des fins 20 cryptographiques, cet équipement comprenant: une unité de calcul adaptée pour exécuter des étapes de multiplication et d'accumulation au niveau mots sur des opérandes extraits de la mémoire et des termes de report issus d'un ensemble de registres; un générateur de nombres aléatoires pour générer une valeur d'erreur aléatoire E; un séquenceur d'opérations comprenant des circuits logiques pour contrôler l'unité de calcul, et un générateur de nombres aléatoires en accord avec des instructions de programme afin d'exécuter la réduction modulaire d'un nombre X par rapport à un module M, ce qui implique au moins une estimation d'un quotient approximatif q à partir d'une constante stockée au préalable U représentant une réciproque approximative en bits du module, une randomisation dudit quotient approximatif avec ladite valeur d'erreur E pour obtenir un quotient aléatoire q' = q - E, et un calcul d'une valeur de reste R' - X - q'M.
9. Equipement de calcul selon la revendication 8 comprenant en outre des registres de paramètres d'opérations accessibles par ledit séquenceur d'opérations, lesdits registres contenant un ou plusieurs parmi (a) des pointeurs pour situer l'opérande dans ladite mémoire, (b) des informations sur les longueurs des opérandes, (c) des informations de contrôle d'injection de report pour les registres de termes de report, et (d) des informations d'adresses de destination pour les résultats intermédiaires des étapes d'opérations.
10. Equipement de calcul selon la revendication 8 dans lequel la constante préstockée U dans ladite mémoire est obtenue par un calcul préliminaire selon l'équation U = _12n+1/FL, où b = 2W, w étant la taille de mot de l'unité de calculs en bits.
11. Equipement de calcul selon la revendication 10 dans lequel l'estimation dudit quotient approximatif q exécutée par ladite unité de calcul sous contrôle dudit séquenceur d'opérations exécutant les exécutions de programme est effectuée selon l'équation q = L (LX/b l I.0) /bn+2]
12. Equipement de calcul selon la revendication 11 dans lequel l'estimation de quotient exécutée par l'unité de calcul comprend une soustraction supplémentaire de un.
13. Equipement de calcul selon la revendication 8 dans lequel le générateur de nombres aléatoires a une limite d'erreur spécifiée d'un demi-mot, moyennant quoi 0 s E < (2w/2 _ 1).
FR0313507A 2003-11-18 2003-11-18 Methode de reduction modulaire aleatoire et equipement associe Withdrawn FR2862454A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR0313507A FR2862454A1 (fr) 2003-11-18 2003-11-18 Methode de reduction modulaire aleatoire et equipement associe
US10/781,311 US7809133B2 (en) 2003-11-18 2004-02-18 Randomized modular reduction method and hardware therefor
CN200480033595.5A CN1883155B (zh) 2003-11-18 2004-11-05 随机化模数约简方法以及用于该方法的硬件
EP04800660A EP1687930B1 (fr) 2003-11-18 2004-11-05 Procede de reduction modulaire aleatoire et materiel utilise
PCT/US2004/036590 WO2005050905A1 (fr) 2003-11-18 2004-11-05 Procede de reduction modulaire aleatoire et materiel utilise
TW093134209A TWI403144B (zh) 2003-11-18 2004-11-10 隨機化模數減化方法及其硬體

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0313507A FR2862454A1 (fr) 2003-11-18 2003-11-18 Methode de reduction modulaire aleatoire et equipement associe

Publications (1)

Publication Number Publication Date
FR2862454A1 true FR2862454A1 (fr) 2005-05-20

Family

ID=34508565

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0313507A Withdrawn FR2862454A1 (fr) 2003-11-18 2003-11-18 Methode de reduction modulaire aleatoire et equipement associe

Country Status (6)

Country Link
US (1) US7809133B2 (fr)
EP (1) EP1687930B1 (fr)
CN (1) CN1883155B (fr)
FR (1) FR2862454A1 (fr)
TW (1) TWI403144B (fr)
WO (1) WO2005050905A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3451316A1 (fr) * 2017-09-05 2019-03-06 Commissariat à l'énergie atomique et aux énergies alternatives Dispositif de réduction modulaire

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2885711B1 (fr) * 2005-05-12 2007-07-06 Atmel Corp Procede et materiel modulaire et aleatoire pour la reduction polynomiale
WO2007046402A1 (fr) * 2005-10-19 2007-04-26 Matsushita Electric Industrial Co., Ltd. Dispositif et procede de securite des informations, programme informatique, support d’enregistrement lisible sur ordinateur et circuit integre
US8024391B2 (en) * 2006-11-06 2011-09-20 Atmel Rousset S.A.S. Modular multiplication method with precomputation using one known operand
US7961877B2 (en) * 2006-12-14 2011-06-14 Intel Corporation Factoring based modular exponentiation
US7840503B2 (en) * 2007-04-10 2010-11-23 Microsoft Corporation Learning A* priority function from unlabeled data
US7978846B2 (en) * 2007-06-30 2011-07-12 Intel Corporation Scale-invariant barrett reduction for elliptic-curve cyrptography
US8005210B2 (en) * 2007-06-30 2011-08-23 Intel Corporation Modulus scaling for elliptic-curve cryptography
US8559625B2 (en) * 2007-08-07 2013-10-15 Inside Secure Elliptic curve point transformations
US8233615B2 (en) * 2008-01-15 2012-07-31 Inside Secure Modular reduction using a special form of the modulus
US8619977B2 (en) 2008-01-15 2013-12-31 Inside Secure Representation change of a point on an elliptic curve
US8422685B2 (en) 2008-02-26 2013-04-16 King Fahd University Of Petroleum And Minerals Method for elliptic curve scalar multiplication
US20090214023A1 (en) * 2008-02-26 2009-08-27 Al-Somani Turki F Method for elliptic curve scalar multiplication
TWI406548B (zh) * 2010-10-27 2013-08-21 Univ Southern Taiwan 橢圓曲線加密運算電路
CN103699357B (zh) * 2013-12-05 2016-11-23 西安交通大学 一种用于模乘和模平方的快速模约简算法电路
CN104836808B (zh) * 2015-05-12 2017-12-15 中国科学院软件研究所 基于改进差分错误攻击的sm2签名算法安全性验证方法
IL239880B (en) * 2015-07-09 2018-08-30 Kaluzhny Uri Simplified montgomery multiplication
US9870201B1 (en) * 2016-03-04 2018-01-16 Mbit Wireless, Inc. Method and apparatus for modulo arithmetic

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366673B1 (en) * 1997-09-16 2002-04-02 U.S. Philips Corporation Method and device for executing a decrypting mechanism through calculating a standardized modular exponentiation for thwarting timing attacks

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289319B1 (en) * 1984-05-24 2001-09-11 Lawrence B. Lockwood Automatic business and financial transaction processing system
KR19990024971A (ko) 1997-09-09 1999-04-06 정선종 모듈러 승산장치
US5144574A (en) 1989-01-30 1992-09-01 Nippon Telegraph And Telephone Corporation Modular multiplication method and the system for processing data
US5077793A (en) 1989-09-29 1991-12-31 The Boeing Company Residue number encryption and decryption system
US5185711A (en) 1989-12-08 1993-02-09 Sony Corporation Apparatus for dividing elements of a finite galois field and decoding error correction codes
US5210710A (en) 1990-10-17 1993-05-11 Cylink Corporation Modulo arithmetic processor chip
US5479511A (en) 1991-11-05 1995-12-26 Thomson Consumer Electronics S.A. Method, sender apparatus and receiver apparatus for modulo operation
US5373560A (en) 1991-12-06 1994-12-13 Schlafly; Roger Partial modular reduction method
US5513133A (en) 1992-11-30 1996-04-30 Fortress U&T Ltd. Compact microelectronic device for performing modular multiplication and exponentiation over large numbers
US5372507A (en) * 1993-02-11 1994-12-13 Goleh; F. Alexander Machine-aided tutorial method
US5940811A (en) * 1993-08-27 1999-08-17 Affinity Technology Group, Inc. Closed loop financial transaction method and apparatus
FR2726668B1 (fr) 1994-11-08 1997-01-10 Sgs Thomson Microelectronics Procede de mise en oeuvre de reduction modulaire selon la methode de montgomery
US5999627A (en) 1995-01-07 1999-12-07 Samsung Electronics Co., Ltd. Method for exponentiation in a public-key cryptosystem
US5724279A (en) * 1995-08-25 1998-03-03 Microsoft Corporation Computer-implemented method and computer for performing modular reduction
JP3504050B2 (ja) 1996-01-26 2004-03-08 株式会社東芝 べき乗剰余演算方法及び装置
US6091819A (en) 1996-08-16 2000-07-18 Telcordia Technologies, Inc. Accelerating public-key cryptography by precomputing randomly generated pairs
US5764916A (en) * 1996-09-27 1998-06-09 Ichat, Inc. Method and apparatus for real time communication over a computer network
US5966699A (en) * 1996-10-11 1999-10-12 Zandi; Richard System and method for conducting loan auction over computer network
US5793659A (en) 1996-10-15 1998-08-11 United Microelectronics Corporation Method of modular reduction and modular reduction circuit
GB9627069D0 (en) 1996-12-30 1997-02-19 Certicom Corp A method and apparatus for finite field multiplication
US6088453A (en) 1997-01-27 2000-07-11 Kabushiki Kaisha Toshiba Scheme for computing Montgomery division and Montgomery inverse realizing fast implementation
US6175850B1 (en) 1997-02-03 2001-01-16 Nippon Telegraph And Telephone Corporation Scheme for carrying out modular calculations based on redundant binary calculation
EP0933695B1 (fr) 1998-01-28 2006-03-15 Hitachi, Ltd. Carte à puce équipé d'une installation de traitement pour le chiffrage à courbe elliptique
US6144991A (en) * 1998-02-19 2000-11-07 Telcordia Technologies, Inc. System and method for managing interactions between users in a browser-based telecommunications network
US6138139A (en) * 1998-10-29 2000-10-24 Genesys Telecommunications Laboraties, Inc. Method and apparatus for supporting diverse interaction paths within a multimedia communication center
FR2776445A1 (fr) * 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
US6269163B1 (en) * 1998-06-15 2001-07-31 Rsa Security Inc. Enhanced block ciphers with data-dependent rotations
US6449646B1 (en) * 1998-10-13 2002-09-10 Aspect Communications Corporation Method and apparatus for allocating mixed transaction type messages to resources via an integrated queuing mechanism
US6324524B1 (en) * 1998-11-03 2001-11-27 Nextcard, Inc. Method and apparatus for an account level offer of credit and real time balance transfer
US6405181B2 (en) * 1998-11-03 2002-06-11 Nextcard, Inc. Method and apparatus for real time on line credit approval
US20020055962A1 (en) 1999-11-12 2002-05-09 Richard Schroeppel Automatically solving equations in finite fields
DE19963407A1 (de) 1999-12-28 2001-07-12 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Nachrichtenverfremdung
AU5871201A (en) 2000-05-15 2001-11-26 M-Systems Flash Disk Pioneers Ltd. Extending the range of computational fields of integers
DE10024325B4 (de) * 2000-05-17 2005-12-15 Giesecke & Devrient Gmbh Kryptographisches Verfahren und kryptographische Vorrichtung
EP1285355A4 (fr) * 2000-05-26 2003-11-12 Abova Procede et systeme d'echantillonnage par internet
US6917957B2 (en) 2000-08-28 2005-07-12 Sun Microsystems, Inc. Method and apparatus for performing modular division using counters
DE10107376A1 (de) 2001-02-16 2002-08-29 Infineon Technologies Ag Verfahren und Vorrichtung zum modularen Multiplizieren und Rechenwerk zum modularen Multiplizieren
US7607165B2 (en) 2001-03-09 2009-10-20 The Athena Group, Inc. Method and apparatus for multiplication and/or modular reduction processing
US7164765B2 (en) * 2001-04-11 2007-01-16 Hitachi, Ltd. Method of a public key encryption and a cypher communication both secure against a chosen-ciphertext attack
FR2829335A1 (fr) * 2001-09-06 2003-03-07 St Microelectronics Sa Procede de brouillage d'un calcul a quantite secrete
US7346159B2 (en) 2002-05-01 2008-03-18 Sun Microsystems, Inc. Generic modular multiplier using partial reduction
US7627114B2 (en) 2002-10-02 2009-12-01 International Business Machines Corporation Efficient modular reduction and modular multiplication
FR2856537B1 (fr) 2003-06-18 2005-11-04 Gemplus Card Int Procede de contre-mesure par masquage de l'accumulateur dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique
KR101252318B1 (ko) 2005-05-12 2013-04-08 인사이드 씨큐어 랜덤화된 모듈러 다항식 약분 방법 및 그 방법을 위한하드웨어
FR2885711B1 (fr) * 2005-05-12 2007-07-06 Atmel Corp Procede et materiel modulaire et aleatoire pour la reduction polynomiale
US8024391B2 (en) 2006-11-06 2011-09-20 Atmel Rousset S.A.S. Modular multiplication method with precomputation using one known operand

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366673B1 (en) * 1997-09-16 2002-04-02 U.S. Philips Corporation Method and device for executing a decrypting mechanism through calculating a standardized modular exponentiation for thwarting timing attacks

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GROSSSCHADL J: "The Chinese Remainder Theorem and its application in a high-speed RSA crypto chip", COMPUTER SECURITY APPLICATIONS, 2000. ACSAC '00. 16TH ANNUAL CONFERENCE NEW ORLEANS, LA, USA 11-15 DEC. 2000, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 11 December 2000 (2000-12-11), pages 384 - 393, XP010529836, ISBN: 0-7695-0859-6 *
J-F DHEM: "Design of an efficient public-key cryptographic library for RISC-based smart cards", THESE SOUTENUE EN VUE DE L'OBTENTION DU GRADE DE DOCTEUR EN SCIENCES APPLIQUEES, XX, XX, May 1998 (1998-05-01), pages complete, XP002212065 *
POSCH K C ET AL: "APPROACHING ENCRYPTION AT ISDN SPEED USING PARTIAL PARALLEL MODULUS MULTIPLICATION", MICROPROCESSING AND MICROPROGRAMMING, ELSEVIER SCIENCE PUBLISHERS, BV., AMSTERDAM, NL, vol. 29, no. 3, October 1990 (1990-10-01), pages 177 - 184, XP000151455, ISSN: 0165-6074 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3451316A1 (fr) * 2017-09-05 2019-03-06 Commissariat à l'énergie atomique et aux énergies alternatives Dispositif de réduction modulaire
FR3070814A1 (fr) * 2017-09-05 2019-03-08 Commissariat A L'energie Atomique Et Aux Energies Alternatives Dispositif de reduction modulaire

Also Published As

Publication number Publication date
TW200520498A (en) 2005-06-16
CN1883155A (zh) 2006-12-20
CN1883155B (zh) 2010-12-22
WO2005050905A1 (fr) 2005-06-02
TWI403144B (zh) 2013-07-21
EP1687930A1 (fr) 2006-08-09
US7809133B2 (en) 2010-10-05
EP1687930B1 (fr) 2012-01-04
EP1687930A4 (fr) 2007-05-16
US20050105723A1 (en) 2005-05-19

Similar Documents

Publication Publication Date Title
FR2862454A1 (fr) Methode de reduction modulaire aleatoire et equipement associe
FR2885711A1 (fr) Procede et materiel modulaire et aleatoire pour la reduction polynomiale
FR2972064A1 (fr) Procede de cryptographie comprenant une operation d&#39;exponentiation
WO2007074149A1 (fr) Procédé cryptographique comprenant une exponentiation modulaire sécurisée contre les attaques à canaux cachés, cryptoprocesseur pour la mise en oeuvre du procédé et carte à puce associée
US8300810B2 (en) Method for securely encrypting or decrypting a message
WO2013088066A1 (fr) Procede de generation de nombres premiers prouves adapte aux cartes a puce
EP3287891B1 (fr) Protection d&#39;un calcul modulaire
EP1368747B1 (fr) Procede et dispositif pour reduire le temps de calcul d&#39;un produit, d&#39;une multiplication et d&#39;une exponentiation modulaire selon la methode de montgomery
FR2977952A1 (fr) Protection d&#39;un calcul d&#39;exponentiation modulaire par multiplication par une quantite aleatoire
CA2712178A1 (fr) Procede et dispositifs de contre-mesure pour cryptographie asymetrique
Longa et al. The cost to break SIKE: A comparative hardware-based analysis with AES and SHA-3
Irena et al. Cryptoblaze: A partially homomorphic processor with multiple instructions and non-deterministic encryption support
CA2712180A1 (fr) Procede et dispositifs de contre-mesure pour cryptographie asymetrique a schema de signature
FR2880750A1 (fr) Carte a microprocesseur et procede cryptographique pour proteger une cle secrete
FR2867580A1 (fr) Multiplieur modulaire de montgomery et procede de multiplication correspondant
EP1715410B1 (fr) Protection d&#39;un calcul effectué par un circuit intégré
EP1994465A1 (fr) Procede de securisation d&#39;un calcul d&#39;une exponentiation ou d&#39;une multiplication par un scalaire dans un dispositif electronique
EP3136226B1 (fr) Protection d&#39;un calcul d&#39;exponentiation modulaire
EP3136227A1 (fr) Verification de la sensibilite d&#39;un circuit electronique executant un calcul d&#39;exponentiation modulaire
EP1891769B1 (fr) Protection d&#39;un calcul d&#39;exponentiation modulaire effectue par un circuit integre
FR2843211A1 (fr) Procede pour accelerer des calculs en arithmetique modulaire
FR3112003A1 (fr) Procede de traitement cryptographique, dispositif electronique et programme d&#39;ordinateur associes
FR3076013A1 (fr) Procede de traitement cryptographique, programme d’ordinateur et dispositif associes
JP2002268547A (ja) 演算装置、方法及びプログラム
FR2984551A1 (fr) Procede de generation de nombres premiers prouves adapte aux cartes a puce

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20060731