DE102019008199B3 - Gegen Seitenkanalangriffe geschützte Exponentiation, Primzahltest und RSA Schlüsselgenerierung - Google Patents

Gegen Seitenkanalangriffe geschützte Exponentiation, Primzahltest und RSA Schlüsselgenerierung Download PDF

Info

Publication number
DE102019008199B3
DE102019008199B3 DE102019008199.4A DE102019008199A DE102019008199B3 DE 102019008199 B3 DE102019008199 B3 DE 102019008199B3 DE 102019008199 A DE102019008199 A DE 102019008199A DE 102019008199 B3 DE102019008199 B3 DE 102019008199B3
Authority
DE
Germany
Prior art keywords
base
exponentiation
exponent
multiplications
computer
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.)
Active
Application number
DE102019008199.4A
Other languages
English (en)
Inventor
Jürgen Pulkus
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.)
Giesecke and Devrient ePayments GmbH
Original Assignee
Giesecke and Devrient Mobile Security GmbH
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 Giesecke and Devrient Mobile Security GmbH filed Critical Giesecke and Devrient Mobile Security GmbH
Priority to DE102019008199.4A priority Critical patent/DE102019008199B3/de
Application granted granted Critical
Publication of DE102019008199B3 publication Critical patent/DE102019008199B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/3033Public 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 details relating to pseudo-prime or prime number generation, e.g. primality test
    • 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/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung schafft ein computerimplementiertes Verfahren zum Durchführen einer modularen Exponentiation, bei welchem die Exponentenbits mit Kombinationen von Zufallszahlen verschleiert sind. Die Form der Verschleierung ist so, dass im Square and Multiply Verfahren implementierte Exponentiationen, bei denen die Multiplikation durch Verschieben in einem Register oder anderen Speicherort verwirklicht ist, gegen Seitenkanalangriffe gut geschützt sind.

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft ein computerimplementiertes Verfahren zur zumindest teilweisen Generierung eines kryptographischen Schlüssels, umfassend Durchführen einer modularen Exponentiation und eine darauf basierende Primzahlprüfung wie sie in Verfahren zur Generierung von RSA-Schlüsseln mit einer solchen Primzahlprüfung verwendet wird.
  • Stand der Technik
  • RSA ist ein asymmetrisches kryptographisches System, das zum Verschlüsseln und zur Erzeugen digitaler Signaturen anwendbar ist. Das RSA System umfasst einen öffentlichen Schlüssel, gebildet durch eine Zahlenpaar e,N, und einen privaten Schlüssel, gebildet durch eine Zahlenpaar d,N, wobei N der Modulus ist, e der öffentliche Exponent und d der geheime Exponent. Der Modulus ist gebildet durch das Produkt N=p*q zweier Primzahlen p, q. Der öffentliche Exponent e wird ausgewählt. Der geheime Exponent d wird berechnet als das multiplikativ Inverse des öffentlichen Exponenten e bezüglich der von dem Modulus und den beiden Primzahlen p, q abgeleiteten Eulerschen Funktion Phi(N) = (p-1)*(q-1).
  • Der Hauptzeitaufwand bei der Generierung der RSA-Schlüssel e,N und d,N entfällt auf das Auffinden der beiden Primzahlen p und q. Zum Auffinden der Primzahlen p, q werden Zufallszahlen erzeugt und auf ihre Primzahleigenschaft überprüft. Ist die Zufallszahl gemäß der Überprüfung keine Primzahl oder mit anderen Worten eine zusammengesetzte Zahl, wird sie verworfen. Andernfalls wird die Zufallszahl weiter geprüft, bis mit ausreichend hoher Wahrscheinlichkeit feststeht, dass die Zufallszahl eine Primzahl ist.
  • Ein bekannter Test zur Überprüfung der Primzahleigenschaft einer Zahl n ist der Fermattest. Ein weiterer bekannter, dem Fermattest vom Grundschema her ähnlicher Primzahltest ist der Miller-Rabin-Test. Beim Fermattest wird ein a kleiner n ausgewählt, und dass geprüft ob a und n teilerfremd sind. Weiter wird geprüft, ob die Gleichung a^(n-1) mod n = 1 erfüllt ist. Falls die Gleichung nicht erfüllt ist, ist n keine Primzahl. Falls die Gleichung erfüllt ist, ist keine Aussage möglich, und weitere Primzahltests werden durchgeführt. Nach Vorauswahl mittels Ausschluss kleiner Primteiler besteht etwa jeder 30. zufällig gewählte Kandidat p einen Fermattest (die Anzahl der zu überprüfenden Kandidaten hängt u.a. von der Bitlänge des Exponenten ab, sowie bis zu welcher Größe kleine Primteiler ausgeschlossen werden). Nach Bestehen eines Fermattests folgt eine von der Größe von p abhängige Anzahl von Miller-Rabin-Tests bis mit ausreichend hoher Wahrscheinlichkeit feststeht, dass der Kandidat p für eine Primzahl prim ist.
  • Zu computerimplementierten Berechnung der Exponentiation a^(n-1) wird der Exponent n-1 in der Regel in Binärdarstellung dargestellt, das heißt als eine Folge von Exponentenbits, die einen Wert von entweder Null oder Eins haben. Die Exponentiation a^(n-1) wird üblicherweise durch das Squareand Multiply-Verfahren durchgeführt, bei dem der binär dargestellte Exponent Exponentenbit-weise durch eine Aufeinanderfolge von Quadrierungen und Multiplikationen abgearbeitet wird. Ist ein Exponentenbit Null, wird eine Quadrierung der Basis a durchgeführt, ist ein Exponentenbit Eins, wird eine Quadrierung der Basis a zuzüglich einer Multiplikation mit der Basis a durchgeführt.
  • Sei e = 37_10(dezimal) = 100101_2(binär) = 2*(2*(2*(2*(2*1+0)+0)+1)+0)+1. Dann lässt sich der Wert a^e (immer modulo p) nach dem Square and Multiply Verfahren berechnen wie folgt.
  • Lege fest a0 = a,
    Berechne a1 = (a0^2) * 1 (innerste Multiplikation mit +0, da a^0 = 1), entsprechend einer Quadrierung der Basis a,
    Berechne a2 = (a1^2) * 1 (zweitinnerste Multiplikation mit +0), entsprechend einer Quadrierung der Basis a,
    Berechne a3 = (a2^2) * a (nach der drittinnersten Multiplikation wird 1 addiert und a^1 = a), entsprechend einer Quadrierung der Basis a zuzüglich einer Multiplikation mit der Basis a,
    Berechne a4 = (a3^2) * 1 (entsprechend der +0), entsprechend einer Quadrierung der Basis a,
    Berechne a5 = (a4^2) * a, entsprechend einer Quadrierung der Basis x zuzüglich einer Multiplikation mit der Basis a.
  • Für Exponentiationen mit einer Basis a=2 lässt sich eine Multiplikation im Square- and Multiply Verfahren dadurch bewerkstelligen, dass an den in Binärdarstellung dargestellten Exponenten eine Null angehängt wird. Für einen Exponenten, der in einem Register abgelegt ist, bedeutet das Anhängen der Null ein Verschieben des Exponenten im Register um eine Bitposition nach links, oder anders ausgedrückt einen Left-Shift im Register.
  • Hierdurch lässt sich bei Basis 2 das Square- and Multiply-Verfahren vereinfachen auf eine Folge von Quadrierungen und Left-Shifts im Register, wobei letztere als Ersatz für dazwischenliegenden Multiplikationen eingesetzt werden. Durch die höhere Geschwindigkeit der Left-Shifts im Vergleich zu Multiplikationen ist ein Square- and Multiply-Verfahren, bei dem die Multiplikationen durch Left-Shifts im Register ersetzt sind, signifikant schneller.
  • Nachteilig am Square- and Multiply-Verfahren, bei dem die Multiplikationen durch Left-Shifts im Register ersetzt sind, ist, dass es anfälliger ist gegenüber Seitenkanalangriffen, wie beispielsweise Stromanalyse (beispielsweise Single Power Attack SPA oder Differential Power Attack DPA) als das herkömmliche Square- and Multiply-Verfahren. Bei einem Seitenkanalangriff auf eine Berechnung wird eine messbare Größe, die während der Berechnung entsteht, gemessen und ausgewertet, mit dem Ziel in der Berechnung verarbeitete geheime Information, z.B. Exponentenbits einer Exponentiation falls die Berechnung eine Exponentiation ist, auszuspähen.
  • Das Dokument EP3287892B1 offenbart ein Verfahren zum Durchführen einer modularen Exponentiation, M^d mod N, bei welchem der Modulus N zur Verschleierung mit einer Zufallszahl multipliziert wird.
  • Das Dokument EP3166013B1 offenbart ein Verfahren zum Durchführen einer modularen Exponentiation, wobei anstelle des Exponenten eine randomisierte Additionskette verwendet wird.
  • Das Dokument US 2009/ 0 097 637 A1 offenbart ein Verfahren zur modularen Exponentiation von Daten mit einem Exponenten, wobei der Wert der Daten auf Grundlage einer Zufallszahl randomisiert wird und eine Ausgabe der Exponentiation unter Verwendung des inversen Wertes dieser Zufallszahl erzeugt wird.
  • Das Dokument DE 10 2005 037 598 A1 offenbart ein Verfahren, im RSA, zur modularen Exponentiation einer Nachricht mit einem Exponenten, wobei sowohl die Nachricht als auch der Exponent maskiert sind, die Nachricht beispielsweise mit einer Zufallszahl, die zum RSA-Modul prim ist, und der Exponent beispielsweise mit einer ganzen Zahl, die zur Eulerschen Funktion prim ist.
  • Zusammenfassung der Erfindung
  • Der Erfindung liegt die Aufgabe zu Grunde, ein computerimplementiertes Verfahren zur zumindest teilweisen Generierung eines kryptographischen Schlüssels, umfassend zum Durchführen einer modularen Exponentiation, zu schaffen, das eine erhöhte Resistenz gegen Seitenkanalangriffe hat. Speziell soll ein solches Verfahren angegeben werden, das den Einsatz von Left-Shifts anstelle von Multiplikationen im Square- and Multiply-Verfahren erlaubt und dennoch ausreichend resistent gegen Seitenkanalangriffe ist. Weiter soll ein Primzahltest angegeben werden, zur Verwendung in einem RSA-Schlüsselgenerierungsverfahren. Die zumindest teilweise Generierung des Schlüssels ist dahingehend zu verstehen, dass die Exponentiation vorzugsweise einen Teil eines Primzahltests bildet, und der Primzahltest wiederum vorzugsweise einen Teil einer Generierung eines kryptographischen Schlüssels, insbesondere RSA-Schlüssels, bildet.
  • Die Aufgabe wird gelöst durch ein computerimplementiertes Verfahren nach Anspruch 1.
  • Das erfindungsgemäße Verfahren nach Anspruch 1 ist eingerichtet zur zumindest teilweisen Generierung eines kryptographischen Schlüssels, umfassend Durchführen einer modularen Exponentiation, b := ae mod N, einer Basis a mit einem Exponenten e der Bitlänge 1 mit Binärdarstellung e = Σ0≤i<1 ei. 2i, ei aus {0,1} für i = 0 ... l - 1, bezüglich eines Modulus N, dadurch gekennzeichnet, dass die modulare Exponentiation durchgeführt wird als b k 0 : = a Σ I k 0   e j l 2 i k 0 m o d  N ,
    Figure DE102019008199B3_0001
    für ein k 0 < l , b k : = b k + 1 2 a e k l   m o d  N ,
    Figure DE102019008199B3_0002
    für k = k0-1, ... 1, 0, so dass b0 = ae' = ae mod N für k = k 0 1 , ,1,0,
    Figure DE102019008199B3_0003
    b 0 = a e l = a e   m o d  N f u ¨ e i l = e i + 2 r i + 1 r i ,
    Figure DE102019008199B3_0004
    und damit e l : = Σ 0 i < i e i l 2 i = e ,
    Figure DE102019008199B3_0005
    wobei ri ≥ 0 Zufallszahlen derart sind, dass e i l 0
    Figure DE102019008199B3_0006
    für alle i.
  • Ein Exponentenbit ei ist somit während seiner Abarbeitung in der Computerimplementierung durch eine Kombination von Zufallszahlen ri verschleiert. Somit ist durch die Verschleierung der einzelnen Exponentenbits ei mit jeweils einer Kombination (z.B. Sequenz) von Zufallszahlen ri das Ausspähen der Exponentenbits über Seitenkanalangriffe erschwert.
  • Damit ist gemäß Anspruch 1 ein computerimplementiertes Verfahren zur zumindest teilweisen Generierung eines kryptographischen Schlüssels, umfassend Durchführen einer modularen Exponentiation, geschaffen, das eine erhöhte Resistenz gegen Seitenkanalangriffe hat.
  • Die Form der Verschleierung ist so, dass im Square and Multiply Verfahren implementierte Exponentiationen, bei denen die Multiplikation durch Verschieben in einem Register oder anderen Speicherort verwirklicht ist, gegen Seitenkanalangriffe gut geschützt sind, wie weiter unten noch gezeigt wird.
  • Die Kombination (z.B. Sequenz) von Zufallszahlen ri wird bei einer nachfolgenden Exponentiation bevorzugt wieder neu zufällig festgelegt, um statistische Auswertungen über mehrere Exponentiationen weiter zu erschweren.
  • Wahlweise werden die Zufallszahlen rt aus dem Intervall (bzw. aus der Menge) [3, 4, 5, 6] zufällig ausgewählt. Dies ergibt Werte von 2 · ri+1 aus der Menge [6, 8, 10, 12]. Zuzüglich der in die Formel für e i l
    Figure DE102019008199B3_0007
    eingesetzten Exponentenbits ei = 0 oder 1 , abzüglich der nachfolgenden Zufallszahl, ergibt sich ein Intervall [6, ..., 13]. Hierdurch wird erreicht, dass die Werte e i l
    Figure DE102019008199B3_0008
    im Intervall [0, 1, 2,3, 4, 5, 6, 7, 8, 9, 10] liegen. Dies ist eine akzeptable Schwankungsbreite für e i l ,
    Figure DE102019008199B3_0009
    bei einer moderaten Anzahl von möglichen Zufallszahlen, die berücksichtigt werden müssen. Alternativ kann das Intervall für die Zufallszahlen ri auch größer oder kleiner sein. Wahlweise beginnt das Intervall der möglichen Zufallszahlen bei 3, insbesondere falls jedes Mal genau zwei Bit Zufall verwendet werden.
  • Die der Erfindung zugrunde liegende Exponentiation der Basis a mit dem Exponenten e setzt auf dem Square- and Multiply Verfahren auf, und verleiht ihm Eigenschaften eines Fenster-Verfahrens.
  • Gemäß Ausführungsformen der Erfindung wird die Exponentiation der Basis a mit dem Exponenten e nach einem optimierten Square- and Multiply-Verfahren durchgeführt, bei dem die Multiplikation dahingehend optimiert ist, dass die Multiplikation als ein logisches Verschieben des Exponenten e in dem binär codierten elektronischen Speicherort, insbesondere Register, des Computers, auf dem das Verfahren implementiert ist, verwirklicht ist. Das Verschieben ist dabei derart, dass eine Multiplikation mit der Basis a erreicht wird. Ein logisches Verschieben, insbesondere logisches Linksschieben, in einem Register um eine Anzahl von f Bits (f = z.B. 1 oder 2 oder 3 oder ...) wird beispielsweise dadurch erreicht, dass das Register um diese Anzahl f von Bits verlängert wird, als die im Register zu verarbeitende Zahl, indem eine Anzahl von f Nullen an die Zahl angehängt werden.
  • Ein Exponentiations-Verfahren, implementiert nach Art des Square and Multiply Verfahrens, bei dem die Multiplikationen des Square and Multiply Verfahrens als Verschiebungen in einem Register oder vergleichbaren Speicherort des Computers verwirklicht sind, ist besonders schnell und effizient, und daher vorteilhaft. Beim herkömmlichen Verschieben im Register/Speicherort wird ein Exponentenbit, das einen bestimmten Wert hat, stets um dieselbe Distanz im Register/ Speicherort verschoben. Aus der Verschiebedistanz können Rückschlüsse auf den Wert des Exponentenbits gezogen werden. Mit der erfindungsgemäßen Verschleierung der Exponentenbits ei während ihrer Abarbeitung in der Computerimplementierung durch Kombinationen von Zufallszahlen ri variiert die Verschiebedistanz eines Exponentenbits ei entsprechend der Kombinationen von Zufallszahlen ri , die bei der Verschleierung eingesetzt wird. Somit ist das Verschieben der Exponentenbits besser gegenüber Seitenkanalangriffen geschützt als ein herkömmliches, ungeschütztes Verschieben der Exponentenbits.
  • Je größer der Wert a für die Basis ist, umso höher ist die Anzahl Register/ Speicherorte, die für das oben beschriebene Verfahren mit Verschiebungen benötigt werden, weshalb kleine Basen a vorteilhaft sind.
  • Wahlweise wird als Basis a = 2 ausgewählt oder festgelegt. Andere Werte der Basis a sind ebenfalls möglich, beispielsweise 3, 4, 5, 6, 7, 8, ..... Vorzugsweise ist die Basis eine Zweierpotenz a^z, z = 1, 2, 3, 4, 5, ..., d.h. a = 2, 4, 8, 16, ... und weiter bevorzugt a = 2. Die Basis a = 2 und weitere Zweierpotenzen sind insbesondere bei Ausführungsformen bevorzugt, bei denen die Multiplikationen des Square and Multiply Verfahrens als Verschiebungen in einem Register oder vergleichbaren Speicherort verwirklicht sind, da die Verwirklichung von Multiplikationen durch Verschieben im Register nur bei Basen möglich ist, die eine Zweierpotenz sind. Die Basis a = 2 ist besonders bevorzugt, da hiermit die Anzahl Register / Speicherorte vergleichsweise klein ist.
  • Alternativ kann eine größere Basis a > 2 verwendet werden, und stattdessen wird die Auswahl der Zufallszahlen auf ri beschränkt, die um maximal einen Höchstwert variieren, beispielsweise maximal um eins, 2, 3, ... variieren.
  • Das computerimplementiertes Verfahren zum Durchführen einer modularen Exponentiation wird bevorzugt eingesetzt in einem Primzahltest, der auf Exponentiation basiert, z.B. einem Fermattest.
  • Das computerimplementierte Verfahren zum Durchführen einer modularen Exponentiation wird weiter bevorzugt eingesetzt in einem computerimplementierten Verfahren zur Generierung von RSA-Schlüsseln umfassend einen öffentlichen Schlüssel e,N und einen privaten Schlüssel d,N , das Verfahren umfassend das Auffinden zweier Primzahlen p und q unter Anwendung eines computerimplementierten Verfahrens zum Durchführen eines Primzahltests, um die Primzahlen p und q aufzufinden.
  • Figurenliste
  • Im Folgenden wird die Erfindung an Hand von Ausführungsbeispielen und unter Bezugnahme auf die Zeichnung näher erläutert, in der zeigen:
    • 1 ein Schaubild zur Veranschaulichung einer Multiplikation eines Werts R in Binärdarstellung, d.h. in Darstellung mit Basis a = 2, die durch Verschieben des Werts R im Register um a=2 verwirklicht ist,
    • 2 Bestandteile der erfindungsgemäßen Formel zur Exponentiation.
  • Detaillierte Beschreibung von Ausführungsbeispielen
  • 1 zeigt ein Schaubild zur Veranschaulichung einer Multiplikation eines Werts R, der in einem Register REG abgelegt ist. R ist in Binärdarstellung angegeben, d.h. in Darstellung mit Basis a = 2. Die Wertigkeit der Bits des dargestellten Registers REG ist links an höchsten und rechts am geringsten. Die Multiplikation ist durch Verschieben des Werts R im Register REG um a=2 nach links, in Richtung der höherwertigen Bits, verwirklicht. Zeile a) zeigt einen sechs Bit langen Wert R = 011111. Zeile b) zeigt den Vorgang der Multiplikation des Werts R mit der Basis a= 2, angedeutet durch einen Pfeil, der den Wert R im Register um ein Bit nach links verschiebt. Zeile c) zeigt den multiplizierten Wert R*2. Nun ist jedes Bit des Registers um einen Wert nach links verschoben, und ganz rechts eine 0 angefügt. Die ursprünglich enthaltende führende 0, die den Wert von R* nicht beeinflusst, ist nicht mehr im Register, da dieses nur sechs Stellen hat. Multiplikation mit 2*2 würde die Bits im Register REG um zwei Positionen verschieben.
  • 2 zeigt Bestandteile der erfindungsgemäßen Formel zur Exponentiation.

Claims (7)

  1. Computerimplementiertes Verfahren zur zumindest teilweisen Generierung eines kryptographischen Schlüssels, umfassend ein Durchführen einer modularen Exponentiation, b := ae mod N, einer Basis a mit einem Exponenten e der Bitlänge 1 mit Binärdarstellung e = Σ0≤1<1 ei .2i , ei aus {0,1} für i = 0 ... l - 1, bezüglich eines Modulus N, dadurch gekennzeichnet, dass die modulare Exponentiation durchgeführt wird als b k 0 : = a Σ I k 0   e j l 2 i k 0 m o d   N ,
    Figure DE102019008199B3_0010
    für k 0 < l ,   b k : = b k + 1 2 a e k l
    Figure DE102019008199B3_0011
    für k = k0 - 1, k0 - 2 ... , 1, 0, so dassb0 = ae' = ae mod N für e i l = e i + 2 r i + 1 r i
    Figure DE102019008199B3_0012
    und damit e l : = Σ 0 i l e i l 2 i = e ,
    Figure DE102019008199B3_0013
    wobei ri ≥ 0 Zufallszahlen derart sind, dass e i l 0
    Figure DE102019008199B3_0014
    für alle i.
  2. Verfahren nach Anspruch 1, wobei die Exponentiation der Basis a mit dem Exponenten e im Term k 0 < l , b k : = b k + 1 2 a e k l
    Figure DE102019008199B3_0015
    k0 Quadrierungen von bk+1 und Multiplikationen von bk+1 mit der Basis a umfasst, wobei Multiplikationen dahingehend optimiert sind, dass die Multiplikationen als ein derartiges Verschieben eines Zwischenergebnis b k + 1 2
    Figure DE102019008199B3_0016
    mod N der Exponentiation in dem binär codierten elektronischen Speicherort, insbesondere Register, verwirklicht sind, dass eine Multiplikation mit der Basis a erreicht wird.
  3. Verfahren nach Anspruch 1 oder 2, wobei als Basis a = 2 oder eine kleine Zweierpotenz ausgewählt oder festgelegt wird.
  4. Verfahren nach Anspruch 1, wobei die Basis a eine Zweierpotenz ist, insbesondere a = 2, und wobei die Exponentiation der Basis a mit dem Exponenten e im Term k 0 < l , b k : = b k + 1 2 a e k l m o d   N
    Figure DE102019008199B3_0017
    Quadrierungen von bk+1 und Multiplikationen von bk+1 mit der Basis a umfasst, wobei Multiplikationen dahingehend optimiert sind, dass die Multiplikationen als ein derartiges Verschieben eines Zwischenergebnis b k + 1 2
    Figure DE102019008199B3_0018
    mod N der Exponentiation in dem binär codierten elektronischen Speicherort, insbesondere Register, verwirklicht sind, dass eine Multiplikation mit der Basis a erreicht wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei die Zufallszahlen aus dem Intervall [3, 4, 5, 6] zufällig ausgewählt werden.
  6. Computerimplementiertes Verfahren zur zumindest teilweisen Generierung eines kryptographischen Schlüssels, umfassend Durchführen eines Primzahltests unter Anwendung eines computerimplementiertes Verfahren zum Durchführen einer modularen Exponentiation nach einem der Ansprüche 1 bis 5.
  7. Computerimplementiertes Verfahren zur Generierung eines Satzes von RSA-Schlüsseln, der Satz umfassend einen öffentlichen Schlüssel e,N und einen privaten Schlüssel d,N, das Verfahren umfassend das Auffinden zweier Primzahlen p und q unter Anwendung eines computerimplementierten Verfahrens nach Anspruch 6 zum Durchführen eines Primzahltests, um die Primzahlen p und q aufzufinden.
DE102019008199.4A 2019-11-26 2019-11-26 Gegen Seitenkanalangriffe geschützte Exponentiation, Primzahltest und RSA Schlüsselgenerierung Active DE102019008199B3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019008199.4A DE102019008199B3 (de) 2019-11-26 2019-11-26 Gegen Seitenkanalangriffe geschützte Exponentiation, Primzahltest und RSA Schlüsselgenerierung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019008199.4A DE102019008199B3 (de) 2019-11-26 2019-11-26 Gegen Seitenkanalangriffe geschützte Exponentiation, Primzahltest und RSA Schlüsselgenerierung

Publications (1)

Publication Number Publication Date
DE102019008199B3 true DE102019008199B3 (de) 2020-12-24

Family

ID=73654332

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019008199.4A Active DE102019008199B3 (de) 2019-11-26 2019-11-26 Gegen Seitenkanalangriffe geschützte Exponentiation, Primzahltest und RSA Schlüsselgenerierung

Country Status (1)

Country Link
DE (1) DE102019008199B3 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005037598A1 (de) * 2004-08-06 2006-03-16 Samsung Electronics Co., Ltd., Suwon Verfahren und System zur Sicherung von Daten
US20090097637A1 (en) * 2007-10-10 2009-04-16 Spansion Llc Randomized rsa-based cryptographic exponentiation resistant to side channel and fault attacks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005037598A1 (de) * 2004-08-06 2006-03-16 Samsung Electronics Co., Ltd., Suwon Verfahren und System zur Sicherung von Daten
US20090097637A1 (en) * 2007-10-10 2009-04-16 Spansion Llc Randomized rsa-based cryptographic exponentiation resistant to side channel and fault attacks

Similar Documents

Publication Publication Date Title
DE69828787T2 (de) Verbessertes verfahren und vorrichtung zum schutz eines verschlüsselungsverfahrens mit öffentlichem schlüssel gegen angriffe mit zeitmessung und fehlereinspeisung
DE69917592T2 (de) Gegen stromverbrauchsignaturanfall beständige kryptographie
DE60217260T2 (de) Datenverarbeitungs- und Verschlüsselungseinheit
CN107040362B (zh) 模乘设备和方法
EP1891512B1 (de) Bestimmung einer modularen inversen
EP2771782B1 (de) Effiziente primzahlprüfung
EP3593483B1 (de) Übergang von einer booleschen maskierung zu einer arithmetischen maskierung
DE102005037598A1 (de) Verfahren und System zur Sicherung von Daten
EP1922837B1 (de) Verfahren zum sicheren ver- oder entschlüsseln einer nachricht
DE102008051447B4 (de) Verfahren und Vorrichtung zum Schützen einer RSA-Berechnung an einer Ausgabe mit Hilfe des chinesischen Restsatzes
DE10024325B4 (de) Kryptographisches Verfahren und kryptographische Vorrichtung
DE602004006628T2 (de) Verfahren zur gesicherten ausführung eines rsa kryptographischen algorithmus, sowie diesbezüglicher baustein.
DE112009000152B4 (de) Verfahren zur Datenübertragung über einen Datenkanal mit einem Elliptische-Kurven-Kryptographieverfahren und Vorrichtung hierfür
EP1540880B1 (de) Geschützte kryptographische berechnung
DE60320016T2 (de) Verfahren zur ganzzahldivision gegen angriffe an versteckten kanälen
DE112018002723B4 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
DE102019008199B3 (de) Gegen Seitenkanalangriffe geschützte Exponentiation, Primzahltest und RSA Schlüsselgenerierung
EP1442391B1 (de) Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus
EP1454260B1 (de) Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt)
DE10042234C2 (de) Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor
DE60221863T2 (de) Verfahren zur implementierung eines kryptographischen algorithmus zum finden des öffentlichen exponenten in einer elektronischen komponente
DE10162496C5 (de) Verfahren und Vorrichtung zum Absichern einer Berechnung in einem kryptographischen Algorithmus
EP2128754B1 (de) Sichere sliding window exponentiation
DE10326057B4 (de) Gegen Seitenkanalangriffe geschütztes Verfahren zum Testen einer natürlichen Zahl auf Primalität
DE10253285B4 (de) Verschleierung eines geheimen Wertes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: GIESECKE+DEVRIENT EPAYMENTS GMBH, DE

Free format text: FORMER OWNER: GIESECKE+DEVRIENT MOBILE SECURITY GMBH, 81677 MUENCHEN, DE