WO2004015559A2 - Procede pour accelerer des calculs en arithmetique modulaire - Google Patents
Procede pour accelerer des calculs en arithmetique modulaire Download PDFInfo
- Publication number
- WO2004015559A2 WO2004015559A2 PCT/FR2003/050022 FR0350022W WO2004015559A2 WO 2004015559 A2 WO2004015559 A2 WO 2004015559A2 FR 0350022 W FR0350022 W FR 0350022W WO 2004015559 A2 WO2004015559 A2 WO 2004015559A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- words
- result
- memory
- significant
- operator
- Prior art date
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
- G06F7/728—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 using Montgomery reduction
Definitions
- the invention presented here is a method for accelerating calculations in modular arithmetic, which makes it possible inter alia to accelerate certain operations used in cryptographic protocols.
- Modulo N arithmetic is a technique which consists in considering that two whole numbers represent the same mathematical entity as soon as their difference is an integer multiple of a number N, called the module. We will then say that these two numbers are congruent modulo N.
- this module N is generally very large (several hundred decimal digits). Numbers of 512 or 1024 bits or more are commonly used.
- the mathematical entities on which we are working are called the integers modulo N (integers defined by the addition near an integer multiple of the module N).
- the set of integers modulo N can be assimilated to the set of integers between 0 and N-l.
- the addition and the multiplication are defined there in a similar way to their definition in classical arithmetic, except that when a result exceeds Nl, it is replaced by the rest of its division by N (we will write thereafter “remain modulo NOT ”) .
- the set of integers modulo N from which we have removed the elements not prime to N, forms a group for the multiplication operation, which we will call the multiplicative group of integers modulo N.
- Modulo N additions and multiplications can be made in a reasonable time.
- the addition calculation time is approximately proportional to the number of digits necessary to represent N.
- the multiplication calculation time is approximately proportional to the square of this number of numbers.
- modulo N in practice these will be integers between 0 and Nl
- the multiplication of a by b gives, in general, a number much larger than N. It will then be necessary to calculate the modulo N rest in order to obtain a number between 0 and Nl. This operation will be called "modulo N reduction”. It implies to make a division by N. Now a division is, in general, much longer to calculate than a multiplication, and this calculation time increases with the order of magnitude of N. The final result of these operations will be noted ab [mod N] and will read "multiplied by b modulo N".
- the calculation of a multiplication in modulo N arithmetic is reduced, as we said, to a multiplication of two large whole numbers, (time proportional to the square of the number of digits of N), followed by a modulo N reduction consisting of calculate the remainder of a division into whole numbers by N.
- the calculation time for this reduction is equivalent to that of several multiplication in large numbers.
- the invention more particularly relates to a method for accelerating the calculation of multiplications in arithmetic modulo N, N designating an integer comprising in particular several hundred decimal digits.
- the invention also relates to a method making it possible to accelerate the calculation of exponentiations in modulo N arithmetic. Multiplication and modular exponentiations occur in particular in cryptography protocols implemented using computer resources.
- the method is more particularly designed to save computer resources, such as computing power and / or memory space.
- the method is more particularly designed to make it possible to accelerate the calculation of multiplications in modulo N arithmetic.
- the method comprises the following preliminary steps:
- the number R is the first power of 2 that cannot be stored over q words.
- the method further comprises the preliminary step of storing the number d in a memory of the computer resource.
- the number d must be much smaller than N, in order to speed up the calculations and save computer resources.
- the appropriate values of N are such as the number d holds on few words, and ideally on a single word.
- the method comprises a first operator taking as input two numbers El, E2 each stored on q words and supplying as an output a number W such that the product by R of the number W is congruent modulo N to the product of the inputs El, and E2.
- Said inputs El, E2 are hereinafter called the inputs of the first operator, and the number W is hereinafter referred to as the result of the first operator.
- the method comprises a first algorithm having for object to replace an argument, stored on 2q words, by a result which is congruent modulo N to the argument and whose q words of least significant are zero.
- This argument is hereinafter referred to as the argument of the first algorithm.
- the result is hereinafter referred to as the result of the first algorithm.
- the method further comprises the following main steps for multiplying between them modulo N two numbers A and
- the step of storing in memory the modulo N remains of the product by R of the numbers A and B, the remains stored in memory are respectively called the number F and the number G,
- this number H is equal to the modulo N rest of the product of the numbers A, B and R.
- the method further comprises the following main steps: the step of implementing the first algorithm with as argument the number H, stored over 2q words, to provide a number V congruent modulo N to the number H and whose q least significant words are zero,
- the number C or the number C-N is equal to the modulo N remainder of the product of the numbers A and B.
- the first algorithm consists in iterating q times an operation having the effect of replacing the number obtained at the end of the preceding iteration by a number which is congruent to it modulo N and such that the number obtained at the end of the ith iteration has all its least significant words zero until the ith.
- the ith operation comprises the following four stages:
- step (d) at the end of step (b), a result, called y, is obtained which is shifted by i notches in the direction of the most significant and then subtracted from the number resulting from the result of the addition carried out at l 'step (c) above.
- the first operator comprises the following steps:
- the first operator comprises the following preliminary steps:
- the first operator comprises a main step consisting in iterating the following substeps: - (a) the sub-step of multiplying the word thus selected by the entry E2 of the first operator, the entry E2 having taken as value the number G, the result of this multiplication is a number stored on q + 1 words and is called
- the least significant word of the memory Z contains the value zero.
- the main step also consists of iterating the following other sub-steps:
- the first operator also includes another main step.
- This other main step is to read the word following the entry El, in the direction of increasing weights and to repeat the preceding sub-steps (a) to (j), as many times as necessary.
- the memory Z contains a number, between zero and 2N, of which the product by R is equal, modulo N, to the product of the inputs El and E2.
- the first operator further comprises the following two final steps:
- the result W of the first operator is equal to the content of the memory Z.
- the first operator comprises the preliminary step next :
- the first operator comprises a main step consisting in iterating the following substeps:
- the main step also consists of iterating the following sub-steps:
- the first operator further comprises the main step of reading the following word from the entry El, in the direction of increasing weights and repeating the preceding substeps (a) to (j) as many times as necessary.
- the memory Z contains a number H whose product by R is equal , modulo N, to the product of the numbers El and E2.
- the first operator further comprises the following two final steps:
- the result W of the first operator is equal to the content of memory Z.
- the number F is then the number with q words formed from the q most significant words of the number V A , respectively of the number V B.
- the invention also relates to a second alternative embodiment making it possible to accelerate the calculation of exponentiations in modulo N arithmetic.
- the object of the method is to raise a number A, hereinafter called the base , at a power p modulo N.
- p being an integer greater than or equal to 2, hereinafter referred to as the exponent, and being represented in binary form.
- the process includes the following preliminary steps:
- the number R is the first power of 2 that cannot be stored over q words.
- the method includes the preliminary step of storing the number d in a memory of the computer resource.
- the method further comprises the following preliminary steps:
- the method comprises a first algorithm having for object to replace an argument, stored on 2q words, by a result which is congruent modulo N to this argument and whose q words of least significant are zero.
- This argument is hereinafter referred to as the argument of the first algorithm.
- the result is hereinafter referred to as the result of the first algorithm.
- the first algorithm implemented in the case of the present second variant embodiment is the same as that which has been described, in particular in a particular embodiment, during the presentation of the. first variant. We can therefore also refer, as necessary, to the previous description of the first algorithm.
- the process includes the following main steps:
- the method further comprises the following main step:
- the memory Y contains a number which is congruent modulo N to the product of the number R by the result of the exponentiation A power p.
- the method further comprises the step of implementing the first algorithm with as argument the content of the memory Y to obtain a number S congruent modulo N to this argument and whose q least significant words are zero.
- the method further comprises the following final steps:
- the method comprises a first operator.
- the process includes the following preliminary steps:
- the first operator takes as input two numbers El, E2 each stored on q words and providing as output a number W, stored on q words, such that the product by R of the number W is congruent modulo N to the product of the inputs El, and E2 .
- Say inputs El, E2 are hereinafter called the inputs of the first operator and the number W is hereinafter referred to as the result of the first operator.
- the process includes the following main steps:
- the method further comprises the following main step:
- the memory Y contains a number which is congruent modulo N to the product of the number R by the result of the exponentiation A power p.
- the method further comprises the final step of implementing the first algorithm with as argument the content of the memory Y to obtain a number S congruent modulo N to this argument and whose q least significant words are zero.
- the method further comprises the following final steps:
- the first algorithm consists in iterating q times an operation having the effect of replacing the number obtained at the end of the previous iteration by a number which is given to it congruent modulo N and such that the number obtained at the end of the ith iteration has all its weight words the weakest draws to the ith.
- the ith operation comprises the following four stages:
- step (d) at the end of step (b), a result, called y, is obtained which is shifted by i notches in the direction of the most significant and then subtracted from the number resulting from the result of the addition carried out at l 'step (c) above.
- the first operator comprises the following steps:
- the first operator comprises the following preliminary steps:
- the first operator comprises the main step consisting of iterating the following substeps:
- the least significant word in memory Z contains the value zero.
- the main step also includes the following sub-steps:
- the first operator also comprises the main step of reading the next word from the entry El, in the direction of increasing weights and repeating the preceding sub-steps (a) to (j), as many times as necessary.
- the memory Z contains a number, between zero and 2N, whose product by R is equal, modulo N, to the product of the numbers El and E2.
- the first operator also comprises the following two final stages:
- the step of comparing to the number N the content of the memory Z the step, when this content is greater than N, to subtract the number N from it, the result of the subtraction is stored in the memory Z.
- the result W of the first operator is equal to the content of memory Z.
- the first operator comprises the following preliminary steps:
- the first operator comprises the main step consisting of iterating the following substeps:
- the least significant word in memory Z contains the value zero.
- the main step also consists of iterating the following sub-steps:
- the first operator further comprises the main step of reading the following word from the entry El, in the direction of increasing weights and repeating the preceding substeps (a) to (j) as many times as necessary.
- the memory Z contains a number H whose product by R is equal , modulo N, to the product of the numbers El and E2.
- Final main stage the first operator also comprises the following two final stages:
- the step of comparing to the number N the content of the memory Z the step, when this content greater than N, to subtract from it the number N, the result of the subtraction is stored in the memory Z.
- the result W of the first operator is equal to the content of memory Z.
- step (f) storing the number Q (see step (f)) requires one word more than the number of words required to store d. consequently, one saves all the more time of computation and memory that d holds on few words, ideally only one word.
- the method is such that to calculate the modulo N rest of the product by R of the base A, called the number F:
- the first algorithm is applied with the number T as an argument, to obtain as a result a number V, which is congruent to it modulo N and whose q least significant words are zero.
- the number F is then the number with q words formed from the q most significant words of the number V.
- An elementary multiplication takes two scalars, therefore two words of w bits, multiplies them between them and stores the result, which then occupies 2w bits, on two words of w bits, by separating the w most significant bits and the w bits least significant.
- T [0], T [l] ,. .., T [r-1] a series of r words of w bits, denoted T [0], T [l] ,. .., T [r-1], agreeing that T is equal to the sum products T [i].
- B i where the point designates the multiplication and the expression B A i represents B power i, the number i varying between 0 and rl > and B being equal to 2 A w.
- This representation will be called the standard binary representation of the number T.
- T [r-1], ..., T [l], T [0] to designate the number T in this representation computer science.
- T is a number with r words, a scalar being by definition a number with only one word.
- the words T [j] with a high index will be called “most significant words” or “most significant words” and those with a low index j will be called “low weight words” or “least significant words” .
- a simple and natural method to carry out the multiplication between a number T of r words and a number U of s words consists in using a memory area V of r + s words, memory which will function as an accumulator and which, at the end of the calculation , will contain the final result.
- This zone V will be initialized to zero beforehand. Then, for any couple formed by a word of T and a word of U, therefore in total rs times, we multiply these two words between them, elementary multiplication, result on two words, the two result words being added to the appropriate words of the memory area V.
- a multiplication between two numbers each represented on r words of w bits (or the squared of a word of w bits) in the general case represents r A 2 (r squared) elementary multiplications and 2r. (rl) elementary additions.
- N is a large odd number, whose binary writing requires for example 512 or 1024 bits, which corresponds to about 150 or 300 decimal digits.
- R is the first power of 2 which cannot be stored on q words. This number is equal to 2 to the power of the product qw, i.e. to B power q, i.e. 2 power 512 or 2 power 1024 in the examples above. This number is, by construction, greater than N.
- r d the minimum number of words necessary for computer storage of the value of d, in standard binary representation. This number r d is always less than or equal to q.
- f the rest modulo N of the square of d. Note that when d is small, and in particular when r d is less than q / 2, the number f is simply equal to the square of the number d.
- the numbers d, e and f are calculated in advance and stored in the memory of the processor used to perform the calculations.
- the method thus described composed of a series of iterations, constitutes a first algorithm which makes it possible to pass from a number T to number V multiple of R and congruent to T modulo N.
- This first algorithm is all the faster when the number r d of words necessary to store d is low.
- This first algorithm is one of the basic elements of the present invention.
- the method described here takes all its interest when r d is small because the first algorithm is then fast, as well as the products by f which is then a number with 2 r d words. The only long operation remains the calculation of the FG product.
- the method can be further improved if we nest the calculation of the product FG and the application of the first algorithm to the result of this multiplication.
- This operation will be carried out by considering one of the factor numbers, for example G, as a whole, but using word after word the words forming the other factor, for example F, starting with the least significant words.
- a memory area Y formed of q + 1 words and a carry bit is initialized to 0. This memory area will function on the one hand as a shift register and on the other hand as an accumulator in which the intermediate calculation results will be added.
- index i we multiply the word of index i of F by the number G to obtain a result P, on q + 1 words, which will be added to the content of memory Y.
- the addition operation in an accumulator can be carried out in the same elementary instruction as the multiplication. This is the case for example when using an ARM type processor. All of these operations, multiplying a number with q words by a scalar and adding the result to the content of a memory area can then be carried out in q elementary instructions of the processor.
- the memory Y contains a number less than 2N and whose product by R is congruent modulo N to the product FG. If Y is greater than or equal to N, we subtract N from it. The memory Y now contains the final result of all these operations, namely the remainder by N of a number whose product by R is equal to the product FG.
- the set of operations described here constitutes an operator which takes as arguments the two numbers F and G and provides as result the remainder by N of a number whose product by R is equal to the product F.G.
- An indirect method nevertheless makes it possible to calculate A A p [mod N] in an acceptable time.
- the principle of this method consists in calculating, by successive square elevations, multiplication of a number by itself, modulo N, the list of powers of A, modulo N, whose exponent is a power of 2, c 'is to say (A, A 2 [mod N], A A 4 [mod N], A A 8 [mod N], A 16 [mod N], A 2 [mod N], A A 64 [ mod N], and so on ).
- We then examine the binary development of the exponent p it is in this form that p is stored in machine.
- an exponentiation in modulo N arithmetic can be reduced to approximately 3/2 times r modulo N multiplications, where r is the number of bits necessary for the binary representation of the exponent p of the exponential, ie 768 or 1536 multiplication modulo N if we work with exponents at 512 or 1024 bits.
- r is the number of bits necessary for the binary representation of the exponent p of the exponential, ie 768 or 1536 multiplication modulo N if we work with exponents at 512 or 1024 bits.
- Each of these modulo N multiplications boils down to a multiplication in large numbers, calculation time proportional to the square of the number of words necessary to represent N in the calculation processor, followed by a modulo N reduction. If this reduction is carried out in a classic, you have to divide into large numbers, which, in computation time, is equivalent to several multiplications in large numbers.
- the number A the number intended to be raised to the power p modulo N is stored on q words.
- the exponent p is simply stored in memory by its binary expansion, using f as many bits or words as necessary.
- the q most significant words in the memory area Y contain the value 0. This memory therefore represents a number stored in q words, therefore a number less than R.
- V 0 be the result of this calculation.
- V 0 the algorithm described above under the name of the first algorithm, which has the effect of calculating a number U 0 congruent modulo N to V 0 and whose q least significant words are zero.
- U 0 congruent modulo N
- Y the q most significant words of U 0 and the most significant words of Y are set to zero. The content of Y is therefore obtained by exchanging the q most significant words and the q least significant words of U 0 .
- the q most significant words of the memory area Y therefore contain the value 0, and the sequence is repeated from the beginning after having selected the next bit in p, in the direction of the weights decreasing.
- the memory Y contains a number which is congruent modulo N to the product of R by A power p.
- D the number with q words formed by the most significant words of S. This number is positive, is less than 2N and is congruent modulo N to the number A power p. If it is less than N, this is the number we wanted to calculate, the remainder of the division by N of the number A power p. If it is greater than or equal to N, simply subtract N from it to find the desired result.
- the method of calculating the modular exponentiation described above applies several times a series of operations consisting in first performing a multiplication between two large numbers, squared of Y, or multiplication of Y by F, then to apply to the result of this multiplication the first algorithm described above and consisting in replacing said result by a number which is congruent to it modulo N and whose q least significant words are zero, and finally to extract the number formed from q words of high weights of the result of the first algorithm.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
- Power Sources (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2003273500A AU2003273500A1 (en) | 2002-08-05 | 2003-07-29 | Method for accelerating calculations in modular arithmetic |
CA002494769A CA2494769A1 (fr) | 2002-08-05 | 2003-07-29 | Procede pour accelerer des calculs en arithmetique modulaire |
EP03755658A EP1532519A2 (fr) | 2002-08-05 | 2003-07-29 | Calcul cryptographique suivant la methode de montgomery |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR02/09942 | 2002-08-05 | ||
FR0209942A FR2843211B1 (fr) | 2002-08-05 | 2002-08-05 | Procede pour accelerer des calculs en arithmetique modulaire |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2004015559A2 true WO2004015559A2 (fr) | 2004-02-19 |
WO2004015559A3 WO2004015559A3 (fr) | 2004-05-13 |
Family
ID=30129691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2003/050022 WO2004015559A2 (fr) | 2002-08-05 | 2003-07-29 | Procede pour accelerer des calculs en arithmetique modulaire |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1532519A2 (fr) |
AU (1) | AU2003273500A1 (fr) |
CA (1) | CA2494769A1 (fr) |
FR (1) | FR2843211B1 (fr) |
WO (1) | WO2004015559A2 (fr) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5499299A (en) * | 1993-07-02 | 1996-03-12 | Fujitsu Limited | Modular arithmetic operation system |
EP0939362A1 (fr) * | 1998-02-26 | 1999-09-01 | STMicroelectronics S.A. | Coprocesseur d'arithmétique modulaire permettant de réaliser des opérations non modulaires rapidement |
-
2002
- 2002-08-05 FR FR0209942A patent/FR2843211B1/fr not_active Expired - Fee Related
-
2003
- 2003-07-29 CA CA002494769A patent/CA2494769A1/fr not_active Abandoned
- 2003-07-29 EP EP03755658A patent/EP1532519A2/fr not_active Withdrawn
- 2003-07-29 WO PCT/FR2003/050022 patent/WO2004015559A2/fr not_active Application Discontinuation
- 2003-07-29 AU AU2003273500A patent/AU2003273500A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5499299A (en) * | 1993-07-02 | 1996-03-12 | Fujitsu Limited | Modular arithmetic operation system |
EP0939362A1 (fr) * | 1998-02-26 | 1999-09-01 | STMicroelectronics S.A. | Coprocesseur d'arithmétique modulaire permettant de réaliser des opérations non modulaires rapidement |
Non-Patent Citations (2)
Title |
---|
ARAZI B: "DOUBLE-PRECISION MODULAR MULTIPLICATION BASED ON A SINGLE-PRECISIONMODULAR MULTIPLIER AND A STANDARD CPU" IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, IEEE INC. NEW YORK, US, vol. 11, no. 5, 1 juin 1993 (1993-06-01), pages 761-769, XP000399844 ISSN: 0733-8716 * |
DUSSE S R ET AL: "A CRYPTOGRAPHIC LIBRARY FOR THE MOTOROLA DSP56000" LECTURE NOTES IN COMPUTER SCIENCE. ADVANCES IN CRYPTOLOGY- EUROCRYPT '90, 21-24 MAY 1990, AARHUS, DK, 1991, pages 230-244, XP000471664 Springer Verlag, BERLIN, DE * |
Also Published As
Publication number | Publication date |
---|---|
FR2843211A1 (fr) | 2004-02-06 |
WO2004015559A3 (fr) | 2004-05-13 |
FR2843211B1 (fr) | 2005-05-20 |
CA2494769A1 (fr) | 2004-02-19 |
EP1532519A2 (fr) | 2005-05-25 |
AU2003273500A1 (en) | 2004-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0443679B1 (fr) | Procédé de calcul d'une opération du type A.X modulo N, dans un procédé de codage selon une méthode de type RSA | |
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 | |
EP0853275B1 (fr) | Coprocesseur comprenant deux circuits de multiplication opérant en parallèle | |
EP0712072A1 (fr) | Procédé de mise en oeuvre de réduction modulaire selon la méthode de Montgomery | |
EP2546737A1 (fr) | Protection d'un calcul d'exponentiation modulaire par addition d'une quantité aléatoire | |
EP1291763A1 (fr) | Procédé de brouillage d'un calcul à quantité secrète | |
EP0795241B1 (fr) | Procede de cryptographie a cle publique base sur le logarithme discret | |
FR2849512A1 (fr) | Multiplieur modulaire de montgomery et procede de multiplication correspondant | |
WO2007006810A1 (fr) | Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe | |
EP0909495B1 (fr) | Procede de cryptographie a cle publique | |
WO2020012104A1 (fr) | Circuit de génération de facteurs de rotation pour processeur ntt | |
EP1493078B1 (fr) | Procédé cryptographique protégé contre les attaques de type à canal caché | |
EP0785503B1 (fr) | Procédé de production d'un paramètre de correction d'erreur associé à la mise en oeuvre d'opérations modulaires selon la méthode de Montgomery | |
EP0793165A1 (fr) | Coprocesseur d'arithmétique modulaire permettant de réaliser rapidement des opération non modulaires | |
EP1012703B1 (fr) | Coprocesseur d'arithmetique modulaire comportant un circuit de division entiere | |
WO2004015559A2 (fr) | Procede pour accelerer des calculs en arithmetique modulaire | |
CA2359198C (fr) | Unite de calcul pour l'execution d'un protocole cryptographique | |
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 | |
FR2734679A1 (fr) | Procede de cryptographie a cle publique base sur le logarithme discret | |
FR2977954A1 (fr) | Protection d'un calcul sur courbe elliptique | |
FR2842051A1 (fr) | Procede de cryptographie incluant le calcul d'une multiplication modulaire au sens de montgomery et entite electronique correspondante | |
EP3451316A1 (fr) | Dispositif de réduction modulaire | |
EP1660989A2 (fr) | Reduction modulaire pour un procede cryptographique, et coprocesseur pour la realisation d'une telle reduction modulaire | |
FR3010562A1 (fr) | Procede de traitement de donnees et dispositif associe | |
FR2627297A1 (fr) | Multiplieur de nombres binaires a tres grand nombre de bits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2003755658 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2494769 Country of ref document: CA |
|
WWP | Wipo information: published in national office |
Ref document number: 2003755658 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |