DE102013205544A1 - Vorrichtung und Verfahren zur Verarbeitung von Daten - Google Patents

Vorrichtung und Verfahren zur Verarbeitung von Daten Download PDF

Info

Publication number
DE102013205544A1
DE102013205544A1 DE201310205544 DE102013205544A DE102013205544A1 DE 102013205544 A1 DE102013205544 A1 DE 102013205544A1 DE 201310205544 DE201310205544 DE 201310205544 DE 102013205544 A DE102013205544 A DE 102013205544A DE 102013205544 A1 DE102013205544 A1 DE 102013205544A1
Authority
DE
Germany
Prior art keywords
data words
data
predetermined
coding unit
coded data
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
DE201310205544
Other languages
English (en)
Inventor
Matthew Lewis
Robert Szerwinski
Paulius Duplys
Jamshid Shokrollahi
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE201310205544 priority Critical patent/DE102013205544A1/de
Priority to FR1452316A priority patent/FR3004036A1/fr
Priority to US14/223,777 priority patent/US9369486B2/en
Priority to CN201410118952.3A priority patent/CN104079304B/zh
Publication of DE102013205544A1 publication Critical patent/DE102013205544A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1475Passive attacks, e.g. eavesdropping or listening without modification of the traffic monitored
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]

Landscapes

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

Abstract

Die Erfindung betrifft eine Vorrichtung (100) zur Verarbeitung von Daten, wobei die Vorrichtung (100) eine Eingangsschnittstelle (110) zum Empfang von Eingangsdaten (X) aufweist und eine Verarbeitungseinheit (120) zur Verarbeitung von Daten, dadurch gekennzeichnet, dass eine Kodiereinheit (130) vorgesehen ist, die dazu ausgebildet ist, an der Eingangsschnittstelle (110) als Eingangsdaten (X) erhaltene Datenworte (Xn) zu kodieren, um kodierte Datenworte (Xn‘) zu erhalten, wobei die Kodiereinheit (130) dazu ausgebildet ist, die Datenworte (Xn) so zu kodieren, dass ein vorgebbarer Anteil aller kodierten Datenworte (Xn‘) untereinander, vorzugsweise mindestens etwa 50% aller kodierten Datenworte (Xn‘), eine vorgebbare Hammingdistanz und/oder ein vorgebbares Hamminggewicht aufweist, und dass die Verarbeitungseinheit (120) dazu ausgebildet ist, die kodierten Datenworte (Xn‘) zu verarbeiten.

Description

  • Stand der Technik
  • Die Erfindung betrifft eine Vorrichtung zur Verarbeitung von Daten, wobei die Vorrichtung eine Eingangsschnittstelle zum Empfang von Eingangsdaten aufweist und eine Verarbeitungseinheit zur Verarbeitung von Daten.
  • Die Erfindung betrifft ferner ein Verfahren zum Betreiben einer derartigen Vorrichtung.
  • Offenbarung der Erfindung
  • Es ist Aufgabe der vorliegenden Erfindung, eine Vorrichtung und ein Verfahren der eingangs genannten Art zu verbessern, sodass eine gesteigerte Sicherheit gegenüber Angriffen, insbesondere Seitenkanalattacken gegeben ist.
  • Diese Aufgabe wird bei der Vorrichtung der eingangs genannten Art erfindungsgemäß dadurch gelöst, dass eine Kodiereinheit vorgesehen ist, die dazu ausgebildet ist, an der Eingangsschnittstelle als Eingangsdaten erhaltene Datenworte zu kodieren, um kodierte Datenworte zu erhalten, wobei die Kodiereinheit dazu ausgebildet ist, die Datenworte so zu kodieren, dass ein vorgebbarer Anteil aller kodierten Datenworte untereinander, vorzugsweise mindestens etwa 50% aller kodierten Datenworte, eine vorgebbare Hammingdistanz und/oder ein vorgebbares Hamminggewicht aufweist, und dass die Verarbeitungseinheit dazu ausgebildet ist, die kodierten Datenworte zu verarbeiten.
  • Erfindungsgemäß ist erkannt worden, dass die Transformation der eingangsseitig erhaltenen Datenworte mittels der vorgeschlagenen Kodierung, die Kriterien hinsichtlich Hammingdistanz bzw. Hamminggewicht definiert, eine geringere Leckage von Informationen betreffend die verarbeiteten Daten innerhalb der erfindungsgemäßen Verarbeitungseinheit zur Folge hat.
  • Vorliegend wird unter „alle kodierte Datenworte“ die Menge aller theoretisch auftretenden kodierten Datenworte verstanden. Wenn beispielsweise j viele eingangsseitig erhaltenen Datenworte existieren, können diesen j vielen eingangsseitig erhaltenen Datenworten durch die Kodiereinheit entsprechend j viele kodierte Datenworte zugeordnet werden. Vorzugsweise erfolgt die Kodierung bei einer Ausführungsform demgemäß so, dass mindestens etwa 50% der j vielen kodierten Datenworte untereinander eine vorgebbare Hammingdistanz aufweisen. Alternativ oder ergänzend kann die Kodierung vorzugsweise auch so erfolgen, dass mindestens etwa 50% der j vielen kodierten Datenworte ein vorgebbares Hamminggewicht aufweisen.
  • Insbesondere können hierdurch sogenannte differential power analysis(DPA)-Attacken auf die erfindungsgemäße Vorrichtung vereitelt bzw. wesentlich erschwert werden. Bspw. ist bei einer bevorzugten Ausführungsform vorgesehen, dass der vorgebbare Anteil etwa 100% beträgt, das bedeutet, dass alle (j vielen) Datenworte so kodiert werden, dass sie untereinander eine vorgebbare Hammingdistanz und/oder ein vorgebbares Hamminggewicht aufweisen. In diesem Fall kann bspw. mittels einer differential power analysis(DPA)-Attacke nur ein außerordentlich geringer bzw. gar kein wesentlicher Informationsanteil durch eine entsprechende Auswertung des Betriebs der erfindungsgemäßen Vorrichtung erhalten werden, weil bspw. im Falle eines konstanten Hamminggewichts aller kodierten Datenworte jedes Datenwort gleich viele Bits mit dem Wert 1 aufweist wie alle anderen Datenworte. Dadurch wird verhindert, dass Bitübergänge (Zustandsübergänge von 1 nach 0 und umgekehrt), wie sie bei der Verarbeitung der kodierten Datenworte auftreten, Informationen über den eigentlichen Informationsgehalt der unkodierten Datenworte preisgeben.
  • Bei einer vorteilhaften Ausführungsform ist vorgesehen, dass die Verarbeitungseinheit mindestens ein Register aufweist, das zur zumindest zeitweisen Speicherung mindestens eines kodierten Datenworts ausgebildet ist.
  • Das bedeutet, eine einfache Ausführungsform der Erfindung betrifft eine Vorrichtung, welche eine Eingangsschnittstelle und eine erfindungsgemäße Kodiereinheit aufweist, und bei der die erfindungsgemäße Verarbeitung bspw. eine zumindest zeitweise Speicherung in dem Register vorsieht. Bei dieser Ausführungsform wird also ein erfindungsgemäß kodiertes Datenwort (oder auch mehrere kodierte Datenworte) zumindest zeitweise in einem Register oder einem anderen Speicher gespeichert, und zwar in der kodierten Form, sodass ein nachfolgendes Auslesen der kodierten Datenworte und eine Weiterverarbeitung möglich ist. Bspw. kann ein nachfolgendes kryptografisches Verfahren das entsprechende Register auslesen und die Daten weiterverarbeiten.
  • Alternativ oder ergänzend kann die erfindungsgemäße Verarbeitungseinheit auch mindestens eine kryptografische Einheit aufweisen, die zur Ausführung mindestens eines Teils eines kryptografischen Verfahrens ausgebildet ist. Bspw. kann die Bearbeitungseinheit eine kryptografische Einheit aufweisen, die zur Ausführung des kompletten AES(advanced encryption standard)-Algorithmus ausgebildet ist.
  • Bei einer weiteren Ausführungsform kann vorgesehen sein, dass die Verarbeitungseinheit eine kryptografische Einheit aufweist, die zur Ausführung eines Teils eines kryptografischen Verfahrens ausgebildet ist, bspw. zur Ausführung einer nichtlinearen Substitutionsoperation, wie sie auch Gegenstand der sogenannten SubBytes() Funktion des AES-Kryptografie Standards ist (vgl. http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf, Kapitel 5.1.1).
  • Bei einer weiteren vorteilhaften Ausführung ist vorgesehen, dass die Kodiereinheit dazu ausgebildet ist, die Datenworte zu kodieren, indem jedem Datenwort eine vorgebbare Anzahl an Bits hinzugefügt wird. Hierbei kann der Wert der entsprechend hinzugefügten Bits je nach der erfindungsgemäßen Kodierung gewählt werden. Mit anderen Worten wird durch die erfindungsgemäße Hinzufügung einer vorgebbaren Anzahl von Bits (und Auswahl ihres jeweiligen Werts) eine Zahl von Freiheitsgraden geschaffen für die erfindungsgemäße Kodierung, die die Einstellung eines gewünschten Hamminggewichts und/oder gewünschter Hammingdistanzen für ein bzw. mehrere kodierte Datenworte ermöglicht. Die eigentliche Information der unkodierten Datenworte geht dabei nicht verloren, da erfindungsgemäß nur neue Bits hinzugefügt werden.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Kodiereinheit dazu ausgebildet ist, die vorgebbare Anzahl an hinzugefügten Bits bzw. deren Werte so zu wählen, dass der vorgebbare Anteil aller kodierten Datenworte untereinander die vorgebbare Hammingdistanz und/oder das vorgebbare Hamminggewicht aufweisen.
  • Unter Hammingdistanz oder auch Hammingabstand wird die Anzahl unterschiedlicher Stellen zweier miteinander verglichener Codewörter bezeichnet. Bei einem Binärkode und zwei entsprechenden Kodewörtern entspricht der Hammingabstand bzw. die Hammingdistanz demnach der Anzahl der unterschiedlichen Bitstellen der verglichenen Kodewörter.
  • Unter Hamminggewicht wird der Hammingabstand zum Nullvektor verstanden. Bei einem Binärkode entspricht das Hamminggewicht demnach der Anzahl der von Null verschiedenen Stellen des betrachteten Kodewortes, das bedeutet, die Anzahl der Bits mit dem Wert eins.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Kodiereinheit dazu ausgebildet ist, den in Spalte S2 der nachfolgenden Tabelle aufgeführten Datenworten das in der entsprechenden Zeile der Spalte S3 der Tabelle aufgeführte kodierte Datenwort zuzuordnen. Einzelne Bitstellen der Datenworte sind jeweils durch Komma voneinander getrennt, und ein Datenwort ist in runde Klammern () gesetzt.
    S2 S3
    (0,0,0,0) (0,0,0,0,0,1,1)
    (0,0,0,1) (0,0,0,1,0,0,1)
    (0,0,1,0) (0,0,1,0,0,0,1)
    (0,0,1,1) (0,0,1,1,0,0,0)
    (0,1,0,0) (0,1,0,0,0,0,1)
    (0,1,0,1) (0,1,0,1,0,0,0)
    (0,1,1,0) (0,1,1,0,0,0,0)
    (0,1,1,1) (1,0,0,0,1,0,0)
    (1,0,0,0) (1,0,0,0,0,0,1)
    (1,0,0,1) (1,0,0,1,0,0,0)
    (1,0,1,0) (1,0,1,0,0,0,0)
    (1,0,1,1) (0,1,0,0,1,0,0)
    (1,1,0,0) (1,1,0,0,0,0,0)
    (1,1,0,1) (0,0,1,0,1,0,0)
    (1,1,1,0) (0,0,0,1,1,0,0)
    (1,1,1,1) (0,0,0,0,1,1,0)
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Vorrichtung zumindestens teilweise als integrierter Schaltkreis (IC, integrated circuit), vorzugsweise implementiert mittels CMOS (complementary metal-oxide-semiconductor) Technologie, ausgebildet ist. Die erfindungsgemäße Funktionalität kann z. B. auch in einem ASIC oder FPGA implementiert werden.
  • Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung ist ein Verfahren gemäß Patentanspruch 7 angegeben.
  • Weitere vorteilhafte Ausführungsformen sind Gegenstand der Unteransprüche. Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigt:
  • 1 schematisch eine Ausführungsform einer erfindungsgemäßen Vorrichtung,
  • 2a, 2b schematisch jeweils eine Ausführungsform einer erfindungsgemäßen Verarbeitungseinheit,
  • 3a, 3b schematisch Geräte mit einer erfindungsgemäßen Vorrichtung,
  • 4 schematisch ein Beispiel für eine Ausführungsform einer erfindungsgemäßen Kodierung,
  • 5 schematisch eine Tabelle zur Veranschaulichung einer Kodierung gemäß einer Ausführungsform,
  • 6 schematisch eine weitere Vorrichtung gemäß einer Ausführungsform, und
  • 7 schematisch ein vereinfachtes Flussdiagramm einer Ausführung des erfindungsgemäßes Verfahrens.
  • 1 zeigt schematisch eine Ausführungsform einer erfindungsgemäßen Vorrichtung 100 zur Verarbeitung von Daten. Die Vorrichtung 100 weist eine Eingangsschnittstelle 110 zum Empfang von Eingangsdaten X auf. Die Eingangsdaten X können bspw. als zeitlich aufeinander folgende digitale Datenworte vorliegen, bspw. Datenworte Xn mit einer Datenbreite von bspw. vier Bit. Andere Datenbreiten sind ebenfalls möglich. Dementsprechend leitet die Eingangsschnittstelle 110 die Eingangsdaten X in Form von Datenworten Xn an ihrem Ausgang weiter.
  • Die Vorrichtung 100 verfügt ferner über eine Verarbeitungseinheit 120 zur Verarbeitung von Daten, bspw. von Daten, welche von den Eingangsdaten X abgeleitet worden sind.
  • Erfindungsgemäß ist ferner eine Kodiereinheit 130 vorgesehen, welche dazu ausgebildet ist, die an der Eingangsschnittstelle 110 als Eingangsdaten X erhaltenen Datenworte Xn zu kodieren, um kodierte Datenworte Xn' zu erhalten. Die kodierten Datenworte Xn' werden wie aus 1 ersichtlich am Ausgang der Kodiereinheit 130 ausgegeben und der Bearbeitungseinheit 120 zur Verarbeitung zugeführt. Dementsprechend gibt die Verarbeitungseinheit 120 an ihrem Ausgang verarbeitete kodierte Datenworte Yn' aus.
  • Erfindungsgemäß ist die Kodiereinheit 130 dazu ausgebildet, die Datenworte Xn so zu kodieren, dass ein vorgebbarer Anteil aller kodierten Datenworte Xn' untereinander, vorzugsweise mindestens etwa 50% aller kodierten Datenworte Xn' eine vorgebbare Hammingdistanz und/oder ein vorgebbares Hamminggewicht aufweisen. Dadurch wird vorteilhaft erreicht, dass eine nachfolgende Verarbeitung der kodierten Datenworte Xn' und/oder eine Speicherung und/oder ein Zugriff hierauf in der Verarbeitungseinheit 120 einen geringeren Grad von Leckage an die Daten X betreffenden Informationen bedingt, wodurch DPA-Attacken auf die Vorrichtung 100 deutlich erschwert werden.
  • Erfindungsgemäß verarbeitet die Verarbeitungseinheit 120 demnach also die kodierten Datenworte Xn', und nicht direkt die nicht kodierten Eingangsdaten X bzw. die entsprechenden Datenworte Xn.
  • Bei einer bevorzugten Ausführungsform ist die Kodiereinheit 130 dazu ausgebildet, die Datenworte Xn so zu kodieren, dass alle kodierten Datenworte untereinander die vorgebbare Hammingdistanz aufweisen.
  • Alternativ oder ergänzend kann vorgesehen sein, dass die Kodierung derart erfolgt, dass alle kodierten Datenworte Xn' ein vorgebbares Hamminggewicht aufweisen.
  • Andere Varianten der Kodierung durch die Kodiereinheit 130 sind ebenfalls denkbar, das bedeutet, die Erfindung ist nicht beschränkt auf eine Kodierung der Eingangsdatenworte Xn mit dem Ziel, die vorgebbare Hammingdistanz bzw. das vorgebbare Hamminggewicht zu erreichen.
  • Bei der Verarbeitungseinheit 120 kann es sich einer bevorzugten Ausführungsform zufolge bspw. um ein Register handeln. 2a zeigt eine weitere Ausführungsform, bei der eine Variante 120a der Verarbeitungseinheit 120 gemäß 1 abgebildet ist. Die Verarbeitungseinheit 120a verfügt über zwei Register R1, R2, welche zur zumindest zeitweisen Speicherung von ihnen eingangsseitig zugeführten kodierten Datenworten Xn', wie sie aus der Kodiereinheit 130 erhalten werden, ausgebildet sind. Die Verarbeitungseinheit 120a gibt die kodierten Datenworte, die in den Registern R1, R2 gespeichert sind, zu gegebener Zeit zur weiteren Verarbeitung über einen Ausgang als „verarbeitete“ kodierte Daten Yn' aus. In dem vorliegenden Fall besteht die Besonderheit, dass aufgrund der Ausbildung der Verarbeitungseinheit 120a als reiner Speicher die Ausgangsdatenworte Yn' der Einheit 120a den Eingangsdatenworten Xn' entsprechen.
  • 2b zeigt eine weitere Ausführungsform 120b für eine erfindungsgemäße Verarbeitungseinheit. Vorliegend weist die Verarbeitungseinheit 120b eine kryptografische Einheit 124 auf, bei der es sich bspw. um eine Einheit zur Ausführung eines Teils eines Algorithmus eines Verschlüsselungsverfahrens handeln kann. Bspw. kann die kryptografische Einheit 124 dazu ausgebildet sein, eine nichtlineare Substitutionsoperation mit den ihr zugeführten Eingangsdaten Xn' auszuführen, und entsprechende Ausgangsdaten Yn' zu erhalten. Eine derartige nichtlineare Substitutionsoperation ist bspw. in der sogenannten SubBytes()-Funktion des AES (advanced encryption standard) vorgesehen. Dementsprechend kann eine Erfindungsvariante gemäß 2b zur Ausführung der betreffenden Teile des AES Algorithmus eingesetzt werden.
  • Bei noch einer weiteren Ausführungsform kann die Verarbeitungseinheit ein Datenbus (seriell oder parallel) sein, oder generell um eine Schaltungstechnische Komponente, der kodierte Datenworte zuführbar sind.
  • Bei noch einer weiteren Ausführungsform sind die Komponenten 120 und 130 auch funktional miteinander kombinierbar.
  • 3a zeigt einen weiteren Anwendungsbereich der Erfindung. Abgebildet ist eine Chipkarte 2000, auf der eine erfindungsgemäße Vorrichtung 100 angeordnet ist. Die Vorrichtung 100 steht in Datenverbindung mit Schnittstellenmitteln 2002, über die die Chipkarte 2000 bzw. die darin enthaltene Vorrichtung 100 Daten in an sich bekannter Weise mit externen Geräten wie bspw. einen Chipkartenleser (nicht gezeigt) oder dergleichen austauschen kann. Die Vorrichtung 100 gemäß 3a weist vorteilhaft mindestens die in 1 abgebildete Struktur auf, es ist auch denkbar, mehrere Kodiereinheiten 130 bzw. mehrere gleiche oder unterschiedliche Verarbeitungseinheiten 120 innerhalb einer Vorrichtung 100 vorzusehen, wodurch entsprechende Verfahrensschritte eines in der Vorrichtung 100 implementierten Datenverarbeitungsverfahrens die erfindungsgemäßen Vorteile nutzen können.
  • 3b zeigt eine weitere Anwendung der Erfindung. Abgebildet ist ein USB (universal serial bus) Speicherdatenträger 3000 der über eine erfindungsgemäße Vorrichtung 100 sowie USB-Anschlussmittel 3002 verfügt.
  • 4 zeigt ein Beispiel für eine erfindungsgemäße Kodierung anhand eines vier Bit (entspricht einem nibble = „Halbbyte“) umfassenden Datenworts Xn. Ein erstes Bit des Datenworts Xn ist in 4 mit dem Bezugszeichen X1 bezeichnet, ein zweites Bit mit dem Bezugszeichen X2, und ein drittes Bit mit dem Bezugszeichen X3, und ein viertes Bit mit dem Bezugszeichen X4. Zu der Repräsentation des Datenworts Xn ist demnach auch folgende Notation geeignet: (x1, x2, x3, x4), was der Aneinanderreihung der einzelnen Bits x1, x2, x3, x4 des Datenworts Xn entspricht.
  • Durch eine Kodierung mittels der Kodiereinheit 130 (1) wird das Datenwort Xn gemäß 4 in ein kodiertes Datenwort Xn' überführt, vgl. Pfeil a aus 4. Wie aus 4 ersichtlich ist, weist das kodierte Datenwort Xn' nach wie vor die vier Bit x1, x2, x3, x4 des ursprünglichen Datenworts Xn auf, sowie drei weitere Bits x5, x6, x7. Vorliegend wird die Kodierung a also durch das Anhängen einer Bitfolge Rn, welche vorliegend die Länge drei Bit aufweist, erzielt.
  • Die Werte der einzelnen Bits x5, x6, x7 der im Rahmen der erfindungsgemäßen Kodierung angehängten Bitfolge Rn können vorteilhaft bspw. so gewählt werden, dass eine gewünschte Hammingdistanz des kodierten Datenwortes Xn‘ zu anderen kodierten Datenworten bzw. ein gewünschtes Hamminggewicht für das kodierte Datenwort Xn' erhalten wird.
  • 5 zeigt beispielhaft eine Kodiertabelle mit drei Spalten S1, S2, S3, wie sie bspw. in der Kodiereinheit 130 (1) gemäß einer Ausführungsform einsetzbar ist. Die Spalte S1 enthält die Zeilennummern der insgesamt 16 Zeilen der Tabelle aus 5. Die zweite Spalte S2 enthält die vier Bit aufweisenden Eingangsdatenworte Xn in der vorstehend bereits beschriebenen Notation, bei denen die einzelnen Bitstellen jeweils durch Kommata getrennt sind und das Datenwort in runde Klammern gesetzt ist. Die Spalte S3 der in 5 abgebildeten Tabelle enthält die kodierten Datenworte Xn‘, wie sie durch die erfindungsgemäße Kodiereinheit 130 (1) den jeweiligen Datenworten Xn der Spalte S2 derselben Zeile zugeordnet werden.
  • Die Tabelle gemäß 5 kann aus den sechzehn Datenworten Xn beispielsweise mit den folgenden Gleichungen bzw. Bildungsregel erhalten werden:
    Figure DE102013205544A1_0002
    wobei
    HW(.) das Hamminggewicht eines Datenworts angibt, || eine bitweise Konkatenation angibt, wobei Xj das j-te unkodierte Datenwort ist, und wobei Xj‘ das j-te kodierte Datenwort ist.
  • Die durch die Tabelle der 5 veranschaulichte erfindungsgemäße Kodierung hat vorteilhaft den Effekt, dass alle kodierten Datenworte (Elemente der Spalte S3 der Tabelle) ein konstantes Hamminggewicht aufweisen, wodurch DPA Attacken auf die Vorrichtung 100 erschwert werden, weil im Rahmen der Verarbeitung der erfindungsgemäß kodierten Datenworte Xn' (1) in der Verarbeitungseinheit 120 bei jedem Codewort dieselbe Anzahl von Zustandsänderungen der einzelnen Bits der kodierten Datenworte Xn' auftreten, sodass spezielle Kombinationen von Zustandsänderungen nicht unmittelbar speziellen Codeworten, die gerade durch die Einheit 120 verarbeitet werden, zugeordnet werden können.
  • Zur Erzielung einer 8-bit Implementierung basierend auf dem erfindungsgemäßen Prinzip können die vorstehend erläuterten Schritte und die Kodierung der Tabelle gemäß 5 jeweils auf zwei Halbbytes („nibble“) angewendet werden, welche einem 8-bit Datenwort entsprechen. Damit kann beispielsweise eine 8-bit Implementierung der SubBytes() Funktion des AES realisiert werden. Die erfindungsgemäße Lösung ist auch sehr gut skalierbar, so dass beispielsweise für eine 32-bit Implementierung ein 32 bit breites Datenwort zunächst in acht Halbbytes zerlegt wird, vorzugsweise innerhalb eines Taktzyklus, also parallel, und sodann können die hieraus erhaltenen acht Halbbytes erfindungsgemäß kodiert werden.
  • 6 zeigt eine weitere Ausführungsform der Erfindung, bei der eine Vorrichtung 100a zur Verarbeitung von Daten abgebildet ist. Eingangsseitig erhält die Vorrichtung 100a wiederrum Eingangsdaten X, die bspw. in Form von z.B. 4 Bit aufweisenden Eingangsdatenworten Xn durch die Eingangsschnittstelle 110 an die nachfolgende Kodiereinheit 130 weitergegeben werden. Die Kodiereinheit 130 führt eine Kodierung aus, wodurch kodierte Eingangsdaten Xn' erhalten werden. Die kodierten Eingangsdatenworte Xn' werden in der nachfolgenden Verarbeitungseinheit 120 verarbeitet, sodass an dem Ausgang der Verarbeitungseinheit 120 verarbeitete kodierte Datenworte Yn' erhalten werden. Anschließend werden durch die Einheit 140, welche eine Dekodiereinheit darstellt, die Datenworte Yn' dekodiert, sodass dekodierte verarbeitete Datenworte Y erhalten werden, welche über die Ausgangsschnittstelle 150 an weitere Einheiten extern der Vorrichtung 100 ausgebbar sind.
  • Bei noch einer weiteren Ausführungsform sind die Komponenten 120 und 140 gemäß 6 auch funktional miteinander kombinierbar.
  • Generell ist das erfindungsgemäße Prinzip nicht auf eine Kodierung derart begrenzt, dass die kodierten Datenworte wie vorstehend beschrieben eine vorgebbare Hammingdistanz und/oder ein vorgebbares Hamminggewicht aufweisen. Vielmehr kann weiteren Ausführungsformen zufolge die Kodiereinheit 130 (1, 6) alternativ auch so ausgebildet sein, dass sie die Eingangsdatenworte Xn unter Verwendung eines sog. „leakage-preserving“ Kodes in die kodierten Datenworte Xn‘ transformiert. Ganz allgemein hat die Verwendung des „leakage-preserving“ Kodes den Vorteil, dass solchermaßen kodierte Datenworte eine Leckage von Informationen, die beispielsweise über physikalisch beobachtbare bzw. messbare Größen ermittelbar ist (z.B. Messung von elektromagnetischen Feldern, Messung der elektrischen Energieaufnahme der Vorrichtung 100 bzw. der Einheit 120) über die in der Einheit 120 verarbeiteten Daten minimieren.
  • 7 zeigt schematisch ein Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens. In Schritt 200 erfolgt eine Kodierung von einem oder mehreren Eingangsdatenworten Xn mittels der Kodiereinheit 130 (1). In Schritt 210 erfolgt eine Verarbeitung der in Schritt 200 erhaltenen kodierten Datenworte Xn‘ durch die Verarbeitungseinheit 120. Optional erfolgt in Schritt 220 anschließend eine Dekodierung der verarbeiteten Datenworte Yn‘.
  • Das erfindungsgemäße Prinzip der Vorsehung von kodierten Datenworten Xn‘, die einer weiteren Verarbeitung unterworfen werden, anstelle der Verarbeitung der unkodierten Eingangsdaten Xn, bedingt den Vorteil, dass keine zufallsbasierten Prozesse bzw. Pseudozufallsprozesse für die DPA-Härtung (Härtung der Vorrichtung 100 gegen DPA-Attacken) erforderlich sind, wodurch der Aufwand gegenüber bekannten Verfahren reduziert wird. Darüber hinaus kann die erfindungsgemäße Vorrichtung 100 bspw. unter Verwendung von herkömmlichen CMOS-Zellen realisiert werden, wobei die Vorrichtung 100 als solche in Form einer monolithischen Integrierten Schaltung vorgesehen werden kann oder auch als Schaltungskomponente, die in weitere Schaltungseinheiten integriert werden kann. Ein weiterer Vorteil der Erfindung besteht darin, dass die ordnungsgemäße Funktion der Vorrichtung 100 verhältnismäßig einfach zu testen ist, weil die Erfindung nicht auf der Verwendung von Zufallszahlen oder Pseudozufallszahlen basiert.
  • Darüber hinaus kann eine Implementierung der Vorrichtung 100 auf einer verhältnismäßen geringen Chipfläche vorgenommen werden. Da die erfindungsgemäßen Maßnahmen, welche eine Härtung gegen DPA-Attacken bewirken, auf dem Architekturlevel erfolgen, ist eine einfache Wiederverwendbarkeit in unterschiedlichen Chipdesigns oder generell Designs von Vorrichtungen, welche die erfindungsgemäße Funktionalität verwenden sollen, möglich.
  • Die Erfindung kann vorteilhaft sowohl in Hardware wie auch in Software bzw. einer Kombination aus beidem implementiert werden.
  • Generell ermöglich das erfindungsgemäße Prinzip durch die Vorsehung der Kodiereinheit 130 (1) eine Transformation der Eingangsdaten Xn in kodierte Daten Xn', welche einen sogenannten leakage-preserving Kode darstellen, der weniger anfällig ist gegen DPA-Attacken. Mit anderen Worten weist der die kodierten Datenworte Xn' enthaltende Kode kaum leakage im kryptografischen Sinne auf. Dies ist gleichbedeutend mit der Aussage, dass keine oder nur wenige Seitenkanalinformationen in den kodierten Datenworten enthalten sind.
  • Daher kann ein Angreifer der erfindungsgemäßen Vorrichtung 100 durch an sich bekannte Maßnahmen wie bspw. die Erfassung von elektromagnetischen Abstrahlungen der Vorrichtung 100 oder Erfassen ihres elektrischen Energieverbrauchs oder dergleichen verhältnismäßig wenig bzw. gar keine Informationen über die in der Einheit 120 verarbeiteten Daten erlangen.
  • Wie bereits vorstehend erwähnt, kann die Verarbeitungseinheit 120 bspw. einen Teil eines kryptografischen Verfahrens bzw. Algorithmus ausführen oder auch ein komplettes kryptografisches Verfahren bspw. eine Verschlüsselung oder eine Entschlüsselung bspw. gemäß dem AES-Kryptografiestandard.
  • Auf diese Weise ist eine einfache Skalierbarkeit des erfindungsgemäßen Prinzips gegeben.
  • Um Kosten zu sparen kann bei einer weiteren Ausführungsform die erfindungsgemäße Maßnahme umfassend die Komponenten 110, 120, 130 bspw. nur für besonders sicherheitsrelevante Verarbeitungseinheiten eines kryptografischen Algorithmus vorgesehen werden. Alternativ können auch alle Verarbeitungsschritte einer Daten verarbeitenden Vorrichtung mit dem erfindungsgemäßen Prinzip gehärtet werden.
  • Im Vergleich zu herkömmlichen Gegenmaßnahmen gegen Seitenkanalattacken haben die erfindungsgemäß vorgeschlagenen, auf Kodierung beruhenden Gegenmaßnahmen verschiedene Vorteile:
    • 1. Auf Kodierung beruhende Gegenmaßnahmen sind deterministischer Natur, sodass sie einen verhältnismäßig geringen Rechenaufwand und insbesondere nicht die Vorsehung von Zufallsgeneratoren oder Pseudozufallsgeneratoren erfordern.
    • 2. Eine Implementierung als integrierter Schaltkreis unter Verwendung von herkömmlichen CMOS-Zellen ist einfach möglich.
    • 3. Aufgrund der Unabhängigkeit von Zufallszahlen ist ein Test der erfindungsgemäßen Vorrichtung 100 weitaus einfacher als Tests von Vorrichtungen und Verfahren, welche auf der Verwendung von Zufallszahlen beruhen.
    • 4. Die auf dem erfindungsgemäßen Verfahren beruhenden Gegenmaßnahmen erfordern zur Implementierung nur verhältnismäßig wenig Chipfläche bzw. wenig komplexe Kodes, welche durch die Kodiereinheit 130 realisiert werden müssen.
    • 5. Das erfindungsgemäße Prinzip kann vorteilhaft entweder auf einzelne Komponenten einer zu schützenden Vorrichtung oder auf die gesamte Vorrichtung angewendet werden.
    • 6. Die Erfindung ist modular einsetzbar. Bspw. kann ein DPA-gehärtetes Speicherregister in Form der erfindungsgemäßen Vorrichtung 100 bereitgestellt werden, wenn die Verarbeitungseinheit 120 bspw. als einfaches, d.h. herkömmliches, Speicherregister R1 ausgebildet ist. In diesem Fall kann die Konfiguration 100 gemäß 1 modular bereitgestellt und in einer zu schützenden Vorrichtung auch in größerer Anzahl eingesetzt werden.
  • Die erfindungsgemäßen Maßnahmen beruhend auf Kodierung eleminieren oder vermindern in hohem Maße die Leckage von Informationen durch Seitenkanäle.
  • Bei einer weiteren vorteilhaften Ausführungsform kann vorgesehen sein, dass der Kode derart ausgebildet ist, dass eine teilweise oder vollständige Fehlerkorrektur von kodierten Datenworten möglich ist, welche verfälscht werden, bspw. im Wege einer sogenannten fault attack. Dies kann bspw. durch die Hinzufügung weiterer Bits, welche eine Erhöhung der Redundanz bewirken, entsprechend bewerkstelligt werden.
  • Bei einer weiteren vorteilhaften Ausführungsform kann vorgesehen sein, dass die Verarbeitungseinheit 120 dazu ausgebildet ist, ein oder mehrere kodierte Datenworte Xn‘ daraufhin zu prüfen, ob sie gültige Datenworte im Sinne des von der Kodiereinheit verwendeten Kodes sind. Eine solche Prüfung kann bei der Konfiguration nach 6 neben der Einheit 120 auch in der Einheit 140 erfolgen. Beispielsweise kann im Falle einer Kodierung durch die Kodiereinheit 130, welche ein konstantes Hamminggewicht zum Gegenstand hat (z.B. weisen alle kodierten Datenworte Xn‘ ein konstantes Hamminggewicht auf), die Verarbeitungseinheit 120 prüfen, ob ein ihr zugeführtes kodiertes Datenwort Xn‘ tatsächlich das betreffende Hamminggewicht aufweist. Falls nicht, kann darauf geschlossen werden, dass z.B. ein sog. fault injection Angriff auf die Vorrichtung 100 ausgeführt wird, in dessen Rahmen von einem Angreifer bewusst falsche Kodeworte z.B. in die Verbindung zwischen den Komponenten 130 und 120 injiziert werden, um eine effizientere DPA-Attacke zu ermöglichen. Die erfindungsgemäße Überprüfung der kodierten Datenworte Xn‘ z.B. in der Einheit 120 oder 160 kann dies verhindern. Bei einer vorteilhaften Ausführungsform kann die vorstehend beschriebene Überprüfung beispielsweise mittels eines sog. membership tests für kodierte Datenworte erfolgen.
  • 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
    • http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf, Kapitel 5.1.1 [0011]

Claims (11)

  1. Vorrichtung (100) zur Verarbeitung von Daten, wobei die Vorrichtung (100) eine Eingangsschnittstelle (110) zum Empfang von Eingangsdaten (X) aufweist und eine Verarbeitungseinheit (120) zur Verarbeitung von Daten, dadurch gekennzeichnet, dass eine Kodiereinheit (130) vorgesehen ist, die dazu ausgebildet ist, an der Eingangsschnittstelle (110) als Eingangsdaten (X) erhaltene Datenworte (Xn) zu kodieren, um kodierte Datenworte (Xn‘) zu erhalten, wobei die Kodiereinheit (130) dazu ausgebildet ist, die Datenworte (Xn) so zu kodieren, dass ein vorgebbarer Anteil aller kodierten Datenworte (Xn‘) untereinander, vorzugsweise mindestens etwa 50% aller kodierten Datenworte (Xn‘), eine vorgebbare Hammingdistanz und/oder ein vorgebbares Hamminggewicht aufweist, und dass die Verarbeitungseinheit (120) dazu ausgebildet ist, die kodierten Datenworte (Xn‘) zu verarbeiten.
  2. Vorrichtung (100) nach Anspruch 1, wobei die Verarbeitungseinheit (120) mindestens ein Register (R1, R2) aufweist, das zur zumindest zeitweisen Speicherung mindestens eines kodierten Datenworts (Xn‘) ausgebildet ist, und/oder eine kryptographische Einheit (124), die zur Ausführung mindestens eines Teils eines kryptographischen Verfahrens ausgebildet ist.
  3. Vorrichtung (100) nach einem der vorstehenden Ansprüche, wobei die Kodiereinheit (130) dazu ausgebildet ist, die Datenworte (Xn) zu kodieren, indem jedem Datenwort (Xn) eine vorgebbare Anzahl an Bits (Rn) hinzugefügt wird.
  4. Vorrichtung (100) nach Anspruch 3, wobei die Kodiereinheit (130) dazu ausgebildet ist, die vorgebbare Anzahl an hinzugefügten Bits (Rn) so zu wählen, dass der vorgebbare Anteil aller kodierten Datenworte (Xn‘) untereinander die vorgebbare Hammingdistanz und/oder das vorgebbare Hamminggewicht aufweisen.
  5. Vorrichtung (100) nach einem der vorstehenden Ansprüche, wobei die Kodiereinheit (130) dazu ausgebildet ist, den in Spalte S2 der nachfolgenden Tabelle aufgeführten Datenworten (Xn) das in der entsprechenden Zeile der Spalte S3 der Tabelle aufgeführte kodierte Datenwort (Xn‘) zuzuordnen: S2 S3 (0,0,0,0) (0,0,0,0,0,1,1) (0,0,0,1) (0,0,0,1,0,0,1) (0,0,1,0) (0,0,1,0,0,0,1) (0,0,1,1) (0,0,1,1,0,0,0) (0,1,0,0) (0,1,0,0,0,0,1) (0,1,0,1) (0,1,0,1,0,0,0) (0,1,1,0) (0,1,1,0,0,0,0) (0,1,1,1) (1,0,0,0,1,0,0) (1,0,0,0) (1,0,0,0,0,0,1) (1,0,0,1) (1,0,0,1,0,0,0) (1,0,1,0) (1,0,1,0,0,0,0) (1,0,1,1) (0,1,0,0,1,0,0) (1,1,0,0) (1,1,0,0,0,0,0) (1,1,0,1) (0,0,1,0,1,0,0) (1,1,1,0) (0,0,0,1,1,0,0) (1,1,1,1) (0,0,0,0,1,1,0)
  6. Vorrichtung (100) nach einem der vorstehenden Ansprüche, wobei die Vorrichtung (100) zumindest teilweise als integrierter Schaltkreis, vorzugsweise implementiert mittels CMOS Technologie, ausgebildet ist.
  7. Verfahren zum Betreiben einer Vorrichtung (100) zur Verarbeitung von Daten, wobei die Vorrichtung (100) eine Eingangsschnittstelle (110) zum Empfang von Eingangsdaten (X) aufweist und eine Verarbeitungseinheit (120) zur Verarbeitung von Daten, dadurch gekennzeichnet, dass mittels einer Kodiereinheit (130) an der Eingangsschnittstelle (110) als Eingangsdaten (X) erhaltene Datenworte (Xn) kodiert (200) werden, um kodierte Datenworte (Xn‘) zu erhalten, wobei die Kodiereinheit (130) dazu ausgebildet ist, die Datenworte (Xn) so zu kodieren, dass ein vorgebbarer Anteil aller kodierten Datenworte (Xn‘) untereinander, vorzugsweise mindestens etwa 50% aller kodierten Datenworte (Xn‘), eine vorgebbare Hammingdistanz und/oder ein vorgebbares Hamminggewicht aufweist, und dass die Verarbeitungseinheit (120) die kodierten Datenworte (Xn‘) verarbeitet (210).
  8. Verfahren nach Anspruch 7, wobei die Verarbeitungseinheit (120) mindestens ein Register (R1, R2) aufweist, das mindestens ein kodiertes Datenwort (Xn‘) zumindest zeitweise speichert, und/oder eine kryptographische Einheit (124), die mindestens einen Teil eines kryptographischen Verfahrens ausführt.
  9. Verfahren nach einem der Ansprüche 7 bis 8, wobei die Kodiereinheit (130) die Datenworte (Xn) kodiert, indem jedem Datenwort (Xn) eine vorgebbare Anzahl an Bits (Rn) hinzugefügt wird.
  10. Verfahren nach Anspruch 9, wobei die Kodiereinheit (130) die vorgebbare Anzahl an hinzugefügten Bits (Rn) so wählt, dass der vorgebbare Anteil aller kodierten Datenworte (Xn‘) untereinander die vorgebbare Hammingdistanz und/oder das vorgebbare Hamminggewicht aufweisen.
  11. Verfahren nach einem der Ansprüche 7 bis 10, wobei die Kodiereinheit (130) den in Spalte S2 der nachfolgenden Tabelle aufgeführten Datenworten (Xn) das in der entsprechenden Zeile der Spalte S3 der Tabelle aufgeführte kodierte Datenwort (Xn‘) zuordnet: S2 S3 (0,0,0,0) (0,0,0,0,0,1,1) (0,0,0,1) (0,0,0,1,0,0,1) (0,0,1,0) (0,0,1,0,0,0,1) (0,0,1,1) (0,0,1,1,0,0,0) (0,1,0,0) (0,1,0,0,0,0,1) (0,1,0,1) (0,1,0,1,0,0,0) (0,1,1,0) (0,1,1,0,0,0,0) (0,1,1,1) (1,0,0,0,1,0,0) (1,0,0,0) (1,0,0,0,0,0,1) (1,0,0,1) (1,0,0,1,0,0,0) (1,0,1,0) (1,0,1,0,0,0,0) (1,0,1,1) (0,1,0,0,1,0,0) (1,1,0,0) (1,1,0,0,0,0,0) (1,1,0,1) (0,0,1,0,1,0,0) (1,1,1,0) (0,0,0,1,1,0,0) (1,1,1,1) (0,0,0,0,1,1,0)
DE201310205544 2013-03-28 2013-03-28 Vorrichtung und Verfahren zur Verarbeitung von Daten Pending DE102013205544A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE201310205544 DE102013205544A1 (de) 2013-03-28 2013-03-28 Vorrichtung und Verfahren zur Verarbeitung von Daten
FR1452316A FR3004036A1 (fr) 2013-03-28 2014-03-20 Dispositif et procede de traitement de donnees
US14/223,777 US9369486B2 (en) 2013-03-28 2014-03-24 Device and method for encoding input data based on hamming distance and/or weight
CN201410118952.3A CN104079304B (zh) 2013-03-28 2014-03-27 用于处理数据的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201310205544 DE102013205544A1 (de) 2013-03-28 2013-03-28 Vorrichtung und Verfahren zur Verarbeitung von Daten

Publications (1)

Publication Number Publication Date
DE102013205544A1 true DE102013205544A1 (de) 2014-10-02

Family

ID=51519776

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310205544 Pending DE102013205544A1 (de) 2013-03-28 2013-03-28 Vorrichtung und Verfahren zur Verarbeitung von Daten

Country Status (4)

Country Link
US (1) US9369486B2 (de)
CN (1) CN104079304B (de)
DE (1) DE102013205544A1 (de)
FR (1) FR3004036A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014207296A1 (de) * 2014-04-16 2015-10-22 Robert Bosch Gmbh Vorrichtung und Verfahren zur Verarbeitung von Daten
US10673616B2 (en) 2017-01-11 2020-06-02 Qualcomm Incorporated Lightweight mitigation against first-order probing side-channel attacks on block ciphers
US9912352B1 (en) 2017-06-06 2018-03-06 Western Digital Technologies, Inc. Hamming distance based binary representations of numbers
US9935652B1 (en) * 2017-10-02 2018-04-03 EMC IP Holding Company LLC Data compression by hamming distance categorization
US10727872B2 (en) 2018-01-10 2020-07-28 Western Digital Technologies, Inc. Encoding and decoding of hamming distance-based binary representations of numbers
US11159153B2 (en) 2018-03-29 2021-10-26 Nvidia Corp. Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O
US10599606B2 (en) 2018-03-29 2020-03-24 Nvidia Corp. 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses
US11966348B2 (en) 2019-01-28 2024-04-23 Nvidia Corp. Reducing coupling and power noise on PAM-4 I/O interface
US10657094B2 (en) 2018-03-29 2020-05-19 Nvidia Corp. Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
FR3083889B1 (fr) * 2018-07-12 2020-08-14 Commissariat Energie Atomique Registre a decalage protege contre les attaques physiques
US10623200B2 (en) 2018-07-20 2020-04-14 Nvidia Corp. Bus-invert coding with restricted hamming distance for multi-byte interfaces
US10826536B1 (en) * 2019-10-03 2020-11-03 International Business Machines Corporation Inter-chip data transmission system using single-ended transceivers
US10944435B1 (en) * 2020-03-27 2021-03-09 Nxp B.V. Tearing save encoding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1089439A1 (de) * 1999-09-28 2001-04-04 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Verschachteler und Eingangsdatabitverschachtelungsverfahren unter Anwendung von symbolkodierter Speicherung und zusätzlichen Informationen
US6456208B1 (en) * 2000-06-30 2002-09-24 Marvell International, Ltd. Technique to construct 32/33 and other RLL codes
US7149955B1 (en) * 2001-03-07 2006-12-12 Marvell International Ltd. Encoding and decoding apparatus and method with hamming weight enhancement
KR100855958B1 (ko) * 2004-11-24 2008-09-02 삼성전자주식회사 해밍거리를 이용한 부가 채널 공격에 안전한 암호화시스템 및 방법
JP2008530663A (ja) * 2005-02-11 2008-08-07 ユニバーサル データ プロテクション コーポレーション マイクロプロセッサのデータセキュリティの方法およびシステム
CN101116081A (zh) * 2005-02-11 2008-01-30 通用数据保护公司 用于微处理器数据安全的方法和系统
JP4687775B2 (ja) * 2008-11-20 2011-05-25 ソニー株式会社 暗号処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf, Kapitel 5.1.1

Also Published As

Publication number Publication date
US9369486B2 (en) 2016-06-14
CN104079304A (zh) 2014-10-01
US20140298458A1 (en) 2014-10-02
CN104079304B (zh) 2019-09-27
FR3004036A1 (fr) 2014-10-03

Similar Documents

Publication Publication Date Title
DE102013205544A1 (de) Vorrichtung und Verfahren zur Verarbeitung von Daten
DE102013205542A1 (de) Vorrichtung und Verfahren zur Verarbeitung von Daten
EP2605445B1 (de) Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
DE102014207296A1 (de) Vorrichtung und Verfahren zur Verarbeitung von Daten
DE102009022233A1 (de) Verwendung einer Zeichenkette in Sytemen der Kryptographie, der Statistik, der Simulation, der Randomisierung, von Spielautomaten und dgl.
DE2855787A1 (de) Digitalsignatureinrichtung
EP2940924A1 (de) PUF basierende Ableitung eines gerätespezifischen Wertes
EP2940620A1 (de) Ableiten eines gerätespezifischen wertes mit hilfe einer unklonbaren funktion
DE102017103347A1 (de) Verarbeitung von daten in speicherzellen eines speichers
DE102009007246A1 (de) Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz
DE1964570A1 (de) Verfahren zum Wiederauffinden gespeicherter Informationen
DE102011078643A1 (de) Verfahren zum Erzeugen einer zufälligen Ausgangsbitfolge
EP1352319B1 (de) Verfahren zur erhöhung der sicherheit einer cpu
DE102011078645A1 (de) Verfahren zum sicheren Prüfen eines Codes
DE4302830C1 (de) Rückgekoppeltes Schieberegister zum Erzeugen von Pseudozufallszahlenfolgen darstellenden digitalen Signalen
DE102008023577A1 (de) Symmetrischer Ein-Block-Verschlüsselungs-Algorithmus mit variabler Schlüssellänge
DE102014213071A1 (de) Verfahren und Vorrichtung zur Verarbeitung von Daten
DE102012219205A1 (de) Vorrichtung und Verfahren zur Ausführung eines kryptographischen Verfahrens
DE1937259A1 (de) Selbstpruefende Fehlererkennungsschaltung
DE102004063950B4 (de) Kanalcodiervorrichtung
DE102019132153B3 (de) Integrierte schaltung
DE19914407A1 (de) Verfahren zur Ableitung von Identifikationsnummern
DE102013108424A1 (de) Verfahren zur Verschlüsselung von Zeichenketten
EP1052801A2 (de) Verfahren zur Implementierung kryptographischer Algorithmen
DE60300974T2 (de) Codekontrolle für virtuell vorausbezahlte Karte

Legal Events

Date Code Title Description
R012 Request for examination validly filed