FR2862454A1 - Methode de reduction modulaire aleatoire et equipement associe - Google Patents
Methode de reduction modulaire aleatoire et equipement associe Download PDFInfo
- 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
Links
Classifications
-
- 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
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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/3006—Public 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/302—Public 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details 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)
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).
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)
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)
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)
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)
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 |
-
2003
- 2003-11-18 FR FR0313507A patent/FR2862454A1/fr not_active Withdrawn
-
2004
- 2004-02-18 US US10/781,311 patent/US7809133B2/en active Active
- 2004-11-05 CN CN200480033595.5A patent/CN1883155B/zh not_active Expired - Fee Related
- 2004-11-05 EP EP04800660A patent/EP1687930B1/fr not_active Expired - Fee Related
- 2004-11-05 WO PCT/US2004/036590 patent/WO2005050905A1/fr not_active Application Discontinuation
- 2004-11-10 TW TW093134209A patent/TWI403144B/zh active
Patent Citations (1)
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)
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)
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'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'un calcul modulaire | |
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 | |
FR2977952A1 (fr) | Protection d'un calcul d'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'un calcul effectué par un circuit intégré | |
EP1994465A1 (fr) | Procede de securisation d'un calcul d'une exponentiation ou d'une multiplication par un scalaire dans un dispositif electronique | |
EP3136226B1 (fr) | Protection d'un calcul d'exponentiation modulaire | |
EP3136227A1 (fr) | Verification de la sensibilite d'un circuit electronique executant un calcul d'exponentiation modulaire | |
EP1891769B1 (fr) | Protection d'un calcul d'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'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 |