DE60207818T2 - Gesichertes Verfahren zur kryptographischen Berechnung mit Geheimschlüssel und Bauteil, das ein solches Verfahren anwendet - Google Patents

Gesichertes Verfahren zur kryptographischen Berechnung mit Geheimschlüssel und Bauteil, das ein solches Verfahren anwendet Download PDF

Info

Publication number
DE60207818T2
DE60207818T2 DE60207818T DE60207818T DE60207818T2 DE 60207818 T2 DE60207818 T2 DE 60207818T2 DE 60207818 T DE60207818 T DE 60207818T DE 60207818 T DE60207818 T DE 60207818T DE 60207818 T2 DE60207818 T2 DE 60207818T2
Authority
DE
Germany
Prior art keywords
key
secret key
operator
masking
derived key
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.)
Expired - Lifetime
Application number
DE60207818T
Other languages
English (en)
Other versions
DE60207818D1 (de
Inventor
Fabrice Romain
Yannick Teglia
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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=8859753&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60207818(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Application granted granted Critical
Publication of DE60207818D1 publication Critical patent/DE60207818D1/de
Publication of DE60207818T2 publication Critical patent/DE60207818T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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]
    • 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
    • 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
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft ein gesichertes Verfahren zur kryptographischen Berechnung mit geheimem oder privatem Schlüssel. Die vorliegende Erfindung betrifft auch ein Bauteil, das ein solches gesichertes Verfahren verwendet. Genauer gesagt, hat das erfindungsgemäße Verfahren zum Ziel, solche Bauteile vor einem physikalischen Angriff vom Typ SPA (Simple Power Analysis) zu schützen. Solche Angriffe haben zum Ziel, Informationen über den geheimen oder privaten Schlüssel ausgehend vom Energieverbrauch oder von der elektromagnetischen Strahlung des Bauteils zu erhalten, wenn es das Verschlüsselungsverfahren verwendet.
  • Die von der Erfindung betroffenen Bauteile werden insbesondere bei Anwendungen benutzt, bei denen der Zugang zu den Diensten und/oder Daten streng kontrolliert wird. Diese Bauteile haben meist eine Architektur, die um einen Mikroprozessor und um einen Programmspeicher herum geformt ist, der insbesondere den Geheimschlüssel enthält.
  • Solche Bauteile werden zum Beispiel bei Chipkarten benutzt, insbesondere für Bankanwendungen mittels eines Steuerterminals oder Telebanking.
  • Solche Bauteile verwenden eines oder mehrere Verschlüsselungsverfahren mit geheimem oder privatem Schlüssel, um ausgehend von einem Eingangsdatenwert einen Ausgangsdatenwert zu berechnen. Ein solches Verfahren wird zum Beispiel verwendet, um eine Eingangsnachricht zu verschlüsseln, zu entschlüsseln, zu authentifizieren, zu signieren, oder auch um die Signatur der Eingangsnachricht zu überprüfen.
  • Um die Sicherheit der Transaktionen zu gewährleisten, sind die Verschlüsselungsverfahren mit geheimem oder privatem Schlüssel so konstruiert, dass es nicht möglich ist, den verwendeten Geheimschlüssel ausgehend von der Kenntnis des Eingangsdatenwerts und/oder des Ausgangsdatenwerts des Algorithmus zu bestimmen. Die Sicherheit eines Bauteils beruht aber auf seiner Fähigkeit, den von ihm verwendeten Geheimschlüssel verdeckt zu halten, da dieser Schlüssel nicht verändert werden kann.
  • Ein häufig verwendetes Verfahren ist das Verfahren vom Typ DES (für Data Encryption Standard). Es ermöglicht zum Beispiel, eine mit 64 Bits codierte verschlüsselte Nachricht MS (oder Ausgangsdatenwert) ausgehend von einer ebenfalls mit 64 Bits codierten Klartextnachricht ME (oder Eingangsdatenwert) und einem Geheimschlüssel K0 mit 56 Bits zu liefern.
  • Die Hauptschritte des DES-Verfahrens sind in 1 im Einzelnen dargestellt. Nach einer Anfangspermutation IP wird der aus den permutierten Bits des Eingangsdatenwerts gebildete Block in einen linken Teil L0 und einen rechten Teil R0 aufgeteilt.
  • Danach werden 16 Runden von gleichen Operationen durchgeführt. Bei jeder Runde von Operationen wird der rechte Teil (R0, ..., R15) eines während der vorhergehenden Runde von Operationen berechneten Zwischendatenwerts während einer Transformation, die Transformation F genannt wird, mit einem abgeleiteten Schlüssel (M1, ..., M16) kombiniert. Das Ergebnis der Transformation F wird anschließend zum linken Teil (L0, ..., L15) des bei der vorhergehenden Runde von Operationen berechneten Zwischendatenwerts addiert (Exklusives ODER).
  • Nach der sechzehnten Runde von Operationen werden der linke Teil L16 und der rechte Teil R16 des sechzehnten Zwischendatenwerts vereint, und eine Endpermutation IP-1, die zur Anfangspermutation invers ist, beendet das Verfahren.
  • Eine Runde von Operationen des Rangs i zwischen 1 und 16 ist ausführlich in 2 dargestellt. Die 56 Bits eines Zwischenschlüssels Ki-1, der während der vorhergehenden Runde berechnet wurde, werden verschoben (Operation Si), um einen neuen aktualisierten Zwischenschlüssel Ki zu liefern, dann werden 48 von 56 Bits durch eine Operation PC der Permutation/Kompression ausgewählt, um einen abgeleiteten Schlüssel Mi zu liefern. Mi = PC(Ki) = PC(Si(Ki-1)). Die Vereinigung der Schritte PC und Si bildet einen Schritt ET2 der Schlüsselberechnung.
  • Parallel wird die Transformation F durchgeführt. Der rechte Teil Ri-1 eines während der vorhergehenden Runde berechneten Zwischendatenwerts wird durch eine Expansion (Operation E) auf 48 Bits ausweitet, durch eine Operation des Typs Exklusives ODER mit dem abgeleiteten Schlüssel Mi kombiniert, mittels einer Substituierungsoperation (dargestellt durch die Operation SBOX) durch 32 neue Bits ersetzt, und dann noch einmal permutiert (Operation P). In der Praxis sind die Operationen F, P, E, PC, SBOX für alle Runden gleich. Dagegen unterscheiden sich die Operationen S1 bis S16, die bei der Berechnung der abgeleiteten Schlüssel K1 bis K16 durchgeführt werden, von einer Runde zur anderen.
  • Alle Merkmale der Operationen IP, IP-1, P, PC, E, SBOX, Si, die bei der Anwendung eines DES-Verfahrens durchgeführt werden, sind bekannt: durchgeführte Berechnungen, verwendete Parameter, usw. Diese Merkmale sind zum Beispiel in der Patentanmeldung WO 00/46953 oder in der Norm "Data Encryption Standard, FIPS PUB 46", veröffentlicht am 15. Januar 1977, ausführlich beschrieben.
  • Die Sicherheit eines ein Verschlüsselungsverfahren mit geheimem oder privatem Schlüssel verwendenden Bauteils beruht auf seiner Fähigkeit, den von ihm verwendeten Schlüssel geheim zu halten, insbesondere, wenn es Analysen vom Typ SPA ausgesetzt wird.
  • Eine SPA-Analyse besteht darin, das Bauteil mehrere Male das von ihm verwendete Verschlüsselungsverfahren ausführen zu lassen, indem der gleiche Eingangsdatenwert ME an es angelegt wird, und für jede Ausführung des Verfahrens die von dieser Ausführung in Abhängigkeit von der Zeit hinterlassene Spur zu messen. Die Spur stellt zum Beispiel den Energieverbrauch des Bauteils oder die in Abhängigkeit von der Zeit ausgestrahlte elektromagnetische Energie dar. Die Gesamtheit der Messungen wird anschließend gemittelt, um das Messrauschen zu beseitigen und die reelle Spur des Elements für einen festgelegten Eingangsdatenwert ME zu erhalten. Zum Beispiel kann eine Gruppe von 10 bis 1000 gleichen Messungen ausreichen, um das Messrauschen zu beseitigen und die reelle Spur des Bauteils für einen festgelegten Eingangsdatenwert ME zu erhalten.
  • Der Verlauf einer solchen Spur ist in 3 für den Fall eines Verfahrens vom Typ DES dargestellt. Man unterscheidet in dieser Figur genau die verschiedenen Schritte des DES-Verfahrens: Anfangspermutation IP vor dem Zeitpunkt t1, 16 Runden von Operationen zwischen den Zeitpunkten t2 und t1, t3 und t2, ..., t17 und t16, Endpermutation IP-1 nach dem Zeitpunkt t17.
  • Wie man in der Spur der 3 sieht, ist es im Fall eines Bauteils, das ein klassisches DES-Verfahren verwendet, relativ einfach, eine Information über den verwendeten Schlüssel zu erhalten. Es ist zum Beispiel möglich, für jede Runde von Operationen ein Bild eines abgeleiteten Schlüssels Mi zu bestimmen, indem man den Zeitintervall identifiziert, während dem ein Befehl zum Transfer eines abgeleiteten Schlüssels vor der Durchführung der Operation Exklusives ODER ausgeführt wird. Da alle abgeleiteten Schlüssel M1 bis M16 ausgehend vom Geheimschlüssel K0 durch bekannte Operationen erhalten werden, führt die Kenntnis einfacher Bilder der abgeleiteten Schlüssel zu einer Information über den Geheimschlüssel.
  • Allgemeiner sind alle Geheimschlüssel verwendenden Verschlüsselungsverfahren mehr oder weniger empfindlich für Analysen vom Typ SPA. Ihre Empfindlichkeit ist insbesondere groß bei der Durchführung eines so genannten kritischen Schritts, während dem der Geheimschlüssel entweder direkt oder in einer abgeleiteten Form verwendet wird, die durch ein bekanntes Gesetz der Berechnung eines abgeleiteten Schlüssels erhalten wird. Ein solcher kritischer Schritt ist zum Beispiel ein Schritt der Berechnung des abgeleiteten Schlüssels (englisch: Key Scheduling), während dem ein aktualisierter abgeleiteter Schlüssel Mi ausgehend von einem vorher berechneten Schlüssel Ki-1 berechnet wird.
  • Ein vor einer Analyse der abgeleiteten Signale geschütztes Verschlüsselungsverfahren ist in der Patentanmeldung FR 2776445 offenbart. Dieses Verfahren erzeugt für jeden Zyklus des Algorithmus einen verdeckten Schlüssel.
  • Es ist ein Ziel der Erfindung, ein gesichertes Verfahren zur kryptographischen Berechnung mit geheimem oder privatem Schlüssel anzuwenden, das gegen jeden physikalischen Angriff vom Typ SPA immun ist, d.h. ein gesichertes Verfahren zur kryptographischen Berechnung, dessen Spur bei der Anwendung des Verfahrens keinerlei Information über den von ihm verwendeten Schlüssel liefert, und dies unabhängig von dem vom Verfahren verwendeten Eingangsdatenwert und unabhängig von der Anzahl von Anwendungen des Verfahrens.
  • Um dieses Ziel zu erreichen, betrifft die Erfindung ein gesichertes Verfahren zur kryptographischen Berechnung, um ausgehend von einem Eingangsdatenwert und von einem Geheimschlüssel einen Ausgangsdatenwert zu liefern. Das Verfahren weist mehrere Schlüsselberechnungsschritte auf, von denen jeder ausgehend von einem vorher gemäß einem bekannten Schlüsselberechnungsgesetz berechneten abgeleiteten Schlüssel einen aktualisierten abgeleiteten Schlüssel liefert. Ein erster aktualisierter abgeleiteter Schlüssel wird ausgehend vom Geheimschlüssel erhalten.
  • Erfindungsgemäß weist das Verfahren ebenfalls einen einzigen Verdeckungsschritt auf, der vor dem ersten Schlüsselberechnungsschritt durchgeführt wird, um den Geheimschlüssel so zu verdecken, dass jeder aktualisierte abgeleitete Schlüssel bei jeder Durchführung des Verfahrens anders ist.
  • Die Erfindung betrifft auch ein elektronisches Bauteil, das ein gesichertes Verfahren zur kryptographischen Berechnung gemäß der Erfindung verwendet.
  • Der Begriff "verdeckt" oder ("vermischt") muss hier und in der nachfolgenden Beschreibung folgendermaßen verstanden werden. Bei einem erfindungsgemäßen Verfahren werden ein Datenwert, ein Ergebnis, als verdeckt bezeichnet, wenn sie bei zwei Durchführungen des Verfahrens unterschiedliche Werte haben, insbesondere bei zwei Durchführungen des Verfahrens, die den gleichen Eingangsdatenwert und den gleichen Geheimschlüssel verwenden.
  • Bei einem erfindungsgemäßen gesicherten Verfahren zur kryptographischen Berechnung liefert so ein Bauteil, das das Verfahren zweimal mit dem gleichen Eingangsdatenwert durchführt, zwei verschiedene Spuren, insbesondere in einem kritischen Zeitintervall entsprechend der Spur, die von einer kritischen Anweisung des Verfahrens hinterlassen wird, das den abgeleiteten Schlüssel verwendet.
  • In anderen Worten ist unabhängig vom verwendeten Eingangsdatenwert, und selbst, wenn der Eingangsdatenwert bei mehreren Verwendungen des gesicherten Verfahrens zur kryptographischen Berechnung gemäß der Erfindung gleich ist, die vom Bauteil hinterlassene Spur von einer Verwendung zur anderen immer anders.
  • Um dies zu erhalten, wird während des Verdeckungsschrittes ein zufällig gewählter Verdeckungsparameter mit dem Geheimschhlüssel gemischt, um einen verdeckten Geheimschlüssel zu liefern, wobei der erste abgeleitete Schlüssel während des ersten Schlüsselberechnungsschrittes ausgehend vom verdeckten Geheimschlüssel berechnet wird.
  • Nach der Durchführung des Verdeckungsschritts kann der nicht verdeckte Geheimschlüssel ggf. gelöscht werden, da er anschließend nicht mehr verwendet wird; nur der Geheimschlüssel wird für die Folge der Anwendung des Verfahrens verwendet. Die Sicherheit des Verfahrens wird dadurch verstärkt.
  • Erfindungsgemäß ist somit jeder tatsächlich bei der Anwendung des Verfahrens manipulierte Schlüssel eine Zufallszahl, da er aus einer Verdeckung durch eine Zufallszahl stammt (der Verdeckungsparameter). Folglich ist die Spur des das Verfahren verwendenden Bauteils selber von einer Anwendung des Verfahrens zur anderen zufällig, ein fach aufgrund des Vorhandenseins des Verdeckungsparameters, der vor jeder Anwendung zufällig ausgewählt wird.
  • Selbst wenn mehrere Messungen von Spuren des Bauteils unter Verwendung von gleichen Eingangsdaten durchgeführt werden, führt folglich die Mittelung dieser Messungen zu einer zeitabhängigen, konstanten mittleren Spur (Mittelwert einer Gruppe von Zufallsspuren), die keinerlei Information über den Wert des verwendeten Schlüssels liefert, selbst wenn kritische Operationen durchgeführt werden. Erfindungsgemäß ist das Bauteil somit gegenüber jedem physikalischen Angriff vom Typ SPA absolut immun.
  • Die Erfindung nutzt somit einen Schwachpunkt eines Angriffs vom Typ SPA, um das Bauteil zu schützen. Damit ein Angriff vom Typ SPA erfolgreich ist, d.h., damit ein Angriff vom Typ SPA eine Information über den vom Bauteil verwendeten Geheimschlüssel liefert, muss nämlich notwendigerweise ein kritischer Zeitintervall vorhanden sein:
    • – während dem die Spur des Bauteils in diesem Intervall gleich ist, ggf. wenn der Eingangsdatenwert ME gleich ist,
    • – und während dem die sichtbare Information relevant ist, d.h., dass sie für den ganzen oder einen Teil des Geheimschlüssels und/oder den ganzen oder einen Teil eines vom Geheimschlüssel abgeleiteten Schlüssels repräsentativ ist.
  • Das erfindungsgemäße Bauteil liefert bei jeder Anwendung des erfindungsgemäßen Verfahrens andere Spuren, selbst wenn der verwendete Eingangsdatenwert der gleiche ist. Folglich ist es nicht möglich, einen kritischen Intervall zu finden, während dem die sichtbare Information relevant und von einer Anwendung des Verfahrens zur anderen gleich ist. Ein SPA-Angriff auf dieses Bauteil kann also keine Information über den Geheimschlüssel liefern.
  • Gemäß einer Variante weist das erfindungsgemäße Verfahren weiter auf:
    • – einen Rechenschritt, der den berechneten abgeleiteten Schlüssel oder einen aktualisierten abgeleiteten Schlüssel verwendet, und
    • – einen Aufdeckungsschritt, der nach dem Rechenschritt durchgeführt wird, um den Beitrag des Verdeckungsparameters zum Ergebnis des vorhergehenden Rechenschrittes zu beseitigen.
  • Gemäß einer anderen Variante weist das erfindungsgemäße Verfahren mehrere Rechenschritte auf, die je einen aktualisierten abgeleiteten Schlüssel verwenden, und ein Aufdeckungsschritt wird nach jedem Rechenschritt durchgeführt, um den Beitrag des Verdeckungsparameters zum Ergebnis des vorhergehenden Rechenschritts zu beseitigen.
  • Während des Verdeckungsschritts wird zum Beispiel die folgende Operation durchgeführt: K'0 = K0|X0, wobei K'0 der verdeckte Geheimschlüssel, K0 der Geheimschlüssel, X0 der Verdeckungsparameter ist. Der Operator "|" ist ein Mischoperator, vorzugsweise ein linearer Operator mit zwei Parametern. In einem Beispiel ist der Mischoperator ein Exklusiv-ODER-Operator.
  • Während des Aufdeckungsschritts wird vorzugsweise ein zum Mischoperator inverser Operator verwendet, um den Beitrag des Verdeckungsparameters zum aktualisierten abgeleiteten Schlüssel zu entfernen.
  • Gemäß einer bevorzugten Ausführungsform der Erfindung ist das Verfahren ein gesichertes Verfahren vom Typ DES, das 16 Runden von Operationen aufweist, wobei jede Runde von Operationen einen aktualisierten abgeleiteten Schlüssel verwendet.
  • In einem Beispiel wird ein einziger Verdeckungsschritt vor der ersten Runde des Verfahrens vom Typ DES durchgeführt.
  • Bei jeder Runde von Operationen:
    • – wird eine Transformation durchgeführt, die einen Rechenschritt aufweist, um einen bei einer vorhergehenden Runde berechneten Zwischendatenwert und einen aktualisierten abgeleiteten Schlüssel zu kombinieren;
    • – wird nach dem Rechenschritt ein Aufdeckungsschritt durchgeführt.
  • Jeder verdeckte aktualisierte abgeleitete Schlüssel kann während der Runde von Operationen berechnet werden, die ihn verwendet. Oder auch alle abgeleiteten Schlüssel können anderweitig unabhängig von den Runden von Operationen, die sie verwenden, berechnet werden; sie können zum Beispiel vor oder während einer Initialisierungsphase des Verfahrens berechnet werden.
  • Anhand der nachfolgenden Beschreibung von Ausführungsbeispielen von erfindungsgemäßen gesicherten Verfahren zur kryptographischen Berechnung wird die Erfindung wird besser verstanden werden und es gehen weitere Merkmale und Vorteile daraus hervor. Die Beschreibung bezieht sich auf die beiliegenden Zeichnungen.
  • 1, die bereits beschrieben wurde, ist ein Diagramm eines bekannten Verschlüsselungsverfahrens, das einen Geheimschlüssel verwendet,
  • 2, die bereits beschrieben wurde, ist ein Diagramm, das im Einzelnen einen Schritt des Verfahrens der 1 darstellt,
  • 3, die bereits beschrieben wurde, ist die reelle Spur, die in Abhängigkeit von der Zeit von einem Bauteil hinterlassen wird, das das Verschlüsselungsverfahren der 1 verwendet,
  • 4 ist ein Diagramm eines vereinfachten Verschlüsselungsverfahrens,
  • 5 ist ein Diagramm des Verfahrens der 4, das erfindungsgemäß gesichert wurde,
  • 6 ist ein Diagramm eines Verfahrens vom Typ DES, das erfindungsgemäß gesichert wurde.
  • Im ersten nachfolgenden Beispiel wird ein Verfahren betrachtet, dessen Diagramm in 4 dargestellt ist; es wird verwendet, um einen Eingangsdatenwert R0 mit 32 Bits zu codieren und um ausgehend von einem Geheimschlüssel K0 und vom Dateneingangswert R0 einen Ausgangsdatenwert R1 mit 32 Bits zu liefern.
  • Das Verfahren setzt sich aus einem Schritt ET2 der Berechnung eines abgeleiteten Schlüssels und einem Transformationsschritt F zusammen.
  • Der Schritt ET2 der Berechnung eines abgeleiteten Schlüssels liefert einen abgeleiteten Schlüssel M1 ausgehend vom Geheimschlüssel K0. Der Schlüsselberechnungsschritt besteht aus einer Operation S1 der Verschiebung der Bits der Variablen K0, die K1 = S1(K0) liefert, und einer Operation PC der Permutation/Kompression. So wird der abgeleitete Schlüssel M1 durch die folgende Beziehung erhalten: M1 = PC(S1(K0)).
  • Der Transformationsschritt F liefert den Ausgangsdatenwert R1 ausgehend vom Eingangsdatenwert R0 und vom abgeleiteten Schlüssel M1.
  • Der Transformationsschritt F ist gleich dem Schritt F eines klassischen DES-Verfahrens und setzt sich folgendermaßen zusammen. Der Datenwert R0 wird durch eine Expansion E von 32 auf 48 Bits ausgeweitet, durch ein Exklusives ODER mit dem abgeleiteten Schlüssel M1 kombiniert, in einer Substituierungsoperation SBOX durch 32 neue Bits ersetzt und dann erneut permutiert (Operation P). So wird der Ausgangsdatenwert R1 durch die folgende Beziehung erhalten: R1 = P(SBOX(E(R0) + M1)).
  • Das Verfahren der 4 wird erfindungsgemäß durch das Hinzufügen eines Initialisierungsschritts ET0, eines Verdeckungsschritts ET1, eines Differenzberechnungsschritts ET3 und eines Aufdeckungsschritts ET4 (5) gesichert.
  • Während des Initialisierungsschritts ET0 wird ein Verdeckungsparameter X0 zufällig ausgewählt.
  • Während des Verdeckungsschritts ET1, der nach dem Initialisierungsschritt ET0 durchgeführt wird, wird der Verdeckungsparameter X0 mit dem Geheimschlüssel K0 gemischt, um einen verdeckten Geheimschlüssel K'0 zu liefern. Die Mischung erfolgt durch die folgende Beziehung: K'0 = K0|X0.
  • Der Operator "|" wird bezüglich der beiden Variablen, die er mischt, linear gewählt. In einer Ausführungsform ist der Operator "|" ein Exklusives ODER. Der Operator "|" kann auch eine beliebige Art von linearem Operator sein. Allgemein hat der lineare Operator "|" die folgenden Eigenschaften, unabhängig von den Daten A, B, C:
    • – "|" hat die Stelligkeit zwei: er nimmt zwei Argumente in Parametern.
    • – "|" erfüllt: PC(S(A|B)) = PC(S(A))|PC(S(B))
    • – "|" erfüllt (A ⊕ B)|C = A ⊕ (B|C), wobei ⊕ der Exklusiv-ODER-Operator ist
    • – es gibt einen Operator "|-1" invers zu "|", derart, dass (A|B)|-1 A = B; ggf. sind "|" und "|-1" identisch.
  • Der Schlüsselberechnungsschritt ET2 wird anschließend ausgehend vom verdeckten Geheimschlüssel K'0 durchgeführt, um einen verdeckten abgeleiteten Schlüssel M'1 zu liefern. So wird der verdeckte abgeleitete Schlüssel durch die folgende Beziehung angegeben: M'1 = PC(S1(K'0)) = PC(S1(K0|X0)) = PC(S1(K0))|PC(S1(X0)).
  • Die letzte Gleichheit wird einfach von der Tatsache abgeleitet, dass die Operatoren PC, S1 und "|" lineare Operatoren sind.
  • Da PC(S1(K0)) = M1 (siehe Beispiel der 4), leitet man schließlich davon ab, dass M'1 = M1|PC(S1(X0)), wobei M1 der abgeleitete Schlüssel ist, der gemäß dem nicht gesicherten Verfahren der 4 berechnet wurde.
  • Der Differenzberechnungsschritt ET3 wird nach dem Initialisierungsschritt ET0 durchgeführt. Der Schritt ET3 kann vor, parallel zu oder nach dem Schlüsselberechnungsschritt ET2 durchgeführt werden. Der Schritt ET3 bestimmt den Beitrag C1, der vom Parameter X0 zum verdeckten abgeleiteten Schlüssel M'1 hinzugefügt wird.
  • Der Schritt ET3 ist gleich dem Schritt ET2; so weist der Schritt ET3 eine Operation S1, um einen durch Verschiebung der Bits von X0 aktualisierten Verdeckungsparameter X1 = S1(X0) zu liefern, und eine Operation PC auf, um den Beitrag C1 zu berechnen. Der Beitrag C1 wird so gemäß der folgenden Beziehung berechnet: C1 = PC(S1(X0)). Daraus wird schließlich M'1 = M1|C1 abgeleitet.
  • Der Aufdeckungsschritt ET4 ist ein Unterschritt des Transformationsschritts F' (der der Transformation F, verändert durch das Hinzufügen des Schritts ET4 gemäß der Erfindung, entspricht); der Schritt ET4 wird zwischen der Operation der Kombination durch ein Exklusives ODER und der Operation der nicht-linearen Substitution SBOX durchgeführt. Der Schritt ET4 hat zum Ziel, den Beitrag C1 zu entfernen, der vom aktualisierten Verdeckungsparameter X1 zum Ergebnis der Kombinationsoperation hinzugefügt wurde. Hierzu wird der Operator "|-1" verwendet, d.h. der zum Operator "|" inverse lineare Operator. Wenn zum Beispiel der Operator "|" ein Exklusives ODER ist, ist der Operator "|-1" ebenfalls ein Exklusives ODER. Am Ausgang des Schritts ET4 hat man: (E(R0) + M'1|-1 C1 = E(R0) + M1|C1|-1 C1 = E(R0) + M1
  • Nach der Unterdrückung des Beitrags C1 ist somit die Variable, die am Eingang des Operators vom Typ SBOX auftritt, gleich E(R0) + M1, d.h., dass sie gleich der Variablen ist, die am Eingang des Operators SBOX eines ähnlichen, aber nicht erfindungsgemäß gesicherten Verfahrens (4) auftritt. Folglich ist der Ausgangsdatenwert, der am Ausgang des Transformationsschritts F' auftritt, gleich demjenigen, der am Ausgang des Transformationsschritts F des nicht gesicherten Verfahrens der 4 auftritt.
  • Wie man gesehen hat, sind die Ergebnisse, die von den Verfahren der 4 und 5 geliefert werden, strikt gleich: Der Ausgangsdatenwert ist in beiden Fällen der gleiche, wenn der Eingangsdatenwert und der Geheimschlüssel die gleichen sind.
  • Wie das klassische DES-Verfahren ist das Verfahren der 4 für SPA-Angriffe empfindlich, und dies aus den gleichen Gründen. Für den gleichen Geheimschlüssel K0 ist nämlich der Wert des abgeleiteten Schlüssels M1 bei jeder Anwendung des Verfahrens gleich. Ein SPA-Angriff ist also möglich, indem die Spur des Verfahrens gemessen wird, insbesondere beim Zeitintervall zwischen dem Schlüsselberechnungsschritt ET2 und dem Transformationsschritt F'.
  • Dagegen ist das erfindungsgemäße Verfahren gemäß 5 gegenüber den Angriffen vom Typ SPA immun. Bei einem gleichen Wert des Geheimschlüssels K0 ist nämlich der Wert des entsprechenden abgeleiteten Schlüssels M'1 von einer Anwendung des Verfahrens zur anderen immer anders, da der Verdeckungsparameter X0, der bei der Initialisierung des Algorithmus zufällig ausgewählt wird, einen Zufallsbeitrag C1 zum abgeleiteten Schlüssel M'1 hinzufügt.
  • Erfindungsgemäß wird somit das Verfahren durch Hinzufügen eines zufälligen Verdeckungsparameters vor den SPA-Angriffen geschützt.
  • In einem anderen Beispiel wird das in den 1, 2 dargestellte DES-Verfahren betrachtet. Wie man vorher gesehen hat, berechnet ein kryptographisches Verfahren vom Typ DES einen Ausgangsdatenwert MS ausgehend von einem Geheimschlüssel K0 und von einem Eingangsdatenwert ME; das DES-Verfahren enthält 16 Runden von Operationen, vor denen eine Eingangspermutation PE liegt und auf die eine Ausgangspermutation IP-1 folgt, die zur Eingangspermutation invers ist. Jede Runde von Operationen weist insbesondere (2) einen Schritt ET2 der Berechnung eines abgeleiteten Schlüssels und einen Transformationsschritt F auf.
  • Erfindungsgemäß wird das DES-Verfahren durch das Hinzufügen eines Initialisierungsschritts ET0, eines Verdeckungsschritts ET1 und in jeder Runde von Operationen durch das Hinzufügen eines Differenzberechnungsschritts ET3 und eines Aufdeckungsschritts ET4 (6) gesichert, die denen der 5 gleichen. Aus Gründen der Klarheit und der Vereinfachung wurde nur die i-te Runde von Operationen, wobei i eine ganze Zahl zwischen 1 und 16 ist, mit den charakteristischen Schritten ET0 bis ET4 der vorliegenden Erfindung in 6 dargestellt.
  • Während des Initialisierungsschritts ET0 wird ein Verdeckungsparameter X0 zufällig ausgewählt.
  • Während des Verdeckungsschritts ET1, der nach dem Initialisierungsschritt ET0 durchgeführt wird, wird der Verdeckungsparameter X0 mit dem Geheimschlüssel K0 gemischt, um einen verdeckten Geheimschlüssel K'0 zu liefern, wie im vorhergehenden Beispiel. Die Mischung erfolgt durch die folgende Beziehung: K'0 = K0|X0.
  • In der i-ten Runde liefert der Schritt ET2 der Berechnung eines abgeleiteten Schlüssels einen verdeckten abgeleiteten Schlüssel M'1 des Rangs i ausgehend von einem verdeckten Zwischenschlüssel K'i-1 des Rangs i-1, der im Schritt ET2 der vorhergehenden Runde des Rangs i-1 berechnet wurde. Der Schritt ET2 setzt sich aus einer Operation Si der Verschiebung der Bits des vorher berechneten verdeckten Zwischenschlüssels Ki-1 und einer Operation PC zusammen. Man hat die folgenden Beziehungen: K'i-1 = Ki-1|Xi-1 K'i = Si(K'i-1) M'i = PC(K'i) = PC(Si(K'i-1)) = PC(Si(ki-1|Xi-1)) = PC(Si(Ki-1))|PC(Si(Xi-1)).
  • Die letzten Gleichheiten leiten sich von den Eigenschaften der linearen Operatoren PC, Si, "|" ab. Da außerdem gilt PC(Si(Ki-1)) = Mi (siehe das Beispiel der 2), leitet man schließlich daraus ab, dass gilt: M'i = Mi|PC(Si(Xi-1)).
  • Der Differenzberechnungsschritt ET3 wird nach dem Initialisierungsschritt ET0 durchgeführt. Der Schritt ET3 kann vor, gleichzeitig mit, oder nach dem Schritt ET2 durchgeführt werden. Der Schritt ET3 aktualisiert den Wert Xi-1 des Verdeckungsparameters X0 und bestimmt dann den Beitrag Ci, der von Xi-1 dem abgeleiteten Schlüssel Mi' hinzugefügt wird.
  • Der Schritt ET3 ist ähnlich dem Schlüsselberechnungsschritt ET2; der Schritt ET3 enthält eine Operation Si, um Xi durch Verschiebung der Bits des Parameters Xi-1 zu liefern, und eine Operation PC der Permutation/Kompression, um Ci zu liefern. Der Beitrag Ci wird so gemäß folgender Beziehung berechnet:
    Ci = PC(Xi) = PC(Si(Xi-1)). Daraus wird schließlich abgeleitet:
    M'i = Mi|Ci.
  • Der Aufdeckungsschritt ET4 ist ein Unterschritt des Transformationsschritts F' (entsprechend der Transformation F, verändert durch Hinzufügung des erfindungsgemäßen Schritts ET4); der Schritt ET4 wird zwischen der Kombinationsoperation durch ein Exklusives ODER und der nicht-linearen Substitutionsoperation SBOX wie im vorhergehenden Beispiel durchgeführt. Der Schritt ET4 zielt darauf ab, unter Verwendung des Operators "|-1" den Beitrag Ci zu entfernen, der vom aktualisierten Verdeckungsparameter Xi hinzugefügt wurde. Nach dem Schritt ET4 ist die Variable, die am Eingang des Operators vom Typ SBOX auftritt, gleich: (E(Ri-1) + M'i|-1 Ci = E(Ri-1) + Mi|Ci|-1 Ci = E(Ri-1) + Mi
  • Sie ist also gleich der Variablen, die am Eingang des Operators SBOX eines ähnlichen, aber nicht erfindungsgemäß gesicherten Verfahrens (1, 2) auftritt. Folglich ist der Datenwert Ri, der am Ausgang des Transformationsschritts F' auftritt, gleich demjenigen, der am Ausgang des Transformationsschritts F des nicht gesicherten DES-Verfahrens auftritt (1, 2).
  • Mit dem erfindungsgemäßen gesicherten DES-Verfahren sind somit die berechneten Zwischendaten Li, Ri, mit i variabel zwischen 1 und 16, gleich denjenigen, die mit einem üblichen DES-Verfahren erhalten werden. Mit dem erfindungsgemäßen gesicherten Verfahren ist dagegen keiner der verwendeten Schlüssel (Geheimschlüssel, Zwischenschlüssel, abgeleitete Schlüssel) für einen Angriff vom Typ SPA zugänglich. Genauer gesagt, liefert ein Angriff des Typs SPA auf die Schritte des Verfahrens entsprechend der Berechnung der abgeleiteten Schlüssel (key scheduling) keinerlei relevante Information über den Geheimschlüssel und/oder über einen der Zwischenschlüssel Ki oder abgeleiteten Schlüssel Mi. Der Wert dieser Schlüssel ist nämlich bei jeder Verwendung des Verfahrens anders, unabhängig vom Eingangsdatenwert oder vom von diesem Verfahren verwendeten Geheimschlüssel.
  • Veränderungen und/oder Verbesserungen des Verfahrens der 6 sind möglich, ohne den Rahmen der Erfindung zu verlassen.
  • Im DES-Verfahren der 6 werden zum Beispiel der Schlüsselberechnungsschritt ET2 und der Differenzberechnungsschritt ET3 während der Runde von Operationen durchgeführt, die den Schlüssel M'1 und den Beitrag C1 verwendet, den die Schritte ET2, ET3 erzeugen.
  • Es ist aber möglich, die Schritte ET2, ET3 unabhängig von den Runde von Operationen des DES-Verfahrens durchzuführen. Es ist zum Beispiel möglich, alle Schritte ET2, ET3 während der Initialisierungsphase des Verfahrens, nach dem Schritt ET0 des Auswählens von X0 durchzuführen. Alle Schlüssel M'1, M'16 und alle Beiträge C1 bis C16 werden in diesem Fall gespeichert und dann an jede Runde von Operationen geliefert, wenn sie verwendet werden.
  • Schließlich ist anzumerken, dass alle oben beschriebenen Beispiele als solche betrachtet werden müssen und die Erfindung nicht einschränken.
  • Das Hauptmerkmal der Erfindung ist es, einen Zufallsparameter in ein Verschlüsselungsverfahren einzufügen, so dass bei zwei Anwendungen des Verfahrens durch ein Bauteil letzteres unterschiedliche Schlüssel (Geheimschlüssel, Zwischenschlüssel, abgeleiteter Schlüssel usw.) verwendet, unabhängig vom Eingangsdatenwert und/oder vom Geheimschlüssel und/oder vom Ausgangsdatenwert, und insbesondere bei zwei Anwendungen, die den gleichen Eingangsdatenwert und/oder den gleichen geheimen Datenwert und/oder den gleichen Ausgangsdatenwert verwenden. Durch Verwendung unterschiedlicher Schlüssel bei jeder Anwendung hinterlässt das Verfahren unterschiedliche Spuren; es ist also unempfindlich für die SPA-Angriffe.

Claims (12)

  1. Gesichertes Verfahren zur kryptographischen Berechnung, um einen Ausgangsdatenwert (MS) ausgehend von einem Eingangsdatenwert (ME) und von einem Geheimschlüssel (K0) zu liefern, wobei das Verfahren mehrere Schlüsselberechnungsschritte (ET2) aufweist, von denen jeder ausgehend von einem vorher durch den vorhergehenden Schlüsselberechnungsschritt gemäß einem bekannten Schlüsselberechnungsgesetz berechneten abgeleiteten Schlüssel (M'i-1) einen aktualisierten abgeleiteten Schlüssel (M'1, M'i) liefert, wobei ein erster aktualisierter abgeleiteter Schlüssel (M'1) ausgehend vom Geheimschlüssel (K0) erhalten wird, wobei das Verfahren dadurch gekennzeichnet ist, dass es ebenfalls einen einzigen Verdeckungsschritt (ET1) aufweist, der vor dem ersten Schlüsselberechnungsschritt (ET2) durchgeführt wird, um den Geheimschlüssel (K0) so zu verdecken, dass jeder aktualisierte abgeleitete Schlüssel (M'1, M'i) bei jeder Durchführung des Verfahrens unterschiedlich ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass während des Verdeckungsschritts (ET1) ein zufällig gewählter Verdeckungsparameter (X0) mit dem Geheimschlüssel (K0) gemischt wird, um einen verdeckten Geheimschlüssel (K'0) zu liefern, wobei der erste abgeleitete Schlüssel (M'1) während des ersten Schlüsselberechnungsschrittes (ET2) ausgehend vom verdeckten Geheimschlüssel (K0) berechnet wird.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der Verdeckungsschritt (ET1) während einer Initialisierungsphase (ET0, ET1) des Verfahrens erfolgt.
  4. Verfahren nach einem der Ansprüche 2 bis 3, dadurch gekennzeichnet, dass es ebenfalls aufweist: – einen Rechenschritt (ET5), der einen aktualisierten abgeleiteten Schlüssel (M'1, M'i) verwendet, und – einen Aufdeckungsschritt (ET4), der nach dem Rechenschritt (ET5) durchgeführt wird, um einen Beitrag des Verdeckungsparameters (X0) zum Ergebnis des vorhergehenden Rechenschrittes (ET5) zu beseitigen.
  5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass während des Verdeckungsschrittes (ET1) die folgende Operation durchgeführt wird: K'0 = K0|X0, wobeiK'0 der verdeckte Geheimschlüssel ist, K0 der Geheimschlüssel ist, X0 der Verdeckungsparameter ist, "|" ein Mischoperator ist.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der verwendete Mischoperator ein linearer Operator mit zwei Parametern ist.
  7. Verfahren nach einem der Ansprüche 5 oder 6, dadurch gekennzeichnet, dass der Mischoperator ein Exklusiv-ODER-Operator ist.
  8. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass während des Aufdeckungsschrittes (ET4) ein zum Mischoperator inverser Operator verwendet wird.
  9. Verfahren nach einem der Ansprüche 2 bis 8, dadurch gekennzeichnet, dass es mehrere Rechenschritte (ET5) aufweist, die je einen aktualisierten abgeleiteten Schlüssel (M'1, M'i) verwenden, und dass ein Aufdeckungsschritt (ET4) nach jedem Rechenschritt (ET5) durchgeführt wird, um den Beitrag des Verdeckungsparameters (X0) zum Ergebnis des vorhergehenden Rechenschrittes (ET5) zu beseitigen.
  10. Verfahren nach einem der Ansprüche 1 bis 9, vom DES-Typ mit N Runden von Operationen, wobei jede Runde von Operationen einen aktualisierten abgeleiteten Schlüssel (M'1, ..., M'16) verwendet, wobei der Verdeckungsschritt (ET1) vor einer ersten Runde des Verfahrens vom DES-Typ durchgeführt wird.
  11. Verfahren nach Anspruch 10, während dem in jeder Runde von Operationen eine Transformation (F) durchgeführt wird, die aufweist: – einen Rechenschritt (ET5), um einen während einer vorhergehenden Runde berechneten Zwischendatenwert und einen aktualisierten abgeleiteten Schlüssel (M'1, ..., M'16) zu kombinieren, – einen Aufdeckungsschritt (ET4), der nach dem Rechenschritt durchgeführt wird.
  12. Elektronisches Bauteil, dadurch gekennzeichnet, dass es ein gesichertes Verfahren zur kryptographischen Berechnung nach einem der Ansprüche 1 bis 11 aufweist.
DE60207818T 2001-02-08 2002-02-06 Gesichertes Verfahren zur kryptographischen Berechnung mit Geheimschlüssel und Bauteil, das ein solches Verfahren anwendet Expired - Lifetime DE60207818T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0101684 2001-02-08
FR0101684A FR2820577B1 (fr) 2001-02-08 2001-02-08 Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
PCT/FR2002/000454 WO2002063822A1 (fr) 2001-02-08 2002-02-06 Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede

Publications (2)

Publication Number Publication Date
DE60207818D1 DE60207818D1 (de) 2006-01-12
DE60207818T2 true DE60207818T2 (de) 2006-08-24

Family

ID=8859753

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60207818T Expired - Lifetime DE60207818T2 (de) 2001-02-08 2002-02-06 Gesichertes Verfahren zur kryptographischen Berechnung mit Geheimschlüssel und Bauteil, das ein solches Verfahren anwendet

Country Status (6)

Country Link
US (1) US7400723B2 (de)
EP (1) EP1358733B1 (de)
JP (2) JP4727906B2 (de)
DE (1) DE60207818T2 (de)
FR (1) FR2820577B1 (de)
WO (1) WO2002063822A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8582774B2 (en) * 2002-03-07 2013-11-12 Gemalto Sa Method for making safe an electronic cryptography assembly with a secret key
US20030233562A1 (en) * 2002-06-12 2003-12-18 Sachin Chheda Data-protection circuit and method
US7899190B2 (en) 2004-04-16 2011-03-01 Research In Motion Limited Security countermeasures for power analysis attacks
US7848514B2 (en) 2004-05-24 2010-12-07 Research In Motion Limited Table masking for resistance to power analysis attacks
FR2873523B1 (fr) * 2004-07-22 2007-08-10 Sagem Procede et dispositif d'execution d'un calcul cryptographique
KR100652377B1 (ko) * 2004-08-06 2007-02-28 삼성전자주식회사 모듈라 지수승 알고리즘, 기록매체 및 시스템
DE102004043480B3 (de) * 2004-09-08 2005-12-29 Infineon Technologies Ag Vorrichtung und Verfahren zum Erkennen einer Störung einer kryptographischen Einheit vorzugsweise des AES-Algorithmus
EP1722502B1 (de) * 2005-05-10 2007-09-05 Research In Motion Limited Schlüsselmaskierung für kryptographische Prozesse
US7720225B2 (en) * 2006-03-07 2010-05-18 Research In Motion Limited Table splitting for cryptographic processes
FR2904901B1 (fr) * 2006-08-09 2008-10-03 Sagem Defense Securite Procede de verification de l'integrite d'une clef de chiffrement obtenue par combinaison de parties de clef
US7822207B2 (en) * 2006-12-22 2010-10-26 Atmel Rousset S.A.S. Key protection mechanism
US8582765B2 (en) * 2007-08-01 2013-11-12 Stmicroelectronics S.A. Masking of data in a calculation
FR2924550A1 (fr) * 2007-11-30 2009-06-05 Commissariat Energie Atomique Procedes et dispositifs de cryptage et de decryptage d'un message de donnees a cle secrete aleatoire.
US8879725B2 (en) * 2008-02-29 2014-11-04 Intel Corporation Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation
US8035521B2 (en) * 2008-07-29 2011-10-11 Ncr Corporation Radio frequency data reader
FR2941343B1 (fr) * 2009-01-20 2011-04-08 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie, protege notamment contre les attaques par observation de fuites d'information par leur chiffrement.
EP2443786A1 (de) * 2009-06-19 2012-04-25 Irdeto B.V. Krypografisches white-box-system mit konfigurierbarem schlüssel mittels zwischendatenänderung
FR2951599B1 (fr) 2009-10-20 2011-11-25 St Microelectronics Rousset Procede securise de calcul cryptographique et composant electronique correspondant
US8619985B2 (en) 2010-04-27 2013-12-31 Research In Motion Limited Table splitting for cryptographic processes
FR2967322B1 (fr) * 2010-11-08 2012-12-28 Morpho Protection contre les ecoutes passives
JP5954030B2 (ja) * 2012-08-02 2016-07-20 富士通株式会社 暗号処理装置および方法
CN104639312B (zh) * 2013-11-08 2017-12-29 国家电网公司 一种des算法抗能量攻击的方法及装置
ES2619613T3 (es) 2014-06-12 2017-06-26 Nagravision S.A. Método criptográfico para intercambiar mensajes de forma segura y dispositivo y sistema para implementar este método
EP3437248A4 (de) * 2016-03-30 2019-11-06 The Athena Group, Inc. Schlüsselaktualisierung für maskierte schlüssel
KR102305858B1 (ko) * 2017-09-26 2021-09-27 삼성에스디에스 주식회사 키 정보 프로비저닝 방법 및 이를 이용한 장치
CN113595717B (zh) * 2020-04-30 2023-10-17 比亚迪股份有限公司 Ecb模式分组加密方法和解密方法及控制装置和车辆

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949884A (en) * 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
US6064740A (en) * 1997-11-12 2000-05-16 Curiger; Andreas Method and apparatus for masking modulo exponentiation calculations in an integrated circuit
FR2776445A1 (fr) 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
DE19822217B4 (de) 1998-05-18 2018-01-25 Giesecke+Devrient Mobile Security Gmbh Zugriffsgeschützter Datenträger
US8457302B1 (en) * 1998-05-18 2013-06-04 Giesecke & Devrient Gmbh Access-controlled data storage medium
CA2333095C (en) 1998-06-03 2005-05-10 Cryptography Research, Inc. Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
JP3600454B2 (ja) 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
FR2790890B1 (fr) * 1999-03-08 2001-04-27 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
FR2802741B1 (fr) 1999-12-15 2003-10-31 Sagem Dispositif mettant en oeuvre un algorithme de chiffrage par bloc a repetition de rondes
US7000111B1 (en) * 2000-11-07 2006-02-14 Ericsson Inc. Method for masking secret multiplicands
US7403620B2 (en) * 2002-07-02 2008-07-22 Stmicroelectronics S.A. Cyphering/decyphering performed by an integrated circuit

Also Published As

Publication number Publication date
FR2820577B1 (fr) 2003-06-13
JP4727906B2 (ja) 2011-07-20
JP2008295109A (ja) 2008-12-04
WO2002063822A1 (fr) 2002-08-15
EP1358733B1 (de) 2005-12-07
FR2820577A1 (fr) 2002-08-09
EP1358733A1 (de) 2003-11-05
US7400723B2 (en) 2008-07-15
DE60207818D1 (de) 2006-01-12
US20040071291A1 (en) 2004-04-15
JP2004527787A (ja) 2004-09-09

Similar Documents

Publication Publication Date Title
DE60207818T2 (de) Gesichertes Verfahren zur kryptographischen Berechnung mit Geheimschlüssel und Bauteil, das ein solches Verfahren anwendet
DE60223337T3 (de) Verfahren zur gesicherten verschlüsselung und baustein zur ausführung eines solchen verschlüsselungsverfahrens
EP2605445B1 (de) Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
DE602004013206T2 (de) Verfahren und diesbezügliche einrichtung zur hardwareorientierten umsetzung zwischen arithmetik- und boolscher zufallsmaskierung
WO2014048556A1 (de) Seitenkanalgeschützte maskierung
DE102005024609A1 (de) Bestimmung einer modularen Inversen
DE10143728A1 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
WO2007112791A1 (de) Verfahren zum sicheren ermitteln von daten
DE19829643A1 (de) Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
DE60036928T2 (de) Gegenmassnahmeverfahren in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit geheimschlüssel
DE69735290T2 (de) Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand
DE10304451B3 (de) Modulare Exponentiation mit randomisiertem Exponenten
DE102004042826A1 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
DE60027163T2 (de) Gegenmassnahmenverfahren in einem elektronischen bauelement mit einem kryptosystem mit privatem schlüssel
WO2017097418A1 (de) Kryptoalgorithmus mit schlüsselabhängigem maskiertem rechenschritt (sbox-aufruf)
DE60022974T2 (de) Vorrichtung zur Ausführung eines Blockverschlüsselungsalgorithmus mit Wiederholungsrunden
DE602004003675T2 (de) Sicherheitsgegenmassnahmen gegen Angriffe durch Stromverbrauchsanalysen
WO2021156005A1 (de) Schlüsselgenerierung und pace mit sicherung gegen seitenkanalangriffe
DE69928684T2 (de) Gegenmassnahmenvorrichtung in einem elktronischen bauteil um einen krypto-algorithmus mit geheimschlüssel durch zu führen
EP3369205B1 (de) Alternative darstellung des krypto-algorithmus des
DE60034944T2 (de) Gegenmassnahmeverfahren in einer geheimen und dynamischen Verschlüsselungsalgorithmus ausführenden elektronischen Schaltung
DE19921633A1 (de) Verfahren zur Implementierung kryptographischer Algorithmen
DE19845073C2 (de) Verfahren zur Absicherung der DES-Verschlüsselung gegen Ausspähung der Schlüssel durch Analyse der Stromaufnahme des Prozessors
DE69600143T2 (de) Verfahren zur digitalen Unterschrift mit Null-Kenntnis, zum Herstellen von kollisionsresistenten Unterschriften

Legal Events

Date Code Title Description
8363 Opposition against the patent