EP1423786A2 - Vorrichtung und verfahren zum berechnen eines ergebnisses einer modularen exponentiation - Google Patents

Vorrichtung und verfahren zum berechnen eines ergebnisses einer modularen exponentiation

Info

Publication number
EP1423786A2
EP1423786A2 EP02797920A EP02797920A EP1423786A2 EP 1423786 A2 EP1423786 A2 EP 1423786A2 EP 02797920 A EP02797920 A EP 02797920A EP 02797920 A EP02797920 A EP 02797920A EP 1423786 A2 EP1423786 A2 EP 1423786A2
Authority
EP
European Patent Office
Prior art keywords
auxiliary variable
follows
mod
calculating
auxiliary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP02797920A
Other languages
English (en)
French (fr)
Inventor
Jean-Pierre Seifert
Joachim Velten
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of EP1423786A2 publication Critical patent/EP1423786A2/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7242Exponent masking, i.e. key masking, e.g. A**(e+r) mod n; (k+r).P
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7247Modulo masking, e.g. A**e mod (n*r)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7271Fault verification, e.g. comparing two values which should be the same, unless a computational fault occurred

Definitions

  • a two-party communication system using symmetric key encryption can be described as follows.
  • the first party communicates its encryption key to the second party over a secure channel.
  • the first party then encrypts the secret message using the key and transmits the encrypted message to the second party via a public or unsecured channel.
  • the second party then decrypts the encrypted message using the symmetric key that has been communicated to the second party over the secure channel.
  • a major problem with such encryption systems is an efficient method for exchanging the secret keys, i. H. to find a safe channel.
  • asymmetrical encryption is carried out as follows. A party wishing to receive a secret message shares its public key with the other your party, that is, the party from which you want to receive a secret message. The public key is communicated via an unsecured channel, ie via a "public" channel.
  • the party wishing to send a secret message receives the public key of the other party, the message encrypted using the public key and sends the encrypted message again Ü "over a non-secure channel, ie via a public channel to the Party from which the public key originated: Only the party that generated the public key is able to provide a private key to decrypt the encrypted message, not even the party that uses the public key an encrypted message is able to decrypt the message.
  • An advantage of this concept is that no secure channel, ie no secret key exchange, is required between the two parties. The party who encrypted the message must and may the recipient's private key t know.
  • a physical analogue to the asymmetrical encryption concept or public key encryption concept is as follows. Consider a metal box, the lid of which is secured by a combination lock. The combination only knows the party who wants to receive an encrypted message. If the lock is left open and made publicly available, anyone who wants to send a secret message can put this message in the metal box and close the lid. However, only the person from whom the box comes knows the combination of the combination lock. Only he is able to decrypt the message, ie to open the metal box again. Even the one who put the message in the box is no longer able to get it out.
  • RSA cryptosystem Essential for asymmetrical or public key encryption concepts is the underlying mathematical problem, the solution of which is almost impossible to use using the public key for decryption, but whose solution is easily possible with knowledge of the private key.
  • One of the best known public key cryptosystems is the RSA cryptosystem.
  • the RSA cryptosystem is described in the "Handbook of Applied Cryptography", Menezes, van Oorschot, Vanstone, CRC Press 1997, pages 285-291.
  • FIG. 3 in order to represent the RSA algorithm.
  • the starting point is that one communication partner encrypts a message m, which the other communication partner must decrypt again.
  • the encrypting entity must first receive the public key (s, e) in a step 200 in order to be able to send the other party an encrypted message at all.
  • the encrypting entity must represent the message to be encrypted as an integer m in a step 210, where m must lie in the interval from 0 to n-1.
  • the encrypting entity In a step 220, which is the actual encryption step, the encrypting entity must calculate the following equation:
  • c is the encrypted message. This is then output in a step 230 and transmitted to the recipient of the encrypted message via a public channel, which is labeled 240 in FIG. 2.
  • the latter receives the encrypted message c in a step 250 and performs the following calculation in a step 260, which is the actual decryption step: mc d mod n.
  • the Chinese remainder of the sentence is described in the “Handbook of Applied Cryptography, which was mentioned earlier, on page 610 ff.
  • the Chinese remainder theorem, and particularly in its form, which is known as Garner 's algorithm, is based on splitting the modular exponentiation with the module n into two modular exponentiations of second sub-modules p, q, the sub-modules p, q being prime numbers and the product of which gives the module n.
  • a modular exponentiation with a long module is thus broken down into two modular exponentiations with shorter (typically half as long) sub-modules.
  • This method is advantageous in that only half as long arithmetic units are required or that, with the same length of an arithmetic unit, twice as long numbers can be used, which results in a more favorable ratio of security to chip area, that is generally in a better ratio of Performance at price results.
  • Mp c dp mod p.
  • Mq Another auxiliary variable Mq is calculated as follows:
  • the plain text message m is calculated as follows if c is the encrypted message:
  • the Chinese remainder set reduces the computing time efficiency or the chip area consumption of a security IC
  • the Chinese remainder set poses problems due to attacks on the cryptography system, such as B. so-called side-channel attacks, performance analyzes or
  • the object of the present invention is to provide a safe and efficient concept for calculating the modular exponentiation, which protects the RSA signature by means of CRT against error attacks.
  • the present invention is based on the knowledge that the security of the modular exponentiation, which is the basic operation for RSA encryption, can be increased even if the Chinese remainder theorem is used in order to be able to calculate the RSA exponentiation more efficiently.
  • Another advantage of the present invention is that existing crypto processors, with which the RSA exponentiation can be calculated using the CRT, do not have to be modified, but only the standard CRT parameters have to be modified, but not the central calculation steps for the calculation of the two modular exponents using the sub-modules. This means that all existing structures for key management of the RSA keys can continue to be used.
  • FIG. 1 shows a device for calculating the modular exposure according to a first exemplary embodiment of the present invention, in which the exponents of the auxiliary exponentiations are randomized;
  • FIG. 2a shows a section of a device for calculating the modular exponentiation according to a second
  • Embodiment of the present invention that can be used either alone or together with the first embodiment of the present invention, the sub-modules being randomized;
  • Fig. 3 is a schematic flow diagram of the RSA algorithm for encryption and decryption.
  • the input parameters are two prime numbers p, q, whose products result in the module n of the modular exponentiation.
  • Another input parameter is the key d.
  • the first exemplary embodiment of the present invention is illustrated using the decryption in the RSA algorithm.
  • An encrypted message c becomes private using the Key d the decrypted message m calculated according to the following equation:
  • the device according to the invention comprises a device 100 for calculating the first auxiliary variable dp according to the following equation:
  • Another device 102 for calculating a second auxiliary variable dq executes the following equation:
  • the device according to the invention for calculating a result of a modular exponentiation further comprises a device 104 for generating a random number IRND 104. This device is in turn followed by a device 106 in order to calculate a third auxiliary variable dp 'according to the following equation:
  • the third auxiliary variable dp ' is thus a randomized exponent of the first auxiliary exponentiation, which is calculated by means 110 for calculating the fifth auxiliary variable Mp, which is designed to carry out the following equation:
  • Mp c dp mod p.
  • a device 108 is provided to calculate a fourth auxiliary variable dq 'according to the following equation:
  • a means 112 calculates the sixth auxiliary variable Mq using the fourth auxiliary variable, which represents the randomized exponent of the second auxiliary exponentiation:
  • a device 114 finally calculates the result m, i.e. H. in the present example the decrypted message, according to the following equation:
  • a device according to a second exemplary embodiment of the present invention comprises a device 120 for generating a prime number T as a security parameter, which is preferably a relatively small prime number, so that the computing time advantage of the Chinese remaining sentence is not “sacrificed” too much in favor of security.
  • the result of the first auxiliary exponentiation Mp is then not used by the devices using the original auxiliary sub-modules p, q, but instead using the auxiliary sub-modules px T or qx T with the safety parameter 110 'or 112', the change in sub-modules p, q alone, ie without randomizing the
  • Auxiliary exponents dp 'and dq' provide increased security against cryptographic attacks.
  • the safest variant according to the present invention is to use both the randomization of the auxiliary exponents, as shown in FIG. 1, and the modified auxiliary modules, as shown in FIG. 2a.
  • the intermediate result check by the device 140 ensures that the algorithm is terminated even before a result is output if, for example, an error attack has been carried out on the security IC during the calculation of M p and / or M q .
  • This attack will fail because, in the event of such an attack, "CRT error" is generated by the device 140, so that no output is received and the error attack is therefore ineffective.
  • this protection by the intermediate result check is relatively inexpensive, since the parameter T is preferably a small prime number, so that the exponentiation in block 140 of FIG. 2b has a small exponent in comparison to the module.
  • 100 means for calculating a first auxiliary variable dp 102 means for calculating a second auxiliary variable dq 104 means for generating a random number IRND 106 means for generating a third auxiliary variable dp '108 means for generating a fourth auxiliary variable dq' 110 means for calculating a fifth auxiliary variable Mp 110 'means for generating the fifth auxiliary variable Mp using a modified sub-module 112 means for calculating a sixth auxiliary variable Mq 112' means for generating the sixth auxiliary variable Mq using a modified sub-module 114 means for calculating the result of the modular exponentiation 120 means for generating the Safety parameters T 140 device for calculating a seventh auxiliary variable H7 and an eighth auxiliary variable H8 142 device for confirming the correspondence of the seventh and eighth auxiliary variables 144 device for indicating an error in the CRT 200 Obtaining the public key 210 representing the message as a number 220 computing c 230 output c 240 channel

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Bei einer Vorrichtung zum Berechnen eines Ergebnisses einer modularen Exponentiation wird der chinesische Restsatz (CRT) verwendet, bei dem unter Verwendung von zwei Hilfsexponenten und zwei Untermodulen zwei Hilfs-Exponentiationen berechnet werden. Um die Sicherheit der RSA-CRT-Berechnung gegenüber kryptographischen Attacken zu verbessern, wird eine Randomisierung der Hilfs-Exponenten und/oder eine Veränderung der Untermodule durchgeführt. Damit ist eine sichere RSA-Entschlüsselung bzw. RSA-Verschlüsselung mittels des rechenzeiteffizienten chinesischen Restsatzes gegeben.

Description

Beschreibung
Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
Die vorliegende Erfindung bezieht sich auf die modulare Exponentiation und insbesondere auf die modulare Exponentiation unter Verwendung des chinesischen Restsatzes (CRT; CRT = Chinese Residue Theorem) .
Bevor näher auf das RSA-Kryptosystem eingegangen wird, seien zunächst einige Grundbegriffe der Kryptographie zusammengefaßt. Allgemein unterscheidet man zwischen symmetrischen Verschlüsselungsver ahren, die auch als Secret-Key- Verschlüsselungsverfahren bezeichnet werden, und Public-Key- Verschlüsselungsverfahren, welche auch als Verschlüsselungsverfahren mit öffentlichem Schlüssel bezeichnet werden.
Ein Kommunikationssystem mit zwei Parteien, welche eine Ver- schlüsselung mit symmetrischem Schlüssel verwenden, kann folgendermaßen beschrieben werden. Die erste Partei teilt ihren Verschlüsselungsschlüssel über einen sicheren Kanal der zweiten Partei mit. Dann verschlüsselt die erste Partei die geheime Nachricht mittels des Schlüssels und überträgt die ver- schlüsselte Nachricht über einen öffentlichen oder nichtgesicherten Kanal zu der zweiten Partei. Die zweite Partei entschlüsselt dann die verschlüsselte Nachricht unter Verwendung des symmetrischen Schlüssels, der der zweiten Partei ü- ber den gesicherten Kanal mitgeteilt worden ist. Ein wesent- liches Problem bei solchen Verschlüsselungssystemen besteht darin, ein effizientes Verfahren zum Austauschen der geheimen Schlüssel, d. h. zum Finden eines sicheren Kanals, zu schaffen.
Bei der asymmetrischen Verschlüsselung wird hingegen folgendermaßen vorgenommen. Eine Partei, die eine geheime Nachricht erhalten möchte, teilt ihren öffentlichen Schlüssel der ande- ren Partei, d. h. der Partei, von der sie eine geheime Nachricht erhalten möchte, mit. Der öffentliche Schlüssel wird über einen nicht-gesicherten Kanal, also über einen „öffentlichen" Kanal mitgeteilt.
Die Partei, die eine geheime Nachricht abschicken möchte, empfängt den öffentlichen Schlüssel der anderen Partei, verschlüsselt die Nachricht unter Verwendung des öffentlichen Schlüssels und sendet die verschlüsselte Nachricht wieder ü- " ber einen nicht-gesicherten Kanal, also über einen öffentlichen Kanal, zu der Partei, von der der öffentliche Schlüssel stammt. Lediglich die Partei, die den öffentlichen Schlüssel erzeugt hat, ist in der Lage, einen privaten Schlüssel bereitzustellen, um die verschlüsselte Nachricht zu entschlüs- sein. Nicht einmal die Partei, die unter Verwendung des öffentlichen Schlüssels ihre Nachricht verschlüsselt hat, ist in der Lage, die Nachricht zu entschlüsseln. Ein Vorteil dieses Konzepts besteht darin, daß zwischen den beiden Parteien kein gesicherter Kanal, also kein geheimer Schlüsselaustausch erforderlich ist. Die Partei, die die Nachricht verschlüsselt hat, muß und darf den privaten Schlüssel des Nachrichtenempfängers nicht kennen.
Ein physikalisches Analogon zum asymmetrischen Verschlüsse- lungskonzept oder Public-Key-Verschlüsselungskonzept stellt sich folgendermaßen dar. Es sei eine Metallkiste betrachtet, deren Deckel durch ein Kombinationsschloß gesichert ist. Die Kombination kennt nur die Partei, die eine verschlüsselte Nachricht erhalten möchte. Wenn das Schloß offen gelassen wird und öffentlich verfügbar gemacht wird, dann kann jeder, der eine geheime Nachricht absetzen will, diese Nachricht in die Metallkiste hinein legen und den Deckel verschließen. Nur der, von dem die Kiste stammt, kennt jedoch die Kombination des Kombinationsschlosses. Nur er ist in der Lage, die Nach- rieht zu entschlüsseln, d. h. die Metallkiste wieder zu öffnen. Selbst der, der die Nachricht in die Kiste hineingelegt hatte, ist nicht mehr in der Lage, dieselbe wieder herauszuholen.
Wesentlich für asymmetrische oder Public-Key-Verschlüsse- lungskonzepte ist das zugrunde liegende mathematische Problem, dessen Lösung unter Verwendung des öffentlichen Schlüssels zur Entschlüsselung nahezu unmöglich ist, dessen Lösung jedoch unter Kenntnis des privaten Schlüssels leicht möglich ist. Eines der bekanntesten Public-Key-Kryptosysteme ist das RSA-Kryptosystem. Das RSA-Kryptosystem ist im „Handbook of Applied Cryptography", Menezes, van Oorschot, Vanstone, CRC Press 1997, Seiten 285-291 beschrieben.
Anschließend wird auf Fig. 3 Bezug genommen, um den RSA-Algo- rithmus darzustellen. Ausgangslage ist, daß ein Kommunikationspartner eine Nachricht m verschlüsselt, die der andere Kommunikationspartner wieder entschlüsseln muß. Die verschlüsselnde Entität muß zunächst in einem Schritt 200 den öffentlichen Schlüssel (n, e) erhalten, um der anderen Partei überhaupt eine verschlüsselte Nachricht schicken zu können. Daran anschließend muß die verschlüsselnde Entität in einem Schritt 210 die zu verschlüsselnde Nachricht als Ganzzahl m darstellen, wobei m in dem Intervall von 0 bis n-1 liegen muß. In einem Schritt 220, welcher der eigentliche Verschlüs- selungsschritt ist, muß die verschlüsselnde Entität folgende Gleichung berechnen:
c = me mod n .
c ist die verschlüsselte Nachricht. Diese wird dann in einem Schritt 230 ausgegeben und über einen öffentlichen Kanal, der in Fig. 2 mit 240 bezeichnet ist, zu dem Empfänger der verschlüsselten Nachricht übertragen. Dieser empfängt in einem Schritt 250 die verschlüsselte Nachricht c und führt in einem Schritt 260, welcher der eigentliche Entschlüsselungsschritt ist, folgende Berechnung durch: m cd mod n .
Aus Fig. 3 ist zu sehen, daß zum Verschlüsseln lediglich der öffentliche Schlüssel (n, e) benötigt wird, jedoch nicht der private Schlüssel d, während beim Entschlüsseln der private Schlüssel d benötigt wird.
Fraglich ist nun, wie ein Angreifer ein RSA-Kryptosystem brechen kann. Ihm ist der öffentliche Schlüssel, also n und e bekannt. Er könnte nunmehr den Modul n in ein Produkt von zwei Primzahlen faktorisieren und dann den geheimen Schlüssel d genauso berechnen, wie es die Schlüssel-erzeugende authentische Partei gemacht hat. Der Angreifer müßte hierzu sämtliche mögliche Primzahlenpaare p', q' durchprobieren, um dann irgendwann unter Berücksichtigung von e auf den privaten Schlüssel d zu stoßen. Bei kleinen Primzahlen p und q ist dieses Problem relativ leicht einfach durch Durchprobieren zu lösen. Werden jedoch p und q, also der Modul n, der ja gleich der Produkt aus p und q ist, immer größer, so steigen die verschiedenen Möglichkeiten für die Faktorisierung des Moduls n in astronomische Höhen. Hierauf basiert die Sicherheit des RSA-System. Daraus ist zu sehen, daß ein sicheres RSA- Kryptosystem sehr lange Zahlen verwenden muß, welche beispielsweise 512, 1024 oder aber bis zu 2048 Bit lang sein können.
Aus Fig. 3 ist zu sehen, daß sowohl für eine RSA- Verschlüsselung, um aus einer nicht-verschlüsselten Nachricht m eine verschlüsselte Nachricht c zu erzeugen, als auch zum Entschlüsseln, also um aus einer verschlüsselten Nachricht c eine entschlüsselte Nachricht m zu erzeugen, eine modulare Exponentiation berechnet werden muß. Dies wird in Fig. 3 durch die Schritte 220 und 260 deutlich. Bei der Berechnung der modularen Exponentiation ist insbesondere dann der chine- sische Restsatz (CRT) günstig, wenn die verwendeten Ganzzahlen, und insbesondere der Modul n lange Zahlen sind. Wie es ausgeführt worden ist, basiert jedoch die Sicherheit des RSA- Algorithmus darauf, daß die Ganzzahlen lang sind.
Der chinesische Restsatz ist in dem „Handbook of Applied Cryptography, das vorher erwähnt wurde, auf Seite 610 ff beschrieben. Der chinesische Restsatz und insbesondere in seiner Ausprägung, die als Garner 's Algorithmus bekannt ist, basiert darauf, die modulare Exponentiation mit dem Modul n auf zwei modulare Exponentiationen zweiter Untermodule p, q auf- zuspalten, wobei die Untermodule p, q Primzahlen sind und wobei das Produkt derselben den Modul n ergibt. Eine modulare Exponentiation mit einem langen Modul wird somit auf zwei modulare Exponentiationen mit kürzeren (typischerweise halb so langen) Untermodulen zerlegt. Dieses Verfahren ist darin vor- teilhaft, daß lediglich halb so lange Rechenwerke benötigt werden bzw. daß, bei gleichbleibender Länge eines Rechenwerks doppelt so lange Zahlen verwendet werden können, was in einem günstigeren Verhältnis von Sicherheit zu Chipfläche, also allgemein in einem besseren Verhältnis von Leistung zu Preis resultiert.
Der chinesische Restsatz angewendet auf die beschriebene modulare Exponentiation stellt sich folgendermaßen dar. Zunächst werden zwei Primzahlen pq ermittelt, die möglichst na- hezu gleich lang sein sollten, und deren Produkt p x q den Modul n ergibt. Anschließend wird eine erste Hilfsgröße dp folgendermaßen berechnet:
dp = d mod (p - 1) .
Hierauf wird eine zweite Hilfsgröße dq berechnet:
dq = d mod (q - 1) .
Daran anschließend wird eine dritte Hilfsgröße Mp berechnet:
Mp = cdp mod p. Eine weitere Hilfsgröße Mq wird folgendermaßen berechnet:
Mq = cdq mod q.
In einem abschließenden Zusammenfassungsschritt wird schließlich das Ergebnis der modularen Exponentiation, d. h. im vorliegenden Beispiel die Klartext-Nachricht m folgendermaßen berechnet, wenn c die verschlüsselte Nachricht ist:
m = Mq + [ (Mp - Mq) x q_1 mod p] x q
Aus der vorangehenden Darstellung des chinesischen Restsatzes ist zu sehen, daß eine modulare Exponentiation mit einem langen Modul n in zwei modulare Exponentiationen mit halb so langen Untermodulen p, q zerlegt worden ist, und daß dann, im letzten Schritt, um die Klartextnachricht m zu berechnen, eine Zusammenfassungsoperation ausgeführt wird, in der die mul- tiplikative Inverse q_1 bezüglich eines Untermoduls p benö- tigt wird. Nachdem der Untermodul p kürzer als der ursprüngliche Modul n ist, ist auch die Berechnung der ultiplikati- ven Inversen q-1 z. B. unter Verwendung des erweiterten Euklidschen Algorithmus, mit vertretbarem Rechenaufwand möglich.
Obgleich die Verwendung des chinesischen Restsatzes die Rechenzeiteffizienz bzw. den Chipflächenverbrauch eines Si- cherheits-IC reduziert, birgt der chinesische Restsatz Probleme durch Angriffe auf das Kryptographiesystem, wie z. B. sogenannten Side-Channel-Attacken, Leistungsanalysen oder
Fehlerattacken. Ein Angreifer könnte solche Attacken auf den Algorithmus ausführen, um den privaten Schlüssel d zu „knacken" .
Im Falle der RSA-Verschlüsselung, also wenn aus der Klartextnachricht m eine verschlüsselte Nachricht c berechnet werden soll, ist das Sicherheitsproblem nicht derart evident, da zur Verschlüsselung einer Nachricht ohnehin nur der öffentliche Schlüssel e verwendet wird. Jedoch tritt das Problem bei der Verwendung von RSA als Signaturalgorithmus auf.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein sicheres und effizientes Konzept zur Berechnung der modularen Exponentiation zu schaffen, das die RSA-Signatur mittels CRT gegen Fehlerattacken schützt.
Diese Aufgabe wird durch eine Vorrichtung zum Berechnen eines Ergebnisses einer modularen Exponentiation gemäß Patentanspruch 1 oder 6 oder durch eine Vorrichtung zum Berechnen eines Ergebnisses einer modularen Exponentiation gemäß Patentanspruch 9 oder 10 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß die Sicherheit der modularen Exponentiation, die die Basisoperation für RSA-Verschlüsselungen ist, auch dann erhöht werden kann, wenn der chinesische Restsatz eingesetzt wird, um die RSA-Exponentiation effizienter berechnen zu können.
Dies wird dadurch erreicht, daß benötigte Hilfsgrößen für den chinesischen Restsatz randomisiert werden bzw. daß ein Sicherheitsparameter bei den modularen Exponentiationen für die Untermodule eingeführt wird. Die Randomisierung der Exponen- ten und/oder die durch den Sicherheitsparameter bewirkte Veränderung des Moduls der beiden „Hilfs-Exponentiationen" des chinesischen Restsatzes liefern eine erhöhte Sicherheit gegen Side-Channel-Attacken oder Fehlerattacken.
Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, daß bestehende Kryptoprozessoren, mit denen unter Verwendung des CRT die RSA-Exponentiation berechnet werden kann, nicht modifiziert werden müssen, sondern daß lediglich die CRT-Standardparameter modifiziert werden müssen, jedoch nicht die zentralen Rechenschritte zur Berechnung der beiden modularen Exponentiationen unter Verwendung der Untermodule. Dies bedeutet, daß sämtliche vorhandenen Strukturen für die Schlüsselverwaltung der RSA-Schlüssel weiter benutzt werden können.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
Fig. 1 eine Vorrichtung zum Berechnen der modularen Expo- nentiation gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung, bei dem die Exponenten der Hilfs-Exponentiationen randomisiert sind;
Fig. 2a einen Ausschnitt einer Vorrichtung zum Berechnen der modularen Exponentiation gemäß einem zweiten
Ausführungsbeispiel der vorliegenden Erfindung, das entweder allein oder zusammen mit dem ersten Ausführungsbeispiel der vorliegenden Erfindung verwendet werden kann, wobei die Untermodule randomisiert sind;
Fig. 2b eine Fehlerüberprüfungstechnik zum Überprüfen der Ergebnisse der Hilfs-Exponentiationen vor der Zusammenfassung der Ergebnisse; und
Fig. 3 ein schematisches Flußdiagramm des RSA-Algorithmus zur Verschlüsselung und zur Entschlüsselung.
Fig. 1 zeigt eine erfindungsgemäße Vorrichtung zum sicheren Berechnen des Ergebnisses einer modularen Exponentiation unter Verwendung des chinesischen Restsatzes. Eingangsparameter sind zwei Primzahlen p, q, deren Produkt den Modul n der modularen Exponentiation ergeben. Ein weiterer Eingabeparameter ist der Schlüssel d. Im nachfolgenden wird das erste Ausfüh- rungsbeispiel der vorliegenden Erfindung anhand der Entschlüsselung beim RSA-Algorithmus dargestellt. Aus einer verschlüsselten Nachricht c wird unter Verwendung des privaten Schlüssels d die entschlüsselte Nachricht m gemäß folgender Gleichung berechnet:
m = c mod n.
Die erfindungsgemäße Vorrichtung umfaßt eine Einrichtung 100 zum Berechnen der ersten Hilfsgröße dp gemäß folgender Gleichung:
dp = d mod (p - 1) .
Eine weitere Einrichtung 102 zum Berechnen einer zweiten Hilfsgröße dq führt folgende Gleichung aus:
dq = d mod (q - 1) .
Die erfindungsgemäße Vorrichtung zum Berechnen eines Ergebnisses einer modularen Exponentiation umfaßt ferner eine Einrichtung 104 zum Erzeugen einer Zufallszahl IRND 104. Dieser Einrichtung ist wiederum eine Einrichtung 106 nachgeschaltet, um eine dritte Hilfsgröße dp' gemäß folgender Gleichung zu berechnen:
dp' IRND x (p - 1) + dp.
Die dritte Hilfsgröße dp' ist somit ein randomisierter Exponent der ersten Hilfs-Exponentiation, die mittels einer Einrichtung 110 zum Berechnen der fünften Hilfsgröße Mp berechnet wird, die ausgebildet ist, um folgende Gleichung auszu- führen:
Mp = cdp mod p.
Analog hierzu ist eine Einrichtung 108 vorgesehen, um eine vierte Hilfsgröße dq' gemäß folgender Gleichung zu berechnen:
dq' = IRND (q - 1) + dq. Mittels der vierten Hilfsgröße, die den randomisierten Exponenten der zweiten Hilfs-Exponentiation darstellt, arbeitet eine Einrichtung 112 zum Berechnen der sechsten Hilfsgröße Mq:
Mq = cdq' mod q.
Eine Einrichtung 114 berechnet schließlich das Ergebnis m, d. h. im vorliegenden Beispiel die entschlüsselte Nachricht, gemäß folgender Gleichung:
m Mq + [ (Mp - Mq) x q mod p] x q.
Die für den RSA-Algorithmus benötigte modulare Exponentiation kann ferner sicherer gestaltet werden, wenn der Hilfsmodul d bzw. der Hilfsmodul q verändert werden. Dies ist in Fig. 2a dargestellt. Eine Vorrichtung gemäß einem zweiten Ausführungsbeispiel der vorliegenden Erfindung umfaßt eine Einrich- tung 120 zum Erzeugen einer Primzahl T als Sicherheitsparameter, die vorzugsweise eine relativ kleine Primzahl ist, damit der Rechenzeitvorteil des chinesischen Restsatzes nicht zugunsten der Sicherheit zu stark „geopfert" wird. Das Ergebnis der ersten Hilfs-Exponentiation Mp wird dann genauso wie das Ergebnis der zweiten Hilfs-Exponentiation Mq nicht unter Verwendung der ursprünglichen Hilfs-Untermodule p, q, sondern unter Verwendung der mit dem Sicherheitsparameter beaufschlagten Hilfs-Untermodule p x T bzw. q x T durch die Einrichtungen 110' bzw. 112' berechnet. Bereits die Veränderung der Untermodule p, q alleine, also ohne Randomisierung der
Hilfs-Exponenten dp' bzw. dq' liefert eine erhöhte Sicherheit gegenüber kryptographischen Attacken. Die sicherste Variante gemäß der vorliegenden Erfindung besteht jedoch darin, sowohl die Randomisierung der Hilfs-Exponenten, wie in Fig. 1 darge- stellt, als auch die veränderten Hilfs-Module, wie es in Fig. 2a dargestellt ist, zu verwenden. In diesem Fall würde die Vorrichtung zum Berechnen eines Ergebnisses einer modularen Exponentiation wie in Fig. 1 dargestellt ausgebildet sein, jedoch mit dem Unterschied, daß die Einrichtung 120 vorgesehen ist, und die Einrichtung 110 und 112 von Fig. 1 statt der Untermodule p, q die mit dem Sicherheitsparameter beauf- schlagten Untermodule pT bzw. qT verwenden.
Die Verwendung der mit dem Sicherheitsparameter beaufschlagten Untermodule zusammen mit den randomisierten Exponenten ermöglicht es, wie es in Fig. 2b dargestellt ist, vor der Be- rechnung des Ergebnisses unter Verwendung der Einrichtung 114 von Fig. 1 eine Hilfs-Berechnung durchzuführen, wie sie im Block 140 von Fig. 2b dargestellt ist. Wenn diese Gleichung erfüllt ist, kann eine Ausgabe erfolgen, daß der chinesische Restsatz (CRT) korrekt ausgeführt ist (Block 142) .
Ist die durch die Einrichtung 140 dargestellte Gleichheitsbedingung nicht erfüllt, kann eine Ausgabe 144 erfolgen. Tritt ein CRT-Fehler auf, so kann die Rechnung bereits hier vor der „Zusammenfassung" durch die Einrichtung 114 abgebrochen wer- den. Weiterhin ist ferner sichergestellt, daß die randomisierten Hilfsexponenten dp' und dq' auf die durch den Sicherheitsparameter veränderten Untermodule pT bzw. qT abgestimmt sind, wenn, wie es bevorzugt wird, sowohl die HilfsExponenten randomisiert werden als auch die Untermodule ver- ändert werden. Als Sicherheitsparameter T wird im Sinne eines Kompromisses zwischen CRT-Rechenersparnis und Sicherheit aufgrund der verlängerten Untermodule die relative kleine Primzahl 32771 bevorzugt.
Die Zwischenergebnisüberprüfung durch die Einrichtung 140 stellt sicher, dass bereits vor Ausgabe eines Ergebnisses der Algorithmus abgebrochen wird, wenn beispielsweise während der Berechnung von Mp und/oder Mq eine Fehlerattacke auf den Si- cherheits-IC ausgeführt worden ist. Diese Attacke wird schei- tern, da im Falle einer solchen Attacke „CRT-Fehler" durch die Einrichtung 140 erzeugt wird, so dass keine Ausgabe erfo- gen wird und die Fehlerattacke somit ins Leere geht. Des Wei- teren sei darauf hingewiesen, dass dieser Schutz durch die Zwischenergebnisprüfung relativ wenig aufwendig ist, da der Parameter T vorzugsweise eine kleine Primzahl ist, so dass die Exponentiation im Block 140 von Fig. 2b einen im Ver- gleich zum Modul kleinen Exponenten hat.
Bezugszeichenliste
100 Einrichtung zum Berechnen einer ersten Hilfsgröße dp 102 Einrichtung zum Berechnen einer zweiten Hilfsgröße dq 104 Einrichtung zum Erzeugen einer Zufallszahl IRND 106 Einrichtung zum Erzeugen einer dritten Hilfsgröße dp' 108 Einrichtung zum Erzeugen einer vierten Hilfsgröße dq' 110 -Einrichtung zum Berechnen einer fünften Hilfsgröße Mp 110 'Einrichtung zum Erzeugen der fünften Hilfsgröße Mp unter Verwendung eines veränderten Untermoduls 112 Einrichtung zum Berechnen einer sechsten Hilfsgröße Mq 112 'Einrichtung zum Erzeugen der sechsten Hilfsgröße Mq unter Verwendung eines veränderten Untermoduls 114 Einrichtung zum Berechnen des Ergebnisses der modularen Exponentiation 120 Einrichtung zum Erzeugen des Sicherheitsparameters T 140 Einrichtung zum Berechnen einer siebten Hilfsgröße H7 und einer achten Hilfsgröße H8 142 Einrichtung zum Bestätigen der Übereinstimmung der siebten und achten Hilfsgröße 144 Einrichtung zum Hinweisen auf einen Fehler im CRT 200 Erhalten des öffentlichen Schlüssels 210 Darstellen der Nachricht als Zahl 220 Berechnen von c 230 Ausgeben von c 240 Kanal
250 Empfangen von c 260 Berechnen von m

Claims

Patentansprüche
1. Vorrichtung zum Berechnen eines Ergebnisses einer modularen Exponentiation, wobei n ein Modul ist, wobei d ein Expo- nent ist, und wobei c eine Größe ist, die der modularen Exponentiation zu unterziehen ist, mit folgenden Merkmalen:
einer Einrichtung (100) zum Berechnen einer ersten Hilfsgröße dp, wobei dp folgendermaßen definiert ist:
dp = d mod (p - 1) ,
wobei p eine erste Primzahl ist;
einer Einrichtung (102) zum Berechnen einer zweiten Hilfsgröße dq, wobei dq folgendermaßen definiert ist:
dq = d mod (q - 1) ,
wobei q eine zweite Primzahl ist,
wobei ein Produkt aus p und q gleich dem Modul n ist;
einer Einrichtung (104) zum Erzeugen einer Zufallszahl (IRND);
einer Einrichtung (106) zum Erzeugen einer dritten Hilfsgröße dp', wobei dp' folgendermaßen definiert ist:
dp' = IRND x (p - 1) + dp;
einer Einrichtung (108) zum Erzeugen einer vierten Hilfsgröße dq', wobei dq' folgendermaßen definiert ist:
dq' = IRND x (q - 1) + dq; einer Einrichtung (110) zum Erzeugen einer fünften Hilfsgröße Mp, wobei die fünfte Hilfsgröße Mp folgendermaßen definiert ist:
Mp = cdp mod p;
einer Einrichtung (112) zum Erzeugen einer sechsten Hilfsgröße Mq, wobei die sechste Hilfsgröße Mq folgendermaßen definiert ist:
Mq = cdq' mod q; und
einer Einrichtung (114) zum Berechnen des Ergebnisses der modularen Exponentiation m, wobei in folgendermaßen definiert ist:
Mq + [ (Mp - Mq) x q mod p] x q.
2. Vorrichtung nach Anspruch 1, die ferner eine Einrichtung (120) zum Erzeugen eines Sicherheitsparameters T aufweist,
wobei die Einrichtung (110) zum Erzeugen der fünften Hilfsgröße Mp ausgebildet ist, um die fünfte Hilfsgröße folgendermaßen zu berechnen:
Mp = ^αP mod (pT) ; und
wobei die Einrichtung (112) zum Erzeugen der sechsten Hilfsgröße Mq ausgebildet ist, um die sechste Hilfsgröße Mq fol- gendermaßen zu berechnen:
Mq = cdq' mod (q x T) .
3. Vorrichtung nach Anspruch 2, die ferner eine Einrichtung zum Berechnen einer siebten Hilfsgröße H7 aufweist, wobei die siebte Hilfsgröße H7 folgendermaßen definiert ist: H7 = Mp x Mq mod T ; und
bei der ferner eine Einrichtung zum Berechnen einer achten Hilfsgröße H8 vorgesehen ist, wobei die achte Hilfsgröße H8 folgendermaßen definiert ist:
H8 = C ( '+dq')mod(T-l) mQd τ . und
eine Einrichtung zum Vergleichen der siebten und der achten Hilfsgröße, wobei die Einrichtung zum Vergleichen angeordnet ist, um auf einen Fehler hinzuweisen, wenn die siebte und die achte Hilfsgröße unterschiedlich sind.
4. Vorrichtung nach einem der vorhergehenden Ansprüche, die für eine RSA-Entschlüsselung oder RSA-Signatur vorgesehen ist, wobei m eine Klartextnachricht ist, wobei d ein geheimer Schlüssel ist, und wobei c eine verschlüsselte Nachricht ist.
5. Vorrichtung zum Berechnen eines Ergebnisses einer odula- ren Exponentiation, wobei n ein Modul ist, wobei d ein Exponent ist, und wobei c eine Größe ist, die der modularen Exponentiation zu unterziehen ist, mit folgenden Merkmalen:
einer Einrichtung (100) zum Berechnen einer ersten Hilfsgröße dp, wobei dp folgendermaßen definiert ist:
dp = d mod (p - 1) ,
wobei p eine erste Primzahl ist;
einer Einrichtung (102) zum Berechnen einer zweiten Hilfsgröße dq, wobei dq folgendermaßen definiert ist:
dq = d mod (q - 1) ,
wobei q eine zweite Primzahl ist, wobei ein Produkt aus p und q gleich dem Modul n ist;
eine Einrichtung (104) zum Bereitstellen eines Sicherheitsparameters T;
einer Einrichtung zum Erzeugen einer dritten Hilfsgröße p x T und einer vierten Hilfsgröße q x T;
einer Einrichtung (110) zum Erzeugen einer fünften Hilfsgröße Mp, wobei die fünfte Hilfsgröße Mp folgendermaßen definiert ist:
Mp = cdq mod (p x T) ;
einer Einrichtung (112) zum Erzeugen einer sechsten Hilfsgröße Mq, wobei die sechste Hilfsgröße Mq folgendermaßen definiert ist:
Mq = cdq mod (q x T) ; und
einer Einrichtung (114) zum Berechnen des Ergebnisses der modularen Exponentiation m, wobei m folgendermaßen definiert ist:
m = Mq + [ (Mp - Mq) x q_1 mod p] x q.
6. Vorrichtung nach Anspruch 5, bei der der Sicherheitsparameter T eine Primzahl ist.
7. Vorrichtung nach Anspruch 3 oder 5, bei der der Sicherheitsparameter T klein im Vergleich zu der ersten Primzahl p bzw. zu der zweiten Primzahl q ist.
8. Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation, wobei n ein Modul ist, wobei d ein Exponent ist, und wobei c eine Größe ist, die der modularen Exponentiation zu unterziehen ist, mit folgenden Schritten: Berechnen (100) einer ersten Hilfsgröße dp, wobei dp folgendermaßen definiert ist:
dp = d mod (p - 1) ,
wobei p eine erste Primzahl ist;
Berechnen (102) einer zweiten Hilfsgröße dq, wobei dq folgen- dermaßen definiert ist:
dq = d mod (q - 1) ,
wobei q eine zweite Primzahl ist,
wobei ein Produkt aus p und q gleich dem Modul n ist;
Bereitstellen (104) einer Zufallszahl (IRND) ;
Erzeugen (106) einer dritten Hilfsgröße dp', wobei dp' folgendermaßen definiert ist:
dp' = IRND x (p - 1) + dp;
Erzeugen (108) einer vierten Hilfsgröße dq', wobei dq' folgendermaßen definiert ist:
dq' = IRND x (q - 1) + dq;
Erzeugen (110) einer fünften Hilfsgröße Mp, wobei die fünfte Hilfsgröße Mp folgendermaßen definiert ist:
Mp = cdp mod p;
Erzeugen (112) einer sechsten Hilfsgröße Mq, wobei die sechste Hilfsgröße Mq folgendermaßen definiert ist: Mq = cdq' mod q; und
Berechnen (114) des Ergebnisses der modularen Exponentiation m, wobei m folgendermaßen definiert ist:
m = Mq + [ (Mp - Mq) x q"1 mod p] x q.
9. Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation, wobei n ein Modul ist, wobei d ein Exponent ist, und wobei c eine Größe ist, die der modularen Exponentiation zu unterziehen ist, mit folgenden Schritten:
Berechnen (100) einer ersten Hilfsgröße dp, wobei dp folgendermaßen definiert ist:
dp = d mod (p - 1) ,
wobei p eine erste Primzahl ist;
Berechnen (102) einer zweiten Hilfsgröße dq, wobei dq folgendermaßen definiert ist:
dq = d mod (q - 1) ,
wobei q eine zweite Primzahl ist,
wobei ein Produkt aus p und q gleich dem Modul n ist;
Erzeugen (104) eines Sicherheitsparameters T;
Erzeugen einer dritten Hilfsgröße p x T und einer vierten Hilfsgröße q x T;
Erzeugen (110) einer fünften Hilfsgröße Mp, wobei die fünfte Hilfsgröße Mp folgendermaßen definiert ist:
Mp = cdp mod (p x T) ; Erzeugen (112) einer sechsten Hilfsgröße Mq, wobei die sechste Hilfsgröße Mq folgendermaßen definiert ist:
Mq = cdq mod (q x T) ; und
Berechnen (114) des Ergebnisses der modularen Exponentiation m, wobei m folgendermaßen definiert ist:
m = Mq + [ (Mp - Mq) x q-1 mod p] x q.
EP02797920A 2001-09-06 2002-08-22 Vorrichtung und verfahren zum berechnen eines ergebnisses einer modularen exponentiation Withdrawn EP1423786A2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10143728A DE10143728B4 (de) 2001-09-06 2001-09-06 Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
DE10143728 2001-09-06
PCT/EP2002/009405 WO2003023605A2 (de) 2001-09-06 2002-08-22 Vorrichtung und verfahren zum berechnen eines ergebnisses einer modularen exponentiation

Publications (1)

Publication Number Publication Date
EP1423786A2 true EP1423786A2 (de) 2004-06-02

Family

ID=7697946

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02797920A Withdrawn EP1423786A2 (de) 2001-09-06 2002-08-22 Vorrichtung und verfahren zum berechnen eines ergebnisses einer modularen exponentiation

Country Status (5)

Country Link
US (1) US7248700B2 (de)
EP (1) EP1423786A2 (de)
CN (1) CN1554047A (de)
DE (1) DE10143728B4 (de)
WO (1) WO2003023605A2 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2830146B1 (fr) * 2001-09-24 2003-10-31 Gemplus Card Int Procede de mise en oeuvre, dans un composant electronique, d'un algorithme de cryptographie et composant correspondant
DE10222212A1 (de) 2002-05-16 2003-12-04 Giesecke & Devrient Gmbh Ausspähungsgeschützte modulare Inversion
DE50302617D1 (de) * 2002-09-11 2006-05-04 Giesecke & Devrient Gmbh Geschützte kryptographische berechnung
DE10304451B3 (de) * 2003-02-04 2004-09-02 Infineon Technologies Ag Modulare Exponentiation mit randomisiertem Exponenten
FR2858496B1 (fr) * 2003-07-31 2005-09-30 Gemplus Card Int Procede pour la mise en oeuvre securisee d'un algorithme de cryptographie de type rsa et composant correspondant
JP4626148B2 (ja) * 2004-01-07 2011-02-02 株式会社日立製作所 復号または署名作成におけるべき乗剰余算の計算方法
US7426749B2 (en) * 2004-01-20 2008-09-16 International Business Machines Corporation Distributed computation in untrusted computing environments using distractive computational units
FR2880148A1 (fr) * 2004-12-23 2006-06-30 Gemplus Sa Procede d'exponentiation securisee et compacte pour la cryptographie
FR2887351A1 (fr) * 2005-06-16 2006-12-22 St Microelectronics Sa Protection d'un calcul d'exponentiation modulaire effectue par un circuit integre
FR2888690A1 (fr) * 2005-07-13 2007-01-19 Gemplus Sa Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe
US8150029B2 (en) 2005-12-29 2012-04-03 Proton World International N.V. Detection of a disturbance in a calculation performed by an integrated circuit
US9313027B2 (en) * 2005-12-29 2016-04-12 Proton World International N.V. Protection of a calculation performed by an integrated circuit
FR2898199A1 (fr) * 2006-03-02 2007-09-07 Gemplus Sa Procede de securisation de l'execution d'une suite d'etapes logiquement enchainees
US20080104402A1 (en) * 2006-09-28 2008-05-01 Shay Gueron Countermeasure against fault-based attack on RSA signature verification
US8280041B2 (en) * 2007-03-12 2012-10-02 Inside Secure Chinese remainder theorem-based computation method for cryptosystems
EP1998491A1 (de) * 2007-05-31 2008-12-03 Thomson Licensing Verfahren zur Berechnung von komprimierten RSA-Moduli
FR2919739B1 (fr) * 2007-08-03 2009-12-04 Oberthur Card Syst Sa Procede de traitement de donnees protege contre les attaques par generation de fautes et dispositif associe
CN100576226C (zh) * 2008-07-10 2009-12-30 浙江工业大学 基于中国剩余定理的数据库加密方法
FR2977952A1 (fr) * 2011-07-13 2013-01-18 St Microelectronics Rousset Protection d'un calcul d'exponentiation modulaire par multiplication par une quantite aleatoire
CN103580869B (zh) * 2013-11-06 2016-09-21 北京华大信安科技有限公司 一种crt-rsa签名方法及装置
FR3112003B1 (fr) * 2020-06-26 2023-03-03 Idemia France Procede de traitement cryptographique, dispositif electronique et programme d'ordinateur associes

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1318027C (en) * 1987-10-12 1993-05-18 Jun Takayama Method and apparatus for encoding and decoding data in residue number system
GB2318892B (en) * 1996-10-31 2001-07-11 Motorola Ltd Co-processor for performing modular multiplication
US6282290B1 (en) * 1997-03-28 2001-08-28 Mykotronx, Inc. High speed modular exponentiator
US5991415A (en) * 1997-05-12 1999-11-23 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
ATE325478T1 (de) * 1998-01-02 2006-06-15 Cryptography Res Inc Leckresistentes kryptographisches verfahren und vorrichtung
DE19811833A1 (de) * 1998-03-18 1999-09-30 Siemens Ag Schlüsselaustauschprotokoll
JP3551853B2 (ja) * 1999-08-27 2004-08-11 日本電気株式会社 αYa+βXb+1=0という形の定義方程式をもつ代数曲線暗号における安全なパラメータの生成装置、生成方法、および記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO03023605A2 *

Also Published As

Publication number Publication date
DE10143728B4 (de) 2004-09-02
US20040215685A1 (en) 2004-10-28
CN1554047A (zh) 2004-12-08
DE10143728A1 (de) 2003-04-03
US7248700B2 (en) 2007-07-24
WO2003023605A3 (de) 2004-04-01
WO2003023605A2 (de) 2003-03-20

Similar Documents

Publication Publication Date Title
DE10143728B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
EP0472714B1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
DE60200496T2 (de) Verfahren und Vorrichtung zur Ausführung eines effizienten mittels Kennwort authentifizierten Schlüsselaustauschs
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
CH660822A5 (de) Zufallsprimzahlen-erzeugungsmittel in einer mit oeffentlichem schluessel arbeitenden daten-verschluesselungsanlage.
DE2843583A1 (de) Verfahren und vorrichtung zum entschluesseln verschluesselter nachrichten
EP2656535B1 (de) Kryptographisches verfahren
EP1368929B1 (de) Verfahren zur authentikation
DE102016210786A1 (de) Komponente zur Anbindung an einen Datenbus und Verfahren zur Umsetzung einer kryptografischen Funktionalität in einer solchen Komponente
DE102018009943A1 (de) Verfahren zum Erzeugen einer blinden Signatur
EP1346509B1 (de) Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Sclüsseln
EP2684312B1 (de) Verfahren zur authentisierung, rf-chip-dokument, rf-chip-lesegerät und computerprogrammprodukte
DE60105449T2 (de) Verfahren zur Steigerung der Sicherheit eines Verschlüsselungsverfahrens mit öffentlichen Schlüsseln
WO2021156005A1 (de) Schlüsselgenerierung und pace mit sicherung gegen seitenkanalangriffe
EP1454260B1 (de) Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt)
DE10328860A1 (de) Vorrichtung und Verfahren zum Verschlüsseln von Daten
DE10042234C2 (de) Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor
EP3525414A1 (de) Verfahren zur verschlüsselten übertragung von daten auf einer kryptographisch geschützten, unverschlüsselten kommunikationsverbindung
EP3899845A1 (de) Verfahren zum erhalten einer blinden signatur
EP1062763B1 (de) Schlüsselaustauschverfahren
DE102022002399A1 (de) Schlüsselgenerierung und PACE mit Sicherung gegen Seitenkanalangriffe
DE102007014971B4 (de) Versteckte Sicherheitsmerkmale in digitalen Signaturen
DE10162584A1 (de) Verfahren und Vorrichtung zum Absichern einer Exponentiations-Berechnung mittels dem chinesischen Restsatz (CRT)
DE102006012180A1 (de) Kryptographisches Verfahren

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20040223

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

17Q First examination report despatched

Effective date: 20040920

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20050331