DE102022115195A1 - Verarbeitung von kryptografischen Daten - Google Patents

Verarbeitung von kryptografischen Daten Download PDF

Info

Publication number
DE102022115195A1
DE102022115195A1 DE102022115195.6A DE102022115195A DE102022115195A1 DE 102022115195 A1 DE102022115195 A1 DE 102022115195A1 DE 102022115195 A DE102022115195 A DE 102022115195A DE 102022115195 A1 DE102022115195 A1 DE 102022115195A1
Authority
DE
Germany
Prior art keywords
masking scheme
shared secret
masking
arithmetic
scheme
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.)
Pending
Application number
DE102022115195.6A
Other languages
English (en)
Inventor
Bernd Meyer
Wieland Fischer
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
Priority to DE102022115195.6A priority Critical patent/DE102022115195A1/de
Priority to US18/207,906 priority patent/US20230412370A1/en
Publication of DE102022115195A1 publication Critical patent/DE102022115195A1/de
Pending legal-status Critical Current

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/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]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

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

Abstract

Hier beschriebene Lösungen beziehen sich auf kryptografische Datenverarbeitung unter Verwendung eines ersten Maskierungsschemas eines geteilten Geheimnisses und eines zweiten Maskierungsschemas des geteilten Geheimnisses, wobei eine Transformation von dem ersten Maskierungsschema in das zweite Maskierungsschema durch Erzwingen einer Art von Berechnung unter mindestens zwei Arten von Berechnungen durchgeführt wird.

Description

  • Hier beschriebene Beispiele betreffen den Schutz von Implementierungen kryptografischer Algorithmen vor Seitenkanalattacken.
  • Dies lässt sich durch Maskieren von Zwischendaten erreichen. Eine solche Maskierung ist möglich, wenn die in einem gegebenen Algorithmus verwendeten Grundoperationen mit maskierten Eingangsdaten umgeschrieben werden können, wodurch maskierte Ausgangsdaten bereitgestellt werden, die gut für Algorithmen wie DES oder RSA funktionieren. Algorithmen, die Boolesche und arithmetische Funktionen kombinieren, wie IDEA, AES oder mehrere Hash-Algorithmen, wurden jedoch zwei verschiedene Arten von Maskierung verwendet. Dies führt zu einer Notwendigkeit einer Umsetzung zwischen Boolescher Maskierung und arithmetischer Maskierung und umgekehrt.
  • In diesem Kontext offenbart [1] zwei Algorithmen für eine solche Umsetzung, wodurch ein verbesserter Schutz vor DPA-Attacken (Differential Power Analysis) gewährleistet wird.
  • Die Aufgabe ist das Verbessern der existierenden Lösung und insbesondere das Verringern der Wahrscheinlichkeit einer erfolgreichen Seitenkanalattacke.
  • Dieses Problem wird gelöst gemäß den Merkmalen der unabhängigen Ansprüche. Weitere Ausführungsformen ergeben sich aus den abhängigen Ansprüchen.
  • Die hier vorgeschlagenen Beispiele können insbesondere auf mindestens einer der folgenden Lösungen basieren. Bei konkreten Kombinationen der folgenden Merkmale könnten benutzt werden, um ein gewünschtes Ergebnis zu erreichen. Die Merkmale des Verfahrens könnten mit einem beliebigen Merkmal bzw. beliebigen Merkmalen der Vorrichtung, des Apparats oder Systems kombiniert werden oder umgekehrt.
  • Es wird ein Verfahren zur kryptografischen Datenverarbeitung vorgeschlagen,
    • - unter Verwendung eines ersten Maskierungsschemas eines geteilten Geheimnisses und eines zweiten Maskierungsschemas des geteilten Geheimnisses,
    • - wobei eine Transformation von dem ersten Maskierungsschema in das zweite Maskierungsschema durch Erzwingen einer Art von Berechnung unter mindestens zwei Arten von Berechnungen durchgeführt wird.
  • Kryptografische Datenverarbeitung bezieht sich insbesondere auf jede Verarbeitung von Daten, die mindestens teilweise einer sicheren Anwendung unterzogen sind. Die kryptografischen Daten können ein geteiltes Geheimnis (z. B. einen Schlüssel) oder beliebige Informationen umfassen, die vor jeder Seitenkanalattacke verborgen gehalten werden sollten. Es wird angemerkt, dass die kryptografischen Daten Geheimdaten sein können oder sie zu Geheimdaten beitragen können.
  • Es kann eine Vielzahl von Berechnungsarten geben. In einem Beispiel kann sich „Art“ von Berechnung auf eine beliebige Art von Berechnung beziehen, die zu einem gesetzten Carry-Bit (c=1) führt, und eine andere Art von Berechnung kann dazu führen, dass das Carry-Bit nicht gesetzt ist (c=0). Anders ausgedrückt, kann eine Verarbeitung zwei Arten von Berechnungen umfassen, eine bei dem das Carry-Bit gesetzt ist, und eine, bei dem das Carry-Bit nicht gesetzt ist. Erzwingen einer Art von Berechnung bezieht sich insbesondere auf ein Szenario, das immer zur Auswahl einer der mehreren Arten von Berechnungen führt. Dies kann z. B. dazu führen, dass das Carry-Bit immer gesetzt ist. Dies kann z. B. durch Ergänzungsdaten erzwungen werden, die in eine Addition eingegeben werden, wobei die höchstwertigen Bit 1 ergeben: In einem solchen Fall führt das Ergebnis der Addition immer zu einem gesetzten Carry-Bit. In diesem Beispiel verläuft der durch die Addition gewählte Pfad immer durch die Art von Berechnung mit dem gesetzten Carry-Bit.
  • Gemäß einer Ausführungsform stellen Statistiken über das Auftreten der mindestens zwei Arten von Berechnungen Seitenkanalinformationen über das geteilte Geheimnis bereit.
  • Gemäß einer Ausführungsform umfasst das Verfahren (mindestens) die folgenden Arten von Berechnungen:
    • - eine erste Art von Berechnung, die zu einem gesetzten Carry-Bit führt, und
    • - eine zweite Art von Berechnung, die nicht zu einem gesetzten Carry-Bit führt,
    • - wobei die Ausführung der ersten Art von Berechnung oder der zweiten Art von Berechnung erzwungen wird.
  • Durch Erzwingen der ersten Art von Berechnung ist das Carry-Bit immer gesetzt. Jede Seitenkanalattacke kann daher keinerlei Hinweis bezüglich des geteilten Geheimnisses auf der Basis des deterministisch gesetzten Carry-Bit (c=1) erhalten.
  • Gemäß einer Ausführungsform gilt eines von Folgendem:
    • - das erste Maskierungsschema ist ein Boolesches Maskierungsschema und das zweite Maskierungsschema ist ein arithmetisches Maskierungsschema; oder
    • - das erste Maskierungsschema ist ein arithmetisches Maskierungsschema und das zweite Maskierungsschema ist ein Boolesches Maskierungsschema.
  • Gemäß einer Ausführungsform wird das geteilte Geheimnis in dem Booleschen Maskierungsschema so codiert, dass das transformierte arithmetische Maskierungsschema des geteilten Geheimnisses immer zu einem gesetzten Carry-Bit führt.
  • Gemäß einer Ausführungsform wird das Ergebnis des arithmetischen Maskierungsschemas durch Subtrahieren einer konstanten von einer der arithmetischen Komponenten bestimmt, die verwendet werden, um das geteilte Geheimnis zu bestimmen.
  • Gemäß einer Ausführungsform gilt Folgendes:
    • - das Boolesche Maskierungsschema verwendet Parameter x und r, um das geteilte Geheimnis s gemäß Folgendem zu definieren s = x r ;
      Figure DE102022115195A1_0001
    • - das arithmetische Maskierungsschema verwendet einen Parameter a und den Parameter r, um das geteilte Geheimnis s gemäß Folgendem zu definieren: s = a + r  mod  2 ' ' ,
      Figure DE102022115195A1_0002
    wobei n die Bitlänge der Parameter ist.
  • Gemäß einer Ausführungsform gilt Folgendes:
    • - mindestens einer der Parameter a, s, x und r ist durch mindestens ein Bit von der Länge n auf die Länge n + 1 erweitert,
    • - jedem der Parameter x und r wird mindestens eine „1“ vorangestellt.
  • Es wird angemerkt, dass ein einzelnes Bit oder mehr als ein Bit für eine solche Erweiterung verwendet werden kann.
  • Zum Beispiel können x und r jeweils m Bit vorangestellt werden. Eine Transformation wird dann durchgeführt, wobei die Werte einer Länge n+m ergeben, was zu einem Wert mod 2n+m führt. Dann ist X = vx und R=vr, wobei v eine m-Bit-Zahl ist, die von 0 verschieden ist (d. h. mindestens eine 1 aufweist).
  • Das auf die neuen Parameter X und R angewandte Boolesche Maskierungsschema führt daher zu einem neuen geteilten Geheimnis S = X ⊕ R = 0s, das immer noch das Geheimnis s repräsentiert, weil das MSB des Geheimnisses S immer 0 ist. Dieses MSB ist jedoch weder geheimzuhalten noch mit irgendeinem Teil des geteilten Geheimnisses s korreliert.
  • Gemäß einer Ausführungsform wird die Transformation in das arithmetische Maskierungsschema so durchgeführt, dass die Gleichung s = A + R  mod  2 n + 1
    Figure DE102022115195A1_0003
    erfüllt ist.
  • Gemäß einer Ausführungsform basiert die Transformation auf Goubins „Algorithmus 1“, wie in [1] offenbart.
  • Gemäß einer Ausführungsform wird das Verfahren auf einer Sicherheitsvorrichtung verwendet oder ausgeführt, wobei eine solche Sicherheitsvorrichtung mindestens eines von Folgendem umfasst:
    • - eine integrierte Schaltung,
    • - ein Hardware-Sicherheitsmodul,
    • - ein vertrauenswürdiges Plattformmodul,
    • - eine Kryptoeinheit,
    • - ein FPGA,
    • - eine Verarbeitungseinheit,
    • - eine Steuerung,
    • - eine Smartcard.
  • Außerdem wird eine Vorrichtung zur kryptografischen Datenverarbeitung mit einer Verarbeitungseinheit vorgeschlagen, die ausgelegt ist zum
    • - unter Verwendung eines ersten Maskierungsschemas eines geteilten Geheimnisses und eines zweiten Maskierungsschemas des geteilten Geheimnisses,
    • - wobei eine Transformation von dem ersten Maskierungsschema in das zweite Maskierungsschema durch Erzwingen einer Art von Berechnung unter mindestens zwei Arten von Berechnungen durchgeführt wird.
  • Es wird angemerkt, dass die Schritte des Verfahrens, die hier angegeben werden, auch auf dieser Verarbeitungseinheit ausführbar sein können.
  • Es wird ferner angemerkt, dass die Verarbeitungseinheit mindestens ein und insbesondere mehrere Mittel umfassen kann, die dafür ausgelegt sind, die Schritte des Verfahrens wie hier beschrieben auszuführen. Die Mittel können logisch oder physisch getrennt sein; insbesondere könnten mehrere logisch getrennte Mittel in mindestens einer physischen Einheit kombiniert sein.
  • Die Verarbeitungseinheit kann mindestens eines von Folgendem umfassen: einen Prozessor, einen Mikrocontroller, eine festverdrahtete Schaltung, ein ASIC, ein FPGA, eine Logikvorrichtung.
  • Zusätzlich wird das oben angegebene Problem durch ein computerlesbares Medium gelöst, z. B. Speicherung beliebiger Art, mit computerausführbaren Anweisungen, die dafür ausgelegt sind, zu bewirken, dass ein Computersystem das Verfahren wie hier beschrieben ausführt.
  • Gemäß einer Ausführungsform ist die Vorrichtung eine Sicherheitsvorrichtung, die mindestens eines von Folgendem umfasst:
    • - eine integrierte Schaltung,
    • - ein Hardware-Sicherheitsmodul,
    • - ein vertrauenswürdiges Plattformmodul,
    • - eine Kryptoeinheit,
    • - ein FPGA,
    • - eine Verarbeitungseinheit,
    • - eine Steuerung,
    • - eine Smartcard.
  • Die hier bereitgestellte Lösung umfasst ferner ein direkt in einen Speicher einer digitalen Verarbeitungsvorrichtung ladbares Computerprogrammprodukt mit Softwarecodeteilen zum Ausführen der Schritte des Verfahrens wie hierin beschrieben.
  • Ausführungsformen werden unter Bezugnahme auf die Zeichnungen gezeigt und veranschaulicht. Die Zeichnungen dienen zur Veranschaulichung des Grundprinzips, so dass nur für das Verständnis des Grundprinzips notwendige Aspekte dargestellt sind. Die Zeichnungen sind nicht maßstabsgetreu. In den Zeichnungen bezeichnen dieselben Bezugszeichen ähnliche Merkmale.
    • 1 zeigt eine schematische Darstellung des Konzepts einer Transformation aus dem Booleschen Maskierungsschema in das arithmetische Maskierungsschema unter Verwendung des Carry-Bit;
    • 2 zeigt eine beispielhafte Anordnung einer Verarbeitungsvorrichtung mit einer CPU, einem RAM, einem nichtflüchtigen Speicher, einem Kryptomodul, einem Analogmodul, einer Eingangs-/Ausgangsschnittstelle und einem Hardware-Zufallszahlengenerator;
    • 3 zeigt eine alternative Anordnung mit einem HSM (Hardware-Sicherheitsmodul).
  • Maskierung von Geheimdaten durch Berechnung von zufälligen geteilten Repräsentationen ist eine häufig verwendete Technik zum Schutz von Computerimplementierung kryptografischer Algorithmen vor Seitenkanalattacken. Eine zu der Maskierung hinzugefügte Zufälligkeit verringert die Wahrscheinlichkeit, dass Attacken, die auf statistische Analyse beobachtbarer Informationen basieren, die aus der attackierten physischen Vorrichtung (z. B. dem Computersystem) erhalten werden, erfolgreich sind. Ohne eine solche Zufälligkeit könnte die statistische Analyse z. B. des Stromverbrauchs und/oder elektromagnetischer Strahlung bei einer erfolgreichen Seitenkanalattacke in Richtung der Vorrichtung ausgenutzt werden. Die Attacke kann so gelenkt werden, dass statistische Muster abgeleitet werden, die Hinweise z. B. bezüglich eines Geheimschlüssels oder verarbeiteter geheimer Daten enthüllen können. Für weitere Einzelheiten über Seitenkanalattacken, insbesondere DPA-Attacken (Differential Power Analysis) wird z. B. auf https://en.wikipedia.org/wiki/Power_analysis verwiesen.
  • Ein häufiges Problem ist, dass keine kompakte geteilte Repräsentation bekannt ist, die gleichzeitig homomorph mit allen im Anweisungssatz eines typischen Prozessors verfügbaren Operationen, d. h., Booleschen Operationen (AND, OR, NOT, XOR, SHIFT, ROTATE) und arithmetischen Operationen (ADD, SUB, MUL, MOD) ist. Wenn eine Anwendung geteilte Geheimnisse verarbeiten muss, ist es deshalb oft notwendig, wiederholt zwischen einem Maskierungsschema, das mit Booleschen Operationen kompatibel ist, und einem Maskierungsschema, das mit arithmetischen Operationen kompatibel ist, zu wechseln. Das Transformieren zufällig geteilter Daten ist ein rechnerisch kostspieliger Schritt mit signifikanter Auswirkung auf die Leistungsfähigkeit. Außerdem müssen die Transformationen selbst eventuell gegenüber Seitenkanalattacken gehärtet werden.
  • Hier beschriebene Beispiele betreffen insbesondere eine verbesserte Carry-Korrektur für Goubins DPA-resistenten Algorithmus (siehe [1], bezeichnet als „BooleanToArithmetic“) zum Transformieren von Boolescher in arithmetische Maskierung, wenn die geteilten Daten eine ganze Zahl in einem Restring oder endlichen Körper repräsentieren.
  • Es seien 0 a , x , r , s < 2 n
    Figure DE102022115195A1_0004
    ganze Zahlen, die durch Bitketten einer Länge n > 0 repräsentiert werden.
  • Ein Term x r
    Figure DE102022115195A1_0005
    bezieht sich auf eine n-Bit-Kette, die sich aus der bitweisen Exklusiv-Oder- bzw. XOR-Operation der Ketten x und r ergibt.
  • Ferner bezieht sich ein Term a + r
    Figure DE102022115195A1_0006
    auf eine n-Bit-Kette, die die ganzzahlige Summe der durch a und r repräsentierten Werte modulo 2n repräsentiert.
  • Ein „BooleanToArithmetic“-Algorithmus aus [1], der auch als „Algorithmus 1“ bezeichnet wird, setzt eine zufällige Boolesche Maskierung, die ein Geheimnis s repräsentiert, in eine zufällige arithmetische Maskierung desselben Geheimnisses s um:
    Eingabe: Boolesche Maskierung (x, r) für ein geteiltes Geheimnis s = x ⊕ r
    Ausgabe: Arithmetische Maskierung (a, r), die s = a + r mod 2n erfüllt
    1. 1) Setze y auf eine zufällig gewählte n-Bit-Kette, die den Wert 0 ≤ γ < 2n repräsentiert
    2. 2) Setze t ← x ⊕ γ
    3. 3) Setze t ← t - γ
    4. 4) Setze t ← t ⊕ x
    5. 5) Setze γ ← γ ⊕ r
    6. 6) Setze a ← x ⊕ γ
    7. 7) Setze a ← a - γ
    8. 8) Setze a ← a ⊕ t
  • Es wird angemerkt, dass der Wert r in beiden Maskierungsschemata verwendet wird und während des Algorithmus nicht geändert wird. Wenn der Wert r zufällig gewählt wird und (x, r) eine Boolesche Maskierung des geteilten Geheimnisses s mit x = s ⊕ r ist, ist deshalb (a, r) eine zufällige arithmetische Maskierung des geteilten Geheimnisses s, die s = a + r c 2 n
    Figure DE102022115195A1_0007
    über den ganzen Zahlen mit einem Carry c erfüllt, wobei insbesondere Folgendes für das Carry c gelten kann. c = { 0 falls  r s   1 andernfalls
    Figure DE102022115195A1_0008
  • Die Länge n der Teile wird oft auf die Operandengröße (z. B. 32 Bit oder 64 Bit) einer Vorrichtung (z. B. einer CPU), die Algorithmus 1 ausführt, gesetzt. In diesem Fall erfolgen arithmetische Operationen auf der Vorrichtung implizit modulo 2n und es ist nicht notwendig, das Carry c zu berücksichtigen oder zu korrigieren.
  • Dieser in [1] offenbarte Algorithmus 1 stellt gewisse Sicherheit vor Seitenkanalattacken bereit, da die Wahrscheinlichkeitsverteilungen aller Zwischenergebnisse nicht mehr mit dem geteilten Geheimnis s korreliert sind.
  • Dieser Grad an Sicherheit kann jedoch für das Carry c nicht gelten: Wenn das Carry c der arithmetischen Maskierung (a, r) während der Ausführung von Algorithmus 1 (z. B. als Statusflag der arithmetische Operationen ausführenden CPU) berechnet wird, wird das Carry c erzeugt, wenn r > s ist. Eine Wahrscheinlichkeit Pr, dass das Carry c nicht auftritt (d. h. c = 0) für einen zufällig gewählten Wert r ist daher proportional zu dem Wert des geteilten Geheimnisses s: Pr ( c = 0 ) = s + 1 2 n .
    Figure DE102022115195A1_0009
  • Wenn ein Attackierer in der Lage ist, zu beobachten, ob während wiederholter Berechnungen der Anwendung mit demselben s c=0 ist, kann er eine relative Häufigkeit h des Ereignisses Carry c = 0 als Approximation für das Geheimnis s verwenden, da die relative Häufigkeit h ein unverzerrter Schätzer für den äquivalenten geheimen Wert (s + 1)/2n ist. Wenn ein Auftreten des Carry c d-mal in m Wiederholungen der Anwendung beobachtet werden kann, exponiert die relative Häufigkeit h = m d m
    Figure DE102022115195A1_0010
    das log2(m) höchstwertige Bit (MSB) des Geheimnisses s. Anders ausgedrückt, ist das auftretende Carry mit dem MSB des Geheimnisses s korreliert.
  • Diese Situation verschlechtert sich, wenn das Geheimnis s eine ganze Zahl ist, die ein Geheimnis repräsentiert, das aus einem Restring oder endlichen Körper Z/wZ (z. B. ein privater Schlüssel eines auf dem diskreten Log basierenden Kryptosystems mit öffentlichen Schlüsseln) gewählt ist. In einem solchen Szenario gilt Folgendes: s a + r c η  mod  w ,
    Figure DE102022115195A1_0011
    wobei η : = 2 n  mod  w
    Figure DE102022115195A1_0012
    eine Konstante ist und im Voraus berechnet werden kann.
  • Für weitere Berechnungen modulo w unter Verwendung des arithmetischen Teils (a, r) des Geheimnisses s ist es daher notwendig, das Carry c und korrekte Zwischenergebnisse durch die Konstante η abhängig von dem Carry c zu berechnen. Diese Berechnung des Carry c und dann konditionales Subtrahieren der Konstante η von einem der arithmetischen Teile a oder r ist schwierig zu verbergen und kann zu einer ernsthaften Gefahr für die Seitenkanalsicherheit der Anwendung führen. Es führt auch zu einem datenabhängigen ungleichförmigen Programmfluss.
  • Hier beschriebene Beispiele schlagen insbesondere eine Erweiterung dieses Algorithmus 1 vor, um dadurch jede konditionale Korrektur von Zwischenwerten, die einen arithmetischen Teil eines Geheimnisses s aus einem Restring oder endlichen Körper Z/wZ repräsentieren.
  • Dies kann erreicht werden, indem man das Geheimnis s in der Booleschen Maskierung (x, r) so codiert, dass die durch Algorithmus 1 berechnete entsprechende arithmetische Maskierung (a, r) immer zu einem Carry führt. In einem solchen Fall gilt Folgendes: s = a + r η  mod  w ,
    Figure DE102022115195A1_0013
    mit η = 2 n  mod  w .
    Figure DE102022115195A1_0014
  • Die Korrektur des modularen Ergebnisses der arithmetischen Maskierung kann durch Subtrahieren der Konstanten η von einem der arithmetischen Teile a oder r geschehen. Dieser Schritt ist nicht mehr konditional und der Programmfluss ist nun datenunabhängig.
  • Um immer zu erzwingen, dass ein Carry in dem repräsentierten ganzzahligen Wert der arithmetischen Teilung auftritt, können die folgenden Änderungen gelten:
    1. (1) Alle Parameter der Booleschen Maskierung und arithmetischen Maskierung werden durch (mindestens) ein Bit von der Länge n auf n+1 erweitert.
    2. (2) In der ursprünglichen Booleschen Maskierung (x, r) für ein geteiltes Geheimnis s = x ⊕ r, wird jedem der Parameter x und r 1 Bit als höchstwertiges Bit (MSB) vorangestellt
    X : = 1 x ,
    Figure DE102022115195A1_0015
    R : = 1 r .
    Figure DE102022115195A1_0016
  • Es wird angemerkt, dass die neue Boolesche Maskierung (X, R) ein Geheimnis S = X R = 0 s ,
    Figure DE102022115195A1_0017
    ergibt, das immer noch den ganzzahligen Wert s repräsentiert. Das höchstwertige Bit des (neuen) Geheimnisses S ist immer null. Dieses anfängliche Bit ist jedoch weder ein Geheimnis noch mit geheimen Daten korreliert.
  • Algorithmus 1, angewandt mit durch n+1 substituiertem n, transformiert daher die Boolesche Maskierung (X, R) in die arithmetische Maskierung (A, R), die Folgendes erfüllt: s = A + R  mod  2 n + 1 .
    Figure DE102022115195A1_0018
  • Da derselbe Wert R in der Booleschen und arithmetischen Maskierung verwendet wird und wegen R > s = S ,
    Figure DE102022115195A1_0019
    gilt der Fall c = 1.
  • Dieser Ansatz verringert die Sichtbarkeit einer konditionalen Subtraktion des Korrekturwerts η und führt zu einem gleichförmigen datenunabhängigen Programmfluss.
  • Durch Erweitern der Länge der verwendeten Repräsentationen um (mindestens) ein Bit ist es möglich, die Maskierungsschemata so zu transformieren, dass sich der ganzzahlige Wert des Geheimnisses in der Booleschen Maskierung nicht ändert, aber der ganzzahlige Wert in der arithmetischen Maskierung immer einen Überlauf produziert, der dann korrigiert wird.
  • 1 zeigt eine schematische Darstellung des Konzepts einer Transformation von dem Booleschen Maskierungsschema in das arithmetische Maskierungsschema unter Verwendung des Carry-Bit, wie oben beschrieben.
  • In einem Schritt 101 werden die Boolesche Maskierung und die arithmetische Maskierung durch Voranstellen eines Bit „1“ als MSB an die Parameter x und r erweitert. Dies führt zu einem neuen geteilten Geheimnis S mit einem MSB „0“ (siehe Schritt 102). In einem Schritt 103 wird die Transformation im arithmetischen Maskierungsbereich so durchgeführt, dass die Gleichung s = A + R 2 n + 1
    Figure DE102022115195A1_0020
    erfüllt ist.
  • Es ist eine Möglichkeit, dass s und/oder r um mehr als ein einzelnes Bit, z B. m Bit, erweitert werden. Vorteilhafterweise sind X und R in den oberen m Bit (d. h. den höchstwertigen m Bit) identisch, um S = s zu erhalten. Ferner muss mindestens eines der m Bit gesetzt werden, um R > s = S zu erhalten, um dadurch c = 1 zu erzwingen.
  • 2 zeigt eine Verarbeitungsvorrichtung 500 mit einer CPU 501, einem RAM 502, einem nichtflüchtigen Speicher 503 (NVM), einem Kryptomodul 504, einem Analogmodul 506, einer Eingabe-/Ausgabeschnittstelle 507 und einem Hardware-Zufallszahlengenerator 512.
  • In diesem Beispiel hat die CPU 501 Zugang zu mindestens einem Kryptomodul 504 über einen geteilten Bus 505, mit dem jedes Kryptomodul 504 gekoppelt ist. Jedes Kryptomodul 504 kann insbesondere einen oder mehrere Kryptokerne zum Ausführen bestimmter kryptografischer Operationen umfassen. Beispielhafte Kryptokerne wären:
    • - ein AES-Kern 509,
    • - ein SHA-Kern 510,
    • - ein ECC-Kern 511 und
    • - ein auf Gittern basierender Krypto- bzw. LBC-Kern 508.
  • Der auf Gittern basierende Kryptokern 508 kann vorgesehen werden, um auf Gittern basierende Kryptografie durchzuführen oder zu beschleunigen.
  • Die CPU 501, der Hardware-Zufallszahlengenerator 512, der NVM 503, das Kryptomodul 504, der RAM 502 und die Eingabe-/Ausgabeschnittstelle 507 sind mit dem Bus 505 verbunden. Die Eingabe-/Ausgabe-Schnittstelle 507 kann eine Verbindung 514 mit anderen Vorrichtungen aufweisen, die der Verarbeitungsvorrichtung 500 ähnlich sein können.
  • Das Kryptomodul 504 kann mit auf Hardware basierenden Sicherheitsmerkmalen ausgestattet sein oder nicht. Als eine Möglichkeit, kann das Kryptomodul 504 einen Zufallszahlengenerator umfassen.
  • Das Analogmodul 506 erhält elektrische Stromversorgung 513 über einen elektrischen Kontakt und/oder über ein elektromagnetisches Feld. Dieser Strom wird geliefert, um die Schaltkreise der Verarbeitungsvorrichtung 500 zu betreiben, und kann insbesondere der Eingabe-/Ausgabeschnittstelle erlauben, Verbindungen mit anderen Vorrichtungen über die Verbindung 514 einzuleiten und/oder aufrechtzuerhalten.
  • Der Bus 505 selbst kann maskiert oder einfach sein. Anweisungen zum Verarbeiten der hier beschriebenen Schritte können insbesondere in dem NVM 503 gespeichert und durch die CPU 501 verarbeitet werden. Die verarbeiteten Daten können in dem NVM 503 oder in dem RAM 502 gespeichert werden. Unterstützungsfunktionen können durch die Kryptomodule 504 bereitgestellt werden (z. B. Erweiterung von Pseudozufallsdaten). Zufallszahlen können durch den Hardware-Zufallszahlengenerator 512 geliefert werden.
  • Die Verarbeitungsvorrichtung 500 kann eine Chipkarte sein, die durch direkten elektrischen Kontakt oder mittels eines elektromagnetischen Felds mit Strom versorgt wird. Die Verarbeitungsvorrichtung 500 kann eine feste Schaltung sein oder auf umkonfigurierbarer Hardware (z. B. Field Programmable Gate Array FPGA) basieren. Die Verarbeitungsvorrichtung 500 kann mit einem Personal Computer, Mikrocontroller, FPGA oder einem Smartphone gekoppelt werden.
  • 3 zeigt ein weiteres Beispiel für eine Verarbeitungsvorrichtung 600. Die Verarbeitungsvorrichtung 600 umfasst ein Hardware-Sicherheitsmodul 601, einen nichtflüchtigen Speicher (NVM) 608, einen Direktzugriffsspeicher (RAM) 609, eine Schnittstelle 610 zur Kommunikation mit anderen Vorrichtungen und einen Anwendungsprozessor 607, der mit dem Hardware-Sicherheitsmodul (HSM) 601, dem RAM 609, dem NVM 608 und der Schnittstelle 610 gekoppelt ist.
  • Das HSM 601 umfasst eine Steuerung 602, einen Hardware-Zufallszahlengenerator (HRNG) 606 und mindestens ein Kryptomodul 603. Das Kryptomodul 603 umfasst beispielsweise einen AES-Kern 604 und einen auf Gittern basierenden Krypto- bzw. LBC-Kern 605.
  • Gemäß einer Ausführungsform können das HSM 601 und der Anwendungsprozessor 607 auf demselben physischen Chip mit enger Kopplung hergestellt werden. Das HSM 601 liefert kryptografische Dienste und gesicherte Schlüsselspeicherung, während der Anwendungsprozessor rechnerisch intensive Aufgaben (z. B. Bilderkennung, Kommunikation, Motorsteuerung) ausführen kann. Das HSM 601 kann nur durch eine definierte Schnittstelle zugänglich sein und auf eine Weise vom Rest des Systems unabhängig betrachtet werden, dass eine Sicherheitskompromittierung des Anwendungsprozessors 607 nur begrenzte Auswirkung auf die Sicherheit des HSM 601 hat. Das HSM 601 kann alle Aufgaben oder eine Teilmenge von Aufgaben, die mit Bezug auf die Verarbeitungsvorrichtung 600 beschrieben werden, durch Verwendung der Steuerung 602, der LBC 605, beispielsweise unterstützt durch ein AES 604 und den HRNG 606, ausführen. Es kann die hier beschriebenen Prozeduren (mindestens teilweise) entweder gesteuert durch eine interne Steuerung oder als CMOS-Schaltung ausführen. Außerdem kann auch der Anwendungsprozessor 607 die hier beschriebenen Prozeduren ausführen (mindestens teilweise, z. B. in Zusammenarbeit mit dem HSM 601).
  • Die Verarbeitungsvorrichtung 600 mit diesem Anwendungsprozessor 607 und HSM 601 kann als zentrales Kommunikationsgateway oder (elektrische) Motorsteuereinheit in Autos oder anderen Fahrzeugen verwendet werden.
  • In einem oder mehreren Beispielen können die hierin beschriebenen Funktionen zumindest teilweise in Hardware implementiert sein, wie beispielsweise spezifischen Hardwarekomponenten oder einem Prozessor. Allgemeiner können die Techniken in Hardware, Prozessoren, Software, Firmware oder einer beliebigen Kombination davon implementiert sein. Bei ihrer Implementierung in Software können die Funktionen auf einem computerlesbaren Medium gespeichert oder als eine oder mehrere Anweisungen oder Code übertragen und von einer hardwarebasierten Verarbeitungseinheit ausgeführt werden. Computerlesbare Medien können computerlesbare Speichermedien, die einem greifbaren Medium, wie etwa Datenspeichermedien, entsprechen, oder Kommunikationsmedien umfassen, einschließlich eines beliebigen Mediums, das die Übertragung eines Computerprogramms von einem Ort zu einem anderen erleichtert, z. B. gemäß einem Kommunikationsprotokoll. Auf diese Weise können computerlesbare Medien im Allgemeinen (1) greifbaren computerlesbaren Speichermedien entsprechen, die nicht flüchtig sind, oder (2) einem Kommunikationsmedium, wie etwa einem Signal oder einer Trägerwelle. Datenspeichermedien können alle verfügbaren Medien sein, auf die ein oder mehrere Computer oder ein oder mehrere Prozessoren zugreifen können, um Anweisungen, Code und/oder Datenstrukturen zur Implementierung der in dieser Offenbarung beschriebenen Techniken abzurufen. Ein Computerprogrammprodukt kann ein computerlesbares Medium einschließen.
  • Solche computerlesbaren Speichermedien können exemplarisch und in keiner Weise einschränkend ein RAM, ein ROM, einen EEPROM, eine CD-ROM oder einen anderen optischen Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen, einen Flash-Speicher oder ein anderes Medium umfassen, das verwendet werden kann, um den gewünschten Programmcode in Form von Anweisungen oder Datenstrukturen zu speichern, auf die ein Computer zugreifen kann. Außerdem wird jede Verbindung ordnungsgemäß als computerlesbares Medium bezeichnet, d. h. als computerlesbares Übertragungsmedium. Wenn beispielsweise Anweisungen von einer Website, einem Server oder einer anderen entfernten Quelle unter Verwendung eines Koaxialkabels, eines Glasfaserkabels, eines verdrillten Leitungspaars, einer digitalen Teilnehmerleitung (Digital Subscriber Line, DSL) oder drahtloser Technologien wie Infrarot, Funk und Mikrowelle übertragen werden, sind Koaxialkabel, Glasfaserkabel, verdrilltes Leitungspaar, DSL oder drahtlose Technologien wie Infrarot, Funk und Mikrowelle in der Definition des Mediums enthalten. Es versteht sich jedoch, dass computerlesbare Speichermedien und Datenspeichermedien keine Verbindungen, Trägerwellen, Signale oder andere flüchtigen Medien enthalten, sondern stattdessen auf nichtflüchtige, greifbare Speichermedien gerichtet sind. Eine Platte (Disk) und eine Disc, wie hierin verwendet, umfasst Compact Disc (CD), Laser Disc, optische Disc, Digital Versatile Disc (DVD), Diskette und Blu-ray-Disc, wobei Disks normalerweise Daten magnetisch wiedergeben, während Discs Daten optisch mit Lasern wiedergeben. Kombinationen des Vorstehenden sollten ebenfalls in den Umfang von computerlesbaren Medien eingeschlossen sein.
  • Anweisungen können von einem oder mehreren Prozessoren ausgeführt werden, wie etwa eine oder mehrere Verarbeitungseinheiten (CPU), digitale Signalprozessoren (DSPs), Allzweck-Mikroprozessoren, anwendungsspezifische integrierte Schaltkreise (ASICs), feldprogrammierbare Logikarrays (FPGAs) oder andere äquivalente integrierte oder diskrete Logikschaltungen. Dementsprechend kann sich der Begriff „Prozessor“, wie hierin verwendet, auf eine der vorstehenden Strukturen oder eine andere Struktur beziehen, die zur Implementierung der hier beschriebenen Techniken geeignet ist. Darüber hinaus kann in einigen Aspekten die hierin beschriebene Funktionalität in dedizierten Hardware- und/oder Softwaremodulen bereitgestellt werden, die zum Kodieren und Dekodieren konfiguriert oder in einem kombinierten Codec enthalten sind. Die Techniken könnten auch vollständig in einer oder mehreren Schaltungen oder Logikelementen implementiert sein.
  • Die Techniken dieser Offenbarung können in einer Vielzahl von Geräten oder Vorrichtungen implementiert sein, einschließlich eines drahtlosen Handgeräts, einer integrierten Schaltung (IC) oder eines Satzes von ICs (z. B. eines Chipsatzes). In dieser Offenbarung werden verschiedene Komponenten, Module oder Einheiten beschrieben, um funktionale Aspekte von Vorrichtungen hervorzuheben, die konfiguriert sind, um die offenbarten Techniken auszuführen, erfordern jedoch nicht notwendigerweise die Realisierung durch verschiedene Hardwareeinheiten. Vielmehr können, wie vorstehend beschrieben, verschiedene Einheiten in einer einzigen Hardwareeinheit kombiniert oder durch eine Sammlung interoperativer Hardwareeinheiten, einschließlich eines oder mehrerer Prozessoren, wie vorstehend beschrieben, in Verbindung mit geeigneter Software und/oder Firmware bereitgestellt werden.
  • Obwohl verschiedene beispielhafte Ausführungsformen der Erfindung offenbart wurden, ist es für Fachleute auf dem Gebiet ersichtlich, dass verschiedene Änderungen und Modifikationen vorgenommen werden können, die einige der Vorteile der Erfindung erzielen, ohne vom Geist und Umfang der Erfindung abzuweichen. Es ist für Fachleute auf dem Gebiet offenkundig, dass andere Komponenten, die die gleichen Funktionen ausführen, in geeigneter Weise ersetzt werden können. Es sollte erwähnt werden, dass Merkmale, die unter Bezugnahme auf eine bestimmte Figur erläutert wurden, mit Merkmalen anderer Figuren kombiniert werden können, selbst in den Fällen, in denen dies nicht ausdrücklich erwähnt wurde. Ferner können die Verfahren der Erfindung entweder in allen Softwareimplementierungen unter Verwendung der entsprechenden Prozessoranweisungen oder in Hybridimplementierungen erreicht werden, die eine Kombination aus Hardwarelogik und Softwarelogik verwenden, um die gleichen Ergebnisse zu erzielen. Solche Modifikationen an dem erfindungsgemäßen Konzept sollen durch die beigefügten Ansprüche abgedeckt sein.
  • Literatur:
    1. [1] L. Goubin, „A Sound Method for Switching between Boolean und Arithmetic Masking", Proceedings of CHES'2001, LNCS 2162, S. 3-15, Springer-Verlag, 2001
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • L. Goubin, „A Sound Method for Switching between Boolean und Arithmetic Masking“, Proceedings of CHES'2001, LNCS 2162, S. 3-15 [0074]

Claims (14)

  1. Verfahren zur kryptografischen Datenverarbeitung, - Verwenden eines ersten Maskierungsschemas eines geteilten Geheimnisses und eines zweiten Maskierungsschemas des geteilten Geheimnisses, - wobei eine Transformation von dem ersten Maskierungsschema in das zweite Maskierungsschema durch Erzwingen einer Art von Berechnung unter mindestens zwei Arten von Berechnungen durchgeführt wird.
  2. Verfahren nach Anspruch 1, bei dem Statistiken über das Auftreten der mindestens zwei Arten von Berechnungen Seitenkanalinformationen bezüglich des geteilten Geheimnisses bereitstellen.
  3. Verfahren nach einem der vorhergehenden Ansprüche, das die folgenden Arten von Berechnungen umfasst: - eine erste Art von Berechnung, die zu einem gesetzten Carry-Bit führt, und - eine zweite Art von Berechnung, die nicht zu einem gesetzten Carry-Bit führt, - wobei die Ausführung der ersten Art von Berechnung oder der zweiten Art von Berechnung erzwungen wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei eines von Folgendem gilt: - das erste Maskierungsschema ist ein Boolesches Maskierungsschema und das zweite Maskierungsschema ist ein arithmetisches Maskierungsschema; oder - das erste Maskierungsschema ist ein arithmetisches Maskierungsschema und das zweite Maskierungsschema ist ein Boolesches Maskierungsschema.
  5. Verfahren nach Anspruch 4, bei dem das geteilte Geheimnis in dem Booleschen Maskierungsschema so codiert wird, dass das transformierte arithmetische Maskierungsschema des geteilten Geheimnisses immer zu einem gesetzten Carry-Bit führt.
  6. Verfahren nach Anspruch 5, bei dem das Ergebnis des arithmetischen Maskierungsschemas durch Subtrahieren einer Konstanten von einer der arithmetischen Komponenten bestimmt wird, die verwendet werden, um das geteilte Geheimnis zu bestimmen.
  7. Verfahren nach einem der Ansprüche 4 bis 6, - wobei das Boolesche Maskierungsschema Parameter x und r verwendet, um das geteilte Geheimnis s wie folgt zu definieren s = x r ;
    Figure DE102022115195A1_0021
    - wobei das arithmetische Maskierungsschema einen Parameter a und den Parameter r verwendet, um das geteilte Geheimnis s wie folgt zu definieren: s = a + r  mod  2 n ,
    Figure DE102022115195A1_0022
    wobei n die Bitlänge der Parameter ist.
  8. Verfahren nach Anspruch 7, - wobei mindestens einer der Parameter a, s, x und r um mindestens ein Bit von der Länge n auf die Länge n + 1 erweitert wird, - wobei jedem der Parameter x und r mindestens eine „1“ vorangestellt wird.
  9. Verfahren nach Anspruch 8, bei dem die Transformation in das arithmetische Maskierungsschema so durchgeführt wird, dass die Gleichung s = A + R  mod  2 n + 1
    Figure DE102022115195A1_0023
    erfüllt wird.
  10. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Transformation auf Goubins „Algorithmus 1“ basiert.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren auf einer Sicherheitsvorrichtung verwendet oder ausgeführt wird, wobei eine solche Sicherheitsvorrichtung mindestens eines von Folgendem umfasst: - eine integrierte Schaltung, - ein Hardware-Sicherheitsmodul, - ein vertrauenswürdiges Plattformmodul, - eine Kryptoeinheit, - ein FPGA, - eine Verarbeitungseinheit, - eine Steuerung, - eine Smartcard.
  12. Vorrichtung zur kryptografischen Datenverarbeitung mit einer Verarbeitungseinheit, die eingerichtet ist zur - Verwendung eines ersten Maskierungsschemas eines geteilten Geheimnisses und eines zweiten Maskierungsschemas des geteilten Geheimnisses, - wobei eine Transformation von dem ersten Maskierungsschema in das zweite Maskierungsschema durch Erzwingen einer Art von Berechnung unter mindestens zwei Arten von Berechnungen durchgeführt wird.
  13. Vorrichtung nach Anspruch 12, wobei die Vorrichtung eine Sicherheitsvorrichtung ist, die mindestens eines von Folgendem umfasst: - eine integrierte Schaltung, - ein Hardware-Sicherheitsmodul, - ein vertrauenswürdiges Plattformmodul, - eine Kryptoeinheit, - ein FPGA, - eine Verarbeitungseinheit, - eine Steuerung, - eine Smartcard.
  14. Computerprogrammprodukt, das direkt in einen Speicher einer digitalen Verarbeitungsvorrichtung ladbar ist mit Softwarecodeteilen zum Ausführen der Schritte des Verfahrens nach einem der Ansprüche 1 bis 11.
DE102022115195.6A 2022-06-17 2022-06-17 Verarbeitung von kryptografischen Daten Pending DE102022115195A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022115195.6A DE102022115195A1 (de) 2022-06-17 2022-06-17 Verarbeitung von kryptografischen Daten
US18/207,906 US20230412370A1 (en) 2022-06-17 2023-06-09 Processing of Cryptographic Data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022115195.6A DE102022115195A1 (de) 2022-06-17 2022-06-17 Verarbeitung von kryptografischen Daten

Publications (1)

Publication Number Publication Date
DE102022115195A1 true DE102022115195A1 (de) 2023-12-28

Family

ID=89075440

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022115195.6A Pending DE102022115195A1 (de) 2022-06-17 2022-06-17 Verarbeitung von kryptografischen Daten

Country Status (2)

Country Link
US (1) US20230412370A1 (de)
DE (1) DE102022115195A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10341096A1 (de) 2003-09-05 2005-03-31 Giesecke & Devrient Gmbh Übergang zwischen maskierten Repräsentationen eines Wertes bei kryptographischen Berechnungen
DE102021003275B3 (de) 2021-06-24 2022-07-14 Giesecke+Devrient Mobile Security Gmbh Verfahren zur Berechnung eines Übergangs von einer booleschen zu einer arithmetischen Maskierung

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10341096A1 (de) 2003-09-05 2005-03-31 Giesecke & Devrient Gmbh Übergang zwischen maskierten Repräsentationen eines Wertes bei kryptographischen Berechnungen
DE102021003275B3 (de) 2021-06-24 2022-07-14 Giesecke+Devrient Mobile Security Gmbh Verfahren zur Berechnung eines Übergangs von einer booleschen zu einer arithmetischen Maskierung

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GOUBIN, Louis: A sound method for switching between boolean and arithmetic masking. In: Cryptographic Hardware and Embedded Systems - CHES 2001 : Third International Workshop, Paris, France, May 14-16, 2001 Proceedings. Berlin : Springer, 2001 (Lecture notes in computer science ; 2162). S. 3-15. - ISBN 978-3-540-42521-2. DOI: 10.1007/3-540-44709-1_2. URL: https://link.springer.com/content/pdf/10.1007%2F3-540-44709-1_2.pdf [abgerufen am 2018-01-08]
Power analysis. In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 9. Juni 2021, 19:39. URL: https://en.wikipedia.org/w/index.php?title=Power_analysis&oldid=1027749967 [abgerufen am 04.08.2022]
Vadnala,P.,K., u.a.: Algorithms for Switching between Boolean and Arithmetic Masking of Second Order. LNCS Security, Privacy, and Applied Cryptography Engineering, 2013, Bd 8204, S. 95 - 110.

Also Published As

Publication number Publication date
US20230412370A1 (en) 2023-12-21

Similar Documents

Publication Publication Date Title
DE102017117907B4 (de) Durchführen einer kryptografischen Operation
DE102018108313A1 (de) Verfahren und Verarbeitungsvorrichtung zum Ausführen einer kryptografischen Operation auf Gitterbasis
DE102006022960B4 (de) Verfahren zum Verschlüsseln von Eingabedaten, kryptographisches System und Computerprogrammprodukt
DE102019108095A1 (de) Ausführen einer kryptografischen Operation
DE102012201164B4 (de) Vorrichtung und verfahren zur erzeugung eines nachrichtenauthentifizierungscodes
DE102018122278A1 (de) Ausführen einer kryptographischen Operation
DE102017117899A1 (de) Durchführen einer kryptografischen Operation
DE102005037598A1 (de) Verfahren und System zur Sicherung von Daten
DE112009000154T5 (de) Änderung der Darstellung eines Punktes auf einer elliptischen Kurve
DE112015006865T5 (de) Vorrichtung zum Erzeugen eines Nachrichten-Authenticators, Verfahren zum Erzeugen eines Nachrichten-Authenticators und Programm zum Erzeugen eines Nachrichten-Authenticators
DE102020119569B3 (de) Bereitstellen einer kryptografischen Information
EP3387636B1 (de) Kryptoalgorithmus mit schlüsselabhängigem maskiertem rechenschritt (sbox-aufruf)
DE112009000152T5 (de) Modulare Reduktion unter Verwendung einer speziellen Form des Modulo
DE102021106883A1 (de) Komprimierung in der gitterbasierten Kryptografie
DE112018002723B4 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
WO2004070497A2 (de) Modulare exponentiation mit randomisierten exponenten
DE102006013975A1 (de) Kryptographievorrichtung und -verfahren mit Skalarmultiplikation
CN114465728B (zh) 攻击椭圆曲线签名算法的方法、装置、设备及存储介质
DE102018126931A1 (de) Vorrichtung und Verfahren auf der Basis direkter anonymer Attestierung
DE102020113198A1 (de) Kryptografische Operation
DE102022115195A1 (de) Verarbeitung von kryptografischen Daten
EP1596527B1 (de) Übergang von einer booleschen Maskierung zu einer arithmetischen Maskierung
WO2003034649A2 (de) Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus
DE102020134618A1 (de) Sicherheits-controller und verfahren zur verarbeitung von datenelementen eines datenfeldes
DE102020121229B3 (de) Verfahren zum Überprüfen einer GDFT-Operation und Sicherheitseinrichtung zur Durchführung des Verfahrens

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication