DE102005037598A1 - Verfahren und System zur Sicherung von Daten - Google Patents

Verfahren und System zur Sicherung von Daten Download PDF

Info

Publication number
DE102005037598A1
DE102005037598A1 DE102005037598A DE102005037598A DE102005037598A1 DE 102005037598 A1 DE102005037598 A1 DE 102005037598A1 DE 102005037598 A DE102005037598 A DE 102005037598A DE 102005037598 A DE102005037598 A DE 102005037598A DE 102005037598 A1 DE102005037598 A1 DE 102005037598A1
Authority
DE
Germany
Prior art keywords
mod
masking
relationship
further characterized
prime
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.)
Withdrawn
Application number
DE102005037598A
Other languages
English (en)
Inventor
Yoo-jin Yongin Baek
Sang-geun Seongnam Oh
Seo-Kyu Kim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102005037598A1 publication Critical patent/DE102005037598A1/de
Withdrawn 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • 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

Landscapes

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

Abstract

Die Erfindung bezieht sich auf ein Verfahren zur Sicherung von Daten, auf ein zugehöriges System zur Bereitstellung einer sicheren Verarbeitung von Daten und auf ein zugehöriges Computerprogrammprodukt. DOLLAR A Erfindungsgemäß wird eine Nachricht (M) maskiert, wenigstens ein Exponent (d) maskiert und eine modulare Exponentiation (130) unter Verwendung der maskierten Nachricht und/oder des maskierten Exponenten ausgeführt. DOLLAR A Verwendung in der Datenverschlüsselungstechnik.

Description

  • Die Erfindung bezieht sich auf ein Verfahren zur Sicherung von Daten und auf ein System zur sicheren Verarbeitung von Daten sowie auf ein entsprechendes Computerprogrammprodukt.
  • Die Sicherung von Information erfolgt häufig durch Verschlüsselung, d.h. durch Verschlüsselungsalgorithmen und/oder Verschlüsselungsprotokolle. Ein Typ von Verschlüsselungsalgorithmen sind solche mit geheimem Schlüssel. Diese Verschlüsselungsalgorithmen sind jedoch hinsichtlich der Schlüsselverteilung und/oder der elektronischen Signatur nicht ohne Probleme. Verschlüsselungsalgorithmen mit öffentlichem Schlüssel können diese Schwierigkeiten, wie hinsichtlich Schlüsselverteilung und elektronischer Signatur, in Anwendungen mit sicherer Informationsübertragung verringern, z.B. für das Internet, Finanznetzwerke etc. Der RSA(Rivest QShamir Adleman)-Algorithmus ist ein Beispiel eines Verschlüsselungsalgorithmus mit öffentlichem Schlüssel. Der RAS-Algorithmus kann eine Verschlüsselung, Entschlüsselung, Erzeugung und/oder Authentikation einer elektronischen Signatur ausführen, wie nachstehend unter Bezugnahme auf eine Kommunikation zwischen einem ersten und einem zweiten Nutzer erläutert.
  • Ein erster Nutzer erzeugt zwei große Primzahlen p und q und berechnet das Produkt n = p·q sowie das Produkt ϕ(n) = (p – 1)·(q – 1). Außerdem wählt er eine ganze Zahl e aus, die bezüglich ϕ(n) relativ prim ist, und eine ganze Zahl d, welche die nachstehende Gleichung 1 erfüllt: ed = 1 mod ϕ(n). (1)
  • Dabei bedeutet relativ prim, dass die zwei betreffenden natürlichen Zahlen nur einen gemeinsamen Teiler haben. Beispielsweise sind die Zahlen 8 und 9 relativ prim, da die Zahl 8 die Teiler 1, 2 und 4 und die Zahl 9 die Teiler 1, 3 und 9 hat, d.h. die Zahlen 8 und 9 haben nur die Zahl 1 als einzigen gemeinsamen Teiler.
  • Die obige Gleichung 1 veranschaulicht, dass sich bei Teilen der Zahl e·d durch die Zahl ϕ(n) der Rest 1 ergibt. Die Zahlen n und e können für die Öffentlichkeit als öffentlicher Schlüssel des ersten Nutzers verfügbar sein, während die Zahlen p, q und d für den ersten Nutzer als geheimer Schlüssel benutzt werden.
  • Ein zweiter Nutzer überträgt eine Nachricht M und ein Kryptogramm C an den ersten Nutzer. Das Kryptogramm C kann unter Verwendung des öffentlichen Schlüssels (n, e), d.h. der Zahlen n und e, des ersten Nutzers durch Ausführen einer modularen Exponentiationsoperation generiert werden, die durch die nachstehende Gleichung 2 gegeben ist: C = Me mod n. (2)
  • Der erste Nutzer führt eine modulare Exponentiationsoperation unter Verwendung des geheimen Schlüssels d gemäß nachstehender Gleichung 3 aus, um die Originalnachricht M zu gewinnen: M = Cd mod n. (3)
  • Anschließend signiert der erste Nutzer elektronisch die Nachricht M mit einer anderen modularen Exponentiationsoperation gemäß der Beziehung: S = Md mod n, wobei er den geheimen Schlüssel d verwendet und S die elektronische Signatur für die Nachricht M bezeichnet. Der zweite Nutzer empfängt die elektronische Signatur S für die Nachricht M und verifiziert z.B. durch Authentikation, dass die elektronische Signatur S vom ersten Nutzer erzeugt worden ist, indem er eine modulare Exponentiationsoperation ausführt, die durch die Beziehung M' = Se mod n gegeben ist, wobei der öffentliche Schlüssel (n, e) des ersten Nutzers zur Berechnung von M' benutzt wird. Als zweites verifiziert der zweite Nutzer, dass S die elektronische Signatur für M ist, wie sie durch den ersten Nutzer erzeugt worden ist, indem er M' mit M vergleicht.
  • Das Problem der Bestimmung des geheimen Schlüssels (p, q, d) basierend auf dem öffentlichen Schlüssel (n, e) beim RSA-Kryptosystem mit öffentlichem Schlüssel hängt mit dem Problem der Bestimmung von Primfaktoren (p, q) auf der Basis von n zusammen. In herkömmlichen Verfahren wird n üblicherweise auf wenigstens 1024 Bit festgelegt. Jedoch wird umso mehr Rechenleistung zur Ausführung der jeweiligen modularen Exponentiation benötigt, je höher die Bitanzahl für n festgelegt wird.
  • Eine andere herkömmliche modulare Exponentiation auf der Basis eines chinesischen Resttheorems bzw. Restsatzes (CRT) ermöglicht eine Er höhung der Betriebsgeschwindigkeit für die Ausführung der modularen Exponentiation verglichen mit anderen herkömmlichen Techniken der modularen Exponentiation. Das CRT beinhaltet eine ganze Zahl x, nachfolgend durch CRT(x1, x2, ..., xk) repräsentiert, welche die nachstehende modulare Gleichung 6 erfüllt: x = x1 mod p1; x = x2 mod p2; ...; x = xk mod pk, (6) wobei p1, p2, ..., pk positive ganze Zahlen bezeichnen, die relativ prim sind, und x1, x2, ..., xk ganze Zahlen bezeichnen.
  • Nachfolgend wird ein herkömmliches Verfahren zur Ausführung einer RSA-Entschlüsselungsoperation und einer Operation zur Erzeugung einer elektronischen Signatur unter Verwendung des CRT erläutert. Ein erster Nutzer berechnet dp, dq, pi und qi unter Verwendung eines geheimen Schlüssels (p, q, d) durch folgende Gleichung 7: dp = d mod (p – 1); dq = d mod (q – 1); pi = p–1 mod q; qi = q–1 mod pq. (7)
  • Des weiteren berechnet der erste Nutzer eine Zahl Sp und eine elektronische Signatur S für eine Nachricht M gemäß nachstehender Gleichung 8: Sp = Mdp mod p; Sq = Mdq mod q; S = CRT(Sp,Sq) = (q·qi·Sp + p·pi·Sq) mod n. (8)
  • Das CRT gewährleistet, dass S eine elektronische Signatur für M ist. Das oben erläuterte, herkömmliche RSA-Kryptosystem mit öffentlichem Schlüssel und das RSA-Kryptosystem mit öffentlichem Schlüssel auf der Basis des CRT sind nicht vollständig sicher gegen einen sogenannten Seitenkanalangriff und/oder Fehlerangriff. Der Seitenkanalangriff bezieht sich auf die Extraktion geheimer Information über einen Seitenkanal während eines Verschlüsselungsvorgangs und umfasst einen Zeitsteuerungs- bzw. Timing-Angriff und/oder einen Leistungsangriff.
  • Der Timing-Angriff beinhaltet die Extraktion entweder eines geheimen Schlüssels oder des Hamming-Gewichts des geheimen Schlüssels. Letzteres korrespondiert mit der Bitanzahl auf einem ersten Logikpegel, z.B. einem hohen Logikpegel, einem niedrigen Logikpegel etc., wenn der geheime Schlüssel eine Binärzahl ist. Beispielsweise hat die Zahl 12 ein Hamming-Gewicht von 2, da ihr die Binärzahl „1100" entspricht, die zwei Einsen enthält, d.h. zwei Bit mit hohem Logikpegel.
  • Der Timing-Angriff umfasst eine Betrachtung verschiedener Faktoren. Einer dieser Faktoren besteht darin, dass die zur Ausführung einer Quadraturoperation benötigte Zeitdauer und die zur Ausführung einer Multiplikationsoperation benötigte Zeitdauer in einem modularen Exponentiationsalgorithmus unterschiedlich sind. Ein anderer Faktor besteht darin, dass die Quadraturoperation ausgeführt wird, wenn sich ein Bitwert eines Exponenten auf einem zweiten Logikpegel, z.B. einem niedrigen Logikpegel, befindet, während die Quadratur- und Multiplikationsoperation ausgeführt werden, wenn sich der Bitwert auf einem ersten Logikpegel befindet, z.B. einem hohen Logikpegel. Ein weiterer Faktor besteht darin, dass die Zeitdauer zum Ausführen der modularen Exponentiation abhängig von der Nachricht variieren kann.
  • Herkömmliche Verfahren zum Schutz vor dem Timing-Angriff beinhalten das Einfügen einer „Dummy"- bzw. Leer-Operation, um eine gleichbleibende Ausführungszeit zu gewährleisten, unabhängig vom Bitwert eines Exponenten, ein Verfahren zum Maskieren eines Exponenten und ein Verfahren zum Maskieren einer Nachricht. Das Einfügen einer Dummy-Operation erfordert jedoch eventuell eine höhere Bearbeitungsgeschwindigkeit.
  • Der Leistungsangriff tritt in Form eines einfachen Leistungsangriffs und/oder eines differentiellen Leistungsangriffs auf. Die von einem Kryptosystem verbrauchte Leistung basiert üblicherweise auf dem Status eines internen Registers. Der Leistungsangriff analysiert den Leistungsverbrauch des Kryptosystems, um daraus den geheimen Schlüssel zu extrahieren.
  • Der Fehlerangriff beinhaltet die Maßnahme, einen Rechenfehler in einer Komponente zu verursachen, die eine Verschlüsselungsoperation ausführt. Die Komponente gibt dann ein fehlerhaftes Resultat aufgrund des eingebrachten Fehlers aus. Das fehlerhafte Resultat wird analysiert, um daraus geheime Information zu extrahieren, die in der Komponente gespeichert ist. Der Fehlerangriff tritt in Form eines einfachen Fehlerangriffs und/oder eines differentiellen Fehlerangriffs auf.
  • Der einfache Fehlerangriff beinhaltet die Maßnahme, den geheimen Schlüssel auf der Basis einer Analyse des fehlerhaften Resultates abzuleiten. Das fehlerhafte Resultat kann einen Fehler beinhalten, der in nur einem der Zwischenresultate Sp und Sq des Entschlüsselungsprozesses und/oder in eine durch das CRT-basierte RSA-Kryptosystem erzeugte elektronische Signatur eingebracht wurde. Beim einfachen Fehlerangriff gibt es keine Beschränkung für die Ursache der Erzeugung des Fehlers, und er macht das CRT-basierte RSA-Kryptosystem mit öffentlichem Schlüssel verwundbar.
  • Eine herkömmliche Sicherheitsmaßnahme gegen den einfachen Fehlerangriff umfasst das zusätzliche Vorsehen eines Resultatbestätigungsschrittes. Das Hinzufügen des Resultatbestätigungsschrittes erfordert einen Bedingungsprüfbefehl. Letzterer kann jedoch anfällig gegen den Seitenkanalangriff sein. Außerdem gibt es eine gewisse Wahrscheinlichkeit, dass auch bei Hinzufügen des Resultatbestätigungsschrittes ein Fehler nicht detektiert wird. Diese Wahrscheinlichkeit korrespondiert mit 1/r, wobei r eine Zufallszahl ist.
  • Der differentielle Fehlerangriff extrahiert den geheimen Schlüssel, wenn ein Bit eines Registers invertiert wird, welches das Zwischenergebnis der modularen Exponentiation des RSA-Kryptosystems speichert. Der differentielle Fehlerangriff erfordert einen höheren Grad an Verarbeitung und/oder eine höhere Datenkapazität verglichen mit dem einfachen Fehlerangriff. Der differentielle Fehlerangriff kann die Position des invertierten Bit bestimmen, das während des Angriffs erzeugt wird.
  • Der Erfindung liegt als technisches Problem die Bereitstellung eines Verfahrens zur Sicherung von Daten eines Systems zur sicheren Verarbeitung von Daten und eines zugehörigen Computerprogrammprodukts zugrunde, die eine erhöhte Resistenz gegenüber den oben erwähnten Leistungs- und Fehlerangriftstypen aufweisen.
  • Die Erfindung löst dieses Problem durch die Bereitstellung eines Verfahrens mit den Merkmalen des Anspruchs 1, eines Systems mit den Merkmalen des Anspruchs 26 sowie eines Computerprogrammprodukts mit den Merkmalen des Anspruchs 27.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Vorteilhafte Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend beschrieben. Hierbei zeigen:
  • 1 ein Flussdiagramm eines modularen Exponentiationsalgorithmus,
  • 2 ein Flussdiagramm eines weiteren modularen Exponentiationsalgorithmus und
  • 3 ein Flussdiagramm noch eines weiteren modularen Exponentiationsalgorithmus.
  • In vorteilhaften Ausführungsformen der Erfindung ist eine modulare Exponentiation zur Berechnung von Me mod n sowie Md mod n für eine Nachricht M mit den bereits oben angeführten Bedeutungen der Zahlen n, d und e vorgesehen. Dabei können diese modularen Exponentiationen durch folgenden Algorithmus I berechnet werden, mit den Eingangsdaten M, d = (dtdt–1...d0)2 und n sowie den Ausgangsdaten Md mod n: 1. S = 1, T = M 2. For i from 0 to t If di = 1 then S = S·T mod n T = T2 mod n 3. Return S (Algorithmus I).
  • Der Algorithmus I führt die Berechnung von einem niedrigstwertigen Bit (LSB) bis zu einem höchstwertigen Bit (MSB) eines Exponenten durch, d.h. als binäre Exponentiation von rechts nach links.
  • In einem weiteren Ausführungsbeispiel werden Me mod n und Md mod n durch folgenden Algorithmus II berechnet, mit den Eingangsdaten M, d = (dtdt–1...d0)2 und n sowie den Ausgabedaten Md mod n 1. S = 1 2. For i from t to 0 S = S2 mod n If di = 1 then S = S·M mod n 3. Return S (Algorithmus II).
  • Der Algorithmus II führt die Berechnung vom MSB zum LSB eines Exponenten durch, d.h. mittels einer binären Exponentiation von links nach rechts. In entsprechenden Ausführungsformen der Erfindung läuft in der „For"-Schleife des Algorithmus II die Laufvariable i von der höchsten Bitstelle t, d.h. dem MSB, bis zur niedrigsten Bitstelle 0, d.h. dem LSB, um ein gegebenes Inkrement, z.B. 1. Wenn der Wert des Exponenten di, der jeweils zur Laufvariable i gehört, gleich 0 ist, wird S = S2 mod n berechnet. Diese Operation wird wiederholt, bis die For-Schleife die Ausführung abgeschlossen hat. Wenn der durch die Laufvariable i bezeichnete Exponent di in der jeweiligen Iteration der For-Schleife auf einem ersten Logikpegel, z.B. einem hohen Logikpegel, liegt, wird S = S·M für jede Iteration der For-Schleife berechnet. Daher werden durch den Algorithmus II zwei Operationen ausgeführt, wenn der durch die Laufvariable i bezeichnete Wert des Exponenten di gleich 1 ist, z.B. für die zwei restlichen Iterationen der For-Schleife.
  • Wenn in entsprechenden Ausführungsformen der Exponent d in dezimaler Notation gleich 13 ist, wird er binär durch „1101" repräsentiert, d.h. d3, d2, d1 und d0 haben die Werte 1, 1, 0 bzw. 1. Wenn i gleich 3 ist, wird bei der Ausführung der Operation S = S2 mod n S unabhängig vom Wert n auf den ersten Logikpegel gesetzt, da S gleich 1 ist. Da d3 gleich 1 ist, ist die Bedingungsabfrage erfüllt. In S wird dann ein Wert M, z.B. gleich S·M, gespeichert, statt des zuvor gespeicherten Anfangswertes 1, d.h. S = M. Wenn i gleich 2 ist, ist S gleich M. Dadurch wird S auf M2 gesetzt, wenn die Operation S = S2 mod n ausgeführt wird. Die Bedingungsabfrage wird erfüllt, da d2 gleich 1 ist, und in S wird M3, z.B. das Ergebnis der Operation S·M, gespeichert, d.h. S = M3.
  • Wenn i gleich 1 ist, d.h. t = 1, ist S gleich M3. Daher wird S durch die Operation S = S2 mod n auf M6 gesetzt. Die Bedingungsabfrage ist nicht erfüllt, da d1 gleich 0 ist, und M6 wird in S gespeichert. S wird auf M6 gesetzt, wenn i gleich 0 ist, d.h. t = 0. Daher wird S bei Ausführung der Operation S = S2 mod n auf M12 gesetzt. Da d0 gleich 1 ist, wird bei Ausführung der Operation S·M M13 in S gespeichert, d.h. S = M13.
  • In einer weiteren Ausführungsform der Erfindung wird der Vorgang mit dem Exponenten d, z.B. mit d = 13 in dezimaler Notation, mit einem der oben erläuterten Algorithmen in inversem Sinn ausgeführt.
  • In entsprechenden Ausführungsformen der Erfindung können die Eigenschaften, die mit der Ausführung eines der oben erläuterten Algorithmen, insbesondere des Algorithmus I und des Algorithmus II, verknüpft sind, wie eine Ausführungsperiode, die Sicherheit gegen Seitenkanalangriffe etc., abhängig davon variieren, ob sowohl eine Quadrier- als auch eine Multiplizieroperation oder nur eine Quadrieroperation ausgeführt wird.
  • In entsprechenden Ausführungsformen der Erfindung wird ein in 1 im Flussdiagramm veranschaulichter, erster modularer Exponentiationsalgorithmus 100 verwendet, der eine Nachrichtenmaskierung 110, eine Exponentmaskierung 120 und eine modulare Exponentiation 130 umfasst. Der erste module Exponentiationsalgorithmus 100 erzeugt S gemäß S = Md mod n. Die Nachricht M wird geheim übermittelt, die Zahl n wird durch Multiplizieren zweier großer Primzahlen p und q erhalten, wie sie z.B. durch irgendeinen herkömmlichen Primzahlenzufallsgenerator gewonnen werden, e ist relativ prim zu ϕ(n) = (p – 1)·(q – 1), und d erfüllt die Gleichung e·d = 1 mod ϕ(n).
  • Die Nachrichtenmaskierung 110 umfasst die Erzeugung einer Zufallszahl r, die zu n relativ prim ist, siehe Schritt 111 in 1, die Berech nung von t gemäß t = re mod n, siehe Schritt 112, und die Berechnung einer maskierten Nachricht A gemäß A = t·M mod n, siehe Schritt 113.
  • Die Exponentmaskierung 120 beinhaltet die Erzeugung einer ganzen Zahl x, die zu ϕ(n) relativ prim ist, siehe Schritt 121, und die Berechnung eines maskierten Exponenten d' gemäß d' = d·x–1 mod ϕ(n), siehe Schritt 122.
  • Die ganze Zahl x kann von geringerer Größe sein, beispielsweise 30 Bit. Die Verarbeitungsanforderungen können reduziert werden, indem die Zufallszahl mit einer geringeren Größe für die Maskierung verwendet wird, d.h. für die Nachrichtenmaskierung und/oder die Exponentmaskierung.
  • Die modulare Exponentiation 130 beinhaltet die Berechnung von B gemäß B = Ad' mod n, siehe Schritt 131, die Berechnung von C gemäß C = Bx mod n, siehe Schritt 132, und die Berechnung von S gemäß S = C·r–1 mod n, siehe Schritt 133. Die modulare Exponentiation 130 macht auf diese Weise Gebrauch von den Zahlen A und d', die durch die Nachrichtenmaskierung 110 bzw. Exponentmaskierung 120 geliefert werden. Dies verhindert die Extraktion von Daten, die sich auf den geheimen Schlüssel beziehen, selbst wenn während der Ausführung des Algorithmus ein Timing-Angriff, ein Leistungsangriff und/oder ein Fehlerangriff versucht wird. Der modulare Exponentiationsalgorithmus 100 verhindert somit weitestgehend eine Extraktion des geheimen Schlüssels durch einen Seitenkanalangriff und/oder einen Fehlerangriff. Der öffentliche Schlüssel e kann dabei relativ klein sein, und auch für x kann eine relativ kleine ganze Zahl gewählt werden.
  • Andere erfindungsgemäße Ausführungsbeispiele machen von einem in 2 im Flussdiagramm gezeigten, zweiten modularen Exponentiationsalgorithmus 200 Gebrauch, der eine Nachrichtenmaskierung 210, eine Exponentmaskierung 220, eine modulare Exponentiation 230, eine Fehlerdetektion und -diffusion 240 und eine modulare Multiplikation 250 umfasst.
  • Der zweite modulare Exponentiationsalgorithmus 200 hat als Eingangsgrößen eine geheim zu übertragende Nachricht M, eine durch Multiplikation zweier großer Primzahlen p und q erhaltene Zahl n, eine Zahl e, die zu ϕ(n) = (p – 1)·(q – 1) relativ prim ist, eine Zahl d gemäß e·d = 1 mod ϕ(n), eine Zahl dp gemäß dp = d mod (p – 1) und eine Zahl dq gemäß dq = d mod (q – 1), um eine Signatur S gemäß S = Md mod n zu generieren.
  • Die Nachrichtenmaskierung 210 beinhaltet die Erzeugung einer Zufallszahl r, die zu n relativ prim ist, siehe Schritt 211 von 2, die Maskierung der Nachricht M unter Verwendung der Primzahl p, siehe Schritt 212, und die Maskierung der Nachricht M unter Verwendung der Primzahl q, siehe Schritt 214.
  • Die Zufallszahl r kann eine relativ kleine Zahl von z.B. etwa 60 Bit sein. Die Verarbeitungsanforderungen lassen sich reduzieren, indem die Zufallszahl mit geringerer Größe zur Maskierung benutzt wird, d.h. zur Nachrichtenmaskierung und/oder zur Exponentmaskierung.
  • Die Maskierung der Nachricht M unter Verwendung der Primzahl p beinhaltet die Berechnung von tp = re mod p im Schritt 212 und die Berechnung von Ap = tp·M mod p im Schritt 213. Die Maskierung der Nachricht M unter Verwendung der Primzahl q beinhaltet die Berechnung von tq = re mod q im Schritt 214 und die Berechnung von Aq = tq·M mod q im Schritt 215.
  • Die Exponentmaskierung 220 beinhaltet die Erzeugung einer zu ϕ(n) relativ primen ganzen Zahl x im Schritt 212, die Maskierung des Exponenten dp unter Verwendung der ganzen Zahl x und der Primzahl p im Schritt 222 sowie die Maskierung des Exponenten dq unter Verwendung der ganzen Zahl x und der Primzahl q im Schritt 232. Die ganze Zahl x kann relativ klein sein, z.B. ungefähr 30 Bit. Die Verarbeitungsanforderungen lassen sich reduzieren, indem die Zufallszahl mit geringerer Größe zur Maskierung verwendet wird.
  • Die Maskierung des Exponenten dp unter Verwendung der ganzen Zahl x und der Primzahl p im Schritt 222 umfasst im gezeigten Beispiel die Berechnung von dp' gemäß dp' = dp·x–1 mod (p – 1). Die Maskierung des Exponenten dq unter Verwendung der ganzen Zahl x und der Primzahl q im Schritt 223 beinhaltet die Berechnung von dq' gemäß dq' = dq·x–1 mod (q – 1).
  • Die modulare Exponentiation 230 umfasst eine Exponentiation unter Benutzung der Primzahl p und eine Exponentiation unter Benutzung der Primzahl q. Die Exponentiation unter Benutzung der Primzahl p beinhaltet im gezeigten Beispiel die Berechnung von Bp = Apdp' mod p im Schritt 231 und die Berechnung von Cp = Bpx mod p im Schritt 232. Die Exponentiation unter Benutzung der Primzahl q beinhaltet die Berechnung von Bq = Aqdq' mod q im Schritt 233 und die Berechnung von Cq = Bqx mod q im Schritt 234.
  • Die Fehlerdetektion und -diffusion 240 beinhaltet die Berechnung einer Fehlervariablen unter Benutzung der Primzahl p im Schritt 241, die Berechnung einer Fehlervariablen unter Benutzung der Primzahl q im Schritt 242 und die Gewinnung einer Diffusionsvariablen eines detektierten Fehlers und Anwenden des CRT im Schritt 243.
  • Im gezeigten Beispiel von 2 beinhaltet die Berechnung der Fehlervariablen unter Benutzung der Primzahl p im Schritt 241 eine Berechnung einer Fehlervariablen Dp gemäß Dp = Cpe mod p. Die Berechnung der Fehlervariablen unter Benutzung der Primzahl q im Schritt 242 um fasst die Berechnung einer Fehlervariablen Dq gemäß Dq = Cqe mod q. Die Gewinnung einer Diffusionsvariablen eines detektierten Fehlers und die Anwendung des CRT im Schritt 243 umfasst die Berechnung von S' = CRT(Cp⊕Aq⊕Dq, Cq⊕Ap⊕Dp), wobei CRT(x1, x2, ..., xk) eine ganze Zahl x gemäß x = x1 mod p1, x = x2 mod p2 ..., x = xk mod pk basierend auf positiven ganzen Zahlen p1, p2, ..., pk umfasst, die relativ prim sind, wobei x1, x2, ..., xk ganze Zahlen sind. Das Symbol „⊕" bezeichnet eine Exklusiv-ODER-Verknüpfung, d.h. eine XOR-Verknüpfung.
  • Die modulare Multiplikation 250 umfasst im gezeigten Beispiel die Gewinnung einer elektronischen Signatur S gemäß S = (S'·r–1) mod n.
  • Weitere Ausführungsformen der Erfindung beinhalten einen in 3 im Flussdiagramm veranschaulichten, dritten modularen Exponentiationsalgorithmus 300, der eine Nachrichtenmaskierung 210, eine Exponentmaskierung 320, eine modulare Exponentiation 330 und eine Fehlerdektion 340 umfasst. Der dritte modulare Exponentiationsalgorithmus 300 empfängt als Eingangsgrößen eine geheim zu übertragende Nachricht M, eine durch Multiplizieren zweier großer Primzahlen p und q erhaltene Zahl n, eine zu ϕ(n) = (p – 1)·(q – 1) relativ prime Zahl e, eine Zahl d gemäß e·d = 1 mod ϕ(n), eine Zahl dp gemäß dp = d mod (p – 1) und eine Zahl dq gemäß dq = d mod (q – 1), um eine Signatur S gemäß S = Md mod n zu generieren.
  • Die Nachrichtenmaskierung 310 beinhaltet im gezeigten Beispiel die Erzeugung einer Zufallszahl r, die zu n relativ prim ist, im Schritt 311 von 3, die Maskierung der Nachricht M unter Benutzung der Primzahl p in den Schritten 312 und 313 sowie die Maskierung der Nachricht M unter Benutzung der Primzahl q in den Schritten 314 und 315. Die Zufallszahl r kann relativ klein sein, z.B. eine Größe von etwa 60 Bit.
  • Die Maskierung der Nachricht M unter Benutzung der Primzahl p in den Schritten 312 und 313 umfasst die Berechnung von tp = re mod p im Schritt 312 und die Berechnung von Ap = tp·M mod p im Schritt 313. Die Maskierung der Nachricht M unter Benutzung der Primzahl q in den Schritten 314 und 315 beinhaltet die Berechnung von tq = re mod q im Schritt 314 und die Berechnung von Aq = tq·M mod q im Schritt 315.
  • Die Exponentmaskierung 320 beinhaltet im gezeigten Beispiel die Erzeugung einer zu ϕ(n) relativ primen ganzen Zahl x im Schritt 321, die Maskierung des Exponenten dp unter Verwendung der ganzen Zahl x und der Primzahl p im Schritt 323 und die Maskierung des Exponenten dq unter Verwendung der ganzen Zahl x und der Primzahl q im Schritt 323. Die ganze Zahl x kann relativ klein sein, z.B. eine Größe von etwa 30 Bit. Die Maskierung des Exponenten dp unter Benutzung der ganzen Zahl x und der Primzahl p im Schritt 323 beinhaltet die Berechnung von dp' gemäß dp' = dp·x–1 mod (p – 1). Die Maskierung des Exponenten dq unter Benutzung der ganzen Zahl x und der Primzahl q im Schritt 323 beinhaltet die Berechnung von dq' gemäß dq' = dq·x–1 mod (q – 1).
  • Die modulare Exponentiation 330 beinhaltet im gezeigten Beispiel eine Exponentiation unter Verwendung der Primzahl p gemäß den Schritten 331, 332 und 333, eine Exponentiation unter Verwendung der Primzahl q gemäß den Schritten 334, 335 und 336 und das Anwenden des CRT im Schritt 337. Die Exponentiation unter Benutzung der Primzahl p in den Schritten 331, 322 und 333 beinhaltet die Berechnung von Bp = Apdp' mod p im Schritt 331, die Berechnung von Cp = Bpx mod p im Schritt 332 und die Berechnung von Sp = Cp·r–1 mod p im Schritt 333. Die Exponentiation unter Benutzung der Primzahl q in den Schritten 334, 335 und 336 beinhaltet die Berechnung von BQ = Aqdq' mod q im Schritt 334, die Berechnung von Cq = Bqx mod q im Schritt 335 und die Berechnung von Sq = Cq·R–1 mod q im Schritt 336. Die Anwendung des CRT im Schritt 337 durch den dritten modulare Exponentiationsalgorithmus 300 umfasst die Bestimmung von S' = CRT(Sp, Sq).
  • Im Fehlerdetektionsschritt 340 wird die detektiert, ob in der Signatur S ein Fehler enthalten ist, die durch Berechnen der modularen Operation S = (S⊕Se⊕M) mod n erhalten wird. Wenn ein Fehler erzeugt wird, wird er über die Signatur S hinweg durch die Operation im Fehlerdetektionsschritt 340 diffundiert, d.h. verteilt.
  • Wie sich aus den obigen Erläuterungen zu den 2 und 3 ergibt, sind die dort gezeigten modularen Exponentiationsalgorithmen 200, 300 gegen Leistungsangriffe sicher, da Daten mit relativ hoher Rate oder kontinuierlich während der Ausführung der modularen Exponentiationsalgorithmen 200, 300 verändert werden. Für einen Angreifer ist es daher nicht möglich, den Algorithmus durch die begrenzt freiliegende Information festzustellen. Zudem wird im Beispiel von 3 ein erzeugter Fehler über die Signatur S hinweg verteilt, so dass ein Angreifer daraus keine Information über den geheimen Schlüssel extrahieren kann.
  • Die erfindungsgemäß benutzten modularen Exponentiationsalgorithmen stellen zusätzliche Sicherheit gegen Informationsangriffe auf das System zur Verfügung, indem sie sowohl eine Exponentmaskierung als auch eine Nachrichtenmaskierung beinhalten. Der Betriebsaufwand und die Rechneranforderungen sind für diese modularen Exponentiationsalgorithmen nicht wesentlich größer als bei herkömmlichen modularen Exponentiationsalgorithmen. Gegebenenfalls ist sogar ein reduzierter Betriebsaufwand erzielbar, da ein relativ kleiner öffentlicher Schlüssel und relativ kleine Zufallszahlen zur Maskierung von z.B. etwa 30 Bit, 60 Bit etc. gewählt werden können. Die erfindungsgemäßen modularen Exponentiationsalgorithmen sind zur Integration in ein Kryptosystem mit beschränkter Speichergröße und/oder begrenzter Rechenleistung geeignet, z.B. in einem Smartcard-System.
  • Die oben primär als Algorithmen und Prozesse erläuterten Vorgehensweisen der Erfindung können z.B. in Software implementiert sein. Die Erfindung kann somit als Computerprogrammprodukt realisiert sein, das einen Rechner dazu veranlasst, die entsprechenden Verfahrens-/Prozessschritte auszuführen.
  • Das Computerprogrammprodukt kann in üblicher Weise ein computerlesbares Medium mit darin enthaltenen Computerprogrammlogik- bzw. Computerprogrammcodeteilen umfassen, um einen Prozessor der Vorrichtung in die Lage zu versetzen, die Funktionen der oben erläuterten Verfahrensschritte auszuführen. Die Computerprogrammlogik kann somit den Prozessor veranlassen, die betreffenden Verfahrensschritte bzw. Funktionen auszuführen, wie oben beschrieben.
  • Das computerlesbare Speichermedium kann in einem Computergehäuse fest installiert oder als darin einsetzbares und wieder herausnehmbares Medium realisiert sein. Beispiele eingebauter Medien sind wiederbeschreibbare nichtflüchtige Speicher, wie RAMs, ROMs, Flashspeicher und Festplatten. Beispiele von entfernbaren Medien sind optische Speichermedien, wie CD-ROMs und DVDs, magnetooptische Speichermedien, wie MOs, magnetische Speichermedien in Form von Disketten, Bändern und entfernbaren Festplatten, Medien mit eingebautem wiederbeschreibbarem nichtflüchtigem Speicher, wie Speicherkarten, sowie Medien mit eingebautem ROM, wie ROM-Kassetten.
  • Solche, auf computerlesbaren Speichermedien aufgezeichnete Programme können leicht aufbewahrt und vertrieben werden. Beim Lesen durch einen Rechner ermöglicht das Speichermedium die Verarbeitung von Kopierschutzvorgängen für Multimediadatensignale, die Zuweisung von Multimediadatensignalen innerhalb der zur Verarbeitung der Signale konfigurierten Vorrichtung und eine Reduktion der Kommunikationslast in einer zur Verarbeitung mehrerer Multimediadatensignale konfigurierten Vorrichtung durch Nutzung der Erfindung.
  • Es versteht sich, dass zahlreiche Modifikationen und Varianten der oben beschriebenen Ausführungsbeispiele der Erfindung für den Fachmann realisierbar sind. So können zu den beschriebenen Beispielen alternative Beispiele durch Verwendung einer inversen Logik realisiert werden, d.h. der erste und zweite Logikpegel sind ein niedriger bzw. hoher statt eines hohen bzw. niedrigen Logikpegels. Außerdem können die oben zu den Maskier- und Exponentiationsoperationen beschriebenen Verfahrensschritte auch in anderer als der gezeigten Reihenfolge ausgeführt werden.

Claims (27)

  1. Verfahren zur Sicherung von Daten, gekennzeichnet durch folgende Schritte: – Maskieren einer Nachricht (M), – Maskieren wenigstens eines Exponenten (d) und – Ausführen einer modularen Exponentiation unter Verwendung der maskierten Nachricht und/oder des wenigstens einen maskierten Exponenten.
  2. Verfahren nach Anspruch 1, weiter gekennzeichnet durch das Detektieren eines Fehlers bei der Ausführung der modularen Exponentiation.
  3. Verfahren nach Anspruch 1 oder 2, weiter dadurch gekennzeichnet, dass eine modulare Multiplikation ausgeführt wird.
  4. Verfahren nach Anspruch 2 oder 3, weiter dadurch gekennzeichnet, dass ein detektierter Fehler auf den Nachrichtenmaskierungsvorgang, den Exponentmaskierungsvorgang, die modulare Exponentiation und/oder die modulare Multiplikation verteilt wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, weiter dadurch gekennzeichnet, dass – zur Nachrichtenmaskierung eine Zahl n und eine Zufallszahl r, die zur Zahl n relativ prim ist, verwendet werden, – zur Exponentmaskierung ein Exponent d, die Zahl n und eine Zufallszahl x, die relativ prim zu einer von n abhängigen Zahl ϕ(n) ist, verwendet werden und – die modulare Exponentiation basierend auf Daten ausgeführt wird, die durch die Nachrichtenmaskierung und die Exponentmaskierung erhalten werden.
  6. Verfahren nach Anspruch 5, weiter dadurch gekennzeichnet, dass die Zahl n als Produkt zweier Primzahlen p und q bestimmt wird.
  7. Verfahren nach Anspruch 5 oder 6, weiter dadurch gekennzeichnet, dass der Exponent d aus der Beziehung e·d = 1 mod ϕ(n) bestimmt wird, wobei ϕ(n) = (p – 1)·(q – 1) ist und e relativ prim zu ϕ(n) ist.
  8. Verfahren nach Anspruch 7, weiter gekennzeichnet durch die Erzeugung einer Signatur S durch die Beziehung S = Md mod n, mit der Nachricht M, wobei n und e als öffentliche Schlüssel und d, p und q als geheime Schlüssel fungieren.
  9. Verfahren nach einem der Ansprüche 5 bis 8, weiter dadurch gekennzeichnet, dass die Nachrichtenmaskierung die Erzeugung einer Zahl t gemäß der Beziehung t = re mod n und die Erzeugung einer Zahl A gemäß der Beziehung A = t·M mod n umfasst.
  10. Verfahren nach einem der Ansprüche 5 bis 9, weiter dadurch gekennzeichnet, dass die Exponentmaskierung die Erzeugung eines maskierten Exponenten d' gemäß der Beziehung d' = d·x–1 mod ϕ(n) umfasst.
  11. Verfahren nach Anspruch 10, weiter dadurch gekennzeichnet, dass die modulare Exponentiation die Bestimmung einer Zahl B gemäß der Beziehung B = Ad' mod n, die Bestimmung einer Zahl C gemäß der Beziehung C = Bx mod n und die Bestimmung einer Signatur S gemäß der Beziehung S = C·x–1 mod n umfasst.
  12. Verfahren nach einem der Ansprüche 1 bis 4, weiter dadurch gekennzeichnet, dass die wenigstens eine Exponentmaskierung die Maskierung zweier Exponenten dp und dq beinhaltet.
  13. Verfahren nach Anspruch 12, weiter dadurch gekennzeichnet, dass die Nachrichtenmaskierung die Erzeugung einer Zufallszahl r relativ prim zu einer Zahl n, eine Maskierung einer Nachricht M unter Verwendung der Zahl r sowie einer Zahl e und einer Primzahl p und eine Maskierung der Nachricht M unter Verwendung der Zahl r, der Zahl e und einer Primzahl q umfasst, wobei e relativ prim zu einer Zahl ϕ(n) = (p – 1)·(q – 1) ist.
  14. Verfahren nach Anspruch 13, weiter dadurch gekennzeichnet, dass die Nachrichtenmaskierung die Erzeugung einer Zahl tp gemäß der Beziehung tp = re mod p und die Erzeugung einer Zahl Ap gemäß der Beziehung Ap = tp·M mod p umfasst.
  15. Verfahren nach Anspruch 13 oder 14, weiter dadurch gekennzeichnet, dass die Nachrichtenmaskierung die Erzeugung einer Zahl tq gemäß der Beziehung tq = re mod q und die Erzeugung einer Zahl Bq gemäß der Beziehung Bq = tq·M mod q umfasst.
  16. Verfahren nach einem der Ansprüche 13 bis 15, weiter dadurch gekennzeichnet, dass die Exponentmaskierung die Erzeugung einer ganzen Zahl x relativ prim zu ϕ(n), die Maskierung des Exponenten dp unter Verwendung der ganzen Zahl x und der Primzahl p und die Maskierung des Exponenten dq die Verwendung der ganzen Zahl x und der Primzahl q umfasst.
  17. Verfahren nach Anspruch 16, weiter dadurch gekennzeichnet, dass die Exponentmaskierung die Erzeugung einer Zahl dp' gemäß der Beziehung dp' = dp·x–1 mod (p – 1) und/oder die Erzeugung einer Zahl dq' gemäß der Beziehung dq' = dq·x–1 mod (q – 1) umfasst.
  18. Verfahren nach Anspruch 17, weiter dadurch gekennzeichnet, dass die modulare Exponentiation die Erzeugung einer Zahl Bp gemäß der Beziehung Bp = Apdp' mod p, einer Zahl Cp gemäß der Beziehung Cp = Bpx mod p, einer Zahl Bq gemäß der Beziehung Bq = Aqdq' mod q und einer Zahl Cq gemäß der Beziehung Cq = Bqx mod q umfasst.
  19. Verfahren nach einem der Ansprüche 13 bis 18, weiter dadurch gekennzeichnet, dass das Detektieren und Verteilen eines Fehlers die Erzeugung einer ersten Fehlervariablen unter Verwendung der Primzahl p, einer zweiten Fehlervariablen unter Verwendung der Primzahl q und einer Diffusionsvariablen eines detektierten Fehlers sowie die Anwendung des chinesischen Restsatzes (CRT) umfasst.
  20. Verfahren nach Anspruch 19, weiter dadurch gekennzeichnet, dass die Erzeugung der ersten Fehlervariablen die Erzeugung einer Fehlervariablen Dp gemäß der Beziehung Dp = Cpe mod p beinhaltet und die Erzeugung der zweiten Fehlervariablen die Erzeugung einer Fehlervariablen Dq gemäß der Beziehung Dq = Cqe mod q beinhaltet.
  21. Verfahren nach Anspruch 20, weiter dadurch gekennzeichnet, dass die Erzeugung der Diffusionsvariablen und die Anwendung des CRT die Erzeugung einer zweiten Signatur S' gemäß der Beziehung S' = CRT(Cp⊕Aq⊕Cq⊕Ap⊕Dp) umfasst, wobei das Symbol ⊕ eine XOR-Verknüpfung repräsentiert.
  22. Verfahren nach einem der Ansprüche 13 bis 21, weiter dadurch gekennzeichnet, dass durch die modulare Multiplikationsoperation eine erste Signatur S gemäß der Beziehung S = (S·r–1) mod n erhalten wird.
  23. Verfahren nach einem der Ansprüche 1 bis 22, weiter dadurch gekennzeichnet, dass – die Nachrichtenmaskierung eine Maskierung einer Nachricht M unter Verwendung einer Zahl n, einer Primzahl p, einer Primzahl q, einer Zahl e und einer zur Zahl n relativ primen Zufallszahl r umfasst, – die Exponentmaskierung eine Maskierung von Exponenten dp und dq unter Verwendung der Zahlen (p – 1) und (q – 1) und der zu ϕ(n) = (p – 1)·(q – 1) relativ primen Zufallszahl r umfasst und – ein in modularen Exponentiationsdaten enthaltener Fehler detektiert und eine diesen enthaltende Signatur (S) erzeugt und/oder verteilt wird.
  24. Verfahren nach Anspruch 23, weiter dadurch gekennzeichnet, dass die Exponentiation eine erste Exponentiation unter Verwendung der Primzahl p, eine zweite Exponentiation unter Verwendung der Primzahl q und die Erzeugung der Signatur S gemäß der Beziehung S = CRT(Sp, Sq) umfasst, wobei Sp aus Sp = Cp·r–1 mod p mit Cp = Bpx mod p und Sq aus Sq = Cq·r–1 mod q mit Cq = Bqx mod q erhalten werden.
  25. Verfahren nach Anspruch 23 oder 24, weiter dadurch gekennzeichnet, dass sich die Signatur S aus S = S⊕Se⊕M mod n ergibt.
  26. System zur Bereitstellung einer sicheren Verarbeitung von Daten mit einem Prozessor zur Datenverarbeitung in einer zum Empfangen der Daten eingerichteten Vorrichtung, dadurch gekennzeich net, dass der Prozessor zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 25 eingerichtet ist.
  27. Computerprogrammprodukt mit einem computerlesbaren Medium mit darauf gespeicherter Computerprogrammlogik, um einen Prozessor zu befähigen, Daten in einer Vorrichtung zu verarbeiten, die zum Empfangen der Daten eingerichtet ist, wobei die Computerprogrammlogik dafür ausgelegt ist, den Prozessor zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 25 zu veranlassen.
DE102005037598A 2004-08-06 2005-08-05 Verfahren und System zur Sicherung von Daten Withdrawn DE102005037598A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040061956A KR100652377B1 (ko) 2004-08-06 2004-08-06 모듈라 지수승 알고리즘, 기록매체 및 시스템
KR10-2004-0061956 2004-08-06

Publications (1)

Publication Number Publication Date
DE102005037598A1 true DE102005037598A1 (de) 2006-03-16

Family

ID=35757428

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005037598A Withdrawn DE102005037598A1 (de) 2004-08-06 2005-08-05 Verfahren und System zur Sicherung von Daten

Country Status (3)

Country Link
US (1) US20060029224A1 (de)
KR (1) KR100652377B1 (de)
DE (1) DE102005037598A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019008199B3 (de) * 2019-11-26 2020-12-24 Giesecke+Devrient Mobile Security Gmbh Gegen Seitenkanalangriffe geschützte Exponentiation, Primzahltest und RSA Schlüsselgenerierung

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005024609A1 (de) * 2005-05-25 2006-11-30 Siemens Ag Bestimmung einer modularen Inversen
KR100836737B1 (ko) * 2005-12-13 2008-06-10 한국전자통신연구원 중국인 나머지 정리(crt)와 캐리 저장 가산 기반의모듈러 곱셈 장치 및 방법
US20080052530A1 (en) * 2006-02-16 2008-02-28 International Business Machines Corporation System and method to provide CPU smoothing of cryptographic function timings
KR100937869B1 (ko) * 2006-12-05 2010-01-21 한국전자통신연구원 단순전력분석에 안전한 UnsignedLeft-to-Right 리코딩 방법 및 통합된 지수승알고리즘 방법
FR2919739B1 (fr) * 2007-08-03 2009-12-04 Oberthur Card Syst Sa Procede de traitement de donnees protege contre les attaques par generation de fautes et dispositif associe
KR100953715B1 (ko) 2008-01-22 2010-04-19 고려대학교 산학협력단 Crt-rsa 모듈라 지수승 알고리즘을 이용한 디지털서명 방법, 그 장치 및 이를 기록한 컴퓨터 판독가능 저장매체
KR100953716B1 (ko) * 2008-02-28 2010-04-19 고려대학교 산학협력단 Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
KR100954844B1 (ko) 2008-10-07 2010-04-28 고려대학교 산학협력단 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체
KR101112570B1 (ko) * 2010-04-12 2012-03-13 고려대학교 산학협력단 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체
FR2966953B1 (fr) 2010-11-02 2015-08-28 St Microelectronics Rousset Procede de contremesure cryptographique par derivation d'une donnee secrete
KR101852429B1 (ko) 2011-06-16 2018-04-26 엘지전자 주식회사 액체 미세 셔터 표시장치
EP2535804A1 (de) * 2011-06-17 2012-12-19 Thomson Licensing Fehlerbeständiger Potenzierungsalgorithmus
KR102180029B1 (ko) 2014-02-03 2020-11-17 삼성전자 주식회사 Crt-rsa 암호화 방법 및 장치와 이를 기록한 컴퓨터 판독가능 저장매체
JP6354376B2 (ja) * 2014-06-23 2018-07-11 大日本印刷株式会社 べき乗剰余演算装置、icカード、べき乗剰余演算方法、及び、べき乗剰余演算プログラム
US11626970B2 (en) * 2014-12-08 2023-04-11 Cryptography Research, Inc. Multiplicative masking for cryptographic operations
US10855467B2 (en) * 2017-05-17 2020-12-01 Noblis, Inc. Detecting vulnerable encryption keys in network communication systems

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2557399A (en) * 1998-01-02 1999-07-26 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
FR2791496B1 (fr) * 1999-03-26 2001-10-19 Gemplus Card Int Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique
US6298135B1 (en) * 1999-04-29 2001-10-02 Motorola, Inc. Method of preventing power analysis attacks on microelectronic assemblies
DE19963408A1 (de) * 1999-12-28 2001-08-30 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung
FR2820577B1 (fr) * 2001-02-08 2003-06-13 St Microelectronics Sa Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
KR100413947B1 (ko) * 2001-07-07 2004-01-07 주홍정보통신주식회사 모듈라 지수승 연산 방식을 이용한 rsa 암호 장치
FR2828608B1 (fr) * 2001-08-10 2004-03-05 Gemplus Card Int Procede securise de realisation d'une operation d'exponentiation modulaire

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019008199B3 (de) * 2019-11-26 2020-12-24 Giesecke+Devrient Mobile Security Gmbh Gegen Seitenkanalangriffe geschützte Exponentiation, Primzahltest und RSA Schlüsselgenerierung

Also Published As

Publication number Publication date
KR20060013124A (ko) 2006-02-09
US20060029224A1 (en) 2006-02-09
KR100652377B1 (ko) 2007-02-28

Similar Documents

Publication Publication Date Title
DE102005037598A1 (de) Verfahren und System zur Sicherung von Daten
DE102006022960B4 (de) Verfahren zum Verschlüsseln von Eingabedaten, kryptographisches System und Computerprogrammprodukt
DE2843583C2 (de) Verfahren für den zugriffsicheren Nachrichtenverkehr über einen ungesicherten Nachrichtenübertragungskanal
EP2771782B1 (de) Effiziente primzahlprüfung
EP1891512B1 (de) Bestimmung einer modularen inversen
DE102008051447B9 (de) Verfahren und Vorrichtung zum Schützen einer RSA-Berechnung an einer Ausgabe mit Hilfe des chinesischen Restsatzes
DE112009000154T5 (de) Änderung der Darstellung eines Punktes auf einer elliptischen Kurve
DE10024325B4 (de) Kryptographisches Verfahren und kryptographische Vorrichtung
DE102010001289A1 (de) Vorrichtung zum Berechnen eines Ergebnisses einer Skalarmultiplikation
DE602004006628T2 (de) Verfahren zur gesicherten ausführung eines rsa kryptographischen algorithmus, sowie diesbezüglicher baustein.
DE112009000152B4 (de) Verfahren zur Datenübertragung über einen Datenkanal mit einem Elliptische-Kurven-Kryptographieverfahren und Vorrichtung hierfür
DE10304451B3 (de) Modulare Exponentiation mit randomisiertem Exponenten
EP1540880B1 (de) Geschützte kryptographische berechnung
EP1987421B1 (de) Verfahren, vorrichtung und system zum verifizieren von auf einer elliptischen kurve ermittelten punkten
DE112018002723B4 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
EP1442391B1 (de) Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus
WO2003034268A2 (de) Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt)
DE10042234C2 (de) Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor
DE10162496B4 (de) Verfahren und Vorrichtung zum Absichern einer Berechnung in einem kryptographischen Algorithmus
DE102019008199B3 (de) Gegen Seitenkanalangriffe geschützte Exponentiation, Primzahltest und RSA Schlüsselgenerierung
EP1760929B1 (de) Geschütztes kryptographisches Verfahren
DE102004001659B4 (de) Vorrichtung und Verfahren zum Konvertieren einer ersten Nachricht in eine zweite Nachricht
DE102010039273B4 (de) Kryptographie-Prozessor, Chipkarte und Verfahren zur Berechnung eines Ergebnisses einer Exponentiation
EP2893667A1 (de) Verfahren zur authentisierung eines portablen datenträgers
DE102022115195A1 (de) Verarbeitung von kryptografischen Daten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee