DE102005032731A1 - Method for side channel resistant multiplication - Google Patents
Method for side channel resistant multiplication Download PDFInfo
- Publication number
- DE102005032731A1 DE102005032731A1 DE200510032731 DE102005032731A DE102005032731A1 DE 102005032731 A1 DE102005032731 A1 DE 102005032731A1 DE 200510032731 DE200510032731 DE 200510032731 DE 102005032731 A DE102005032731 A DE 102005032731A DE 102005032731 A1 DE102005032731 A1 DE 102005032731A1
- Authority
- DE
- Germany
- Prior art keywords
- multiplication
- value
- determined
- link
- inverse
- 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
- G06F7/723—Modular exponentiation
-
- 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
- G06F2207/7233—Masking, e.g. (A**e)+r mod n
- G06F2207/7238—Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)
-
- 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/7261—Uniform execution, e.g. avoiding jumps, or using formulae with the same power profile
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
Die Erfindung betrifft seitenkanalangriffsresistente kryptographische Verfahren, wobei ein Rückgabewert (r) als Vervielfachung eines Eingangswertes (a) mittels eines Moduls (Mult) bestimmt wird. Die Erfindung hat es sich zur Aufgabe gemacht, eine Resistenz gegen Seitenkanalangriffe bei gleichzeitig minimalen Einschränkungen für die Implementierung zu erreichen. Hierzu wird vorgeschlagen, dass eine Zufallszahl (c) und die Inverse (d) dieser hinsichtlich einen Verknüpfung (K) bestimmt wird, jedem Wert 0 der Binärdarstellung (n_i) einer Vervielfachungsanzahl (n) die Inverse (d) zugeordnet und jedem Wert 1 der Binärdarstellung (n_i) der Vervielfachungsanzahl (n) das Ergebnis der Verknüpfung (K) des Eingangswertes (a) mit der Inversen (d) zugeordnet wird, für alle Stellen der Binärdarstellung (n_i) ein Zwischenwert (b) als Ergebnis zweier aufeinander folgender Verknüpfungen (K) bestimmt wird, wobei das Ergebnis der Verknüpfung (K) aus dem Zwischenwert (b) mit sich selbst und mit dem der Stelle der Binärdarstellung (n_i) zugeordneten Zuordnungswert (E[n_i=0], E[n_i=1]) zu einem neuen Zwischenwert (b) bestimmt wird, der Rückgabewert (r) als Ergebnis der Verknüpfung (K) des neuen Zwischenwertes (b) mit der Inversen (d) bestimmt wird.The invention relates to side-channel attack-resistant cryptographic methods, a return value (r) being determined as a multiplication of an input value (a) by means of a module (Mult). The invention has set itself the task of achieving resistance to side-channel attacks while at the same time placing minimal restrictions on the implementation. For this purpose, it is proposed that a random number (c) and the inverse (d) of this be determined with regard to a link (K), each value 0 of the binary representation (n_i) a multiplication number (n) is assigned the inverse (d) and each value 1 is assigned the Binary representation (n_i) of the multiplication number (n) the result of the link (K) of the input value (a) with the inverse (d) is assigned, for all digits of the binary representation (n_i) an intermediate value (b) as the result of two successive links ( K) is determined, the result of the link (K) from the intermediate value (b) with itself and with the assignment value (E [n_i = 0], E [n_i = 1]) assigned to the digit of the binary representation (n_i) a new intermediate value (b) is determined, the return value (r) is determined as the result of the combination (K) of the new intermediate value (b) with the inverse (d).
Description
Die Erfindung betrifft ein Verfahren zur seitenkanalangriffsresistenten Berechnung eines Rückgabewertes als einer Vervielfachung mittels einer Vervielfachungsanzahl unter Verwendung einer Recheneinheit, insbesondere als Teilprozess einer Verschlüsselung, Entschlüsselung, Signaturerzeugung, Signaturprüfung oder Schlüsseleinigung unter Verwendung mindestens eines kryptographischen Schlüssels, wobei in einem Schritt des Verfahrens ein Rückgabewert als Vervielfachung eines Eingangswertes bestimmt wird. Daneben ist eine Recheneinheit, insbesondere eine Recheneinheit eines Tachographen, welche Daten verschlüsselt und/oder entschlüsselt und/oder signiert und/oder Signaturen prüft und/oder Schlüsseleinigungen durchführt unter Verwendung mindestens eines kryptographischen Schlüssels Gegenstand der Erfindung, welche derart ausgebildet ist, dass sie nach dem eingangs genannten Verfahren arbeitet.The The invention relates to a method for side channel attack resistant Calculation of a return value as a multiplication by means of a multiplication number under Use of a computing unit, in particular as a sub-process of a encryption decryption Signature generation, signature verification or key agreement using at least one cryptographic key, wherein in a step of the method a return value as a multiplication an input value is determined. Next to it is an arithmetic unit, in particular a computing unit of a tachograph, which data encoded and / or decrypted and / or signatures and / or signatures and / or key approvals performs using at least one cryptographic key item the invention, which is designed so that they after the works at the beginning.
Seitenkanalangriffe sind eine Klasse von Methoden zur Kryptoanalyse. Im Gegensatz zu bisherigen Angriffen auf kryptographische Anwendungen versucht ein Angreifer dabei nicht, den zu Grunde liegenden abstrakten mathematischen Algorithmus zu brechen, sondern attackiert eine spezielle Implementierung eines kryptographischen Verfahrens. Dazu verwendet der Angreifer leicht zugängliche physikalische Messgrößen der konkreten Implementierung, wie zum Beispiel Laufzeit der Berechnung, Stromverbrauch und elektromagnetische Abstrahlungen des Prozessors während der Berechnung oder das Verhalten der Implementierung bei induzierten Fehlern. Die physikalischen Messwerte einer einzelnen Berechnung können direkt analysiert werden, zum Beispiel mittels Simple Power Analysis [SPA], oder ein Angreifer zeichnet die Messwerte mehrerer Berechnungen (zum Beispiel unter Verwendung eines Speicheroszilloskops) auf und wertet die Messwerte anschließend statistisch aus, zum Beispiel mittels Differential Power Analysis [DPA]. Seitenkanalangriffe sind häufig wesentlich effizienter als klassische kryptoanalytische Techniken und können selbst Verfahren, die aus Sicht der Algorithmen als sicher angesehen werden, brechen, wenn die Implementierung dieser Algorithmen nicht gegen Seitenkanalangriffe abgesichert ist. Insbesondere für Smartcards und Embedded-Anwendungen sind Gegenmaßnahmen gegen Seitenkanalangriffe wichtig.Side channel attacks are a class of methods for cryptanalysis. In contrast to attempts to attack cryptographic applications Attackers do not, the underlying abstract mathematical Algorithm to break, but attacks a special implementation a cryptographic method. The attacker uses this easily accessible physical parameters of concrete implementation, such as the duration of the calculation, Power consumption and electromagnetic emissions of the processor while the calculation or the behavior of the implementation induced Errors. The physical measurements of a single calculation can analyzed directly, for example using Simple Power Analysis [SPA], or an attacker records the readings of several calculations (for example, using a storage oscilloscope) on and then evaluates the measured values statistically, for example by means of differential power analysis [DPA]. Side channel attacks are often much more efficient as classical cryptanalytic techniques and can themselves processes that from the point of view of algorithms are considered safe, break, if the implementation of these algorithms is not against side channel attacks is secured. Especially for Smart cards and embedded applications are countermeasures against side channel attacks important.
Seitenkanalangriffe sind bereits Thema in den folgenden Veröffentlichungen: Kocher: Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems, Crypto 1996, LNCS 1109, Seiten 104–113, Springer; Kocher, Jaffe, Jun: Differential power analysis, Crypto 1999, LNCS 1666, Seiten 388–397, Springer; Messerges, Dabbish, Sloan: Power analysis attacks of modular exponentiation in smartcards, CHES 1999, LNCS 1717, Seiten 144–157, Springer.Side channel attacks are already featured in the following publications: Kocher: Timing attacks on implementation of Diffie-Hellman, RSA, DSS, and others systems, Crypto 1996, LNCS 1109, pages 104-113, Springer; Kocher, Jaffe, Jun: Differential power analysis, Crypto 1999, LNCS 1666, pages 388-397, Springer; Messerges, Dabbish, Sloan: Power analysis attacks of modular exponentiation in smartcards, CHES 1999, LNCS 1717, pages 144-157, Springer.
Hierbei finden sich in Boneh, Demillo, Lipton: On the importance of checking cryptographic protocols for faults, Eurocrypt 1997, LNCS 1233, Seiten 37–51, Springer bereits Hinweise auf eine Verwertung der Information aus dem Verhalten der Implementierung bei induzierten Fehlern.in this connection can be found in Boneh, Demillo, Lipton: On the importance of checking cryptographic protocols for faults, Eurocrypt 1997, LNCS 1233, pages 37-51, Springer already hints at a utilization of the information from the behavior the implementation of induced errors.
Mathematische Methoden zur Vervielfachung finden sich auch in Menezes, van Oorschot, Vanstone: Handbook of applied cryptography, CRC-Press 1996.mathematical Methods for multiplication can also be found in Menezes, van Oorschot, Vanstone: Handbook of applied cryptography, CRC Press 1996.
Maskierungstechniken für Kryptoverfahren, insbesondere für DES und AES sind auch bekannt aus Goubin, Patarin: DES and differential power analysis, CHES 1999, LNCS 1717, Seiten 158–172, Springer; Akkar, Giraud: An implementation of DES and AES, secure against some attacks, CHES 2001, LNCS 2162, Seiten 309–318, Springer; Messerges Securing the AES finalists against power analysis attacks, FSE 2000, LNCS 1978, Seiten 150–164, Springer; Coron, Goubin On boolean and arithmetic masking against differential power analysis, CHES 2000, LNCS 1965, Seiten 213–237, Springer; Trichina, de Seta, Germani: Simplified adaptive multiplicative masking for AES and its securized implementation, CHES 2002, LNCS 2523, Seiten 187–197, Springer; Golic, Tymen: Multiplicative masking and power analysis of AES, CHES 2002, LNCS 2523, Seiten 198–212, Springer.masking techniques for crypto methods, in particular for DES and AES are also known from Goubin, Patarin: DES and differential power analysis, CHES 1999, LNCS 1717, pages 158-172, Springer; Akkar, Giraud: An implementation of DES and AES, secure against some attacks, CHES 2001, LNCS 2162, pages 309-318, Springer; Messerges Securing the AES finalists against power analysis attacks, FSE 2000, LNCS 1978, pages 150-164, Springer; Coron, Goubin On boolean and arithmetic masking against differential power analysis, CHES 2000, LNCS 1965, pages 213-237, Springer; Trichina, de Seta, Germani: Simplified adaptive multiplicative masking for AES and its securitized implementation, CHES 2002, LNCS 2523, pages 187-197, Springer; Golic, Tymen: Multiplicative masking and power analysis of AES, CHES 2002, LNCS 2523, pages 198-212, Springer.
Die Erzeugung digitaler Signaturen nach dem Digital Signature Standard ist auch thematisiert in FIPS 186: Digital Signature Standard, Federal Information Processing Standards Publication 186, NIST 1997.The Generation of digital signatures according to the Digital Signature Standard is also themed in FIPS 186: Digital Signature Standard, Federal Information Processing Standards Publication 186, NIST 1997.
Anwendungsgebiet der Erfindung ist insbesondere der Schutz der schnellen Exponentiation gegen insbesondere SPA und DPA. Viele kryptographische Verfahren (insbesondere Public-Key Verfahren) verwenden Arithmetiken in endlichen Körpern oder endlichen Ringen. Ein wichtiger dabei verwendeter Rechenschritt ist die Berechnung der Exponentiation bzw. skalaren Multiplikation in endlichen Körpern, Ringen, Gruppen oder Halbgruppen.field of use In particular, the invention is the protection of fast exponentiation against in particular SPA and DPA. Many cryptographic methods (especially public-key methods) use finite arithmetic bodies or finite rings. An important step in this process is the calculation of the exponentiation or scalar multiplication in finite bodies, rings, Groups or half groups.
Allgemein verwendete Techniken zur Abwehr von Seitenkanalangriffen versuchen entweder, den Signal-Rausch-Abstand zwischen der zu schützenden Information und allen anderen messbaren Signalen zu verschlechtern und damit die Beobachtung der geheimen Information zu erschweren oder verwenden Randomisierungstechniken, um die Korrelation zwischen der zu schützenden Information und den gemessenen Werten aufzuheben. Methoden, um die Beobachtung der geheimen Information zu erschweren, umfassen beispielsweise die Vermeidung datenabhängiger Verzweigungen, die von schützenswerter Information abhängen, Verwendung von Programmschritten mit wenig schwankendem Stromprofil oder von Programmteilen, deren Laufzeit nicht mehr von den Berechnungsdaten abhängt, Ausführen von zufälligen und/oder redundanten Programmteilen usw. Diese Gegenmaßnahmen schützen im Allgemeinen vor SPA-Attacken, haben jedoch den Nachteil, dass die Implementierung unvorteilhaften Einschränkungen unterliegt.Commonly used sidewall attack defense techniques either seek to degrade the signal-to-noise ratio between the information to be protected and all other measurable signals, thus hampering the observation of the secret information, or use randomization techniques to determine the correlation between the information to be protected and cancel the measured values. Methods to complicate the observation of the secret information include, for example, the avoidance of data-dependent branches that depend on information worthy of protection, use of program steps with a little fluctuating power profile, or program parts whose duration no longer depends on the calculation data, performing random and / or These countermeasures generally protect against SPA attacks, but have the disadvantage that the implementation is subject to unfavorable constraints.
Randomisierungstechniken zur Aufhebung der Korrelation zwischen zu schützender Information und gemessenen Werten dienen der Abwehr der statistischen Analysemethoden, wie bspw. der DPA. Solche Maßnahmen bestehen üblicherweise aus Maskieren der geheimen Informationen mit zufälligen Werten. Bei jeder neuen Berechnung werden dabei neue unabhängige Zufallszahlen für die Masken gewählt. Ein Angreifer misst dann jedes Mal eine für ihn zufällig erscheinende Berechnung, weil er die Maske nicht kennt und kann keine einfachen Korrelationen zwischen gemessenen physikalischen Werten und Input- oder Outputdaten feststellen.randomization to cancel the correlation between information to be protected and measured Values serve the defense of statistical analysis methods, such as eg the DPA. Such measures usually exist from masking the secret information with random values. Every new one Calculation will be new independent random numbers for the masks selected. An attacker then measures each time a seemingly random calculation, because he does not know the mask and can not do simple correlations between measured physical values and input or output data.
Der Standardalgorithmus zur schnellen Exponentiation ist sowohl gegen SPA- als auch gegen DPA-Angriffe anfällig. Um den Algorithmus zur schnellen Exponentiation gegen einen SPA-Angriff zu schützen, wurden in der Literatur auch folgende Techniken vorgeschlagen: Statt eine Multiplikation nur für den Fall einer Bitbelegung mit 1 auszuführen, wird auch für den Fall einer Nullbelegung die Multiplikation ausgeführt, aber das Ergebnis dieser Berechnung wird nicht verwendet (Always-Square-and-Multiply); daneben werden Algorithmen zur Multiplikation und Quadrierung vereinheitlicht. Außerdem finden die Montgomery-Leiter (insbesondere relevant für elliptische Kurven) oder die Fixed-Window-Methode Verwendung. Als weitere Techniken zum Schutz gegen DPA-Angriffe ist es außerdem bekannt, den Exponenten mit einem kleinen, zufällig gewählten Vielfachen der Ordnung der Gruppe zu erweitern [Kocher: Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems, Crypto 1996, LNCS 1109, Seiten 104–113, Springer, Coron: Resistance against differential power analysis for elliptic curve cryptosystems, CHES 1999, LNCS 1717, Seiten 292–302, Springer] und zu einem zufällig gewählten Element der Gruppe (oder des Körpers) durch eine Public-Key Operation zunächst eine Maske vorzuberechnen, mit welcher die Basis vor der schnellen Exponentiation randomisiert (zB. multipliziert) wird. Nach Abschluß der Exponentiation mittels eines geheimen Schlüssels kann durch die inverse Operation (zB. eine Division), die Maskierung wieder rückgängig gemacht werden [Kocher: Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems, Crypto 1996, LNCS 1109, Seiten 104–113, Springer; Coron: Resistance against differential power analysis for elliptic curve cryptosystems, CHES 1999, LNCS 1717, Seiten 292–302, Springer]; Paare aus zufälligem Element und zugehörigem Korrekturwert werden vorberechnet und abgespeichert oder nach Verwendung wieder aufgefrischt [Kocher: Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems, Crypto 1996, LNCS 1109, Seiten 104–113, Springer]; der in der modularen Arithmetik zur Reduktion verwendete Modul wird mit einer kleinen zufällig gewählten Zufallszahl erweitert, wodurch eine vollständige Reduktion der Zwischenergebnisse vermieden wird. Nach Abschluss der Exponentiation wird der berechnete Wert vollständig reduziert; Verwendung randomisierter Additionsketten für den Exponenten; die Darstellung der Punkte einer elliptischen Kurve oder des verwendeten endlichen Körpers oder der verwendeten elliptischen Kurve wird randomisiert, und nach Abschluss der Exponentiation wird die Maskierung wieder rückgängig gemacht [Coron: Resistance against differential power analysis for elliptic curve cryptosystems, CHES 1999, LNCS 1717, Seiten 292–302, Springer; Joye, Tymen: Protections against differential analysis for elliptic curve cryptography, CHES 2001, LNCS 2162, Seiten 377–390, Springer].Of the Standard algorithm for fast exponentiation is both against SPA as well as vulnerable to DPA attacks. To make the algorithm fast Exponentiation against a SPA attack too protect, The following techniques have also been proposed in the literature: instead a multiplication only for the case of a bit assignment with 1 will also be the case a zero assignment performed the multiplication, but the result of this Calculation is not used (always-square-and-multiply); Besides algorithms for multiplication and squaring are standardized. Furthermore find the Montgomery ladder (especially relevant to elliptical Curves) or the fixed-window method usage. As more techniques It is also known to protect exponents against DPA attacks with a small, random selected Multiply the order of the group [Kocher: Timing attacks on Implementations of Diffie-Hellman, RSA, DSS, and other systems, Crypto 1996, LNCS 1109, pages 104-113, Springer, Coron: Resistance against differential power analysis for elliptic curve cryptosystems, CHES 1999, LNCS 1717, pages 292-302, Springer] and to one fortuitously selected Element of the group (or body) a public-key operation first to pre-calculate a mask with which the base before the fast Exponentiation is randomized (eg multiplied). After completion of the exponentiation by means of a secret key can through the inverse operation (eg., a division), the masking Undone [Kocher: Timing attacks on implementation of Diffie-Hellman, RSA, DSS, and other systems, Crypto 1996, LNCS 1109, pages 104-113, Springer; Coron: Resistance against differential power analysis for elliptic curve cryptosystems, CHES 1999, LNCS 1717, pages 292-302, Springer]; Pairs of random Element and related Correction values are precalculated and stored or after use refreshed [Kocher: Timing attacks on implementation of Diffie-Hellman, RSA, DSS, and other systems, Crypto 1996, LNCS 1109, pages 104-113, Springer]; is the module used in modular arithmetic for reduction with a little random selected Random number expanded, resulting in a complete reduction of intermediate results is avoided. Upon completion of the exponentiation, the calculated value Completely reduced; Use of randomized addition chains for the exponent; the representation of the points of an elliptic curve or the one used finite body or the elliptic curve used is randomized, and after At the end of the exponentiation, the masking is undone [Coron: Resistance against differential power analysis for elliptic curve cryptosystems, CHES 1999, LNCS 1717, pages 292-302, Springer; Joye, Tymen: Protections against differential analysis for elliptic curve cryptography, CHES 2001, LNCS 2162, pages 377-390, Springer].
Sämtliche bekannte Gegenmaßnahmen gegen Seitenkanalangriffe sind rechenkapazitätsaufwändig.All known countermeasures against side channel attacks are computationally expensive.
Ausgehend von den Nachteilen des Standes der Technik liegt der Erfindung die Aufgabe zugrunde, ein Verfahren zur seitenkanalangriffsresistenten Berechnung eines Rückgabewertes als einer Vervielfachung zu schaffen, welches eine Resistenz gegen Seitenkanalangriffe aufweist und gleichzeitig die Einschränkungen bei der Implementierung und den zusätzlichen Aufwand zum Zwecke des Schutzes gegen Seitenkanalangriffe gering hält.outgoing from the disadvantages of the prior art, the invention is the Task underlying a method for side channel attack-resistant calculation a return value as a multiplication, which provides resistance to side channel attacks and at the same time have implementation limitations and the extra Effort for the purpose of protection against side channel attacks low holds.
Erfindungsgemäß wird hierzu ein Verfahren nach Anspruch 1 vorgeschlagen. Daneben wird eine Recheneinheit vorgeschlagen, die derart ausgebildet ist, dass sie nach dem Verfahren des Anspruchs 1 arbeitet. Die jeweils rückbezogenen Unteransprüche beinhalten vorteilhafte Weiterbildungen, die auch ohne explizite Rückbezüge miteinander kombinierbar sind.According to the invention for this purpose a method according to claim 1 proposed. In addition, a computing unit proposed, which is designed so that they according to the method of claim 1 works. The respective dependent claims include advantageous developments that also without explicit references to each other can be combined.
Die erfindungsgemäße Technik erlaubt es, beliebige Implementierungen von Verfahren zur Berechnung einer Vervielfachung gegen Seitenkanalangriffe abzusichern.The inventive technique allows any implementations of methods of calculation a multiplication against side channel attacks.
Die Verwendung einer arithmetischen homomorphen Maskierungstechnik nach der Erfindung hat unter anderem den Vorteil, dass die Maskierung eingangs der Berechnung durchgeführt werden kann und ausgangs das Ergebnis demaskierbar ist und gleichzeitig eine Absicherung der Implementierung gegen SPA- und DPA-Angriffe gegeben ist.The use of an arithmetic homo Morph masking technique according to the invention has, inter alia, the advantage that the masking can be performed at the beginning of the calculation and at the outset the result is unmaskable and at the same time a hedge of the implementation against SPA and DPA attacks is given.
Eine vorteilhafte Anwendung der Erfindung bei einem kryptographischen Verfahren, insbesondere in einem erfindungsgemäßen Tachographen oder einem erfindungsgemäßen mobilen Datenträger, ist beispielsweise die Erzeugung digitaler Signaturen nach dem Digital-Signature-Standard DSS.A advantageous application of the invention in a cryptographic Method, in particular in a tachograph according to the invention or a mobile according to the invention disk, is, for example, the generation of digital signatures according to the digital signature standard DSS.
Eine zweckmäßige Weiterbildung des erfindungsgemäßen Verfahrens sieht vor, dass die Zwischenergebnisse nach den jeweiligen Rechenschritten gelöscht werden.A appropriate training the method according to the invention provides that the intermediate results according to the respective calculation steps deleted become.
Das erfindungsgemäße Verfahren bzw. die erfindungsgemäße Recheneinheit ermöglicht eine besonders vielseitige Modularität, wenn der verwendete Verknüpfungsoperator wahlweise addiert oder multipliziert und somit im Ergebnis multipliziert bzw. potenziert.The inventive method or the computing unit according to the invention allows a particularly versatile modularity, if the linking operator used optionally added or multiplied and thus multiplied in the result or potentiated.
Besonders sicher gegen Seitenkanalangriffe ist eine Implementierung des erfindungsgemäßen Verfahrens in einer Fixed-Window-Variante, bei welcher die Vervielfachungsanzahl blockweise in Blöcken gleicher Länge abgearbeitet wird.Especially Safe against side channel attacks is an implementation of the method according to the invention in a fixed-window variant, where the multiplication number in blocks in blocks same length is processed.
In der Folge wird die Erfindung anhand eines speziellen Ausführungsbeispiels unter Bezugnahme auf Zeichnungen näher erläutert, wobei die Erfindung nicht auf die Darstellungen dieses Beispiels beschränkt ist. Es zeigen:In The result is the invention with reference to a specific embodiment explained in more detail with reference to drawings, the invention is not is limited to the illustrations of this example. Show it:
In
Die Datenübertragung zwischen dem Tachographen DTCO und der Datenkarte DC erfolgt mittels eines Sitzungsschlüssels verschlüsselt, wobei während der Verschlüsselung und der Entschlüsselung die zentralen Prozessoren CPU des Tachographen DTCO und der Datenkarte DC unter anderem Exponentiationen und Multiplikationen nach der Erfindung durchführen.The data transfer between the tachograph DTCO and the data card DC by means of a session key encrypted while during the encryption and the decryption the central processors CPU of the tachograph DTCO and the data card DC among other exponentiations and multiplications after the Carry out invention.
Hierzu
machen die Prozessoren CPU von dem in
Das Modul KRY ist Bestandteil eines Ablaufes der Verschlüsselung. Die Eingangswerte a, n werden an das Modul KRY übergeben und binnen dieses Moduls an ein Modul MULT weitergegeben.The Module KRY is part of a process of encryption. The input values a, n are transferred to the module KRY and within this module passed on to a module MULT.
Das Modul MULT bestimmt zunächst in einem ersten Schritt A. eine Zufallszahl c und bestimmt in einem zweiten Schritt B. zu dieser eine Inverse d hinsichtlich einer Verknüpfung K.The Module MULT first determines in a first step A. a random number c and determined in one second step B. to this one inverse d with respect to a link K.
Mittels
eines aus dem Modul MULT aufgerufenen Moduls MULCO (
Im Einzelnen ist der Ablauf in dem Modul MULCO folgendermaßen. Hierbei sei zunächst auf mit C.-E. bezeichnete zentrale Schritte des Verfahrens eingegangen. In einem dritten Schritt C. wird jedem Wert i eines Intervalles ein Zuordnungswert E[i] zugeordnet. In einem vierten Schritt D. wird ausgehend von der höchstwertigsten Stelle der Zahldarstellung n_i (Binärdarstellung) der Vervielfachungsanzahl n sequenziell für alle Stellen der Zahldarstellung n_i (Binärdarstellung) ein Zwischenwert b als Ergebnis zweier aufeinander folgender Verknüpfungen K bestimmt, wobei das Ergebnis der Verknüpfung K aus dem Zwischenwert b mit sich selbst und mit dem der Stelle der Zahldarstellung n_i (Binärdarstellung) zugeordneten Zuordnungswert E[n_i] zu einem neuen Zwischenwert b bestimmt wird. In einem fünften Schritt E. wird der Rückgabewert r als Ergebnis der Verknüpfung K des neuen Zwischenwertes b mit der Inversen d bestimmt.in the Specifically, the procedure in the MULCO module is as follows. in this connection be first on with C.-E. designated central steps of the process. In a third step C., each value i of an interval assigned an assignment value E [i]. In a fourth step D. is based on the most significant Set the number representation n_i (binary representation) of the multiplication number n sequential for all digits of the number representation n_i (binary representation) an intermediate value b as a result of two consecutive links K determines, with the result of the link K from the intermediate value b with itself and with that of the digit representation n_i (Binary representation) assigned Assignment value E [n_i] is determined to a new intermediate value b. In a fifth step E. will be the return value r as a result of the link K of the new intermediate value b with the inverse d determined.
Mit
den Ausführungsbeispielen
der
Das Modul MULCO ordnet in einem dritten Schritt jedem Wert i eines Intervalles einen Zuordnungswert E[i] zu.The Module MULCO assigns in a third step each value i of an interval an assignment value E [i] too.
Die
Varianten nach den
Die
Varianten nach den
Die
Varianten nach den
Eine
Implementation des Verfahrens im Sinne des Ausführungsbeispiels nach
Sei (n_0, ..., n_m) die Binärdarstellung
des Exponenten n, und sei a die Basis.
- 1) wähle gleichverteilt ein zufälliges Element c einer Gruppe (oder eines Körpers)
- 2) berechne das inverse Element d = c^(–1)
- 3) setze b = c, setze E[0] = d und E[1] = a·d
- 4) for i = 0 to i <= m do
- 5) setze b = b^2
- 6) setze b = b·E[n_i]
- 7) od
- 8) setze b = b·d
Let (n_0, ..., n_m) be the binary representation of the exponent n and let a be the basis.
- 1) choose evenly a random element c of a group (or a body)
- 2) calculate the inverse element d = c ^ (- 1)
- 3) set b = c, set E [0] = d and E [1] = a · d
- 4) for i = 0 to i <= m do
- 5) set b = b ^ 2
- 6) set b = b · E [n_i]
- 7) od
- 8) set b = b · d
Claims (12)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200510032731 DE102005032731A1 (en) | 2005-07-13 | 2005-07-13 | Method for side channel resistant multiplication |
PCT/EP2006/063619 WO2007006649A1 (en) | 2005-07-13 | 2006-06-28 | Side channel attack-resistant multiplication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200510032731 DE102005032731A1 (en) | 2005-07-13 | 2005-07-13 | Method for side channel resistant multiplication |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102005032731A1 true DE102005032731A1 (en) | 2007-01-25 |
Family
ID=37103312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200510032731 Withdrawn DE102005032731A1 (en) | 2005-07-13 | 2005-07-13 | Method for side channel resistant multiplication |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102005032731A1 (en) |
WO (1) | WO2007006649A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2437160A1 (en) * | 2010-10-04 | 2012-04-04 | Nagravision S.A. | Blinding of modular exponentiation |
CN104796250B (en) * | 2015-04-11 | 2018-05-25 | 成都信息工程学院 | The side-channel attack method realized for rsa cryptosystem algorithm M-ary |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE418099T1 (en) * | 1998-06-03 | 2009-01-15 | Cryptography Res Inc | SECURED MODULAR POTENTIATION WITH LEAK MINIMIZATION FOR CHIP CARDS AND OTHER CRYPTO SYSTEMS |
FR2810178B1 (en) * | 2000-06-13 | 2004-10-29 | Gemplus Card Int | CRYPTOGRAPHIC CALCULATION PROCESS INCLUDING A MODULAR EXPONENTIATION ROUTINE |
US7739521B2 (en) * | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations |
-
2005
- 2005-07-13 DE DE200510032731 patent/DE102005032731A1/en not_active Withdrawn
-
2006
- 2006-06-28 WO PCT/EP2006/063619 patent/WO2007006649A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2007006649A1 (en) | 2007-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69828787T2 (en) | IMPROVED METHOD AND DEVICE FOR PROTECTING A PUBLIC KEY ENCRYPTION PROCEDURE AGAINST ATTACK AND TIME ATTRUSION ATTACKS | |
EP1891512B1 (en) | Determination of a modular inverse | |
DE102006022960B9 (en) | Method for encrypting input data, cryptographic system and computer program product | |
DE69917592T2 (en) | AGAINST ELECTRICAL CONSUMER STOCK RESISTANT CRYPTOGRAPHY | |
US20040139136A1 (en) | Method for securing a computer installation involving a cryptographic algorithm using boolean operations and arithmetic operations and the corresponding embedded system | |
EP3593483B1 (en) | Transition from a boolean masking to an arithmetic masking | |
EP1922837B1 (en) | Method for securely encrypting or decrypting a message | |
DE102012018924A1 (en) | Side channel protected masking | |
DE102008051447B9 (en) | Method and apparatus for protecting an RSA calculation on an output using the Chinese Remainder Theorem | |
DE102010001289A1 (en) | Apparatus for calculating a result of a scalar multiplication | |
DE10304451B3 (en) | Modular exponentiation with randomized exponent | |
KR100731575B1 (en) | A secure scalar multiplication method against power analysis attacks in elliptic curve cryptosystem | |
EP1428112B1 (en) | Method and device for calculating the result of an exponentiation | |
EP1442391B1 (en) | Method and device for guaranteeing a calculation in a cryptographic algorithm | |
DE102005032731A1 (en) | Method for side channel resistant multiplication | |
EP1454260B1 (en) | Method and device for securing an exponentiation calculation by means of the chinese remainder theorem (crt) | |
DE10042234C2 (en) | Method and device for performing a modular exponentiation in a cryptographic processor | |
EP2128754B1 (en) | Safe sliding window exponentiation | |
DE102008050800B4 (en) | Apparatus and method for determining a modular multiplicative inverse | |
DE10162496B4 (en) | Method and device for securing a calculation in a cryptographic algorithm | |
DE102012210354B3 (en) | Method for computer-aided generation of cryptographic data by e.g. smart card based on elliptic curve, involves transforming projective representations of x-coordinate of point of curve to other representations by preset equations | |
EP1536320B1 (en) | Montgomery multiplication with longer operand length | |
EP1760929B1 (en) | Protected cryptographic method | |
EP2759090A1 (en) | Secret rsa encryption exponent that can be protected against access violation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |