Publication number | US20040059767 A1 |

Publication type | Application |

Application number | US 10/665,801 |

Publication date | Mar 25, 2004 |

Filing date | Sep 18, 2003 |

Priority date | Sep 20, 2002 |

Also published as | DE60314584D1, DE60314584T2, EP1414182A1, EP1414182B1, US7254600 |

Publication number | 10665801, 665801, US 2004/0059767 A1, US 2004/059767 A1, US 20040059767 A1, US 20040059767A1, US 2004059767 A1, US 2004059767A1, US-A1-20040059767, US-A1-2004059767, US2004/0059767A1, US2004/059767A1, US20040059767 A1, US20040059767A1, US2004059767 A1, US2004059767A1 |

Inventors | Pierre-Yvan Liardet |

Original Assignee | Pierre-Yvan Liardet |

Export Citation | BiBTeX, EndNote, RefMan |

Patent Citations (6), Referenced by (60), Classifications (5), Legal Events (3) | |

External Links: USPTO, USPTO Assignment, Espacenet | |

US 20040059767 A1

Abstract

A method and a circuit for masking digital data handled by an algorithm and factorized by a residue number system based on a finite base of numbers or polynomials prime to one another, comprising making the factorization base variable.

Claims(11)

Description

- [0001]1. Field of the Invention
- [0002]The present invention relates to algorithmic processings performed on digital data handled by a microprocessor or an integrated circuit. The present invention more specifically relates to processings performed on digital data in cryptographic cyphering or authentication applications implementing so-called secured algorithms. In such applications, the data handled by the algorithms and on which basic operations (additions, multiplications) are performed must be protectable against piracy, that is, against external attacks aiming at discovering secret data and/or the calculation algorithm.
- [0003]2. Discussion of the Related Art
- [0004]For example, when an integrated circuit (be it a microprocessor or an operator in wired logic) executes a calculation on data, this calculation has an influence upon its power consumption. An analysis of the power consumption of the integrated circuit during the algorithm execution may enable a pirate to discover the processed data or the algorithm which executes them. Such attacks by analysis of the power consumption of an integrated circuit handling data are known as the SPA (single power analysis) or the DPA (differential power analysis).
- [0005]An example of application of the present invention relates to authentication procedures of digital files (for example, audio files) or of electronic processing elements (for example, smart cards) to validate the authorization of the user to have access to information (for example, audio data or on-chip data).
- [0006]For questions of calculation rapidity and of algorithm implementation ease, the numbers on which operations are desired to be performed by automatic calculation means may be factorized by application of the so-called Chinese remainder theorem (CRT).
- [0007]The Chinese remainder theorem, applied to integers, may be expressed as follows. For any sequence of numbers m
_{i }(i ranging between 1 and n) prime to one another and for any sequence of integers x_{i}, there is a single integer x smaller than the product of the sequence of prime numbers of the factorization base, such that for any i: -
*x*_{i}*=x*modulo*m*_{i}. - [0008]This means that, for a finite sequence of numbers m
_{i}, prime to one another, any number smaller than the product of this finite sequence can be represented uniquely, in a sequence of positive integers in a number equal to the number of elements of the sequence of numbers prime to one another. This representation is called the residue number system (RNS) representation. - [0009]In other words, for any integer x between 0 and M, where M represents the product of prime numbers m
_{i }of the factorization base, one may write:$\begin{array}{cc}x={\uf603\sum _{i=1}^{n}\ue89e{x}_{i}\xb7{m}_{i}\xb7{\uf603{M}_{i}^{-1}\uf604}_{{m}_{i}}\uf604}_{M},\text{}\ue89e\text{with}\ue89e\text{\hspace{1em}}\ue89eM=\prod _{i=1}^{n}\ue89e{m}_{i},{M}_{i}=\frac{M}{{m}_{i}},\text{\hspace{1em}}\ue89e\text{andwhere}\ue89e\text{\hspace{1em}}\ue89e{\uf603{M}_{i}^{-1}\uf604}_{{m}_{i}}& \text{(formula1)}\end{array}$ - [0010]is the inverse of number M
_{i }modulo m_{i}. Notation | . . . |_{M }is used to designate a number (here, the result of the sum) modulo M. - [0011]The advantage of residue number systems is that operations such as addition, subtraction, and multiplication are simplified and can be executed in parallel architectures. In fact, the elementary operations can be performed on each integer of the factorization of the number to be calculated. The result is then obtained by applying above formula 1 to the result.
- [0012]For example, two numbers x and y on which a calculation is desired to be performed are factorized by using the same base of prime numbers. After, the addition, subtraction, and product operations are carried out on the elements of the factorization, modulo the corresponding prime numbers. A set of values is obtained in the factorization base, which are recombined to obtain the result.
- [0013]The major advantage of an automated execution of the calculations by means of integrated circuits is that the individual operations modulo the numbers of the factorization base involve numbers always having the same size, which enables execution of these calculations by means of parallel architectures and within a same duration.
- [0014]However, a disadvantage is that the processed numbers are more easily detectable by the different attacks, especially, by power analysis of the integrated circuit.
- [0015]Conventionally, to mask the processing of one or several numbers, these numbers are combined with random quantities, before the algorithmic processing.
- [0016]A disadvantage is that this modifies the processed number(s), which imposes performing a reverse modification at the end of the processing to recover the expected result.
- [0017]Another disadvantage is that the masking increases the processing complexity as well as the duration of the full calculation.
- [0018]More generally, the residue number system applying the Chinese reminder theorem applies when the operations and operands are those of any finite body. For example, this system applies to a body of polynomials modulo an irreducible polynomial, or to the body of integers modulo a prime number.
- [0019]The present invention aims at providing a solution for masking the execution of algorithmic calculations using representations by residue number system.
- [0020]The present invention more specifically aims at providing a masking solution which is independent from the implemented algorithm, that is, which can apply whatever the calculations performed on the factorized numbers.
- [0021]The present invention also aims at providing a solution which does not adversely affect the execution rapidity of the algorithm and, especially, which adds no additional calculation step.
- [0022]To achieve these and other objects, the present invention provides a method for masking digital data handled by an algorithm and factorized by a residue number system based on a finite base of numbers or polynomials prime to one another, comprising making the factorization base variable.
- [0023]According to an embodiment of the present invention, the factorization base is chosen from a look-up table of sets of numbers or polynomials prime to one another.
- [0024]According to an embodiment of the present invention, the set of numbers or polynomials prime to one another used for the factorization by residue number system is randomly selected from the look-up table, for each new application of the algorithm.
- [0025]According to an embodiment of the present invention, the factorization base is calculated by a pseudo-random generator.
- [0026]According to an embodiment of the present invention, the base is chosen to be compatible with the lengths of the numbers or polynomials processed by the algorithm.
- [0027]According to an embodiment of the present invention, the method is applied to input data already factorized by a residue number system in an original base, the input data undergoing a factorization base change and the result provided by the algorithm undergoing, preferably, an inverse transformation towards said original base.
- [0028]According to an embodiment of the present invention, the method is applied to input data not yet factorized.
- [0029]According to an embodiment of the present invention, one or several factorization base changes are performed during the execution of the algorithm.
- [0030]The present invention also provides a circuit of algorithmic processing of data factorized by a residue number system based on a finite base of numbers or polynomials prime to one another, comprised of a circuit of selection or generation, and of temporary storage of said base.
- [0031]According to an embodiment of the present invention, the circuit comprises an element for storing a table of bases of numbers or polynomials prime to one another, said selection circuit selecting, at each application of the algorithm, a base from said table.
- [0032]According to an embodiment of the present invention, the circuit comprises an element for checking the conformity between the base selected for application of the factorizations by residue number system and the calculation circuits of the circuit executing the algorithm.
- [0033]The foregoing objects, features, and advantages of the present invention will be discussed in detail in the following non-limiting description of specific embodiments in connection with the accompanying drawing which very schematically illustrates in the form of blocks an embodiment of the masking method according to the present invention.
- [0034]For clarity, the present invention will be discussed hereafter in relation with an application to integers factorized based on a base of numbers prime to one another. It should however be noted that it more generally applies to a factorization of polynomials of a body modulo an irreducible polynomial based on a base of polynomials prime to one another.
- [0035]A feature of the present invention is to modify the factorization/recombination base of the integers processed by an algorithm in application of a residue number system.
- [0036]According to the present invention, the representation by the residue number system is changed, preferably, each time a new group of integers is submitted to a factorization for an algorithmic processing, or for a calculation operation.
- [0037]Thus, conversely to conventional solutions of calculation masking by introduction of random numbers in the processed numbers to modify them, the present invention provides making the number representation variable, said number remaining unchanged.
- [0038]A significant advantage as compared to the introduction of a random number is that the recovery of the expected result requires no additional calculation with respect to the conventional application of residue number system representations. Indeed, only the factorization base must be indicated to the conventional recombination process. In other words, the factorization base is made variable.
- [0039]Another advantage is that the calculation duration is only slightly increased by the masking. The only additional duration corresponds to the factorization base change (memory reading), which is negligible as compared to the additional calculations required, at least at the beginning and at the end of an algorithm, to combine the processed numbers (or polynomials) with a random number.
- [0040]The appended drawing shows, in the form of blocks, an example of application of a residue number system representation to an algorithm
**1**(ALGO) intended to process, for example, at least two integers x and y and provide at least one result r. - [0041]As previously, to ease calculations, algorithm
**1**executes elementary operations on each element of factorizations {x_{i}, . . . x_{i}, . . . , x_{n}}, {y_{1}, . . . , y_{i}, . . . y_{n}} of numbers x and y in the factorization base by a residue number system. This factorization is performed (blocks**2**and**3**, BT) before introduction of the numbers into the actual algorithm**1**, based on a base {m_{1}, . . . , m_{i}, . . . m_{n}} of numbers prime to one another, where n represents the number of base elements which corresponds to the number of elements of the factorization sequences of numbers x and y. - [0042]Algorithm
**1**, that is, the processing block, provides the result in the form of a sequence of integers {r_{1}, . . . , r_{i}, . . . , r_{n}}. This sequence of n numbers is, in this example, recombined (block**4**, IBT) based on the same base {m_{1}, . . . , m_{i}, . . . ,m_{n}} of prime numbers to obtain result r. - [0043]According to the present invention, factorization base {m
_{1}, . . . , m_{i}, . . . ,m_{n}} is provided by an element**5**(SELECT{M}) of selection and temporary storage of the sequence of numbers (or polynomials) prime to one another of residue number system factorization. This selection is, preferably, changed for each application of algorithm**1**, that is, for each new introduction of values x, y (each time it is necessary to factorize values to be taken into account by the algorithmic calculation to obtain a result recomposed based on the same residue number system). If more than two numbers are used, or if other numbers are involved at other moments in the algorithm, it will be ascertained to maintain a same base for all numbers. - [0044]According to the origin and to the destination of the input data of the algorithm, factorizations
**2**and**3**may be performed higher upstream, for example, if the input data are outputs of a processing by residue number system. Similarly, the result(s) may be provided in factorized form. Such will in particular be the case if the algorithm having its execution masked by the present invention is interleaved in a processing chain using a residue number system. In this case, blocks**2**,**3**, and**4**execute base changes to convert the input data shown in a given factorization base into a base selected by element**5**and to restore the output data in the input base. - [0045]According to another embodiment, base changes (additional or not) may be performed during the algorithm. These changes are then selected by means of block
**5**in the same way as the initial transformation. The restoring of the processed numbers is then obtained by a single reverse transformation performed (not necessarily at the end of the algorithm)according to the last base used. - [0046]Several methods may be used to select the factorization base or to change bases during the calculation.
- [0047]According to a first implementation mode, a table 6 of sets {M} of numbers prime to one another is stored in a storage element and a selection (for example, random) of one of the sets of the stored table is provided for each new factorization, each set representing a base in the residue number system.
- [0048]According to another example of implementation, a generator of sequences of numbers prime to one another which generates (on the fly), pseudo-randomly to be compatible with the parallel architecture of the circuit executing algorithm
**1**, factorization base {m_{1}, . . . , m_{i}, . . . ,m_{n}} is used. - [0049]It should be noted that, for the factorization or the base change to be different from one calculation to another, it is enough for two numbers of the chosen factorization base to be inverted, that is, placed in a different order in the base number sequence. It is accordingly particularly simple to vary the factorization of any input digital datum while remaining compatible with a same circuit of processing by parallel architecture. It is enough to modify the branching of the factorized data according to the order of the numbers (or the polynomials) prime to one another of the base. The transformation mode of the base by change in the order of the numbers thereof however conditions the quality of the random character of the number representation in the residue number system.
- [0050]An advantage of the present invention is that its implementation is independent from the executed algorithm.
- [0051]Another advantage of the present invention is that it does not require a specific recalculation after completion of the algorithm to recover the expected number. Indeed, in any structure with an algorithmic processing by application of the Chinese remainder theorem, a step of recombination based on the base of numbers or polynomials prime to one another is provided to restore the result.
- [0052]An example of an algorithm where the present invention applies is the RSA-type algorithm such as described in article “Modular multiplication and base extension in residue number systems” by J.-C. Bajard, L.-S. Didier and P. Kornerup, published by N. Burgess, report of Arith 15, 15
^{th }IEEE Symposium on Computer Arithmetics, Vail Colo., USA, Jun. 2001, pages 59-65, which is incorporated herein by reference. - [0053]Of course, the present invention is likely to have various alterations, modifications, and improvements which will readily occur to those skilled in the art. In particular, the present invention applies whatever the number of input data of the algorithm and whatever the number of data provided by this algorithm, provided that all input data be factorized based on the same base of numbers or polynomials prime to one another.
- [0054]Further, the choice of the size of the sets of prime numbers or polynomials forming the factorization base depends on the application and is made conventionally.
- [0055]Further, the practical implementation of the present invention based on the functional indications given hereabove is within the abilities of those skilled in the art by using known means. The implementation of the present invention may be performed by software or by state machines in wired logic. For example, when implemented by hardware means, factorization or input data base change blocks
**2**and**3**may be formed of one or several circuits according to whether the base change is carried out in parallel or successively for the different input data. - [0056]Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and the scope of the present invention. Accordingly, the foregoing description is by way of example only and is not intended to be limiting. The present invention is limited only as defined in the following claims and the equivalents thereto.

Patent Citations

Cited Patent | Filing date | Publication date | Applicant | Title |
---|---|---|---|---|

US2486 * | Mar 12, 1842 | Jeremiah Wilbur | Loom fob | |

US28771 * | Jun 19, 1860 | Beer-pitcher | ||

US124178 * | Feb 27, 1872 | Improvement in awning-windlasses | ||

US5974151 * | Nov 1, 1996 | Oct 26, 1999 | Slavin; Keith R. | Public key cryptographic system having differential security levels |

US5991415 * | May 12, 1997 | Nov 23, 1999 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for protecting public key schemes from timing and fault attacks |

US6304658 * | Dec 31, 1998 | Oct 16, 2001 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |

Referenced by

Citing Patent | Filing date | Publication date | Applicant | Title |
---|---|---|---|---|

US7885408 * | Jul 30, 2004 | Feb 8, 2011 | Stmicroelectronics S.A. | Protection of several identical calculations |

US7921145 * | May 22, 2007 | Apr 5, 2011 | Harris Corporation | Extending a repetition period of a random sequence |

US7937427 | Apr 19, 2007 | May 3, 2011 | Harris Corporation | Digital generation of a chaotic numerical sequence |

US7962540 | Jun 7, 2007 | Jun 14, 2011 | Harris Corporation | Mixed radix number generator with chosen statistical artifacts |

US7970809 | Jun 7, 2007 | Jun 28, 2011 | Harris Corporation | Mixed radix conversion with a priori defined statistical artifacts |

US7974413 | Jun 7, 2007 | Jul 5, 2011 | Harris Corporation | Spread spectrum communications system and method utilizing chaotic sequence |

US7995749 | Oct 30, 2007 | Aug 9, 2011 | Harris Corporation | Cryptographic system configured for extending a repetition period of a random sequence |

US7995757 | May 31, 2007 | Aug 9, 2011 | Harris Corporation | Closed galois field combination |

US8005221 | Aug 1, 2007 | Aug 23, 2011 | Harris Corporation | Chaotic spread spectrum communications system receiver |

US8040937 | Mar 26, 2008 | Oct 18, 2011 | Harris Corporation | Selective noise cancellation of a spread spectrum signal |

US8064552 | Jun 2, 2008 | Nov 22, 2011 | Harris Corporation | Adaptive correlation |

US8068571 | Jun 12, 2008 | Nov 29, 2011 | Harris Corporation | Featureless coherent chaotic amplitude modulation |

US8139764 | May 6, 2008 | Mar 20, 2012 | Harris Corporation | Closed galois field cryptographic system |

US8145692 | May 29, 2008 | Mar 27, 2012 | Harris Corporation | Digital generation of an accelerated or decelerated chaotic numerical sequence |

US8165065 | Oct 9, 2008 | Apr 24, 2012 | Harris Corporation | Ad-hoc network acquisition using chaotic sequence spread waveform |

US8180055 | Feb 5, 2008 | May 15, 2012 | Harris Corporation | Cryptographic system incorporating a digitally generated chaotic numerical sequence |

US8280041 | Mar 12, 2007 | Oct 2, 2012 | Inside Secure | Chinese remainder theorem-based computation method for cryptosystems |

US8312551 | Feb 15, 2007 | Nov 13, 2012 | Harris Corporation | Low level sequence as an anti-tamper Mechanism |

US8320557 | May 8, 2008 | Nov 27, 2012 | Harris Corporation | Cryptographic system including a mixed radix number generator with chosen statistical artifacts |

US8325702 | Aug 29, 2008 | Dec 4, 2012 | Harris Corporation | Multi-tier ad-hoc network in which at least two types of non-interfering waveforms are communicated during a timeslot |

US8340295 | Jul 1, 2009 | Dec 25, 2012 | Harris Corporation | High-speed cryptographic system using chaotic sequences |

US8345725 | Mar 11, 2010 | Jan 1, 2013 | Harris Corporation | Hidden Markov Model detection for spread spectrum waveforms |

US8351484 | Dec 29, 2008 | Jan 8, 2013 | Harris Corporation | Communications system employing chaotic spreading codes with static offsets |

US8363700 | Jul 1, 2009 | Jan 29, 2013 | Harris Corporation | Rake receiver for spread spectrum chaotic communications systems |

US8363830 | Feb 7, 2008 | Jan 29, 2013 | Harris Corporation | Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts |

US8369376 | Jul 1, 2009 | Feb 5, 2013 | Harris Corporation | Bit error rate reduction in chaotic communications |

US8369377 | Jul 22, 2009 | Feb 5, 2013 | Harris Corporation | Adaptive link communications using adaptive chaotic spread waveform |

US8379689 | Jul 1, 2009 | Feb 19, 2013 | Harris Corporation | Anti-jam communications having selectively variable peak-to-average power ratio including a chaotic constant amplitude zero autocorrelation waveform |

US8385385 | Jul 1, 2009 | Feb 26, 2013 | Harris Corporation | Permission-based secure multiple access communication systems |

US8406276 | Dec 29, 2008 | Mar 26, 2013 | Harris Corporation | Communications system employing orthogonal chaotic spreading codes |

US8406352 | Jul 1, 2009 | Mar 26, 2013 | Harris Corporation | Symbol estimation for chaotic spread spectrum signal |

US8428102 | Jun 8, 2009 | Apr 23, 2013 | Harris Corporation | Continuous time chaos dithering |

US8428103 | Jun 10, 2009 | Apr 23, 2013 | Harris Corporation | Discrete time chaos dithering |

US8428104 | Jul 1, 2009 | Apr 23, 2013 | Harris Corporation | Permission-based multiple access communications systems |

US8457077 | Mar 3, 2009 | Jun 4, 2013 | Harris Corporation | Communications system employing orthogonal chaotic spreading codes |

US8509284 | Jun 8, 2009 | Aug 13, 2013 | Harris Corporation | Symbol duration dithering for secured chaotic communications |

US8611530 | May 22, 2007 | Dec 17, 2013 | Harris Corporation | Encryption via induced unweighted errors |

US8848909 | Jul 22, 2009 | Sep 30, 2014 | Harris Corporation | Permission-based TDMA chaotic communication systems |

US20050027998 * | Jul 30, 2004 | Feb 3, 2005 | Yannick Teglia | Protection of several identical calculations |

US20050086484 * | Sep 8, 2004 | Apr 21, 2005 | Kabushiki Kaisha Toshiba | Identification information embedding apparatus, analysis apparatus, embedding method, analysis method and program |

US20080198832 * | Feb 15, 2007 | Aug 21, 2008 | Harris Corporation | Low Level Sequence as an Anti-Tamper MEchanism |

US20080263119 * | Apr 19, 2007 | Oct 23, 2008 | Harris Corporation | Digital Generation of a Chaotic Numerical Sequence |

US20080304666 * | Jun 7, 2007 | Dec 11, 2008 | Harris Corporation | Spread Spectrum Communications System and Method Utilizing Chaotic Sequence |

US20080307022 * | Jun 7, 2007 | Dec 11, 2008 | Harris Corporation | Mixed Radix Conversion with a Priori Defined Statistical Artifacts |

US20080307024 * | Jun 7, 2007 | Dec 11, 2008 | Harris Corporation | Mixed Radix Number Generator with Chosen Statistical Artifacts |

US20090034727 * | Aug 1, 2007 | Feb 5, 2009 | Harris Corporation | Chaotic Spread Spectrum Communications System Receiver |

US20090044080 * | May 31, 2007 | Feb 12, 2009 | Harris Corporation | Closed Galois Field Combination |

US20090110197 * | Oct 30, 2007 | Apr 30, 2009 | Harris Corporation | Cryptographic system configured for extending a repetition period of a random sequence |

US20090245327 * | Mar 26, 2008 | Oct 1, 2009 | Harris Corporation | Selective noise cancellation of a spread spectrum signal |

US20090279688 * | Nov 12, 2009 | Harris Corporation | Closed galois field cryptographic system | |

US20090296860 * | Dec 3, 2009 | Harris Corporation | Adaptive correlation | |

US20090310650 * | Jun 12, 2008 | Dec 17, 2009 | Harris Corporation | Featureless coherent chaotic amplitude modulation |

US20100054228 * | Aug 29, 2008 | Mar 4, 2010 | Harris Corporation | Multi-tier ad-hoc network communications |

US20100309957 * | Dec 9, 2010 | Harris Corporation | Continuous time chaos dithering | |

US20100310072 * | Dec 9, 2010 | Harris Corporation | Symbol duration dithering for secured chaotic communications | |

US20100316090 * | Dec 16, 2010 | Harris Corporation | Discrete time chaos dithering | |

US20110004792 * | Jul 1, 2009 | Jan 6, 2011 | Harris Corporation | Bit error rate reduction in chaotic communications |

US20110019719 * | Jan 27, 2011 | Harris Corporation | Adaptive link communications using adaptive chaotic spread waveform | |

US20110019817 * | Jul 22, 2009 | Jan 27, 2011 | Harris Corporation | Permission-based tdma chaotic communication systems |

DE112005001837B4 * | Aug 24, 2005 | Sep 16, 2010 | Comvenient Gmbh & Co. Kg | Verfahren zum Schutz von Schlüsseln |

Classifications

U.S. Classification | 708/491 |

International Classification | G06F7/72 |

Cooperative Classification | G06F7/729, G06F2207/7223 |

European Classification | G06F7/72N |

Legal Events

Date | Code | Event | Description |
---|---|---|---|

Sep 18, 2003 | AS | Assignment | Owner name: STMICROELECTRONICS, S.A., FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LIARDET, PIERRE-YVAN;REEL/FRAME:014529/0955 Effective date: 20030822 |

Jan 24, 2011 | FPAY | Fee payment | Year of fee payment: 4 |

Jan 28, 2015 | FPAY | Fee payment | Year of fee payment: 8 |

Rotate