DE69932740T2 - Verfahren und vorrichtung zur kryptographischen datenverarbeitung - Google Patents

Verfahren und vorrichtung zur kryptographischen datenverarbeitung Download PDF

Info

Publication number
DE69932740T2
DE69932740T2 DE69932740T DE69932740T DE69932740T2 DE 69932740 T2 DE69932740 T2 DE 69932740T2 DE 69932740 T DE69932740 T DE 69932740T DE 69932740 T DE69932740 T DE 69932740T DE 69932740 T2 DE69932740 T2 DE 69932740T2
Authority
DE
Germany
Prior art keywords
data
auxiliary
key
additional
handed
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
DE69932740T
Other languages
English (en)
Other versions
DE69932740D1 (de
Inventor
Gerrit Roelofsen
Jan Dirk VAN BRUCHEM
Frank Muller
Willem Rombaut
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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
Priority claimed from NL1010921A external-priority patent/NL1010921C2/nl
Priority claimed from NL1011544A external-priority patent/NL1011544C1/nl
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of DE69932740D1 publication Critical patent/DE69932740D1/de
Application granted granted Critical
Publication of DE69932740T2 publication Critical patent/DE69932740T2/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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG
  • Die Erfindung betrifft ein Verfahren zur kryptografischen Datenverarbeitung, das das Zuführen zu einem kryptografischen Prozess von Werten, insbesondere die Daten und ein Schlüssel, und das Ausführen des Prozesses, um kryptografisch verarbeitete Daten zu bilden, umfasst. Ein derartiges Verfahren ist im Allgemeinen bekannt.
  • Zur kryptografischen Datenverarbeitung werden in der Praxis häufig im Allgemeinen bekannte Prozesse angewandt. Beispiele derartiger kryptografischer Prozesse (Algorithmen) sind DES und RSA [DES = Data Encryption Standard = Datenverschlüsselungsstandard und RSA = Rivest, Shamir & Adleman = asymmetrisches Verschlüsselungssystem], die beispielsweise im Buch „Applied Cryptography" von B. Schneier (2. Auflage), New York, 1996, beschrieben werden.
  • Derartige Prozesse sind veröffentlicht, da angenommen wurde, dass es im Fall ausreichend großer Schlüssellängen unmöglich ist, anhand der verarbeiteten Daten die Originaldaten und/oder -schlüssel abzurufen, und dies selbst dann, wenn der kryptografische Prozess bekannt ist.
  • Kryptografische Algorithmen können jedoch angegriffen werden, wobei das Ziel stets darin besteht, den verwendeten Verschlüsselungsschlüssel auf verschiedene Weisen zu finden:
    • (1) Mathematische Angriffe, wie die differentielle und lineare Kryptanalyse;
    • (2) Hardwareorientierte Angriffe, die so genannten „Seitenkanalangriffe", d.h. Angriffe, die auf der Stromverbrauchsanalyse oder E/A-Taktanalyse beruhen.
  • Die amerikanische Patentschrift US-A-5745577 offenbart ein Verfahren für fortschrittliches Key-Scheduling von einem Geheimschlüssel. Die Aufgabe besteht darin, einen Schutz gegen die mathematischen Angriffe (differentielle und lineare Kryptanalyse) bereit zu stellen, indem der Verschlüsselungsalgorithmus abgeändert wird. Das Abändern des Algorithmus führt zur Änderung seiner Ausgabe und folglich weist das offenbarte Verfahren keine Verbesserung gegenüber den „Seitenkanalangriffen" auf.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, den Schutz einer kryptografischen Einheit gegen „Seitenkanalangriffe" zu verbessern. Kurz gesagt wird diese Verbesserung erreicht durch das Maskieren der Daten und/oder des Schlüssels durch das Erzeugen von einer Zusatz-, Hilfseingabe (Daten oder Schlüssel) und das Kompensieren ihres Einflusses auf die Ausgabe durch das Hinzufügen eines Hilfs- (Kompensier-) Prozesses zum „Haupt"-Verschlüsselungsprozess. Durch diese Maskiermaßnahmen wird es viel schwieriger sein, den Wert der Daten oder des Schlüssels vom Verhalten des Stromverbrauchs der kryptografischen Einheit abzuleiten (siehe Seite 1, Zeilen 32 bis 34). Dieses Maskieren erfolgt jedoch auf eine derartige Art und Weise, dass das Ergebnis des Prozesses als ein Ganzes unverändert bleibt: mit derselben Eingabe und Schlüssel ergibt der abgeänderte Algorithmus dieselbe unverändert Ausgabe.
  • Folglich stellt die Erfindung ein Verfahren des Typs vor, auf das im Oberbegriff gemäß der Erfindung Bezug genommen wird, das gekennzeichnet ist durch das Zuführen zum Prozess von Hilfswerten, Während anhand eines Hilfsprozesses der Einfluss der Hilfswerte auf die Ausgabedaten kompensiert wird, um die Werte, die im Prozess verwendet werden, zu maskieren.
  • Durch das Maskieren von Daten und/oder Schlüssel(n) wird es erheblich schwieriger, diese Werte auf Grundlage des Verhaltens vom Prozess abzuleiten. Das Ergebnis des Prozesses, das heißt die Erfassung verarbeiteter Daten, kann im Fall einer passenden Wahl der Hilfswerte unverändert sein, das heißt identisch mit dem Ergebnis des Prozesses, wenn ihm keine Hilfswerte zugeführt wurden. Diesbezüglich wird „Hilfswert" so verstanden, dass er einen Wert (Daten oder Schlüssel) bedeutet, der dem Prozess als eine Ergänzung zu den entsprechenden Daten und Schlüssel zugeführt wird. Die Erfindung beruht demgemäß auf der Erkenntnis, dass die Ableitung der Werte, die in einem kryptografischen Prozess verwendet werden, erheblich erschwert wird, wenn diese Werte unter Verwendung von diesen Hilfswerten und diesem Hilfsprozess maskiert werden.
  • Die Erfindung beruht des Weiteren teilweise auf der Erkenntnis, dass sich die Verwendung von Hilfswerten nicht unbedingt auf das Ergebnis des Prozesses auswirkt.
  • In einer ersten Ausführungsform der Erfindung umfasst ein Hilfswert einen zusätzlichen Schlüssel, der einem zusätzlichen Prozess zugeführt wird, um den Schlüssel zu bilden.
  • Durch das Anwenden einer Kombination aus einem bekannten Prozess und einem zusätzlichen Prozess wird ein neuer kryptografischer Prozess gebildet, der per se unbekannt ist, und dies selbst dann, wenn der zusätzliche Prozess ebenfalls per se bekannt ist.
  • Durch das Ableiten des Schlüssels, der für den bekannten Prozess verwendet wird (primärer Schlüssel), von einem zusätzlichen Schlüssel (sekundärer Schlüssel), durch Verwendung eines zusätzlichen Prozesses, wird erreicht, dass nicht der (primäre) Schlüssel des bekannten Prozesses sondern der zusätzliche (sekundäre) Schlüssel der Kombination von Prozessen bereit gestellt wird. Mit anderen Worten wird von außen der zusätzliche (sekundäre) Schlüssel und nicht der tatsächliche (primäre) Schlüssel des eigentlichen Prozesses verwendet. Die Ableitung des Schlüssels von den Originaldaten und den verarbeiteten Daten ist auf diese Weise unmöglich geworden. Zusätzlich wurde die Ableitung des zusätzlichen Schlüssels erheblich schwieriger gemacht, da die Kombination aus dem Originalprozess und dem zusätzlichen Prozess nicht bekannt ist.
  • Diese Ausführungsform der Erfindung beruht demgemäß unter anderem auf der Erkenntnis, dass das Bekanntsein eines kryptografischen Prozesses unverwünscht ist, im Gegensatz zu dem, was bis jetzt angenommen wurde. Diese Ausführungsform beruht ebenfalls auf der weiteren Erkenntnis, dass Angriffe, die eine Kenntnis des Prozesses entwickeln, erheblich schwieriger werden, wenn der Prozess unbekannt ist.
  • Der zusätzliche Prozess umfasst vorzugsweise einen kryptografischen Prozess. Dieser erschwert die Ableitung des zusätzlichen Schlüssels. Grundsätzlich kann jedoch ein einfaches Kodieren angewandt werden, zum Beispiel als ein zusätzlicher Prozess. Im Fall eines kryptografischen Prozesses wird vorzugsweise ein Hilfsschlüssel angewandt. Der zusätzliche Prozess ist vorzugsweise ein umkehrbarer Prozess. Dies ermöglicht die Anwendung vom erfindungsgemäßen Verfahren in einer bestehenden Anlage mit einem Mindestmaß an Änderungen.
  • Wenn zum Beispiel eine erste Einheit einen (zusätzlichen) Schlüssel abgibt, der in einer zweiten Einheit gemäß der Erfindung angewandt wird, dann kann in der ersten Einheit die Umkehrung des zusätzlichen Prozesses verwendet werden, um den zusätzlichen Schlüssel vom Originalschlüssel abzuleiten. Mit anderen Worten wird, obwohl in der ersten und in der zweiten Einheit intern der Original- (primäre) Schlüssel verwendet wird, der zusätzliche (sekundäre) Schlüssel zwischen den Einheiten ausgetauscht. Das Abfangen des zusätzlichen Schlüssels ergibt jedoch nicht die Kenntnis des Originalschlüssels.
  • Es kann vorteilhaft sein, wenn das Ausführen des zusätzlichen Prozesses ausschließlich dann erfolgt, wenn die Daten vorbestimmte Eigenschaften aufweisen. Auf diese Art und Weise kann die kryptografische Verarbeitung nur für besondere, ausgewählte Daten ausgeführt werden, während dies für alle anderen Daten blockiert ist. Auf diese Art und Weise wird ein zusätzlicher Schutz erreicht.
  • Es wird eine optimale Sicherheit bereit gestellt, wenn der Prozess und der zusätzliche Prozess jeweils auf mehreren Schritten aufbauen und in ihnen Schritte des Prozesses und des zusätzlichen Prozesses abwechselnd ausgeführt werden. Als ein Ergebnis sind die Eigenschaften des bekannten Prozesses noch mehr verborgen, wodurch die Ableitung der Schlüssel noch komplizierter ist.
  • In einer zweiten Ausführungsform der Erfindung umfasst der Prozess mehrere Schritte, die jeweils eine kryptografische Operation zum Verarbeiten rechtshändiger Daten aufweisen, die von den Daten abgeleitet sind, und eine kombinatorische Operation zum Kombinieren mit den linkshändigen Daten, die von den Daten abgeleitet sind, der verarbeiteten rechtshändigen Daten, um geänderte linkshändige Daten zu bilden, in denen die rechtshändigen Daten vor dem ersten Schritt mit einem primären Hilfswert kombiniert werden und die linkshändige Daten mit einem zusätzlichen Hilfswert kombiniert werden. Als ein Ergebnis werden die Daten, die in den Schritten verwendet werden und die zwischen den Schritten übertragen werden, maskiert.
  • Um es den primären und den zusätzlichen Hilfswerten zu ermöglichen, dass sie im Endergebnis des Prozesses nicht selbst bemerkbar sind, werden die rechtshändigen Daten vorzugsweise unverzüglich nach dem letzten Schritt mit einem weiteren primären Hilfswert kombiniert, und die geänderten linkshändigen Daten werden mit einem weiteren zusätzlichen Hilfswert kombiniert.
  • Damit das Ergebnis der Operationen nicht durch die primären Hilfswerte beeinflusst wird, wird das erfindungsgemäße Verfahren vorzugsweise derart ausgeführt, dass die rechtshändigen Daten in jedem Schritt und vor der Operation mit dem primären Hilfswert vom Schritt kombiniert werden.
  • Ein weiterer Schutz wird erreicht, wenn die verarbeiteten rechtshändigen Daten nach der Verarbeitung mit einem sekundären Hilfswert vom Schritt kombiniert werden.
  • Der sekundäre Hilfswert von einem Schritt wird vorzugsweise von der Kombination aus dem primären Hilfswert des vorhergehenden Schritts und dem primären Hilfswert vom nächsten Schritt gebildet. Als ein Ergebnis wird es möglich, den Hilfswert im wiederholten nächsten Schritt zu kompensieren, wodurch sich dieser Hilfswert nicht im Endergebnis des Prozesses selbst bemerkbar ist.
  • Es ist möglich, das Verfahren gemäß der Erfindung derart ausführen, dass alle primären Hilfswerte gleich sind. Als ein Ergebnis ist eine besonders einfache praktische Ausführung möglich. Die Verwendung von mehreren Hilfswerten, die vorzugsweise Zufallszahlen sind und die jedes Mal, wenn der Prozess ausgeführt wird, aufs Neue erzeugt werden, bietet jedoch eine größere kryptografische Sicherheit.
  • Eine weitere Vereinfachung dieser Ausführungsform kann erhalten werden, wenn die primären Hilfswerte und/oder sekundären Hilfswerte wiederholt im Voraus mit der entsprechenden Operation kombiniert wurden. Dies heißt, dass das Kombinieren mit Hilfswerten derart in der entsprechenden Operation (zum Beispiel eine Substitution) verarbeitet wird, dass das Ergebnis der entsprechenden Operation gleich dem der Originaloperation plus eine oder zwei kombinatorische Operationen mit Hilfswerten ist. Durch das vorherige Einschließen in die Operation der kombinatorischen Operationen, ist eine einfachere und schnellere praktische Ausführung möglich.
  • Diese kombinatorischen Operationen werden vorzugsweise durch Verwendung einer XOR-Operation [XOR = eXklusiv ODER] ausgeführt. Andere kombinatorische Operationen, wie binäres Hinzufügen, sind grundsätzlich jedoch ebenfalls möglich.
  • Die Erfindung stellt des Weiteren eine Schaltung zum Ausführen eines Verfahrens zur kryptografischen Datenverarbeitung bereit. Zusätzlich verschafft die Erfindung eine Zahlungskarte und ein Zahlungsterminal, die mit einer derartigen Schaltung bereit gestellt sind.
  • Nachstehend wird die Erfindung ferner auf Grundlage der beispielhaften Ausführungsformen, die in den Figuren dargestellt sind, erklärt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Es zeigen:
  • 1 schematisch einen kryptografischen Prozess nach dem Stand der Technik.
  • 2 schematisch einen ersten kryptografischen Prozess nach einer ersten Ausführungsform der Erfindung.
  • 3 schematisch einen zweiten kryptografischen Prozess nach einer ersten Ausführungsform der Erfindung.
  • 4 schematisch eine Art und Weise, auf die die Prozesse der 1 und 2 ausgeführt werden können.
  • 5 schematisch einen kryptografischen Prozess, der mehrere Schritte nach dem Stand der Technik aufweist.
  • 6 schematisch einen ersten kryptografischen Prozess nach einer zweiten Ausführungsform der Erfindung.
  • 7 schematisch einen zweiten kryptografischen Prozess nach einer zweiten Ausführungsform der Erfindung.
  • 8 schematisch einen dritten kryptografischen Prozess nach einer zweiten Ausführungsform der Erfindung.
  • 9 schematisch eine Schaltung, in der die Erfindung angewandt ist.
  • 10 schematisch ein Zahlungssystem, in dem die Erfindung angewandt ist.
  • VORZUGSWEISE AUSFÜHRUNGSFORMEN
  • Ein (kryptografischer) Prozess P nach dem Stand der Technik ist schematisch in der 1 dargestellt. Zum Prozess P werden Eingabedaten X und ein Schlüssel K zugeführt. Auf Grundlage des Schlüssels K konvertiert der Prozess P die Eingabedaten X in (kryptografisch) verarbeitete Ausgabedaten Y: Y = PK (X). Der Prozess P kann ein bekannter kryptografischer Prozess sein, wie DES (Data Encryption Standard = Datenverschlüsselungsstandard), Triple-DES oder RSA (Rivest, Shamir & Adleman).
  • Wenn die Eingabedaten X und die Ausgabedaten Y bekannt sind, ist es grundsätzlich möglich, den verwendeten Schlüssel K abzuleiten. Im Fall von einem Schlüssel ausreichender Länge (das heißt mit einer ausreichenden Anzahl an Bits), wurde es bis jetzt für unmöglich gehalten, diese Schlüssel abzuleiten, selbst wenn der Prozess P bekannt war. Unmöglich bedeutet in diesem Fall, dass es theoretisch anerkanntermaßen möglich ist, zum Beispiel durch Ausprobieren aller möglichen Schlüssel, den verwendeten Schlüssel zu finden, was jedoch eine unglaublich lange Rechenzeit benötigt. Eine derartige „Brute-Force-Attacke" ist demgemäß kaum eine Bedrohung für die kryptografische Sicherheit.
  • Kürzlich entdeckte Angriffe verwenden jedoch die Kenntnis des Prozesses, wodurch die Anzahl möglicher Schlüssel drastisch reduziert werden kann. Das Ableiten des verwendeten Schlüssels K und/oder der Eingabedaten X von den Ausgabedaten Y wird demgemäß innerhalb annehmbarer Rechenzeiten möglich.
  • Das Prinzip der Erfindung, die der Aufgabe zugrunde liegt, derartige Angriffe erheblich schwieriger und zeitraubender zu machen, ist schematisch in der 2 dargestellt. Genau wie in der 1, werden einem (bekannten) Prozess P Eingabedaten X und ein (geheimer) Schlüssel K zugeführt, um Ausgabedaten Y zu erzeugen.
  • Im Gegensatz zur Situation in der 1, wird in der Situation der 2 der Schlüssel K dem Prozess P von einem zusätzlichen Prozess P* zugeführt. Der zusätzliche Prozess P* hat einen zusätzlichen (sekundären) Schlüssel K* als Eingabedaten, um unter dem Einfluss eines Hilfsschlüssels K' den (primären) Schlüssel K als Ausgabedaten zu erzeugen. Der Schlüssel K wird demgemäß nicht, wie es der Fall in der Situation von der 1 ist, von einer extern Quelle (zum Beispiel ein Speicher) zum Prozess P zugeführt, sondern durch den Prozess P* vom zusätzlichen (sekundären) Schlüssel K* erzeugt: K = P*K. (K).
  • Es ist demgemäß der sekundäre Schlüssel K*, anstelle des primären Schlüssels K, der vorbestimmt und gespeichert ist, zum Beispiel in einem Schlüsselspeicher (nicht dargestellt). Gemäß der Erfindung ist der primäre Schlüssel K, der dem Prozess P zugeführt wird, nicht vorbestimmt.
  • Der Hilfsschlüssel K' kann ein permanent gespeicherter vorbestimmter Schlüssel sein. Es ist ebenfalls möglich, einen zusätzlichen Prozess P* anzuwenden, in dem kein Hilfsschlüssel K' verwendet wird.
  • Die Kombination aus den Prozessen P und P* bildet einen neuen Prozess, der schematisch durch Q bezeichnet wird. Zum Prozess, der wegen des zusätzlichen Prozesses P* per se unbekannt ist, werden die Eingabedaten X und der (sekundäre) Schlüssel K* zugeführt, um die Ausgabedaten Y zu erzeugen. Die Beziehung zwischen dem sekundären Schlüssel K* und dem primären Schlüssel K wird durch den zusätzlichen Prozess P* verborgen.
  • Der zusätzliche Prozess P* ist vorzugsweise die Umkehrung von einem anderen umkehrbaren Prozess R. Das heißt: P* = R–1.
  • Dies ermöglicht das Erzeugen des sekundären Schlüssels K* vom primären Schlüssel K unter Verwendung von R und dem Hilfsschlüssel K': K* = RK' (K),wie noch weiter unten unter Bezugnahme auf 5 ausführlicher erklärt werden wird. Der neue Prozess Q kann möglicherweise derart durch den Prozess R erweitert werden, dass der primäre Schlüssel K, anstelle des sekundären Schlüssels K*, zum Prozess Q zugeführt wird. Der primäre Schlüssel K, in diesem Fall im Prozess Q, wird abgeleitet von: K = P*K' (K*) = P*K' (RK' (K))
  • Dies ermöglicht die Verwendung desselben (primären) Schlüssels wie im Stand der Technik.
  • Der kryptografische Prozess Q gemäß der Erfindung, der schematisch in der 3 dargestellt wird, umfasst ebenfalls einen Prozess P, der einen primären Schlüssel K aufweist, und einen zusätzlichen Prozess P*, der einen Hilfsschlüssel K' aufweist, wobei der primäre Schlüssel K vom zusätzlichen Schlüssel K* durch den zusätzlichen Prozess P* abgeleitet wird. Den Prozess von der 1 ergänzend, werden in diesem Fall die Eingabedaten X ebenfalls derart zum zusätzlichen Prozess P* zugeführt, dass der primäre Schlüssel K zum Teil als eine Funktion von den Eingabedaten X festgelegt wird: K = P*K' (K*, X).
  • Als ein Ergebnis wird ein zusätzlicher kryptografischer Schutz erhalten. Zusätzlich wird als ein Ergebnis die Möglichkeit geboten, den zusätzlichen Prozess P* ausschließlich dann auszuführen, wenn einige Eingabedaten bereit gestellt sind. Das heißt, dass der zusätzliche Prozess P* einen Test der Eingabedaten X umfassen kann, und dass das Ausführen des zusätzlichen Prozesses P* vom Ergebnis dieses Tests abhängen kann. Folgendermaßen kann der zusätzliche Prozess P* zum Beispiel nur dann ausgeführt werden, wenn die letzten beiden Bits der Eingabedaten X gleich null sind. Die Auswirkung einer derartigen Eingabedaten-abhängigen Operation besteht darin, dass nur für einige Eingabedaten X der korrekte primäre Schlüssel K derart erzeugt wird, dass nur diese Eingabedaten die gewünschten Ausgabedaten Y liefern. Es versteht sich, dass als ein Ergebnis die kryptografische Sicherheit noch mehr verbessert ist.
  • Die 4 zeigt schematisch die Art und Weise, in der Unterschritte der Prozesse P und P* abwechselnd („Überlappung") ausgeführt werden können, um den Schutz gegen Angriffe noch mehr zu verbessern. Die Unterschritte können so genannte „Runden" umfassen, wie zum Beispiel im Fall von der DES. Die Unterschritte umfassen jedoch vorzugsweise nur einen oder wenige Befehle eines Programms, mit dem die Prozesse ausgeführt werden.
  • In einem ersten Schritt 101 wird ein erster Unterschritt P1 des Prozesses P ausgeführt. Anschließend wird in einem zweiten Schritt 102 der erste Unterschritt P1* des zusätzlichen Prozesses P* ausgeführt.
  • Desgleichen wird in einem dritten Schritt 103 der zweite Unterschritt P2 des Prozesses P ausgeführt usw. Dies setzt sich fort bis im Schritt 110 der letzte Unterschritt Pn* des zusätzlichen Prozesses P* ausgeführt wurde, wobei des Beispiels halber angenommen wird, dass die Prozesse P und P* eine gleiche Anzahl an Unterschritten umfassen. Wenn dies nicht der Fall ist, wird im Schritt 110 der letzte entsprechende Unterschritt ausgeführt, und in weiteren Schritten werden die verbleibenden Unterschritte ausgeführt.
  • Durch das Alternieren der Unterschritte des Prozesses P, das per se bekannt ist, und des Prozesses P* (der möglicherweise ebenfalls per se bekannt ist), kann eine Serie von Unterschritten erhalten werden, die nicht denjenigen eines bekannten Prozesses entsprechen. Als ein Ergebnis ist die Art des Prozesses schwieriger zu erkennen.
  • Der kryptografische Prozess P, der nur zur Veranschaulichung schematisch in der 5 nach dem Stand der Technik dargestellt wird, umfasst mehrere Schritte Si (das heißt S1, S2, ..., Sn). In jedem Schritt Si werden (rechtshändige) Daten RDi zu einer kryptografischen Operation Fi zugeführt. Diese kryptografische Operation kann ihrerseits eine Anzahl von Unterschritten umfassen, wie eine Erweiterung, eine Kombination mit einem Schlüssel, eine Substitution und eine Permutation, die jedoch der einfacheren Zeichnung halber nicht getrennt angegeben wurden. Die kryptografische Operation Fi verschafft verarbeitete Daten FDi: FDi = Fi (RDi).
  • In einer kombinatorischen Operation CCi (CC1, CC2, ..., wobei der Index i stets den entsprechenden Schritt S anzeigt) werden die verarbeiteten Daten FDi mit linkshändigen Daten LDi kombiniert, um geänderte (linkshändige) Daten SDi zu bilden, die, genau wie die rechtshändigen Originaldaten RD, zum nächsten Schritt weitergeleitet werden. Die kombinatorische Operationen CCi sind vorzugsweise XOR-Operationen (Symbol: ⊕).
  • Wie es in der 5 dargestellt wird, ändern am Ende von jedem Schritt Si die geänderten linkshändigen Daten SDi und die rechtshändigen Daten RDi derart die Positionen, dass sie die rechtshändigen Daten RDi+1 und die linkshändigen Daten LDi+1 vom nächsten Schritt Si+1 bilden.
  • Die linkshändigen Daten LD1 und die rechtshändigen Daten RD1 des ersten Schritts S1 wurden in einer vorhergehenden Operation von Eingabedaten X abgeleitet und können hierdurch einer vorbereitenden Verarbeitung unterzogen werden, wie einer Eingabepermutation. Die Ausgabedaten SDn und RDn des letzten Schritts Sn bilden die verarbeiteten Daten Y des Prozesses P, möglicherweise nachdem sie einer Endoperation unterzogen wurden, wie einer Ausgabepermutation PP–1.
  • Der kryptografische Prozess von der 6 entspricht weitgehend demjenigen von der 5. In Übereinstimmung mit der Erfindung werden die Daten, die sich in und zwischen den Schritten befinden, mit Hilfswerten maskiert. Zu diesem Zwecke gehen in dieser Ausführungsform dem ersten Schritt S1 (vorbereitende) kombinatorische Operationen DC und EC voran, die vorzugsweise ebenfalls XOR-Operationen sind. Sie kombinieren jeweils die linkshändigen Daten LD1 und die rechtshändigen Daten RD1, die aus der vorbereitenden Operation (PP) hervorgehen, mit einem nullten Hilfswert Ao und einem ersten Hilfswert A1. Die Ergebnisse der kombinatorischen Operationen DC und EC sind jeweils linkshändige maskierte Daten LD'1 und rechtshändige maskierte Daten RD1' (nachstehend werden im vorliegenden Text maskierte Daten durch ein Apostroph angegeben). Die Maskierungen selbst sind in den nachfolgenden Schritten bemerkbar. Da die linkshändigen Daten des zweiten Schritts S2 den maskierten rechtshändigen Daten des ersten Schritts S1 gleichkommen, werden diese linkshändigen Daten LD'2 ebenfalls maskiert. Die rechtshändigen Daten RD2' des zweiten Schritts sind maskiert, da sie den maskierten geänderten Daten SD1' gleichkommen.
  • Das Kombinieren der Daten LDi und RDi mit den Hilfswerten Ai ergibt demgemäß, dass die geänderten Daten LDi' und RDi' maskiert sind, wodurch es erheblich schwieriger ist, die Originaldaten X oder den Schlüssel, der von den maskierten Daten LDi' und RDi' verwendet wird, abzuleiten.
  • Um die Hilfswerte Ai vor der Endoperation (PP–1) zu entfernen, werden ergänzende kombinatorische Operationen FC und GC bereit gestellt, die jeweils die geänderten und maskierten linkshändigen Daten SD'n des letzten Schritts Sn mit einem Hilfswert An+1 kombinieren, und die maskierten rechtshändigen Daten RDn' mit einem Hilfswert An. Da Ai Ai null ist, werden auf diese Art und Weise die Maskierungen durch die Hilfswerte Ai entfernt. Als ein Ergebnis ist es möglich, das Verfahren derart auszuführen, dass trotz der Verwendung der Hilfswerte Ai, die Enddaten Y dem gleichkommen, was durch das herkömmliche Verfahren nach 5 erhalten worden wäre.
  • Um die Auswirkung der Hilfswerte Ai auf die Ergebnisse FDi der Operationen Fi auszuschließen, befindet sich in jedem Schritt Si vorzugsweise eine zusätzliche kombinatorische Operation ACi, die die rechtshändigen Daten RDi mit einem (primären) Hilfswert Ai kombiniert, bevor diese Daten der kryptografischen Operation Fi zugeführt werden. Das Ergebnis von jeder zusätzlichen kombinatorischen Operation ACi sind derart nicht-maskierte rechtshändige Daten RDi, dass die kryptografische Operation Fi an denselben Daten funktioniert, wie im Prozess von der 5.
  • Vorzugsweise kann eine weitere kombinatorische Operation BCi zwischen der kryptografischen Operation Fi und der kombinatorischen Operation CCi zum Zwecke des Kombinierens der verarbeiteten (rechtshändigen) Daten FDi mit einem weiteren (sekundären) Hilfswert Bi eingefügt werden. Als ein Ergebnis kann ein Maskieren der verarbeiteten Daten FDi erreicht werden und ein weiteres Maskieren der (geänderten) linkshändigen Daten SDi'. Die kombinatorischen Operationen ACi und BCi sind vorzugsweise ebenfalls XOR-Operationen.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung sind die Hilfswerte Ai und Bi miteinander verbunden. Die sekundären Hilfswerte Bi werden vorzugsweise durch Verwendung einer XOR-Operation gebildet, vom ersten Hilfswert Ai–1 des vorhergehenden Schrittes und dem Hilfswert Ai+1 des nächsten Schrittes: Bi= Ai–1 ⊕ Ai+1
  • Dies läuft auf jeden primären Hilfswert Ai+1 hinaus, der durch Verwendung einer weiteren zusätzlichen kombinatorischen Operation BCi mit den verarbeiteten rechtshändigen Daten FDi als ein Bestandteil des sekundäres Hilfswertes Bi kombiniert wird, der wiederholt im nächsten Schritt, das heißt Schritt Si+1, anhand einer kombinatorischen Operation ACi kompensiert wird, bevor die rechtshändigen Daten RDi+1 der Operation Fi unterzogen werden. Die entsprechenden (maskierten) rechtshändigen Daten RDi', die die (maskierten) linkshändigen Daten LDi+1' des wieder nächsten Schrittes Si+2 bilden, werden hier mit dem primären Hilfswert Ai+1 kombiniert und auf diese Art und Weise kompensiert. Der Hilfswert Ai+1 senkt sich selbst derart in die geänderten Daten SDi', dass dieser zwischen zwei Schritten maskiert bleibt.
  • Die linkshändigen Daten LD1 des ersten Schrittes S1 werden mit dem zusätzlichen oder nullten (primären) Hilfswert Ao maskiert. Durch Kombinieren mit dem sekundären Hilfswert B1 = Ao ⊕ A2, wird der ursprüngliche Hilfswert Ao entfernt (da Ao ⊕ Ao null ist), aber der Hilfswert A2 und das damit erreichte Maskieren sind beibehalten. Der nullte Hilfswert Ao wird in dieser Ausführungsform vorzugsweise gleich dem ersten Hilfswert Ai gewählt.
  • Obwohl alle primären Hilfswerte Ai vorzugsweise verschieden gewählt werden, mit der Ausnahme von Ao = A1, ist es möglich, alle primären Hilfswerte Ai gleich zu wählen. In diesem Fall sind alle sekundären Hilfswerte Bi, die in der Ausführungsform dargestellt sind, derart gleich null, dass die weiteren kombinatorischen Operationen BCi ausgelassen werden können. Die Erfindung gilt ferner für Prozesse P, die nur einen Schritt S enthalten, oder die eine abweichende Struktur aufweisen.
  • Im Prozess von der 7, der weitgehend dem von der 6 entspricht, sind die kombinatorischen Operationen ACi und BCi und die kryptografische Operation Fi in jedem Schritt integriert, um eine kombinierte Operation Fi' zu bilden. Das Integrieren der kombinatorischen Operationen in die Operationen Fi ist durch angemessenes Einstellen möglich, zum Beispiel einer Substitutionstabelle der Operation Fi. Als ein Ergebnis können die zusätzlichen kombinatorischen Operationen ACi und BCi ausgelassen werden und das Ergebnis der eingestellten Operation Fi' kommt dem Ergebnis der Gesamtmenge der eigentlichen Operation Fi und der kombinatorischen Operationen gleich: FDi' = Fi' (RDi') = Bi ⊕ Fi (Ai ⊕ RDi').
  • Grundsätzlich benötigt jeder Schritt Si eine andere kombinatorische Operation Fi, in der zahlreiche Hilfswerte Ai integriert sind (siehe 6). Nur wenn die Hilfswerte Ai gleich gewählt sind, das heißt A1 = A2 = ... = An, können die kombinatorischen Operationen Fi in dieser Ausführungsform gleich sein.
  • Jedes Mal wenn der Prozess ausgeführt wird, werden die Werte Ai vorzugsweise aufs Neue gewählt. Für den Prozess von der 7 bedeutet dies, dass die kombinierten Operationen Fi' dann aufs Neue festgelegt sind. Da die Operationen Fi' in vielen Implementierungen die Verwendung von mehreren Tabellen, wie Substitutionstabellen, umfassen, werden diese Tabellen jedes Mal wenn der Prozess P ausgeführt wird, aufs Neue festgelegt. Um einen zusätzlichen Schutz gegen Angriffe zu bieten, werden nach einem weiteren Aspekt der Erfindung die Tabellen in einer Zufallsordnung festgelegt. Wenn eine kombinierte Operation Fi' zum Beispiel acht Tabellen umfasst, werden diese acht Tabellen, jedes Mal wenn diese Operation Fi' aufs Neue ausgeführt wird, in einer anderen Ordnung festgelegt. Diese Ordnung kann auf Grundlage der Inhalte eines Ordnungsregisters festgelegt werden, wobei diese Inhalte jedes Mal durch eine Zufallsnummer gebildet werden können, die aus einem Zufalls-Nummergenerator hervorgeht. Auf Grundlage der Inhalte des Ordnungsregisters kann jedes Mal eine neue Nachschlagetabelle zusammen gesetzt werden. Unter Verwendung der Nachschlagetabelle können die Tabellen in einem Speicher geschrieben und später ausgelesen werden.
  • Nach einem weiteren Aspekt der Erfindung, diesen ergänzend oder ersetzend, können die Elemente von jeder Tabelle in Zufallsordnungen festgelegt und/oder gespeichert werden. Mit dieser Maßnahme wird erreicht, dass der Schutz gegen Angriffe weiter verbessert wird. In diesem Fall kann ebenfalls eine Nachschlagetabelle angewandt werden, anhand der die Elemente später wieder gefunden werden können.
  • Die vorstehenden Maßnahmen können ebenfalls in einer anderen Ausführungsform der Erfindung angewandt werden, wie diejenige von der 8, oder in vollkommen verschiedenen anderen Prozessen, seien sie kryptografisch oder auch nicht.
  • Die Ausführungsform von der 8 entspricht weitgehend derjenigen von der 7. Die 7 ergänzend, umfasst jeder Schritt Si, mit Ausnahme des letzten Schrittes Sn, eine kombinatorische Operation HCi, die die rechtshändigen Daten RDi mit einem tertiären Hilfswert Wi kombiniert. Der tertiäre Hilfswert Wi kommt vorzugsweise der XOR-Kombination der Hilfswerte Ao und Ai gleich: W = Ao ⊕ Ai,wobei Ao ≠ Ai .
  • Dies führt in der Operation HCi stets zum Hinzufügen des nullten Hilfswertes Ao und dem Kompensieren des ersten Hilfswertes Ai. Als ein Ergebnis ist es möglich, dass alle kryptografischen Operationen Fi hauptsächlich identisch sind, was eine viel kleinere Verarbeitungs- und/oder Speicherkapazität von einem Prozessorsystem erfordert, mit dem das Verfahren ausgeführt wird. In der Ausführungsform von der 8 sind die Operationen Fi'' derartige Einstellungen von den Originaloperationen Fi, dass diese für den Hilfswert Ai korrigiert sind und zusätzlich den tertiären Hilfswert W = Ao ⊕ A1 mit deren Ergebnis kombinieren. Wenn mit anderen Worten RDi ⊕ Ai zu F'' zugeführt ist, kommt das Ergebnis
    FDi' = Fi (RDi) ⊕ W gleich.
  • Es versteht sich durch den Fachmann, dass die kombinatorischen Prozesse ACi, BCi und HCi an verschiedenen Stellen im kryptografischen Prozess P ausgeführt werden können, um eine vergleichbare oder gar identische Auswirkung zu erhalten.
  • Die 9 zeigt schematisch eine Schaltung 10 zum Implementieren des Verfahrens nach der Erfindung. Die Schaltung 10 umfasst einen ersten Speicher 11, einen zweiten Speicher 12 und einen Prozessor 13, wobei die Speicher 11 und 12 und der Prozessor 13 unter Verwendung eines Datenbusses 14 verbunden sind. Durch Bereitstellen von zwei Speichern ist es möglich, jedes Mal einen Unterschritt von einem der Prozesse P und P* (siehe 4) auszuführen, um das Ergebnis dieses Unterschritts zum Beispiel im ersten Speicher 11 zu speichern, und um vom zweiten Speicher 12 ein vorhergehendes Zwischenergebnis vom anderen Prozess zum Prozessor 13 zu übertragen. Auf diese Art und Weise ist es möglich, effizient die alternierende Berechnung der Unterschritte von zwei verschiedenen Prozessen auszuführen.
  • Das Zahlungssystem, das schematisch in der 10 dargestellt ist, umfasst ein elektronisches Zahlungsmittel 1 und eine Zahlungsstation 2. Das elektrische Zahlungsmittel 1 ist zum Beispiel eine so genannte Smart Card, das heißt eine Karte, die mit einer integrierten Schaltung zum Speichern und Verarbeiten von Zahlungsdaten bereit gestellt ist. Die Zahlungsstation 2 umfasst einen Kartenleser 21 und eine Prozessorschaltung 22. Die Prozessorschaltung 22 kann der Schaltung 10 von der 9 entsprechen.
  • Zu Beginn der Transaktion überträgt das Zahlungsmittel 1 eine Identifikations-(Kartenidentifikations-) ID zur Zahlungsstation 2. Unter Bezugnahme auf diese Identifikation, legt die Zahlungsstation 2 einen Schlüssel fest, der für diese Transaktion verwendet wird. Diese Identifikations-ID kann als Eingabedaten X (siehe die 1 bis 3) zu einem kryptografischen Prozess zugeführt werden, der auf Grundlage eines Masterschlüssels MK einen identifikationsabhängigen Transaktionsschlüssel KID als Ausgabedaten Y erzeugt. In Übereinstimmung mit der Erfindung wird zu diesem Zweck der Prozess, der in den 2 und 3 dargestellt wird, verwendet, wobei der Masterschlüssel MK unter Verwendung eines Prozesses R in einen zusätzlichen Masterschlüssel MK* im Voraus konvertiert wurde. Dieser zusätzliche Masterschlüssel MK* wird nun vorzugsweise gemeinsam mit der Identifikations-ID, in Übereinstimmung mit der 3, zum zusätzlichen Prozess P* zugeführt, um den Original-Masterschlüssel MK zu reproduzieren und den Transaktionsschlüssel KID von der Identifikations-ID abzuleiten.
  • Obwohl in den 2 und 3 stets nur ein einziger zusätzlicher Prozess P* dargestellt wird, können möglicherweise mehrere Prozesse P*, P**, P***, ... in Serie und/oder parallel verwendet werden, um den primären Schlüssel K abzuleiten.
  • Es versteht sich durch den Fachmann, dass zahlreiche Änderungen und Abänderungen möglich sind, ohne den Rahmen der Erfindung zu sprengen.

Claims (25)

  1. Verfahren zur kryptografischen Datenverarbeitung unter Verwendung einer Schaltung oder eines Prozessors, das Folgendes umfasst: Zuführen zu einem kryptografischen Prozess (P) von Werten, die die Daten (X) und einen Schlüssel (K) mit einschließen, und Ausführen des Prozesses (P), um kryptografisch verarbeitete Ausgabedaten (Y) zu bilden, gekennzeichnet durch das Zuführen zum Prozess (P) von Hilfswerten (K*, Ao, ..., An+1, Bo, ..., Bn), um die Werte zu maskieren, die den Schlüssel (K) mit einschließen, der im Prozess (P) verwendet wird, und durch das Kompensieren, durch einen Hilfsprozess, des Einflusses der Hilfswerte auf die Ausgabedaten (Y).
  2. Verfahren nach Anspruch 1, wobei ein Hilfswert einen zusätzlichen Schlüssel (K*) umfasst, der einem zusätzlichen Prozess (P*) zugeführt wird, um den Schlüssel (K) zu bilden.
  3. Verfahren nach Anspruch 2, wobei der zusätzliche Prozess (P*) einen kryptografischen Prozess umfasst, dem ein Hilfsschlüssel (K') zugeführt wird.
  4. Verfahren nach Anspruch 2 oder 3, wobei der zusätzliche Prozess (P*) ein umkehrbarer Prozess ist.
  5. Verfahren nach Anspruch 2, 3 oder 4, wobei die Daten (X) ebenfalls zum zusätzlichen Prozess (P*) zugeführt werden.
  6. Verfahren nach Anspruch 5, wobei das Ausführen des zusätzlichen Prozesses (P*) ausschließlich erfolgt, wenn die Daten (X) vorbestimmte Eigenschaften aufweisen.
  7. Verfahren nach einem der Ansprüche 2 bis 6, wobei sich der Prozess (P) und der zusätzliche Prozess (P*) jeweils aus einer Anzahl von Schritten zusammensetzen, und wobei Schritte des Prozesses (P) und des zusätzlichen Prozesses (P*) alternierend sind.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Prozess (P) eine Anzahl von Schritten (Si) umfasst, die jeweils eine kryptografische Operation (Fi, Fi', Fi'') zum Verarbeiten rechtshändiger Daten (RDi), die von den Daten (X) abgeleitet sind, aufweisen, und eine kombinatorische Operation (Ci) zum Kombinieren mit linkshändigen Daten (LDi), die ebenfalls von den Daten (X) abgeleitet sind, der verarbeiteten rechtshändigen Daten (FDi), um geänderte linke Daten (SDi) zu bilden, und wobei die rechtshändigen Daten (RD1) vor dem ersten Schritt (S1) mit einem primären Hilfswert (A1) kombiniert werden und die linkshändigen Daten (LD1) mit einem zusätzlichen Hilfswert (Ao) kombiniert werden.
  9. Verfahren nach Anspruch 8, wobei unverzüglich nach dem letzten Schritt (Sn), die rechtshändigen Daten (RDn) mit einem weiteren primären Hilfswert (An) kombiniert werden und die geänderten linkshändigen Daten (SDn') mit einem weiteren zusätzlichen Hilfswert (An+1) kombiniert werden.
  10. Verfahren nach Anspruch 8 oder 9, wobei die rechtshändigen Daten (RDi) in jedem Schritt (Si) und vor der Operation (Fi') mit dem primären Hilfswert (Ai) vom Schritt (Si) kombiniert werden.
  11. Verfahren nach Anspruch 10, wobei die verarbeiteten rechtshändigen Daten (FDi) nach der Operation (Fi), mit dem sekundären Hilfswert (Bi) vom Schritt (Si) kombiniert werden.
  12. Verfahren nach Ansprüchen 10 und 11, wobei der sekundäre Hilfswert (Bi) von einem Schritt (Si) aus der Kombination des primären Hilfswertes (Ai–1) vom vorhergehenden Schritt und des primären Hilfswertes (Ai+1) vom nächsten Schritt gebildet wird.
  13. Verfahren nach einem der Ansprüche 8 bis 12, wobei alle primären Hilfswerte (Ai) gleich sind.
  14. Verfahren nach einem der Ansprüche 9 bis 13, wobei die primären Hilfswerte (Ai) und/oder die sekundären Hilfswerte (Bi) jedes Mal im Voraus mit der jeweiligen Operation (Fi) kombiniert wurden.
  15. Verfahren nach Anspruch 14, wobei eine kombinierte Operation (Fi') mehrere Tabellen enthält, und wobei die Tabellen, jedes Mal wenn der Prozess (P) ausgeführt wird, in einer anderen Ordnung festgelegt werden.
  16. Verfahren nach Anspruch 14 oder 15, wobei eine kombinierte Operation (Fi') mehrere Tabellen enthält, und wobei die Elemente der Tabellen, jedes Mal wenn der Prozess (P) ausgeführt wird, in einer anderen Ordnung festgelegt und/oder gespeichert werden.
  17. Verfahren nach Anspruch 16, wobei die Ordnung als eine Nachschlagetabelle zum Zwecke des Auslesens der Elemente gespeichert wird.
  18. Verfahren nach einem der Ansprüche 8 bis 17, wobei die rechtshändigen Daten (RDi) nach jedem Schritt (Si) mit einem tertiären Hilfswert (Wi) kombiniert werden.
  19. Verfahren nach Anspruch 18, wobei der tertiäre Hilfswert (Wi) in allen Schritten, mit Ausnahme vom letzten Schritt (Sn), gleich der Kombination des primären Hilfswertes (A1) vom ersten Schritt (S1) und des zusätzlichen Hilfswertes (Ao) ist, und im letzten Schritt (Sn) gleich null ist.
  20. Verfahren nach einem der Ansprüche 8 bis 19, wobei das Kombinieren unter Verwendung einer XOR-Operation ausgeführt wird.
  21. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Daten (X) Identifikationsdaten eines Zahlungsmittels (1) umfassen und die verarbeiteten Daten (Y) einen diversifizierten Schlüssel bilden.
  22. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Prozess (P) das DES, vorzugsweise das Triple-DES, umfasst.
  23. Schaltung (10), die Mittel umfasst, die dazu geeignet sind, jeden der Schritte des Verfahrens nach Anspruch 1 auszuführen.
  24. Zahlungskarte (1), die eine Schaltung (10) nach Anspruch 23 umfasst.
  25. Zahlungsterminal (2), das eine Schaltung (10) nach Anspruch 23 umfasst.
DE69932740T 1998-12-30 1999-12-16 Verfahren und vorrichtung zur kryptographischen datenverarbeitung Expired - Lifetime DE69932740T2 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
NL1010921A NL1010921C2 (nl) 1998-12-30 1998-12-30 Werkwijze en inrichting voor het cryptografisch bewerken van data.
NL1010921 1998-12-30
NL1011544 1999-03-12
NL1011544A NL1011544C1 (nl) 1998-12-30 1999-03-12 Werkwijze en inrichting voor het cryptografisch bewerken van data.
NL1011800 1999-04-15
NL1011800A NL1011800C2 (nl) 1998-12-30 1999-04-15 Werkwijze en inrichting voor het cryptografisch bewerken van data.
PCT/EP1999/010208 WO2000041356A1 (en) 1998-12-30 1999-12-16 Method and device for cryptographically processing data

Publications (2)

Publication Number Publication Date
DE69932740D1 DE69932740D1 (de) 2006-09-21
DE69932740T2 true DE69932740T2 (de) 2006-12-07

Family

ID=27351198

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69932740T Expired - Lifetime DE69932740T2 (de) 1998-12-30 1999-12-16 Verfahren und vorrichtung zur kryptographischen datenverarbeitung

Country Status (7)

Country Link
US (1) US7162031B1 (de)
EP (1) EP1142191B1 (de)
AT (1) ATE336122T1 (de)
AU (1) AU1983300A (de)
DE (1) DE69932740T2 (de)
ES (1) ES2270628T3 (de)
WO (1) WO2000041356A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2802741B1 (fr) * 1999-12-15 2003-10-31 Sagem Dispositif mettant en oeuvre un algorithme de chiffrage par bloc a repetition de rondes
FR2804524B1 (fr) * 2000-01-31 2002-04-19 Oberthur Card Systems Sas Procede d'execution d'un protocole cryptographique entre deux entites electroniques
CA2298990A1 (en) * 2000-02-18 2001-08-18 Cloakware Corporation Method and system for resistance to power analysis
US20020061107A1 (en) * 2000-09-25 2002-05-23 Tham Terry K. Methods and apparatus for implementing a cryptography engine
CA2327911A1 (en) * 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
US9323955B2 (en) 2000-12-21 2016-04-26 Gemalto Sa Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system
FR2820576B1 (fr) * 2001-02-08 2003-06-20 St Microelectronics Sa Procede de cryptage protege contre les analyses de consommation energetique, et composant utilisant un tel procede de cryptage
CN1640051B (zh) * 2002-03-07 2011-05-18 艾斯奥托公司 使具有秘密密钥的电子密码装置安全的方法
US7403620B2 (en) * 2002-07-02 2008-07-22 Stmicroelectronics S.A. Cyphering/decyphering performed by an integrated circuit
DE10328860B4 (de) * 2003-06-26 2008-08-07 Infineon Technologies Ag Vorrichtung und Verfahren zum Verschlüsseln von Daten
JP2005056413A (ja) 2003-08-01 2005-03-03 Stmicroelectronics Sa 複数の同じ計算の保護
EP1513285A1 (de) * 2003-09-05 2005-03-09 Mediacrypt AG Verfahren zum Erzeugen einer Pseudofallsequenz
DE102004052196B4 (de) * 2004-10-27 2017-04-06 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Ausführen von Operationen unter Verwendung einer maskenunterstützenden Recheneinheit
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.
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.
JP5458611B2 (ja) * 2009-03-13 2014-04-02 ソニー株式会社 暗号処理装置
FR2951599B1 (fr) * 2009-10-20 2011-11-25 St Microelectronics Rousset Procede securise de calcul cryptographique et composant electronique correspondant
DE102011088502B3 (de) * 2011-12-14 2013-05-08 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
WO2016034912A1 (en) * 2014-09-05 2016-03-10 Umm Al-Qura University Method and apparatus for scalar multiplication secure against differential power attacks
US10868665B1 (en) * 2015-05-18 2020-12-15 Amazon Technologies, Inc. Mitigating timing side-channel attacks by obscuring accesses to sensitive data
US10311229B1 (en) * 2015-05-18 2019-06-04 Amazon Technologies, Inc. Mitigating timing side-channel attacks by obscuring alternatives in code
US11177933B2 (en) * 2019-03-24 2021-11-16 Google Llc Side channel timing attack mitigation in securing data in transit

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302810A (en) * 1979-12-28 1981-11-24 International Business Machines Corporation Method and apparatus for secure message transmission for use in electronic funds transfer systems
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
JPH0812537B2 (ja) * 1993-03-11 1996-02-07 日本電気株式会社 暗号化装置
US5768390A (en) * 1995-10-25 1998-06-16 International Business Machines Corporation Cryptographic system with masking
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
US5745577A (en) * 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption
US6028933A (en) * 1997-04-17 2000-02-22 Lucent Technologies Inc. Encrypting method and apparatus enabling multiple access for multiple services and multiple transmission modes over a broadband communication network
US6606385B1 (en) * 1997-08-07 2003-08-12 Hitachi, Ltd. Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same

Also Published As

Publication number Publication date
DE69932740D1 (de) 2006-09-21
AU1983300A (en) 2000-07-24
US7162031B1 (en) 2007-01-09
WO2000041356A1 (en) 2000-07-13
EP1142191A1 (de) 2001-10-10
ATE336122T1 (de) 2006-09-15
EP1142191B1 (de) 2006-08-09
ES2270628T3 (es) 2007-04-01

Similar Documents

Publication Publication Date Title
DE69932740T2 (de) Verfahren und vorrichtung zur kryptographischen datenverarbeitung
EP3218893B1 (de) Gehärtete white box implementierung
EP2901611B1 (de) Seitenkanalgeschützte maskierung
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE3650365T2 (de) Einrichtung zur Datenverschleierung.
EP3593483A1 (de) Übergang von einer booleschen maskierung zu einer arithmetischen maskierung
EP1664979B1 (de) Übergang zwischen maskierten repräsentationen eines wertes bei kryptographischen berechnungen
DE60022840T2 (de) Verfahren zum sichern einer oder mehrerer elektronischer baugruppen, unter zuhilfenahme eines privatschlüssel-krypto-algorithmus, sowie elektronische baugruppe
EP3387636A1 (de) Kryptoalgorithmus mit schlüsselabhängigem maskiertem rechenschritt (sbox-aufruf)
EP4101118A1 (de) Schlüsselgenerierung und pace mit sicherung gegen seitenkanalangriffe
DE10324422B4 (de) Verfahren und Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen verschlüsselten abgebildeten Ausgangswert
DE60022974T2 (de) Vorrichtung zur Ausführung eines Blockverschlüsselungsalgorithmus mit Wiederholungsrunden
WO2005043804A1 (de) Verfahren und vorrichtung zur ver- und entschlüsselung
EP1596527B1 (de) Übergang von einer booleschen Maskierung zu einer arithmetischen Maskierung
DE60034944T2 (de) Gegenmassnahmeverfahren in einer geheimen und dynamischen Verschlüsselungsalgorithmus ausführenden elektronischen Schaltung
EP3804209B1 (de) Verfahren mit safe-error-abwehrmassnahme
DE69829566T2 (de) Verschlüsselungsgerät
EP1573955B1 (de) Verschl sselungsverfahren
DE102014216392A1 (de) Symmetrisches Iteriertes Blockchiffrierverfahren und entsprechende Vorrichtung
EP1588518B1 (de) Vorrichtung und verfahren zum berechnen von verschlüsselten daten aus unverschlüsselten daten oder von unverschlüsselten daten aus verschlüsselten daten
DE102013108424A1 (de) Verfahren zur Verschlüsselung von Zeichenketten
DE19958599A1 (de) Verfahren zur Verschlüsselung einer numerischen Information und Sendemodul
EP4033694B1 (de) Verfahren und vorrichtung zur vereinheitlichung von blockchain adressen
EP1459476B1 (de) Datenverarbeitungsvorrichtung zum Wechsel eines Schlüssels in unregelmässigen zeitlichen Abständen
EP1056241B1 (de) Verfahren zur Verschlüsselung einer numerischen Information und Sendemodul

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1142191

Country of ref document: EP