DE60218421T2 - Verfahren und Vorrichtung zur Erzeugung von Digitalsignaturen - Google Patents

Verfahren und Vorrichtung zur Erzeugung von Digitalsignaturen Download PDF

Info

Publication number
DE60218421T2
DE60218421T2 DE60218421T DE60218421T DE60218421T2 DE 60218421 T2 DE60218421 T2 DE 60218421T2 DE 60218421 T DE60218421 T DE 60218421T DE 60218421 T DE60218421 T DE 60218421T DE 60218421 T2 DE60218421 T2 DE 60218421T2
Authority
DE
Germany
Prior art keywords
digital signature
message
mod
error
operator
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 - Fee Related
Application number
DE60218421T
Other languages
English (en)
Other versions
DE60218421D1 (de
Inventor
Young Gun Shin
Jae-cheol Cheonan-si Ha
Sang Jae Moon
Seong-Joo Kim
Seon-Gan Lim
Sung-min Yen (LCIS) National Central U, Chung-li
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.)
Joohong Information & Comm Co
Joohong Information & Communication Co Ltd
Moon Sang jae Dong-gu
Original Assignee
Joohong Information & Comm Co
Joohong Information & Communication Co Ltd
Moon Sang jae Dong-gu
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 Joohong Information & Comm Co, Joohong Information & Communication Co Ltd, Moon Sang jae Dong-gu filed Critical Joohong Information & Comm Co
Publication of DE60218421D1 publication Critical patent/DE60218421D1/de
Application granted granted Critical
Publication of DE60218421T2 publication Critical patent/DE60218421T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • 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

Description

  • Die vorliegende Erfindung betrifft digitale Signaturverfahren und Vorrichtungen, bei denen eine Kryptographie mit öffentlichen Schlüsseln von Rivest, Shamir und Adelman (RSA) auf der Grundlage des Chinese Remainder Theorem (CRT) verwendet wird.
  • Beispiele einer solchen Kryptographie sind die Kryptographie mit symmetrischen Schlüsseln und die Kryptographie mit öffentlichen Schlüsseln (d.h. eine asymmetrische Kryptographie). Die RSA-Kryptographie mit öffentlichen Schlüsseln wird als eine Kryptographie mit öffentlichen Schlüsseln gegenwärtig weit verbreitet in Internet- oder Bankkreisen verwendet.
  • Die RSA-Kryptographie mit öffentlichen Schlüsseln wurde von Rivest, Shamir und Adelman vorgeschlagen, und die Grundlage ihrer Sicherheit besteht in der Tatsache, dass eine Faktorisierung in Primfaktoren schwieriger ist, wenn eine Zahl größer wird. Ebenso wie die gewöhnliche Kryptographie mit öffentlichen Schlüsseln verwendet die RSA-Kryptographie mit öffentlichen Schlüsseln einen der Allgemeinheit bekannten öffentlichen Schlüssel und einen nur einer Person, die einen Kryptographen zusammenstellt, bekannten geheimen Schlüssel.
  • Eine Person, die einen Kryptographen zusammenstellt, legt die Primzahlen p und q als geheime Schlüssel und "n (= p·q)" als einen öffentlichen Schlüssel fest. Aus Sicherheitsgründen haben die bevorzugten Primzahlen p und q mindestens 385 Bits und ähnliche Längen. Daher wird eine zu einer Eulerschen Totientenfunktion ϕ(n)(= (p – 1)(q – 1)) relativ prime Zufallszahl e als ein öffentlicher Schlüssel festgelegt und d, das unter Verwendung eines Euklid-Algorithmus erhalten wird, so dass e·d = 1 mod ϕ(n) gilt, wird als ein geheimer Schlüssel festgelegt.
  • Nachdem bei der RSA-Kryptographie mit öffentlichen Schlüsseln p, q und d als geheime Schlüssel festgelegt wurden und n und e als öffentliche Schlüssel festgelegt wurden, wie vorstehend beschrieben wurde, wird eine zu übertragende Nachricht unter Verwendung der geheimen Schlüssel eines Absenders oder der öffentlichen Schlüssel eines Empfängers verschlüsselt. Die empfangene Nachricht wird unter Verwendung der öffentlichen Schlüssel des Absenders oder der geheimen Schlüssel des Empfängers entschlüsselt.
  • Wenn die zu übertragende Nachricht durch M dargestellt wird, sendet der Absender einen Kryptographen C = Me mod n zum Empfänger, und der Empfänger entschlüsselt C nach M = Cd mod n, um die Nachricht zu betrachten.
  • Mittlerweile überträgt der Absender für eine digitale Signatur eine nach S = Md mod n erzeugte Signatur S zusammen mit der Nachricht M zum Empfänger. Dann führt der Empfänger nach M' = Se mod n eine Entschlüsselung aus, vergleicht die empfangene M mit der berechneten M' und authentifiziert die Signatur S, wenn beide gleich sind.
  • Bei einem RSA-System besteht der Schlüssel der Entschlüsselung eines Kryptographen darin, den geheimen Schlüssel d anhand öffentlicher Informationen festzustellen. Um Erfolg damit zu haben, den geheimen Schlüssel d anhand öffentlicher Informationen festzustellen, ist ϕ(n) erforderlich, was dadurch gefolgert wird, dass p und q durch Faktorisieren von n in Primfaktoren festgestellt werden. Um zu verhindern, dass andere einen Kryptographen entschlüsseln, verwendet ein Absender des Kryptographen die geheimen Schlüssel p und q, die mindestens eine vorgegebene Größe aufweisen und vorzugsweise mindestens 384 Bits haben, um zu verhindern, dass n in Primfaktoren faktorisiert wird.
  • Wie vorstehend beschrieben wurde, ist es notwendig, Berechnungen an großen Zahlen für die Verschlüsselung und Signatur in dem RSA-System auszuführen, so dass ein großer Rechenaufwand für die Verschlüsselung und Signatur unabdingbar ist.
  • Um diesen Nachteil zu überwinden, wurden viele schnelle Algorithmen entwickelt. Von diesen wird ein Verfahren, das auf dem CRT beruht, infolge eines wirksamen Prozesses einer Exponentierung des geheimen Schlüssels d weit verbreitet verwendet. Ein auf dem CRT beruhendes RSA-Signaturschema wird nach der Formel (1) ausgeführt. S = uPSp + uqSq mod n = q(q–1 mod p)Sp + p(p–1 mod q)Sq mod N (1)
  • Hierbei sind Sp = Mdp mod p, Sq = Mdq mod q, dp = d mod (p – 1) und dq = d mod (q – 1).
  • Ein solches RSA-System, bei dem das CRT verwendet wird, ist jedoch für eine Fehlerkryptoanalyse verwundbar. Eine Fehlerkryptoanalyse, die in jüngster Zeit Aufmerksamkeit erregt hat, ist ein Verfahren zum absichtlichen Hervorrufen von Fehlern in Hardware oder Software, beispielsweise durch Induzieren eines Überstroms in einer Vorrichtung während des Betriebs einer IC-Karte oder eines Prozessors und Erfassen bestimmter geheimer Informationen unter Verwendung ausgegebener Fehlerwerte. Ansätze zur Fehlerkryptoanalyse wurden von Boneh und Lenstra vorgeschlagen.
  • Ein Ansatz zur Fehlerkryptoanalyse, der von Boneh vorgeschlagen wurde, beruht auf einer Theorie, nach der, wenn entweder Sp oder Sq während einer Signaturerzeugung auf der Grundlage des CRT kein korrekter Wert ist, n unter Verwendung zweier Signaturen (einer korrekten Signatur und einer fehlerhaften Signatur) in Bezug auf eine einzige Nachricht in Primfaktoren faktorisiert werden kann. Dementsprechend benötigt dieser Ansatz zwei Signaturen, nämlich eine Signatur mit einem Fehler und eine Signatur ohne einen Fehler in Bezug auf eine einzige Nachricht. Die folgende Beschreibung betrifft die detaillierten Prozesse dieses Ansatzes.
  • Es wird angenommen, dass eine korrekte Signatur S = upSp + uqSq mod n ist und ein Fehler in Sq während der Berechnung der Signatur auftritt, was zu S ^q führt. Hierbei gilt S – S ^ = (upSp + uqSq) – (upSp + uqS ^q) = uq(Sq – S ^q), so dass gcd(N, S – S ^) = gcd(n, nq(S – S ^)) = p ist. Dadurch kann der geheime Schlüssel p festgestellt werden. Hierbei gibt gcd einen größten gemeinsamen Teiler an.
  • Ein Ansatz zur Fehlerkryptoanalyse, der von Lenstra vorgeschlagen wurde, ermöglicht das Ausführen einer Fehlerkryptoanalyse unter Verwendung nur einer fehlerhaften Signatur. Insbesondere wird angenommen, dass ein Fehler während der Berechnung einer Signatur unter Verwendung des CRT auftritt und Sq ≠ Mdq mod q gilt, wenngleich M – S ^e mod p = M – Sep mod p = 0 mod p, M – S ^e mod q = M – S ^eq mod q ≠ 0 mod q. Folglich ist M – S ^e ein Vielfaches von p, das kein Vielfaches von q ist, so dass gcd(N, M – S ^e) = p ist. Auf diese Weise wird der geheime Schlüssel p festgestellt.
  • Weil die Fehlerkryptoanalyse bei einem auf dem CRT beruhenden RSA-Kryptographiesystem mit öffentlichen Schlüsseln unabhängig von der Fehlerursache ausgeführt werden kann, wird sie als ein sehr leistungsfähiger Fehlerkryptoanalyseansatz angesehen. Um vor einer solchen Fehlerkryptoanalyse zu schützen, wurden die folgenden verschiedenen Algorithmen entwickelt.
  • Weil die CRT-Fehlerkryptoanalyse auf der Annahme beruht, dass ein Fehler in Sp oder Sq aufgetreten ist, wird geprüft, ob ein Fehler während der Erzeugung einer Signatur aufgetreten ist, indem Sp oder Sq zwei Mal berechnet wird oder eine Prüffunktion verwendet wird, und es wird wieder eine Signatur erzeugt, wenn ein Fehler aufgetreten ist, wodurch vor einem Angreifer geschützt wird. Dieser Ansatz benötigt jedoch einen großen Rechenaufwand, so dass er ineffizient ist. Überdies gibt es im Fall eines Systems mit einem permanenten Fehler keine Möglichkeit zum Prüfen, ob ein Fehler während der Erzeugung einer Signatur aufgetreten ist.
  • Bei einem anderen Ansatz wird eine ursprüngliche Meldung M = Se mod n durch Signaturprüfung in Bezug auf einen Signaturwert wiederhergestellt, und es wird geprüft, ob ein Fehler aufgetreten ist. Bei diesem Ansatz wird eine Exponentierung einer großen Zahl ausgeführt, so dass ein großer Rechenaufwand erforderlich ist, was zu einer Unwirksamkeit führt. Überdies gibt es im Fall eines Systems mit einem permanenten Fehler keine Möglichkeit zu prüfen, ob ein Fehler während einer Erzeugung einer Signatur aufgetreten ist.
  • Shamir schlägt ein Verfahren zum Erzeugen einer Signatur nach Sp = Md mod pr und Sq = Md mod qr in US-A-5 991 415 vor. Falls nach dem Verfahren Sp ≠ Sq mod r ist, wird festgestellt, dass ein Fehler bei der Erzeugung einer Signatur aufgetreten ist, so dass eine Signatur wieder erzeugt wird. Falls Sp = Sq mod r ist, wird festgestellt, dass kein Fehler bei der Erzeugung einer Signatur aufgetreten ist, so dass eine Signatur nach S = up(Sp mod p) + uq(Sq mod q) mod n erzeugt wird.
  • Bei dem von Shamir vorgeschlagenen Verfahren sind jedoch die folgenden Probleme aufgetreten. Erstens ist die Wahrscheinlichkeit eines Fehlers, der nicht theoretisch festgestellt werden kann, 1/r. Falls hierbei ein großer Wert r gewählt wird, kann die Wahrscheinlichkeit eines Fehlers, der nicht festgestellt werden kann, verringert werden, und die Betriebswirksamkeit nimmt ab, weil eine Modulberechnung an einer großen Zahl ausgeführt werden muss. Falls dagegen ein kleiner Wert r ausgewählt wird, nimmt die Betriebswirksamkeit zu, und die Wahrscheinlichkeit eines Fehlers, der nicht festgestellt werden kann, nimmt zu, wodurch die Sicherheit bedroht wird.
  • Zweitens ist ein Schutzschema in der Art des Verfahrens von Shamir, bei dem eine Prüfprozedur verwendet wird, grundsätzlich für eine Hardware-Fehlerkryptoanalyse verwundbar und kann nicht flexibel erweitert werden, wenn eine neue Fehlerkryptoanalyse vorgeschlagen wird.
  • Weil sich drittens die Anzahl der Module während der Berechnung von p oder q zu pr oder qr erstreckt, ist das Verfahren nicht mit existierenden Systemen kompatibel. Wenn sich die Sicherheit ändert, muss die Größe von r neu bestimmt werden.
  • Abgesehen von den vorstehenden Ansätzen wurden von vielen Forschern, einschließlich Yen, verschiedene Verfahren vorgeschlagen. Bei den meisten von ihnen ist die Berechnung jedoch kompliziert, und der Rechenaufwand nimmt zu, oder es wird ein geheim zu behandelnder Parameter, der nicht mit existierenden Systemen kompatibel ist, hinzugefügt.
  • Konzepte einer fehlerinfizierenden CRT-Berechnung und -Rekombination sind in SUNG-MING YEN, SEUNG-JOO KIM, SEONGAN LIM, SANGJAE MOON "RSA speedup with residue number system immune against hardware fault cryptanalysis", INFORMATION SECURITY AND CRYPTOLOGY – ICISC 2001, 4TH INTERNATIONAL CONFERENCE, PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOL. 2288), SPRINGER-VERLAG, 7. Dezember 2001 (2001-12-07), Seiten 397-413, XP002233842, Seoul, Südkorea, ISBN: 3-540-43319-8 vorgeschlagen.
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung streben an, ein digitales Signaturverfahren bereitzustellen, das keinen neuen Parameter benötigt, wodurch ermöglicht wird, dass das Verfahren mit existierenden Systemen kompatibel ist, der erforderliche Rechenaufwand verringert wird und ein Schutz vor einer Fehlerkryptoanalyse bereitgestellt wird.
  • Ein weiteres Ziel besteht darin, eine digitale Signaturvorrichtung zum Ausführen des vorstehend erwähnten Verfahrens bereitzustellen.
  • Ein anderes Ziel besteht darin, ein computerlesbares Aufzeichnungsmedium bereitzustellen, auf dem ein Programm zum Verwirklichen des vorstehend erwähnten Verfahrens aufgezeichnet wird.
  • Gemäß einem Aspekt der vorliegenden Erfindung ist vorgesehen: ein digitales Signaturverfahren unter Verwendung einer Kryptographie mit öffentlichen Schlüsseln von Rivest, Shamir und Adelman (RSA-Kryptographie mit öffentlichen Schlüsseln) auf der Grundlage des Chinese Remainder Theorem (CRT) unter Verwendung von Primzahlen p und q als geheime Schlüssel, n, das n = pq erfüllt, als ein öffentlicher Schlüssel, einer vorbestimmten ganzen Zahl e, die zu einer Eulerschen Totientenfunktion relativ prim ist, ϕ(n) als ein anderer öffentlicher Schlüssel und d, das e·d = 1 mod ϕ(n) erfüllt, als ein anderer geheimer Schlüssel, mit den folgenden Schritten:
    • (a) Berechnen von x, das x·q = 1 mod p, dp erfüllt, durch Ausführen einer Modulberechnung an d und (p – 1) und Sp durch Ausführen einer Modulberechnung an p und einer Nachricht M in der Potenz dp,
    • (b) Berechnen von y, das y·p = 1 mod q, dq erfüllt, durch Ausführen einer Modulberechnung an d und (q – 1) und Sq durch Ausführen einer Modulberechnung an q und einer Nachricht M in der Potenz dq,
    • (c) Ausgeben eines Prüfwerts T1, dessen Bits alle in einem ersten Logikzustand sind, wenn die geheimen Schlüssel, die öffentlichen Schlüssel, Sq und die Nachricht M alle vorbestimmte Werte sind, die keinen Fehler aufweisen, und Ausgeben eines Prüfwerts T2, dessen Bits alle in einem ersten Logikzustand sind, wenn die geheimen Schlüssel, die öffentlichen Schlüssel, Sp und die Nachricht M alle vorbestimmte Werte sind, die keinen Fehler aufweisen,
    • (d) Berechnen von S1 durch Multiplizieren eines ersten Mittelwerts mit x und Sp, wobei der Mittelwert durch Ausführen einer Operation an q und T2 unter Verwendung eines ersten Operators erhalten wird,
    • (e) Berechnen von S2 durch Multiplizieren eines zweiten Mittelwerts mit y und Sq, wobei der zweite Mittelwert durch Ausführen einer Operation an p und T1 unter Verwendung des ersten Operators erhalten wird, und
    • (f) Ausgeben einer durch Summieren von S1 und des Ergebnisses der Ausführung einer Modulberechnung an S2 und n erhaltenen Signatur S.
  • Vorzugsweise:
    wird Schritt (d) ausgeführt, wenn alle Bits des Prüfwerts T2 im ersten Logikzustand sind,
    wird Schritt (e) ausgeführt, wenn alle Bits des Prüfwerts T1 im ersten Logikzustand sind,
    wird Schritt (f) ausgeführt, wenn alle Bits der Prüfwerte T1 und T2 im ersten Logikzustand sind, und
    weist das Verfahren den weiteren Schritt des Ausgebens einer Fehlermeldung auf, wenn mindestens eines der Bits der Prüfwerte T1 und T2 nicht im ersten Logikzustand ist.
  • Vorzugsweise werden die Schritte (a) und (b) parallel ausgeführt und die Schritte (d) und (e) parallel ausgeführt.
  • Vorzugsweise haben die Prüfwerte T1 und T2 denselben Wert T und weist Schritt (c) die folgenden Schritte auf:
    • (c1) Berechnen von T1 durch Subtrahieren eines Werts, der durch Ausführen einer Modulberechnung an Sq in der Potenz e und q erhalten wird, von der Nachricht M,
    • (c2) Berechnen von T2 durch Subtrahieren eines Werts, der durch Ausführen einer Modulberechnung an Sp in der Potenz e und p erhalten wird, von der Nachricht M und
    • (c3) Berechnen von T durch Ausführen einer Operation an T1 und T2 unter Verwendung des ersten Operators.
  • Vorzugsweise werden die Schritte (c1) und (c2) parallel ausgeführt. Vorzugsweise ist der erste Operator ein Exklusiv-ODER-Operator, ein Additionsoperator oder ein Subtraktionsoperator.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung ist vorgesehen: eine digitale Signaturvorrichtung unter Verwendung einer Kryptographie mit öffentlichen Schlüsseln von Rivest, Shamir und Adelman (RSA-Kryptographie mit öffentlichen Schlüsseln) auf der Grundlage des Chinese Remainder Theorem (CRT) unter Verwendung von Primzahlen p und q als geheime Schlüssel, n, das n = pq erfüllt, als ein öffentlicher Schlüssel, einer vorbestimmten ganzen Zahl e, die zu einer Eulerschen Totientenfunktion relativ prim ist, ϕ(n) als ein anderer öffentlicher Schlüssel und d, das e·d = 1 mod ϕ(n) erfüllt, als ein anderer geheimer Schlüssel, wobei die digitale Signaturvorrichtung aufweist:
    eine erste Berechnungseinrichtung zum Berechnen von x, das x·q = 1 mod p, dp erfüllt, durch Ausführen einer Modulberechnung an d und (p – 1) und Sp durch Ausführen einer Modulberechnung an p und einer Nachricht M in der Potenz dp,
    eine zweite Berechnungseinrichtung zum Berechnen von y, das y·p = 1 mod q, dq erfüllt, durch Ausführen einer Modulberechnung an d und (q – 1) und Sq durch Ausführen einer Modulberechnung an q und einer Nachricht M in der Potenz dq,
    eine Prüfwert-Ausgabeeinrichtung zum Ausgeben eines Prüfwerts T1, dessen Bits alle in einem ersten Logikzustand sind, wenn die geheimen Schlüssel, die öffentlichen Schlüssel und Sq, der von der zweiten Berechnungseinrichtung ausgegeben wurde, und die Nachricht M alle vorbestimmte Werte sind, die keinen Fehler aufweisen, und zum Ausgeben eines Prüfwerts T2, dessen Bits alle in einem ersten Logikzustand sind, wenn die geheimen Schlüssel, die öffentlichen Schlüssel und Sp, der von der ersten Berechnungseinrichtung ausgegeben wurde, und die Nachricht M alle vorbestimmte Werte sind, die keinen Fehler aufweisen,
    eine dritte Berechnungseinrichtung zum Berechnen von S1 durch Multiplizieren eines ersten Mittelwerts mit x und Sp, wobei der Mittelwert durch Ausführen einer Operation an q und T2, der von der Prüfwert-Ausgabeeinrichtung ausgegeben wurde, unter Verwendung eines ersten Operators erhalten wird,
    eine vierte Berechnungseinrichtung zum Berechnen von S2 durch Multiplizieren eines zweiten Mittelwerts mit y und Sq, wobei der zweite Mittelwert durch Ausführen einer Operation an p und T1, der von der Prüfwert-Ausgabeeinrichtung ausgegeben wurde, unter Verwendung des ersten Operators erhalten wird, und
    eine Digitalsignatur-Ausgabeeinrichtung zum Ausgeben einer durch Summieren von S1, der von der dritten Berechnungseinrichtung ausgegeben wurde, und des Ergebnisses der Ausführung einer Modulberechnung an n und S2, der von der vierten Berechnungseinrichtung ausgegeben wurde, erhaltenen Signatur S.
  • Vorzugsweise weist die Vorrichtung weiter auf: eine Fehlermeldungs-Ausgabeeinrichtung zum Ausgeben einer Fehlermeldung, wenn mindestens eines der Bits der von der Prüfwert-Ausgabeeinrichtung ausgegebenen Prüfwerte T1 und T2 nicht im ersten Logikzustand ist, wobei die Digitalsignatur-Ausgabeeinrichtung an Stelle der Signatur S die Fehlermeldung ausgibt, wenn die Fehlermeldung von der Fehlermeldungs-Ausgabeeinrichtung ausgegeben wird.
  • Vorzugsweise arbeiten die erste und die zweite Berechnungseinrichtung parallel und die dritte und die vierte Berechnungseinrichtung parallel.
  • Vorzugsweise haben die Prüfwerte T1 und T2 denselben Wert T und weist die Prüfwert-Ausgabeeinrichtung auf:
    eine erste Einrichtung zum Berechnen von T1 durch Subtrahieren eines Werts, der durch Ausführen einer Modulberechnung an Sq in der Potenz e und q erhalten wird, von der Nachricht M,
    eine zweite Einrichtung zum Berechnen von T2 durch Subtrahieren eines Werts, der durch Ausführen einer Modulberechnung an Sp in der Potenz e und p erhalten wird, von der Nachricht M und
    eine dritte Einrichtung zum Berechnen von T durch Ausführen einer Operation an T1 und T2 unter Verwendung des ersten Operators. Vorzugsweise arbeiten die erste Einrichtung und die zweite Einrichtung parallel.
  • Vorzugsweise ist der erste Operator ein Exklusiv-ODER-Operator, ein Additionsoperator oder ein Subtraktionsoperator.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung ist vorgesehen: ein computerlesbares Aufzeichnungsmedium, auf dem ein Programm zum Ausführen eines digitalen Signaturverfahrens nach einem der vorstehenden Aspekte der Erfindung aufgezeichnet ist.
  • Für ein besseres Verständnis der Erfindung und um zu zeigen, wie Ausführungsformen davon ausgeführt werden können, wird nun beispielhaft auf die anliegende Schemazeichnung Bezug genommen. Es zeigen:
  • 1 ein Flussdiagramm eines parallel ausgeführten digitalen Signaturverfahrens gemäß einer Ausführungsform der vorliegenden Erfindung,
  • 2 ein Flussdiagramm eines seriell ausgeführten digitalen Signaturverfahrens gemäß einer Ausführungsform der vorliegenden Erfindung,
  • 3 ein Blockdiagramm einer digitalen Signaturvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung und
  • 4 ein Blockdiagramm einer digitalen Signaturvorrichtung gemäß einer anderen Ausführungsform der vorliegenden Erfindung.
  • 1 ist ein Flussdiagramm eines digitalen Signaturverfahrens gemäß einer ersten Ausführungsform der vorliegenden Erfindung. Unter Berücksichtigung, dass die existierende Fehlerkryptoanalyse auf der Tatsache beruht, dass ein Fehler entweder in Sp oder Sq auftritt, erstreckt dieses Beispiel der vorliegenden Erfindung einen Fehler über die gesamte Erzeugung einer Signatur, selbst wenn der Fehler in nur einem von Sp und Sq auftritt, um zu verhindern, dass ein Angreifer, der die Fehlerkryptoanalyse verwendet, eine Formel ableitet, die einen geheimen Schlüssel angreifen kann.
  • Beim digitalen Signaturverfahren gemäß der ersten Ausführungsform werden geheime Schlüssel p, q und d und öffentliche Schlüssel n und e in Schritt 101 eingegeben. Hierbei sind p und q Primzahlen, gilt n = pq, ist e eine zufällige ganze Zahl, die relativ prim zu einer Eulerschen Totientenfunktion ϕ(n) ist, und ist d eine Zahl, die e·d = 1 mod ϕ(n) erfüllt. Die geheimen Schlüssel und die öffentlichen Schlüssel können für die Verschlüsselung vorab gespeichert oder von außen eingegeben werden.
  • Die geheimen Schlüssel p, q und d und die öffentlichen Schlüssel n und e werden verwendet, um q–1 mod p, dp = d mod (p – 1), p–1 mod q und dq = d mod (q – 1) in den Schritten 102 und 103 zu berechnen und Sp = Mdp mod p und Sq = Mdp mod q in den Schritten 104 und 105 zu berechnen. Wie in 1 dargestellt ist, werden die Berechnungen parallel ausgeführt. Zusätzlich können die vorstehend erwähnten Berechnungen während einer digitalen Signatur ausgeführt werden, die Ergebnisse der Berechnungen können jedoch vorab gespeichert und während der digitalen Signatur verwendet werden.
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung bewirken absichtlich, dass ein Fehler alle von Sp, Sq, den geheimen Schlüsseln und den öffentlichen Schlüsseln durchdringt, wenn der Fehler tatsächlich auch nur in einem von ihnen auftritt, so dass ein Angreifer, der die Fehlerkryptoanalyse verwendet, nicht in der Lage ist, eine Formel abzuleiten, die einen geheimen Schlüssel angreifen kann. Wenn beispielsweise ein Fehler nur in Sq auftritt, wird er in den anderen Termen induziert, um den geheimen Schlüssel p zu schützen. Dementsprechend stellt dieses Beispiel der vorliegenden Erfindung Formel (2) bereit. S = (q ⊕ Prüfwert für korrekte Sq)(q–1 mod p)Sp + (p ⊕ Prüfwert für korrekte Sp)(p–1 mod q)Sq mod n (2)
  • Hierbei gibt ⊕ einen mathematischen Operator an, und es ist bevorzugt, eine Exklusiv-ODER-Operation (XOR) zu verwenden. Alternativ kann der Operator "+" oder "–" oder ein anderer Operator sein, der ermöglicht, dass ein erster Logikzustand ausgegeben wird, wenn entsprechende Bits in einer digitalen Operation gleich sind, und der ermöglicht, dass ein zweiter Logikzustand ausgegeben wird, wenn entsprechende Bits nicht gleich sind. Es ist bevorzugt, dass der erste Logikzustand einen niedrigen Logikzustand oder 0 angibt und der zweite Logikzustand einen hohen Logikzustand oder 1 angibt.
  • Wie in Formel (2) dargestellt ist, wird eine erste Berechnung an q und dem Prüfwert für die korrekte Sq ausgeführt. Falls hierbei der Wert von Sq korrekt erzeugt wird, wird 0 als der Prüfwert ausgegeben, wenn ⊕ XOR angibt.
  • Falls ein Fehler in Sq auftritt, wird ein anderer Wert als 0 als der Prüfwert ausgegeben. Daher wird (q–1 mod p)Sp nicht mit q sondern mit einem anderen Wert multipliziert, so dass sich der in Sq auftretende Fehler auf den Term ausbreitet, der Sp enthält. Die vorstehende Berechnung wird auf eine Berechnung angewendet, die in gleicher Weise an p und dem Prüfwert für die korrekte Sp ausgeführt wird.
  • In Formel (2) wird der Prüfwert für die korrekte Sq durch eine Formel erhalten, nach der nicht 0, sondern ein anderer Wert ausgegeben wird, wenn ein Fehler in Sq auftritt, und der Prüfwert für die korrekte Sp wird durch eine Formel erhalten, nach der nicht 0, sondern ein anderer Wert ausgegeben wird, wenn ein Fehler in Sp auftritt. Die beiden Prüfwerte können gleich oder verschieden sein und werden vorzugsweise nach Formel (3) erhalten. T = T1 ⊕ T2 = (M – Seq mod q) ⊕ (M – Sep mod p) (3)
  • Mit Bezug auf 1 werden T1 und T2 in den Schritten 106 und 107 parallel berechnet, und es wird eine Berechnung an T1 und T2 unter Verwendung des Operators ⊕ in Schritt 108 ausgeführt.
  • Der in Schritt 108 berechnete Wert T wird in den Schritten 109 und 110 verwendet. S1 und S2 werden in Schritt 109 bzw. 110 berechnet und in Schritt 111 verwendet, um einen digitalen Signaturwert S nach einer durch Formel (4) ausgedrückten Berechnung auszugeben. S = ((q ⊕ T)q–1 mod p)Sp + ((p ⊕ T)p–1 mod q)Sq mod n = ((q ⊕ (M – Seq mod q) ⊕ (M – Sep mod p))q–1 mod p)Sp + ((p ⊕ (M – Sep mod p) ⊕ (M – Seq mod q))p–1 mod q)Sq mod n (4)
  • Wenn in der vorstehenden Berechnung Sp und Sq normal erzeugt werden, M – Seq mod q = 0 ist und M – Sep mod p = 0 ist, wird auf diese Weise eine korrekte Signatur erzeugt. Wenn jedoch eine normale Sp und eine fehlerhafte S ^eq erzeugt werden, ist der Wert M – S ^eq mod q von Null verschieden, so dass eine abnorme BerechnungT ^ = M – S ^eq ausgeführt wird. Daher wird eine inkorrekte Signatur ausgegeben. In diesem Fall wird die Berechnung durch Formel (5) ausgedrückt. S ^ = ((q ⊕ T ^)q–1 mod p)Sp + ((p ⊕ T ^)p–1 mod q)S ^q mod n (5)
  • Dementsprechend wird M – S ^e, das unter Verwendung einer Fehlerkryptoanalyse von einem Angreifer berechnet wurde, weder ein Vielfaches von p noch ein Vielfaches von q. Daher kann der Angreifer nicht gcd(n, M – S ^e) = p berechnen und schließlich keinen geheimen Schlüssel feststellen.
  • Falls in dem Fall, in dem der Angreifer die von Boneh vorgeschlagene Fehlerkryptoanalyse verwendet, angenommen wird, dass eine korrekte Signatur S = upSp + uqSq mod n ist und eine sich aus der Fehlerkryptoanalyse ergebende Signatur S ^ = u ^pSp + u ^qS ^q mod n ist, ist eine vom Angreifer verwendete Formel nicht gültig, wie in Formel (6) dargestellt ist, so dass der Angreifer den geheimen Schlüssel p nicht erhalten kann. S – S ^ = (upSp + uqSq) – (u ^pSp + u ^qS ^q) ≠ uq(Sq – S ^q) (6)
  • Wenngleich dies in 1 nicht dargestellt ist, kann festgestellt werden, ob der in Schritt 108 berechnete Wert T nur null Bits aufweist. Falls der Wert von T mindestens ein von Null verschiedenes Bit aufweist, kann eine Fehlermeldung ausgegeben werden, ohne die folgenden Schritte auszuführen.
  • Mit anderen Worten können nur dann, wenn festgestellt wird, dass alle T bildenden Bits null sind, die parallelen Schritte 109 und 110 ausgeführt werden, und es kann ein Signaturwert nach Formel (4) oder (5) ausgegeben werden. Wenn festgestellt wird, dass nicht alle T bildenden Bits null sind, kann die Berechnung nicht ausgeführt werden, und es kann eine vorgegebene Fehlermeldung ausgegeben werden.
  • In dem Fall, in dem nicht alle T bildenden Bits null sind, breitet sich auch nur ein Fehler in Sp oder Sq über die gesamte Berechnung aus, so dass ein Angreifer, der die Fehlerkryptoanalyse verwendet, keine Formel ableiten kann, die einen geheimen Schlüssel angreifen kann. Dementsprechend ist es nicht notwendig, den Schritt des Ausgebens einer Fehlermeldung nur für den Zweck des Schützens der Fehlerkryptoanalyse bereitzustellen. Es ist jedoch bevorzugt, den Schritt des Bestimmens, ob alle T bildenden Bits null sind, und des Ausgebens einer Fehlermeldung, falls sie es nicht sind, bereitzustellen, um zu ermöglichen, dass ein Benutzer sofort über das Auftreten eines Fehlers während der Berechnung informiert wird.
  • In 1 wird ein digitales Signaturverfahren gemäß einem Beispiel der vorliegenden Erfindung parallel ausgeführt. Der parallele Prozess kann die Rechenzeit, verglichen mit einem seriellen Prozess, um 1/2 verringern, und er ist robust für äußere Angriffe, wie einen zeitlich gesteuerten Angriff und einen Leistungsanalyseangriff.
  • Ein digitales Signaturverfahren gemäß einem anderen Beispiel der vorliegenden Erfindung kann seriell ausgeführt werden. Der serielle Prozess kann den Hardwareplatz verringern. 2 zeigt ein digitales Signaturverfahren gemäß einem Beispiel der vorliegenden Erfindung, das seriell ausgeführt wird.
  • Die Schritte aus 2 gleichen jenen in 1, und der Schritt des Bestimmens, ob alle T bildenden Bits null sind, und des Ausgebens einer Fehlermeldung, ohne die folgenden Schritte auszuführen, falls sie es nicht sind, kann weiter nach Schritt 208 in dem Verfahren aus 2 bereitgestellt werden.
  • 3 ist ein Blockdiagramm einer digitalen Signaturvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung. Die digitale Signaturvorrichtung weist eine erste Berechnungseinheit 301, eine zweite Berechnungseinheit 302, eine Prüfwert-Ausgabeeinheit 303, eine dritte Berechnungseinheit 305, eine vierte Berechnungseinheit 306, eine Fehlermeldungs-Ausgabeeinheit 304 und eine Digitalsignatur-Ausgabeeinheit 307 auf.
  • Die erste Berechnungseinheit 301 berechnet q–1 mod p, dp = d mod (p – 1) und Sp = Mdp mod p unter Verwendung der geheimen Schlüssel p, q und d und der öffentlichen Schlüssel n und e und gibt die Ergebnisse der Berechnung aus. Die zweite Berechnungseinheit 302 berechnet p–1 mod q, dq = d mod (q – 1) und Sq = Mdq mod n unter Verwendung der geheimen Schlüssel p, q und d und der öffentlichen Schlüssel n und e parallel mit der ersten Berechnungseinheit 301 und gibt die Ergebnisse der Berechnung aus.
  • Die Prüfwert-Ausgabeeinheit 303 gibt einen Prüfwert für eine korrekte Sq und einen Prüfwert für eine korrekte Sp aus. Die beiden Prüfwerte können gleich oder verschieden sein. Beispielsweise kann der Prüfwert für eine korrekte Sq M – Seq mod q sein und der Prüfwert für eine korrekte Sp M – Sep mod p sein. Alternativ können die beiden Prüfwerte nach Formel (3) berechnet werden.
  • Wenn die von der Prüfwert-Ausgabeeinheit 303 ausgegebenen Prüfwerte 0 sind, berechnet die dritte Berechnungseinheit 305 ((q ⊕ T)q–1 mod p)Sp und die vierte Berechnungseinheit 306 ((p ⊕ T)p–1 mod q)Sq. Dann führt die Digitalsignatur-Ausgabeeinheit 307 eine durch Formel (4) ausgedrückte Berechnung unter Verwendung der von der dritten und der vierten Berechnungseinheit 305 und 306 ausgegebenen Werte aus.
  • Wenn die von der Prüfwert-Ausgabeeinheit 303 ausgegebenen Prüfwerte von Null verschieden sind, verhindert die Fehlermeldungs-Ausgabeeinheit 304, dass ein Signaturwert von der Digitalsignatur-Ausgabeeinheit 307 ausgegeben wird, und gibt eine Fehlermeldung aus, um einen Benutzer über das Auftreten eines Fehlers während der Signatur zu informieren.
  • Wie vorstehend mit Bezug auf die 1 und 2 beschrieben wurde, wird selbst dann, wenn die Fehlermeldungs-Ausgabeeinheit 304 nicht bereitgestellt ist, wenn ein Fehler während der Berechnung auftritt, der Fehler über die Signaturausgabe von der Digitalsignatur-Ausgabeeinheit 307 ausgebreitet, wodurch verhindert wird, dass ein geheimer Schlüssel von einem Angreifer unter Verwendung der Fehlerkryptoanalyse erkannt wird. Dementsprechend kann in Bezug auf die Aufgabe, vor einer Fehlerkryptoanalyse zu schützen, die Aufgabe der bevorzugten Ausführungsformen der vorliegenden Erfindung ohne die Fehlermeldungs-Ausgabeeinheit 304 gelöst werden.
  • In dem Fall, in dem die Fehlermeldungs-Ausgabeeinheit 304 in 3 nicht bereitgestellt ist, berechnen die dritte Berechnungseinheit 305 und die vierte Berechnungseinheit 306 ((q ⊕ T)q–1 mod p)Sp bzw. ((p ⊕ T)p–1 mod q)Sq, und die Digitalsignatur-Ausgabeeinheit 307 führt die durch Formel (4) ausgedrückte Berechnung unter Verwendung der von der dritten und der vierten Berechnungseinheit 305 und 306 berechneten Werte aus, um eine digitale Signatur auszugeben, über die ein Fehler ausgebreitet ist, selbst wenn nicht alle Bits von jedem der von der Prüfwert-Ausgabeeinheit 303 ausgegebenen Prüfwerte T null sind.
  • In 3 ist eine digitale Signaturvorrichtung gemäß einem Beispiel der vorliegenden Erfindung parallel konfiguriert, ein anderes Beispiel kann jedoch seriell konfiguriert sein. 4 ist ein Blockdiagramm einer seriell konfigurierten digitalen Signaturvorrichtung gemäß einer anderen Ausführungsform der vorliegenden Erfindung. Die digitale Signaturvorrichtung aus 4 weist eine erste Berechnungseinheit 401, eine Prüfwert-Ausgabeeinheit 403, eine zweite Berechnungseinheit 405, eine Digitalsignatur-Ausgabeeinheit 407 und eine Fehlermeldungs-Ausgabeeinheit 404 auf.
  • Die erste Berechnungseinheit 401 führt in der ersten und der zweiten Berechnungseinheit 301 und 302 aus 3 ausgeführte Berechnungen aus, d.h. sie berechnet q–1 mod p, dp = d mod (p – 1), Sp = Mdp mod p, p–1 mod q, dq = d mod (q – 1) und Sq = Mdq mod q seriell unter Verwendung der geheimen Schlüssel p, q und d und der öffentlichen Schlüssel n und e. Eine Serie der Berechnungen kann in jeder beliebigen Reihenfolge ausgeführt werden, in der dp vor Sp und dq vor Sq berechnet wird.
  • Die Prüfwert-Ausgabeeinheit 403 führt die gleiche Funktion aus wie die Prüfwert-Ausgabeeinheit 303.
  • Die zweite Berechnungseinheit 405 führt in der dritten und der vierten Berechnungseinheit 305 und 306 aus 3 ausgeführte Berechnungen aus, d.h. sie berechnet ((q ⊕ T)q–1 mod p)Sp und ((p ⊕ T)p–1 mod q)Sq in Serie. Hierbei können die Berechnungen in einer zufälligen Reihenfolge ausgeführt werden.
  • Dann führt die Digitalsignatur-Ausgabeeinheit 407 unter Verwendung der ausgegebenen Werte der zweiten Berechnungseinheiten eine durch Formel (4) ausgedrückte Berechnung aus.
  • Wenn die von der Prüfwert-Ausgabeeinheit 403 ausgegebenen Prüfwerte von Null verschieden sind, verhindert die Fehlermeldungs-Ausgabeeinheit 404, dass ein Signaturwert von der Digitalsignatur-Ausgabeeinheit 407 ausgegeben wird, und gibt eine Fehlermeldung aus, um einen Benutzer über das Auftreten eines Fehlers während der Signatur zu informieren. Wie vorstehend beschrieben wurde, kann selbst dann, wenn die Fehlermeldungs-Ausgabeeinheit 404 nicht bereitgestellt ist und eine digitale Signatur mit einem Fehler ausgegeben wird, die digitale Signatur vor einer Fehlerkryptoanalyse geschützt werden.
  • Bevorzugte Verfahren der vorliegenden Erfindung können als ein Code verwirklicht werden, der auf einem computerlesbaren Aufzeichnungsmedium aufgezeichnet wird und von einem Computer gelesen werden kann. Das computerlesbare Aufzeichnungsmedium kann ein beliebiger Typ sein, auf dem Daten, die von einem Computersystem gelesen werden können, aufgezeichnet werden können, beispielsweise ein ROM, ein RAM, ein CDROM, ein Magnetband, eine Diskette oder eine optische Datenspeichervorrichtung. Beispiele der vorliegenden Erfindung können auch durch Trägerwellen (die beispielsweise über das Internet gesendet werden) verwirklicht werden. Alternativ können computerlesbare Aufzeichnungsmedien unter Computersystemen verteilt werden, die über ein Netz verbunden sind, so dass Ausführungsformen der vorliegenden Erfindung als ein Code verwirklicht werden können, der in dem Aufzeichnungsmedium gespeichert wird und in den Computern gelesen und ausgeführt werden kann.
  • Bevorzugte Ausführungsformen der Erfindung wurden speziell dargestellt und beschrieben. Die vorliegende Erfindung ist jedoch nicht auf die bevorzugten Ausführungsformen beschränkt, sondern kann beispielsweise auf Fälle, einschließlich einer Exponentierung eines geheimen Schlüssels d, d.h. einen Fall, auf den das CRT angewendet werden kann, angewendet werden. Beispielsweise verwendet eine Prozedur zum Decodieren eines Kryptographen C unter Verwendung eines RSA-Systems eine Berechnung M = Cd mod n, so dass ein Beispiel der vorliegenden Erfindung auf diese Prozedur angewendet werden kann.
  • Ein digitales Signaturverfahren und eine digitale Signaturvorrichtung unter Verwendung der RSA-Kryptographie mit öffentlichen Schlüsseln auf der Grundlage des CRT gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung haben die folgenden Vorteile.
  • Erstens ist das Verfahren oder die Vorrichtung vollkommen kompatibel mit existierenden Systemen, ohne dass die Strukturen wesentlicher Recheneinrichtungen (Rechenmodule) geändert werden, und es oder sie kann vor jeder existierenden Fehlerkryptoanalyse schützen. Dementsprechend ist eine in einem von Shamir vorgeschlagenen Verfahren verwendete Zufallszahl r nicht notwendig, und es gibt keine Wahrscheinlichkeit des Auftretens eines Fehlers.
  • Zweitens gibt es, verglichen mit einem herkömmlichen CRT-Verfahren, eine zusätzliche Exponentierung eines öffentlichen Schlüssels e, der Rechenaufwand nimmt jedoch sehr leicht zu, wenn der öffentliche Schlüssel e klein ist. Tatsächlich ist e sehr klein. Selbst in dem Fall, in dem e = d ist, ist der Aufwand der zusätzlichen Berechnungen M – Seq mod q und M – Sep mod p ähnlich dem Aufwand einer CRT-Berechnung, so dass der Rechenaufwand nur um etwa die Hälfte des Rechenaufwands in einem RSA-System, das das CRT nicht verwendet, zunimmt.
  • Weil drittens ein Prüfprozess nicht ausgeführt wird, wird eine Befürchtung bei der Fehlerkryptoanalyse grundsätzlich entfernt. Selbst ein Hardwarefehler oder ein permanenter Fehler bewirkt auch, dass eine fehlerhafte Signatur erzeugt wird, wodurch verhindert wird, dass geheime Informationen offenbart werden.
  • In dieser Beschreibung weist das Verb "aufweisen" seine normale Wörterbuchbedeutung auf und soll eine nicht ausschließende Einschließung bezeichnen. Das heißt, dass die Verwendung des Worts "aufweisen" (oder beliebige seiner Ableitungen) zur Aufnahme eines oder mehrerer Merkmale nicht die Möglichkeit ausschließt, dass auch weitere Merkmale aufgenommen werden.

Claims (13)

  1. Digitales Signaturverfahren unter Verwendung einer Kryptographie mit öffentlichen Schlüsseln von Rivest, Shamir und Adelman (RSA-Kryptographie mit öffentlichen Schlüsseln) auf der Grundlage des Chinese Remainder Theorem (CRT) unter Verwendung von Primzahlen p und q als geheime Schlüssel, n, das n = pq erfüllt, als ein öffentlicher Schlüssel, einer vorbestimmten ganzen Zahl e, die zu einer Eulerschen Totientenfunktion relativ prim ist, ϕ(n) als ein anderer öffentlicher Schlüssel und d, das e·d = 1 mod ϕ(n) erfüllt, als ein anderer geheimer Schlüssel, mit den folgenden Schritten: a) Berechnen von x, das x·q = 1 mod p, dp erfüllt, durch Ausführen einer Modulberechnung an d und (p – 1) und Sp durch Ausführen einer Modulberechnung an p und einer Nachricht M in der Potenz dp, b) Berechnen von y, das y·p = 1 mod q, dq erfüllt, durch Ausführen einer Modulberechnung an d und (q – 1) und Sq durch Ausführen einer Modulberechnung an q und einer Nachricht M in der Potenz dq, c) Ausgeben eines Prüfwerts T1, dessen Bits alle in einem ersten Logikzustand sind, wenn die geheimen Schlüssel, die öffentlichen Schlüssel, Sq und die Nachricht M alle vorbestimmte Werte sind, die keinen Fehler aufweisen, und Ausgeben eines Prüfwerts T2, dessen Bits alle in einem ersten Logikzustand sind, wenn die geheimen Schlüssel, die öffentlichen Schlüssel, Sp und die Nachricht M alle vorbestimmte Werte sind, die keinen Fehler aufweisen, d) Berechnen von S1 durch Multiplizieren eines ersten Mittelwerts mit x und Sp, wobei der Mittelwert durch Ausführen einer Operation an q und T2 unter Verwendung eines ersten Operators erhalten wird, e) Berechnen von S2 durch Multiplizieren eines zweiten Mittelwerts mit y und Sq, wobei der zweite Mittelwert durch Ausführen einer Operation an p und T1 unter Verwendung des ersten Operators erhalten wird, und f) Ausgeben einer durch Summieren von S1 und des Ergebnisses der Ausführung einer Modulberechnung an S2 und n erhaltenen Signatur S.
  2. Digitales Signaturverfahren nach Anspruch 1, bei dem: Schritt d) ausgeführt wird, wenn alle Bits des Prüfwerts T2 im ersten Logikzustand sind, Schritt e) ausgeführt wird, wenn alle Bits des Prüfwerts T1 im ersten Logikzustand sind, Schritt f) ausgeführt wird, wenn alle Bits der Prüfwerte T1 und T2 im ersten Logikzustand sind, und das Verfahren den weiteren Schritt des Ausgebens einer Fehlermeldung aufweist, wenn mindestens eines der Bits der Prüfwerte T1 und T2 nicht im ersten Logikzustand ist.
  3. Digitales Signaturverfahren nach Anspruch 1 oder 2, bei dem die Schritte a) und b) parallel ausgeführt werden und die Schritte d) und e) parallel ausgeführt werden.
  4. Digitales Signaturverfahren nach Anspruch 1, 2 oder 3, bei dem die Prüfwerte T1 und T2 denselben Wert T aufweisen und Schritt c) die folgenden Schritte aufweist: c1) Berechnen von T1 durch Subtrahieren eines Werts, der durch Ausführen einer Modulberechnung an Sq in der Potenz e und q erhalten wird, von der Nachricht M, c2) Berechnen von T2 durch Subtrahieren eines Werts, der durch Ausführen einer Modulberechnung an Sp in der Potenz e und p erhalten wird, von der Nachricht M und c3) Berechnen von T durch Ausführen einer Operation an T1 und T2 unter Verwendung des ersten Operators.
  5. Digitales Signaturverfahren nach Anspruch 4, bei dem die Schritte c1) und c2) parallel ausgeführt werden.
  6. Digitales Signaturverfahren nach einem der vorstehenden Ansprüche, bei dem der erste Operator ein Exklusiv-ODER-Operator, ein Additionsoperator oder ein Subtraktionsoperator ist.
  7. Digitale Signaturvorrichtung unter Verwendung einer Kryptographie mit öffentlichen Schlüsseln von Rivest, Shamir und Adelman (RSA-Krypto graphie mit öffentlichen Schlüsseln) auf der Grundlage des Chinese Remainder Theorem (CRT) unter Verwendung von Primzahlen p und q als geheime Schlüssel, n, das n = pq erfüllt, als ein öffentlicher Schlüssel, einer vorbestimmten ganzen Zahl e, die zu einer Eulerschen Totientenfunktion relativ prim ist, ϕ(n) als ein anderer öffentlicher Schlüssel und d, das e·d = 1 mod ϕ(n) erfüllt, als ein anderer geheimer Schlüssel, wobei die digitale Signaturvorrichtung aufweist: eine erste Berechnungseinrichtung (301) zum Berechnen von x, das x·q = 1 mod p, dp erfüllt, durch Ausführen einer Modulberechnung an d und (p – 1) und Sp durch Ausführen einer Modulberechnung an p und einer Nachricht M in der Potenz dp, eine zweite Berechnungseinrichtung (302) zum Berechnen von y, das y·p = 1 mod q, dq erfüllt, durch Ausführen einer Modulberechnung an d und (q – 1) und Sq durch Ausführen einer Modulberechnung an q und einer Nachricht M in der Potenz dq, eine Prüfwert-Ausgabeeinrichtung (303) zum Ausgeben eines Prüfwerts T1, dessen Bits alle in einem ersten Logikzustand sind, wenn die geheimen Schlüssel, die öffentlichen Schlüssel und Sq, der von der zweiten Berechnungseinrichtung (302) ausgegeben wurde, und die Nachricht M alle vorbestimmte Werte sind, die keinen Fehler aufweisen, und zum Ausgeben eines Prüfwerts T2, dessen Bits alle in einem ersten Logikzustand sind, wenn die geheimen Schlüssel, die öffentlichen Schlüssel und Sp, der von der ersten Berechnungseinrichtung ausgegeben wurde, und die Nachricht M alle vorbestimmte Werte sind, die keinen Fehler aufweisen, eine dritte Berechnungseinrichtung (305) zum Berechnen von S1 durch Multiplizieren eines ersten Mittelwerts mit x und Sp, wobei der Mittelwert durch Ausführen einer Operation an q und T2, der von der Prüfwert-Ausgabeeinrichtung ausgegeben wurde, unter Verwendung eines ersten Operators erhalten wird, eine vierte Berechnungseinrichtung (306) zum Berechnen von S2 durch Multiplizieren eines zweiten Mittelwerts mit y und Sq, wobei der zweite Mittelwert durch Ausführen einer Operation an p und T1, der von der Prüfwert-Ausgabeeinrichtung ausgegeben wurde, unter Verwendung des ersten Operators erhalten wird, und eine Digitalsignatur-Ausgabeeinrichtung (307) zum Ausgeben einer durch Summieren von S1, der von der dritten Berechnungseinrichtung ausgegeben wurde, und des Ergebnisses der Ausführung einer Modulberechnung an n und S2, der von der vierten Berechnungseinrichtung ausgegeben wurde, erhaltenen Signatur S.
  8. Digitale Signaturvorrichtung nach Anspruch 7, welche weiter aufweist: eine Fehlermeldungs-Ausgabeeinrichtung (304) zum Ausgeben einer Fehlermeldung, wenn mindestens eines der Bits der von der Prüfwert-Ausgabeeinrichtung (303) ausgegebenen Prüfwerte T1 und T2 nicht im ersten Logikzustand ist, wobei die Digitalsignatur-Ausgabeeinrichtung (307) an Stelle der Signatur S die Fehlermeldung ausgibt, wenn die Fehlermeldung von der Fehlermeldungs-Ausgabeeinrichtung (304) ausgegeben wird.
  9. Digitale Signaturvorrichtung nach Anspruch 7 oder 8, wobei die erste und die zweite Berechnungseinrichtung (301, 302) dafür eingerichtet sind, parallel zu arbeiten, und die dritte und die vierte Berechnungseinrichtung (305, 306) dafür eingerichtet sind, parallel zu arbeiten.
  10. Digitale Signaturvorrichtung nach Anspruch 7, 8 oder 9, wobei die Prüfwerte T1 und T2 denselben Wert T aufweisen und die Prüfwert-Ausgabeeinrichtung (303) aufweist: eine erste Einrichtung zum Berechnen von T1 durch Subtrahieren eines Werts, der durch Ausführen einer Modulberechnung an Sq in der Potenz e und q erhalten wird, von der Nachricht M, eine zweite Einrichtung zum Berechnen von T2 durch Subtrahieren eines Werts, der durch Ausführen einer Modulberechnung an Sp in der Potenz e und p erhalten wird, von der Nachricht M und eine dritte Einrichtung zum Berechnen von T durch Ausführen einer Operation an T1 und T2 unter Verwendung des ersten Operators.
  11. Digitale Signaturvorrichtung nach Anspruch 10, wobei die erste Einrichtung und die zweite Einrichtung dafür eingerichtet sind, parallel zu arbeiten.
  12. Digitale Signaturvorrichtung nach einem der Ansprüche 7 oder 11, wobei der erste Operator ein Exklusiv-ODER-Operator, ein Additionsoperator oder ein Subtraktionsoperator ist.
  13. Computerlesbares Aufzeichnungsmedium, auf dem ein Programm zum Ausführen des digitalen Signaturverfahrens nach einem der Ansprüche 1 bis 6 aufgezeichnet ist.
DE60218421T 2002-02-26 2002-12-10 Verfahren und Vorrichtung zur Erzeugung von Digitalsignaturen Expired - Fee Related DE60218421T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2002-0010256A KR100431047B1 (ko) 2002-02-26 2002-02-26 Crt에 기초한 rsa 공개키 암호화 방식을 이용한디지털 서명방법 및 그 장치
KR2002010256 2002-02-26

Publications (2)

Publication Number Publication Date
DE60218421D1 DE60218421D1 (de) 2007-04-12
DE60218421T2 true DE60218421T2 (de) 2007-11-15

Family

ID=27785954

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60218421T Expired - Fee Related DE60218421T2 (de) 2002-02-26 2002-12-10 Verfahren und Vorrichtung zur Erzeugung von Digitalsignaturen

Country Status (4)

Country Link
EP (1) EP1347596B1 (de)
KR (1) KR100431047B1 (de)
AT (1) ATE355672T1 (de)
DE (1) DE60218421T2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441397B1 (ko) * 2002-10-31 2004-07-23 소프트포럼 주식회사 메시지의 인증 및 암호화 방법
KR100619025B1 (ko) * 2004-06-03 2006-08-31 삼성전자주식회사 구성원 비밀 정보 할당 방법, 할당된 비밀 정보를 이용한 키 합의 방법, 및 할당된 비밀 정보를 이용한 구성원 인증 방법
DE102005038228A1 (de) * 2005-08-12 2007-02-15 Giesecke & Devrient Gmbh Geschütztes kryptographisches Verfahren
KR100953715B1 (ko) 2008-01-22 2010-04-19 고려대학교 산학협력단 Crt-rsa 모듈라 지수승 알고리즘을 이용한 디지털서명 방법, 그 장치 및 이를 기록한 컴퓨터 판독가능 저장매체
KR100954844B1 (ko) 2008-10-07 2010-04-28 고려대학교 산학협력단 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체
KR101020416B1 (ko) * 2009-02-20 2011-03-09 성균관대학교산학협력단 소스인증 및 부인방지를 제공하는 수신제한 시스템 및 그 방법
KR101112570B1 (ko) * 2010-04-12 2012-03-13 고려대학교 산학협력단 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체
KR101558201B1 (ko) 2012-02-10 2015-10-12 한국전자통신연구원 Crt-rsa 암호 연산에서의 오류 주입 공격 방지 방법 및 그 기록매체
KR102180029B1 (ko) 2014-02-03 2020-11-17 삼성전자 주식회사 Crt-rsa 암호화 방법 및 장치와 이를 기록한 컴퓨터 판독가능 저장매체

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2624634B2 (ja) * 1995-03-08 1997-06-25 日本電信電話株式会社 暗号装置および復号化装置および暗号・復号化装置および暗号システム
FR2737369A1 (fr) * 1995-07-26 1997-01-31 Trt Telecom Radio Electr Systeme de communication de messages cryptes selon un procede de type r.s.a.
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
JPH118616A (ja) * 1997-06-17 1999-01-12 Dainippon Printing Co Ltd 故障利用攻撃対応icカード
AU2557399A (en) * 1998-01-02 1999-07-26 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
KR100431286B1 (ko) * 2002-01-14 2004-05-12 한국정보보호진흥원 중국인 나머지 정리(crt) 기반의 오류 공격에 대응하는 방법 및 그 장치

Also Published As

Publication number Publication date
KR20030070733A (ko) 2003-09-02
EP1347596B1 (de) 2007-02-28
KR100431047B1 (ko) 2004-05-12
DE60218421D1 (de) 2007-04-12
EP1347596A1 (de) 2003-09-24
ATE355672T1 (de) 2006-03-15

Similar Documents

Publication Publication Date Title
DE69828787T2 (de) Verbessertes verfahren und vorrichtung zum schutz eines verschlüsselungsverfahrens mit öffentlichem schlüssel gegen angriffe mit zeitmessung und fehlereinspeisung
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
DE69434422T2 (de) Verfahren und Anordnung zur Verschlüsselung/Entschlüsselung auf der Basis des Montgomery-Verfahrens unter Verwendung von effizienter modularer Multiplikation
DE69534192T2 (de) Verfahren zur gemeinsamen Nutzung einer geheimen Information, zur Erzeugung einer digitalen Unterschrift und zur Ausführung einer Beglaubigung in einem Kommunikationssystem mit mehreren Informationsverarbeitungseinrichtungen und Kommunikationssystem zur Anwendung dieses Verfahrens
DE102006022960B4 (de) Verfahren zum Verschlüsseln von Eingabedaten, kryptographisches System und Computerprogrammprodukt
DE69917592T2 (de) Gegen stromverbrauchsignaturanfall beständige kryptographie
EP1076952B1 (de) Gültigkeit und gültigkeitskontrolle eines privaten schlüssels
DE60113678T2 (de) Generator für pseudo-zufallszahlen
Li et al. Remark on the threshold RSA signature scheme
DE112007003061T5 (de) Mechanismus zum Schützen eines Schlüssels
CH711133B1 (de) Protokoll zur Signaturerzeugung
DE10143728B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
DE60218421T2 (de) Verfahren und Vorrichtung zur Erzeugung von Digitalsignaturen
DE112012000971B4 (de) Datenverschlüsselung
DE10304451B3 (de) Modulare Exponentiation mit randomisiertem Exponenten
DE60117813T2 (de) Verfahren und Vorrichtung zur Speicherung und wiedergewinnung eones Privaten Kryptoschlüssels
DE102006013975A1 (de) Kryptographievorrichtung und -verfahren mit Skalarmultiplikation
EP1442391B1 (de) Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus
EP1454260B1 (de) Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt)
DE10328860B4 (de) Vorrichtung und Verfahren zum Verschlüsseln von Daten
DE10042234C2 (de) Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor
DE19513898B4 (de) Public-Key-Verfahren zur Verschlüsselung von Daten
DE10162496B4 (de) Verfahren und Vorrichtung zum Absichern einer Berechnung in einem kryptographischen Algorithmus
EP3542262B1 (de) Punktmultiplikation auf einer erweiterung einer elliptischen kurve
DE602005003984T2 (de) Kryptografisches Verfahren und Gerät

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee