DE69935455T2 - Kryptographisches verfahren unter verwendung eines öffentlichen und eines privaten schlüssels - Google Patents

Kryptographisches verfahren unter verwendung eines öffentlichen und eines privaten schlüssels Download PDF

Info

Publication number
DE69935455T2
DE69935455T2 DE69935455T DE69935455T DE69935455T2 DE 69935455 T2 DE69935455 T2 DE 69935455T2 DE 69935455 T DE69935455 T DE 69935455T DE 69935455 T DE69935455 T DE 69935455T DE 69935455 T2 DE69935455 T2 DE 69935455T2
Authority
DE
Germany
Prior art keywords
mod
log
deciphering
cryptogram
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69935455T
Other languages
English (en)
Other versions
DE69935455D1 (de
Inventor
Pascal Paillier
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.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Publication of DE69935455D1 publication Critical patent/DE69935455D1/de
Application granted granted Critical
Publication of DE69935455T2 publication Critical patent/DE69935455T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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

Description

  • Die vorliegende Erfindung betrifft ein kryptographisches Verfahren mit öffentlichem und privatem Schlüssel. Es kann in allen Anwendungen genutzt werden, in denen die Gewährleistung der Vertraulichkeit der auf einem beliebigen Kanal übertragenen Meldung und/oder die sichere Identifizierung einer Vorrichtung notwendig ist, mit der Meldungen ausgetauscht werden.
  • Die Vertraulichkeit der zwischen zwei Vorrichtungen A und B auf einem beliebigen Kommunikationskanal übertragenen Meldungen wird durch Chiffrieren der übertragenen Information erreicht, um sie für die Personen unverständlich zu machen, für die sie nicht bestimmt ist. Die sichere Identifizierung einer Vorrichtung basiert ihrerseits auf der Berechnung der digitalen Unterschrift einer Meldung.
  • In der Praxis können zwei kryptographische Verfahrenstypen eingesetzt werden, das so genannte symmetrische Verfahren mit geheimen Schlüsseln, von dem ein gut bekanntes Beispiel das DES... ist, und das so ge nannte asymmetrische Verfahren, das ein öffentliches und privates Paar Schlüssel einsetzt und in „Public _key cryptosustem" in „New directions in Cryptographie" IEEE Transactions on Information Theory, Nov. 1976, von den Herren Diffie und Hellman beschrieben wird. Ein gut bekanntes Beispiel für ein asymmetrisches Verfahren ist das RSA, dessen Namen von seinen Erfindern Ronald Rivest, Adi Shamir und Léonard Adleman stammt. Eine Beschreibung dieses Verfahrens RSA befindet sich in dem amerikanischen Patent US 4.405.829.
  • In der Erfindung interessieren wir uns ganz besonders für ein asymmetrisches kryptographisches Verfahren.
  • Ein Chiffrierungsverfahren gemäß einem asymmetrischen kryptographischen Verfahren besteht für einen Sender A, der vertraulich eine Meldung an einen Empfänger B versenden will, im Wesentlichen in der Kenntnisnahme des öffentlichen Schlüssels KB des Empfängers B, z.B. in einem Telefonbuch, in der Anwendung des Chiffrierungsverfahrens E auf die zu übertragende Meldung A und im Versand des resultierenden Kryptogramms c an den Empfänger B: c = EKB (m).
  • Dieses Verfahren besteht hauptsächlich darin, dass der Empfänger B das Kryptogramm c empfängt und es dechiffriert, um die ursprüngliche Meldung m zu erhalten, indem er den privaten Schlüssel K'b anwendet und der der Einzige ist, im Dechiffrierungsverfahren D auf dem Kryptogramm c Folgendes zu kennen: m = Dx'a (c).
  • Gemäß diesem Verfahren kann jeder eine chiffrierte Meldung an den Empfänger B senden, doch nur dieser ist in der Lage, sie zu entziffern.
  • Üblicherweise wird zur Erzeugung/Überprüfung der Unterschrift ein asymmetrisches kryptographisches Verfahren angewendet. In diesem Zusammenhang benutzt ein Anwender, der seine Identität nachweisen will, einen nur ihm bekannten privaten Schlüssel, um eine digitale Unterschrift s einer Meldung m zu produzieren, wobei er die Unterschrift an die Empfängervorrichtung überträgt. Diese setzt die Überprüfung der Unterschrift durch Heranziehen des öffentlichen Schlüssels des Anwenders um. Somit hat jede Vorrichtung die Kapazität, die Unterschrift eines Anwenders durch Kenntnisnahme des öffentlichen Schlüssels dieses Anwenders und durch deren Anwendung im Überprüfungsalgorithmus zu überprüfen. Doch nur der betroffene Anwender hat die Kapazität, unter Verwendung seines privaten Schlüssels die richtige Unterschrift zu erzeugen. Dieses Verfahren wird z.B. häufig in Zugangskontrollsystemen oder Bankentransaktionssystemen eingesetzt. Es wird im Allgemeinen mit der Nutzung eines Chiffrierungsverfahrens zum Chiffrieren der Unterschrift vor ihrer Übertragung verbunden.
  • Für diese Erzeugung/Überprüfung digitaler Unterschriften kann man in der Praxis für diese Anwendung dedizierte asymmetrische, kryptographische Prozesse einsetzen, wie z.B. DAS (Digital Signature Algorithm), der einem vom US National Institute of Standards and Technology vorgeschlagenen amerikanischen Standard ent spricht. Weiterhin kann das RSA eingesetzt werden, das die Eigenschaft hat, sowohl beim Chiffrieren als auch beim Erzeugen der Unterschrift eingesetzt werden zu können.
  • In der Erfindung interessiert man sich für ein kryptographisches Verfahren, das für die Chiffrierung der Meldungen und für die Erzeugung der digitalen Unterschrift eingesetzt werden kann. Im derzeitigen Stand der Technik bietet nur das RSA, von dem es zahlreiche Umsetzungsvarianten gibt, diese doppelte Funktionalität.
  • Das RSA umfasst bei einer bestimmten Vorrichtung, in der folgendermaßen vorgegangen wird, eine Erzeugungsstufe des öffentlichen Schlüssels K und des privaten Schlüssels K':
  • Es werden zwei unterschiedliche hohe Primzahlen p und q gewählt.
    • – Es wird ihr Produkt n = p·q berechnet.
    • – Es wird eine Primzahl c mit dem kleinsten gemeinsamen Vielfachen von (p – 1) (q – 1) gewählt. In der Praxis wird e häufig gleich 3 gewählt.
  • Der öffentliche Schlüssel K wird dann von dem Parameterpaar (n, e) gebildet und der geheime Schlüssel K' wird durch das Parameterpaar (p, q) gebildet.
  • Dadurch, dass p und q in großer Größe gewählt werden, weist auch ihr Produkt n eine große Größe auf. n ist daher sehr schwer zu faktorisieren: Man kann sicher sein, dass der geheime Schlüssel K' = (p, q) ausgehend von der Kenntnis von n nicht herausgefunden werden kann.
  • Das Chiffrierungsverfahren einer eine Meldung M, 0 ≤ m < n, darstellenden Zahl m besteht daher in der Durchführung der folgenden Berechnung: c = EB (m) = mc mod nmittels des öffentlichen Schlüssels K = (n, e)
  • (Siehe zum Beispiel das Dokument D1: Yasuko Gotoh et al. „A method for rapid rsa key generation", Systems & Computers in Japan, Band 21, Nr. 8, 1. Januar 1990, Seiten 11–20, XP000177817, ISSN 0882–1666).
  • Das Dechiffrierungsverfahren besteht seinerseits in der umgekehrten folgenden Berechnung: m = cd mod (n)mittels des geheim gehaltenen privaten Schlüssels K' = (p, q), bei dem d = 1/e mod (p – 1) (q – 1).
  • Wir haben gesehen, dass das RSA die Besonderheit hat, zur Überprüfung der Unterschrift einsetzbar zu sein. Das entsprechende Erzeugungsverfahren einer Unterschrift durch einen Anwender A besteht in der Verwendung des Dechiffrierungsprozesses mit dem geheimen Schlüssel, um die Unterschrift s einer eine Meldung darstellenden Zahl m zu produzieren. Somit hat man: s = md mod n.
  • Diese Unterschrift s wird an einen Empfänger B übertragen. Dieser kennt m (z.B. überträgt A s und m), überprüft die Unterschrift durch Durchführung der umgekehrten Operation, d. h. unter Heranziehen des Chiffrierungsverfahrens mit dem öffentlichen Schlüssel des Absenders A. Das heißt, dass er v = se mod n berechnet und v = m überprüft.
  • Zur Verbesserung der Sicherheit eines derartigen Überprüfungsverfahrens der Unterschrift wird im Allgemeinen zuvor, vor der Berechnung der Unterschrift, auf die Zahl m eine Hackfunktion angewendet, die aus Permutationen von Bits und/oder einer Komprimierung bestehen kann.
  • Wenn wir von einer zu chiffrierenden oder zu unterschreibenden Meldung M sprechen, handelt es sich selbstverständlich um digitale Meldungen, die aus einer vorherigen digitalen Kodierung resultieren können. Es handelt sich in der Praxis um Bit-Ketten, deren binäre Größe (Anzahl der Bits) variabel sein kann.
  • Ein Kryptographieverfahren wie das RSA ist jedoch von der Art, dass es die Chiffrierung jeder beliebigen Zahl zwischen 0 und n – 1 mit dem öffentlichen Schlüssel (n, e) erlaubt. Um es auf eine Meldung M einer beliebigen Größe anzuwenden, muss daher in der Praxis diese Meldung in eine Folge von Zahlen m zerschnitten werden, die jeweils die Bedingung 0 ≤ m < n überprüfen werden. Dann wird das Chiffrierungsverfahren auf jede dieser Zahlen angewendet. In der Folge interessiert man sich daher für die Anwendung des kryptographischen Verfahrens auf eine die Meldung M darstellende Zahl m. m kann gleich M sein oder nur ein Teil davon sein. Dann wird in der Folge mit m sowohl die Meldung als auch eine die Meldung darstellende Zahl bezeichnet.
  • Ein Gegenstand der Erfindung ist ein von den auf dem RSA basierendes unterschiedliches asymmetrisches Kryptographieverfahren.
  • Ein Gegenstand der Erfindung ist ein auf weiteren Eigenschaften beruhendes Verfahren, das ebenso gut auf die Chiffrierung von Meldungen wie auch auf die Erzeugung von Unterschriften angewendet werden kann.
  • Ein Gegenstand der Erfindung ist ein Kryptographieverfahren, das in bestimmten Konfigurationen eine raschere Verarbeitungszeit erlaubt.
  • Die derart gekennzeichnete Erfindung betrifft ein kryptographisches Verfahren gemäß Anspruch 1.
  • Die Erfindung wird bei der Lektüre der nachfolgenden, nur zu Anschauungszwecken erfolgten und keineswegs einschränkenden Beschreibung der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen besser verstanden werden, in denen:
  • 1 ein Funktionsschema eines kryptographischen Kommunikationssystems vom asymmetrischen Typ ist;
  • 2 ein Funktionsschema einer kommunizierenden, in einem erfindungsgemäßen kryptographischen Kommunikationssystem eingesetzten Vorrichtung ist;
  • 3 ein Organigramm eines Chiffrierungs-/Dechiffrierungssystems von Meldungen unter Heranziehung des erfindungsgemäßen kryptographischen Verfahrens ist; und
  • 4 ein Organigramm einer Erzeugungs-/Überprüfungssitzung der Unterschrift unter Heranziehung des erfindungsgemäßen kryptographischen Verfahrens ist.
  • Zum richtigen Verständnis der Erfindung ist es notwendig, einige mathematische Einleitungen durchzuführen.
  • In der Beschreibung werden die folgenden mathematischen Schreibweisen eingesetzt:
    • (1) Wenn a eine relative ganze Zahl ist und b eine absolut positive ganze Zahl, ist a mod b (a modulo b) der modulare Rest von a relativ zu b und bezeichnet die einzige ganze Zahl, die absolut kleiner ist als b, so dass b (a–a mod b) dividiert.
    • (2) (Z/bZ) bezeichnet alle Reste modulo b und bildet eine Gruppe zur modularen Addition.
    • (3) Z/bZ)* bezeichnet alle umkehrbaren ganzen Zahlen modulo b und bildet eine Gruppe für die modulare Multiplikation.
    • (4) Die Reihenfolge eines Elements a von (Z/bZ)* ist die kleinste ganze natürliche Zahl ord (a, b), so dass aord (a,b) = 1 mod b.
    • (5) PPCM (a, b) bezeichnet das kleinste gemeinsame Vielfache von a und b.
    • (6) PGCD (a, b) bezeichnet den größten gemeinsamen Divisor von a und b.
    • (7) λ(a) bezeichnet den Indikator von Euler von a. Wenn a = p·q, λ(a) = PPCM (p – 1, q – 1).
    • (8) Man bezeichnet mit x = TRC (a1, ... ak, b1, ... bk) die einzige Lösung, die durch Umsetzung des gut bekannten chinesischen Restsatzes erhalten wird, des folgenden modularen Gleichungssystems: x = a1 mod b1 x = a2 mod b2 ... x = ak mod bk bei dem die ganzen Zahlen ai und bi gegeben werden und bei dem ∀i, j, mit i ≠ j, PGCD (bi, bj) = 1.
    • (9) Es wird darauf hingewiesen, dass die binäre Größe einer Zahl a die Anzahl der Bits ist, auf denen a geschrieben wird.
  • Das ist nunmehr eine ganze Zahl n in einer beliebigen Größe. Die Struktur Eins = {x < n2/x 1 mod n} ist eine multiplikative Untergruppe von (Z/n2Z)*.
  • Das ist dann logn, die auf der Struktur Eins durch Folgendes definierte Struktur
    Figure 00090001
  • Diese Funktion hat die folgende Eigenschaft:
    ∀ x
    Figure 00090002
    Eins, ∀ y
    Figure 00090003
    Eins, logn (xy mod n2) = logn (x) + logn (y) mod n.
  • Wenn g eine zu Eins gehörende beliebige ganze Zahl ist, hat man infolgedessen als ganze Zahl m 0 ≤ m < n: logn (gm mod n2) = m·logn (g) mod n2.
  • Dieses mathematische Verfahren ist die Basis des in der Erfindung umgesetzten kryptographischen Verfahrens, die nunmehr beschrieben werden wird.
  • 1 stellt ein einen asymmetrischen kryptographischen Prozess einsetzendes kryptographisches Kommunikationssystme dar. Es umfasst kommunizierende Vorrichtungen, in dem Beispiel A und B, auf einem Kommunikationskanal. In dem Beispiel wurde ein bidirektionaler Kanal dargestellt. Jede Vorrichtung enthält ein Paar öffentlicher K und privater Schlüssel K'.
  • Die öffentlichen Schlüssel werden z.B. in einer öffentlichen Datei veröffentlicht, wie z.B. einem Telefonbuch, das jede Vorrichtung einsehen kann. In dieser öffentlichen Datei befinden sich somit der öffentliche Schlüssel KA der Vorrichtung A und der KB der Vorrichtung B. Der private Schlüssel K' jeder Vorrichtung wird von ihm geheim aufbewahrt, im typischen Fall in einem gesicherten Bereich des nicht flüchtigen Speichers. Die Vorrichtung A enthält damit im geheimen Speicher ihren privaten Schlüssel K'A, und die Vorrichtung B enthält damit im geheimen Speicher ihren privaten Schlüssel K'B. Sie bewahren auch ihren öffentlichen Schlüssel auf, doch in einem Speicherbereich ohne besonderen Zugriffsschutz.
  • In einem derartigen System kann die Vorrichtung A eine Meldung m in ein Kryptogramm CA unter Heranziehung des öffentlichen Schlüssels KB der Vorrichtung B chiffrieren; letztere kann CA unter Heranziehung ihres privaten Schlüssels K'B dechiffrieren, den sie geheim aufbewahrt. Umgekehrt kann die Vorrichtung B eine Meldung m in ein Kryptogramm CB unter Heranziehung des öffentlichen Schlüssels KA der Vorrichtung A chiffrieren; letztere kann CB unter Heranziehung ihres privaten Schlüssels K'A dechiffrieren, den sie geheim aufbewahrt.
  • Im typischen Fall umfasst jede Vorrichtung wie in 2 dargestellt wenigstens Verarbeitungsmittel 10, d. h. eine zentrale Verarbeitungseinheit (CPU) mit insbesondere unterschiedlichen Registern R für die Berechnung; eine Kommunikationsschnittstelle 11 mit dem Kommunikationskanal und Speichermitteln. Diese Speicher mittel umfassen im Allgemeinen einen Programmspeicher 12 (ROM, EPROM, EEPROM) und einen Arbeitsspeicher (RAM) 13. In der Praxis bewahrt jede Vorrichtung ihre geheimen Daten in einem im Programmspeicher vorgesehenen gesicherten Zugriffsbereich 120 und ihre öffentlichen Daten in einem normalen Zugriffsbereich dieses Speichers auf. Der Arbeitsspeicher erlaubt die momentane Aufbewahrung der zu chiffrierenden Meldungen, der zu dechiffrierenden Kryptogramme oder auch der Ergebnisse der Zwischenberechnungen während der für die Berechnungen notwendigen Dauer.
  • Die Verarbeitungs- und Speichermittel erlauben damit die Ausführung der mit der Anwendung verbundenen Programme und insbesondere die Ausführung der der Umsetzung des Kryptographieverfahrens für die Chiffrierung/Dechiffrierung von Meldungen und/oder der Erzeugung/Überprüfung von Unterschriften erfindungsgemäßen notwendigen Berechnungen. Diese Berechnungen umfassen insbesondere, wie wir in der Folge in weiteren Einzelheiten sehen werden, Potenzrechnungen, Reste und modulare Umkehrungen.
  • Die Vorrichtungen können auch einen Generator 14 der zufälligen oder pseudozufälligen Zahl r umfassen, der bei den vorgenannten Berechnungen in bestimmten Ausführungsvarianten eintreten kann. Dieser Generator wird in 2 durch eine gepunktete Linie eingekreist, um anzuzeigen, dass sie für die Realisierung aller erfindungsgemäßer Ausführungsvarianten nicht notwendig ist.
  • Alle diese Mittel der Vorrichtung werden an einen Adress- und Datenbus 15 angeschlossen.
  • Derartige in der Erfindung eingesetzte Vorrichtungen sind gut bekannt und entsprechen z.B. denen, die in den kryptographischen Kommunikationssystemen des Standes der Technik verwendet werden und das RSA umsetzen. Sie werden daher nicht weiter erläutert. Ein praktisches Beispiel kryptographischer Kommunikationssysteme ist das aus Bankenservern und Chipkarte für die Verwaltung von finanziellen Transaktionen gebildete System. Doch gibt es zahlreiche weitere Anwendungen, wie z.B. die mit dem elektronischen Handel verbundenen Anwendungen.
  • Nunmehr wird ein erster Ausführungsmodus der Erfindung unter Betrachtung des in 3 dargestellten Organigramms detailliert erläutert.
  • Dieses Organigramm stellt eine Kommunikationssequenz zwischen einer Vorrichtung A und einer Vorrichtung B auf einem Kommunikationskanal 20 dar. Diese Vorrichtungen umfassen wenigstens die in Relation mit 2 beschriebenen Verarbeitungs-, Speicher- und Kommunikationsmittel.
  • Das erfindungsgemäße Kryptographieverfahren umfasst ein Erzeugungsverfahren des öffentlichen K und des privaten K' Schlüssels.
  • Erfindungsgemäß umfasst dieses Erzeugungsverfahren des öffentlichen und des privaten Schlüssels einer Vorrichtung die folgenden Stufen, die in dem im Januar 1990 in JAPAN unter den Referenzen XP000177817, ISSN: 0882–1666, Band 21, Nr. 8 – Seiten 11–20 aus „a method for rapid RSA Key generation" des Werks „Systems & Computer" veröffentlichten Dokument von YASUKO GOTOH et al bereits bekannt sind:
    • – Auswahl von zwei unterschiedlichen großen Primzahlen p und q ähnlicher Grö0e;
    • – Berechnung der Zahl n gleich dem Produkt p·q;
    • – Berechnung der Zahl λ(n) PPCM (p – 1; q – 1), d. h. der Funktion von Carmichael der Zahl n;
    • – Bestimmung einer Zahl g, 0 ≤ g < n2, die die beiden folgenden Bedingungen erfüllt:
    • a) g ist modulo n2 umkehrbar und
    • b) ord (g, n2) = 1 mod n.
  • Diese Bedingung b) gibt an, dass die Reihenfolge der Zahl g in der Struktur (Z/n2 Z)* der ganzen Zahlen von 0 bis n2 ein Vielfaches ungleich Null der Zahl n gemäß den weiter oben definierten Schreibweisen ist.
  • Der öffentliche Schlüssel K wird dann von der Zahl n und der Zahl g gebildet. Der private Schlüssel wird durch die Zahlen p, q und λ(n) gebildet oder nur von den Zahlen p und q, wobei λ(n) bei jeder Verwendung des geheimen Schlüssels neu berechnet werden kann.
  • Gemäß diesem Verfahren werden der öffentliche und der private Schlüssel jeder Vorrichtung erzeugt. Diese Erzeugung kann gemäß den betrachteten Vorrichtungen und Anwendungen durch die Vorrichtungen selbst oder durch ein externes Organ durchgeführt werden.
  • Jede Vorrichtung, z.B. die Vorrichtung A, enthält daher ihren öffentlichen Schlüssel KA = (nA, gA) im Speicher und ihren privaten Schlüssel K'A = (pA, qA) auf geheime Weise.
  • Darüber hinaus werden die öffentlichen Schlüssel in einer der Öffentlichkeit zugänglichen Datei untergebracht.
  • Erfindungsgemäß werden wir unten sehen, dass diese darin besteht, g einen besonderen Wert zu verleihen. Es ist in der Tat vorteilhaft, g = 2 zu wählen, wenn dies möglich ist, d. h. wenn g = 2 die Bedingungen a) und b) des erfindungsgemäßen Erzeugungsverfahrens der Unterschrift erfüllt.
  • Ein Chiffrierungsverfahren gemäß einem ersten Ausführungsmodus des in der Vorrichtung A umgesetzten kryptographischen Verfahrens der Erfindung besteht dann beim Versand einer Meldung an die Vorrichtung B in der Realisierung der folgenden Stufen, wobei 0 ≤ m < n:
    • – Angabe der Parameter n und g des von der Vorrichtung A umgesetzten Chiffrierungsverfahrens durch den öffentlichen Schlüssel KB der zweiten Vorrichtung B: n = nB, g = gB
    • – Berechnung des Krytogramms c = gm mod n2 und
    • – Übertragung des Kryptogramms c auf den Kommunikationskanal.
  • Das Chiffrierungsverfahren gemäß einem ersten Ausführungsmodus der Erfindung besteht daher darin, den Parameter g des öffentlichen Schlüssels zu nehmen, ihn mit m zu potenzieren und den modularen Rest relativ zu n2 zu berechnen. Es ist anzumerken, dass im RSA die Meldung m potenziert wird, während in der Erfindung die Meldung m als Exponent herangezogen wird.
  • Die Vorrichtung B, die die chiffrierte Meldung empfängt, d. h. das Kryptogramm c, setzt dann ein er findungsgemäßes Dechiffrierungsverfahren mit den Parametern seines privaten Schlüssels um. Dieses Dechiffrierungsverfahren umfasst die folgende Berechnung:
    • – Berechnung der Zahl m, so dass
      Figure 00150001
  • Wenn g = 2, sieht man, dass die Potenzberechnung von g erleichtert wird. Man nimmt daher jedes Mal, wenn dies möglich ist, bevorzugt g = 2. Mit anderen Worten, das Erzeugungsverfahren der Schlüssel beginnt mit dem Versuch, ob g = 2 die Bedingungen a) und b) erfüllt.
  • Es können verschiedene Berechnungsvarianten des Dechiffrierungsverfahrens umgesetzt werden, die, wenn die Vorrichtung eine hohe Anzahl von Kryptogrammen dechiffrieren, bestimmte Mengen vorberechnen und sie geheim in der Vorrichtung aufbewahren muss. Ein Nachteil ist, dass der geheime Speicherbereich (Bereich 120 in 2) der Vorrichtung größer sein muss, da er dann zusätzliche Parameter noch zusätzlich zu den Parametern p und q enthalten muss. Dies hat gewisse Auswirkungen auf die Wahl der Umsetzung der einen oder der anderen Variante. Die Realisierung eines gesicherten Speicherbereichs ist kostspielig und hat daher eine allgemein begrenzte (Speicher-)Kapazität, insbesondere in den Vorrichtungen im so genannten Niedrigkostensegment (z. B. bestimmte Arten von Chipkarten).
  • In einer ersten Umsetzungsvariante des Dechiffrierungsverfahrens wird vorgesehen, dass die Vorrichtung, im vorliegenden Fall B, die folgende Menge ein für alle Mal vorberechnet: αn,g = logn (gλ(n) mod n2)–1 mod nund bewahrt sie geheim im Speicher auf.
  • Somit wird die für die Dechiffrierung jeder von der Vorrichtung empfangenen Meldung notwendige Zeit umso mehr verkürzt. Wenn die Vorrichtung B nämlich eine Instanz dieser Variante des Dechiffrierungsverfahrens ausführt, braucht sie nur noch Folgendes zu berechnen: m = logn (cλ(n) mod n2) αn,g mod n.
  • In einer zweiten Umsetzungsvariante des erfindungsgemäßen Dechiffrierungsverfahrens wird wegen der besseren Effizienz (Schnelligkeit der Berechnung) der Einsatz des chinesischen Restsatzes vorgesehen.
  • In einer Instanz dieser zweiten Variante des Dechiffrierungsverfahrens führt die Vorrichtung die folgenden (Dechiffrierungs-)Berechnungen durch:
    • 1 mp = logp (cp–1 mod p2)·logp (gp–1 mod p2)–1 mod p.
    • 2 mp = logq (cq–1 mod q2)·logq (gq–1 mod q2)–1 mod q.
    • 3 m = TRC (mp, mq, p·q), wobei logp (x) = (x – 1)/p und wobei logq(x) = (x – 1)/q ist.
  • In diesem Fall kann darüber hinaus in dem Fall, in dem die Vorrichtung eine sehr hohe Anzahl von Meldungen dechiffrieren soll, vorgesehen werden, dass die Vorrichtung die folgenden Mengen ein für alle Mal berechnet: αp,g = logp (gp–1 mod p2)–1 mod p und αq,g = logq (gq–1 mod q2)–1 mod q.
  • Dann muss die Vorrichtung diese Mengen als geheime Daten behalten.
  • Die bei einer Instanz des Dechiffrierungsverfahrens durchgeführte Berechnung wird zu:
    • 1 mp = logp (cp–1 mod p2) αp,g mod p.
    • 2 mp = logq (cq–1 mod q2) αp,g mod q.
    • 3 m = TRC (mp, mq, p·q).
  • Wie bereits ausgeführt, sind alle diese Dechiffrierungs-Berechnungsvarianten interessant, wenn die Vorrichtung eine sehr hohe Anzahl von Meldungen dechiffrieren soll und der Zeitgewinn bei der Verarbeitung die größere Speicherkapazität des gesicherten Bereichs ausgleicht, um alle geheimen Daten aufzubewahren. Die Wahl der einen oder der anderen Variante hängt in der Praxis von der betrachteten Anwendung und den miteinander zu vereinbarenden Kosten- und Berechnungszeit-Vorgaben ab.
  • Ein zweiter Realisierungsmodus der Erfindung umfasst den Einsatz einer von einem Generator einer zufälligen (oder pseudozufälligen) Zahl in Chiffrierungsverfahren gelieferten zufälligen Zahl ab, so dass das berechnete Kryptogramm c für eine und dieselbe zu übertragende Meldung m jedes Mal unterschiedlich ist. Die Sicherheit des Kommunikationssystems ist daher größer. Das Dechiffrierungsverfahren ist unverändert.
  • Dieser zweite Ausführungsmodus der Erfindung umfasst zwei Varianten.
  • In einer ersten Variante wird das Kryptogramm c durch die folgende Berechnung erhalten: c = gm+nr mod n2.
  • In einer zweiten Variante wird das Kryptogramm c durch die folgende Berechnung erhalten: c = gm rn mod n2.
  • Diese zweite Variante erfordert in der Praxis eine längere Verarbeitungszeit als die erste, aber sie bietet eine größere Sicherheit.
  • In einem dritten Ausführungsmodus der Erfindung wird vorgeschrieben, dass die Größenordnung von in (Z/nZ)* eine ganze Zahl kleiner Größe ist, wobei dies durch eine Umsetzung des unterschiedlichen Erzeugungsverfahrens der Schlüssel erreicht wird.
  • Mit einer derartigen Bedingung für die Größenordnung des Parameters g wird die Komplexität der Berechnung des Dechiffrierungsverfahrens vermindert, die in der Praxis im Verhältnis zur Größe der Zahl n quadratisch wird (Funktion von n2).
  • In diesem dritten Ausführungsmodus der Erfindung lautet des Erzeugungsverfahren des öffentlichen und des privaten Schlüssels dann folgendermaßen:
    • – Auswahl einer ganzen Zahl u und zweier unterschiedlicher großer Primzahlen p und q ähnlicher Größe im Geheimen, so dass u(p – 1) dividiert und (q – 1) dividiert.
    • – Berechnung der Zahl n gleich dem Produkt p·q;
    • – Berechnung der Zahl λ(n) = PPCM (p – 1, q – 1), d. h. des Indikators von Carmichael der Zahl n;
    • – Bestimmung einer Zahl h, 0 ≤ h < n2, die die folgenden beiden Bedingungen erfüllt:
    • a) h ist umkehrbar modulo n2 und
    • b) ord (h, n2) = 0 mod n.
    • – Berechnung der Zahl g = h λ(n)/u mod n2.
  • Der öffentliche Schlüssel K wird dann durch die Zahl n und die Zahl g gebildet. Der private Schlüssel wird durch die in der Vorrichtung geheim aufbewahrten ganzen Zahlen (p, q, u) gebildet.
  • Bevorzugt wird h = 2 gewählt, wenn dies möglich ist (d. h. wenn h = 2 die Bedingungen a) und b) erfüllt), um die Berechnung von g) zu erleichtern.
  • Es ist anzumerken, dass, wenn u = PGCD (p – 1, q – 1), es nicht notwendig ist, diese Zahl aufzubewahren, die ausgehend von p und q durch die Vorrichtung wieder gefunden werden kann.
  • Bevorzugt wird u zuerst gewählt, um die Sicherheit des Verfahrens zu verbessern, und in kleiner Größe, im typischen Fall 160 Bits. Durch die Wahl einer kleinen Größe für u wird man feststellen, dass die Dechiffrierungsberechnung erleichtert wird.
  • In diesem dritten Ausführungsmodus ist die Umsetzung des Chiffrierungsverfahrens zur Chiffrierung einer Meldung m identisch mit der zuvor im ersten Ausführungsmodus der Erfindung beschriebenen Umsetzung, wobei das Kryptogramm gleich c = gm mod n2 ist.
  • Man kann ebenfalls das Kryptogramm c unter Einsatz einer zufälligen Variablen r gemäß der ersten Variante des zuvor beschriebenen zweiten Ausführungsmodus der Erfindung berechnen. r ist dann eine zufällige ganze Zahl der gleichen Größe wie u, und das Kryptogramm wird durch die folgende Berechnung erhalten: c = gm+nr mod n2.
  • Das gemäß der einen oder der anderen vorherigen Umsetzung des Chiffrierungsverfahrens berechnete Kryptogramm c wird zur Vorrichtung B geschickt, die es dechiffrieren muss. Die Umsetzung des Dechiffrierungsverfahrens durch die Vorrichtung B, die die Meldung empfängt, ist etwas unterschiedlich.
  • Die in der Vorrichtung in einer Dechiffrierungsinstanz durchgeführte Berechnung zum Wiederfinden der Zahl m ausgehend vom Kryptogramm c wird nämlich zu folgender Berechnung:
    Figure 00200001
  • Wie zuvor können Berechnungsvarianten angewendet werden, die die Beschleunigung der notwendigen Verarbeitungszeit erlauben.
  • In einer ersten Variante wird somit ein für alle Mal die folgende Menge vorberechnet: βn,g = logn (gu mod n2)–1 mod nund diese geheim im Speicher aufbewahrt.
  • Bei einer Dechiffrierungsinstanz eines empfangenen Kryptogramms c braucht die Vorrichtung nur noch die folgende Berechnung durchzuführen: m = log (cu mod n2)·βn,g mod n.
  • In einer zweiten Variante wird der chinesische Restsatz unter Heranziehen der bereits zur Durchführung der bereits zur Durchführung der Dechiffrierungsberechnung gesehenen Funktionen logp und logp umgesetzt.
  • Bei einer Instanz dieser Variante des Dechiffrierungsverfahrens des empfangenen Kryptogramms c führt die Vorrichtung dann die folgenden Berechnungen durch:
    • 1. mp = logp (cu mod p2)·logp (gu mod p2)–1 mod p.
    • 2. mq= logq (cu mod p2)·logq (gu mod p2)–1 mod q.
    • 3. m = TRC (mp, mq, p, q).
  • In einer dritten Variante wird die zur Dechiffrierung des Kryptogramms c gemäß der zweiten Variante notwendige Verarbeitungszeit noch weiter beschleunigt, indem die folgenden Mengen vorberechnet werden: βp,g = logn (gu mod p2)–1 mod p βq,g = logn (gu mod p2)–1 mod qund indem sie in der Vorrichtung geheim aufbewahrt werden.
  • Bei einer Berechnungsinstanz dieser dritten Variante des Dechiffrierungsverfahrens des empfangenen Kryptogramms c braucht die Vorrichtung dann nur noch die folgenden Berechnungen durchzuführen:
    • 1. mp = logp (cu mod p2) βp, g mod p
    • 2. mq = logq (cu mod q2) βq, g mod q
    • 3. m = TRC (mp, mq, p, q)
  • In einem vierten Ausführungsmodus der Erfindung sind das Chiffrierungsverfahren und das Dechiffrierungsverfahren von der Art, dass sie die Besonderheit aufweisen, Permutationen auf der Gruppe der ganzen Zahlen modulo n2 zu sein. Mit anderen Worten, wenn die Meldung m auf k Bits ausgedrückt wird, sind das durch die Anwendung des Chiffrierungsverfahrens auf m erhaltene Kryptogramm c und die durch Anwendung des Dechiffrie rungsverfahrens auf m erhaltene Unterschrift s ebenfalls auf k Bits.
  • Diese Besonderheit verleiht dem kryptographischen Verfahren die zusätzliche Eigenschaft, sowohl zur Chiffrierung/Dechiffrierung als auch zur Erzeugung/Überprüfung der Unterschrift eingesetzt werden zu können. In diesem Fall wird das Dechiffrierungsverfahren als Erzeugungsverfahren der Unterschrift eingesetzt und das Chiffrierungsverfahren als Überprüfungsverfahren der Unterschrift.
  • In diesem vierten Ausführungsmodus ist das Erzeugungsverfahren des öffentlichen und privaten Schlüssels dasselbe wie das des ersten Ausführungsmodus der Erfindung: K = (n, g) und K' = (p, q, λ(n)) oder K' = (p, q).
  • Wenn die Vorrichtung A eine chiffrierte Meldung m an die Vorrichtung B senden will, beschafft sie sich den öffentlichen Schlüssel (n, g) der letzteren, führt dann in einer Instanz des auf die Zahl m, 0 ≤ m < n2 angewendeten Chiffrierungsverfahrens die folgenden Berechnungen durch:
    • 1. m1 = m mod n
    • 2. m2 = (m – m1)/n (Division nach Euklid)
    • 3. c = gm1 m2 n mod n2.
  • Dieses Kryptogramm c wird an die Vorrichtung B geschickt.
  • Letztere muss daher das entsprechende Dechiffrierungsverfahren darauf anwenden, um m1, m2 und schließlich m wieder zu finden. Dieses Dechiffrierungsverfahren gemäß dem vierten Ausführungsmodus der Erfindung besteht in der Durchführung der folgenden Berechnungen:
    • 1. m1 = logn (cλ(n) mod n2)·logn (gλ(n) mod n2)–1 mod n.
    • 2. w = cg–m1 mod n.
    • 3. m2 = w1/n mod λ(n) mod n.
    • 4. m = m1 + nm2.
  • Wie zuvor sind die Varianten des Dechiffrierungsverfahrens gemäß diesem vierten Ausführungsmodus der Erfindung, die die Minderung der für die Dechiffrierung einer bestimmten Meldung notwendigen Verarbeitungszeit erlauben, anwendbar. Sie sind interessant, wenn die Vorrichtung eine große Zahl von zu dechiffrierenden Kryptogrammen hat.
  • Eine erste Variante besteht in der Vorberechnung der folgenden Mengen: αn,g = logn (gλ(n) mod n2)–1 mod n und γn =_ I/n mod λ(n). die die die Vorrichtung B ein für alle Mal berechnet und geheim im Speicher aufbewahrt.
  • Bei jeder neuen Dechiffrierungsinstanz eines gemäß dieser ersten Variante empfangenen Kryptogramms c braucht die Vorrichtung B nur noch die folgenden Berechnungen durchzuführen:
    • 1. m1 = logn (cλ(n) mod n2) αn,g mod n.
    • 2. w = cg–m1 mod n.
    • 3. m2 = wγ/n mod λ(n) mod n.
    • 4. m = m1 + nm2,
  • In einer zweiten Variante der Umsetzung des Dechiffrierungsverfahrens gemäß dem vierten Ausführungsmodus wird der chinesische Restsatz herangezogen.
  • Die Vorrichtung, die ein Kryptogramm c gemäß dieser Variante dechiffrieren will, führt dann die folgenden sukzessiven Berechnungen durch:
    • 1. m1,p = logp (cp–1 mod p2)·logp (gp–1 mod p2)–1 mod p
    • 2. Wp = cg–m1·p mod p
    • 3. m2,p = wp 1/q mod p·1mod p
    • 4. m1,q = logq (cq–1 mod q2)·logq (gq–1 mod q2)–1 mod q
    • 5. Wq = cg–m1, q mod q
    • 6. m2, q = wq1/q mod q–1 mod q
    • 7. m1 = TRC (m1,p, m2,p, p, q)
    • 8. m2 = TRC (m1,q, m2,q, p, q)
    • 9. m = m1 + pqm2.
  • In einer dritten Variante kann die Vorrichtung B zur weiteren Verbesserung der Verarbeitungszeit der Dechiffrierung dieser zweiten Variante die folgenden Mengen ein für alle Mal vorberechnen: αp,g = logp (gp–1 mod p2)–1 mod p αq,g = logq (gq–1 mod q2)–1 mod q γp = 1/q mod p – 1 γq= 1/q mod p – 1und sie im Speicher geheim aufbewahren.
  • Die Vorrichtung, die ein Kryptogramm c gemäß dieser dritten Variante dechiffrieren will, braucht nur die folgenden Berechnungen anzustellen:
    • 1. m1,p = logp (cp–1 mod p2) αp,g mod p
    • 2. WP = cg–1·p mod p
    • 3. m2,p = wp γp mod p
    • 4. m1,q = logq (cq–1 mod q2) αp,g mod q
    • 5. Wq = cg–m1, q mod q
    • 6. m2,q = wqγq mod q
    • 7. m1 = TRC (m1,p,m2,p,p, q)
    • 8. m2 = TRC (m1,q,m2,q,p, q)
    • 9. m = m1 + pgm2.
  • Der vierte Ausführungsmodus der Erfindung, der soeben beschrieben wurde, erlaubt die Durchführung der Erzeugung/Überprüfung der Unterschrift. Wie im Organigramm der 4 dargestellt, wendet die Vorrichtung B, wenn sie eine Unterschrift s einer eine Meldung an die Vorrichtung A darstellenden Zahl m erzeugen soll, als Erzeugungsverfahren der Unterschrift das Dechiffrierungsverfahren mit seinem privaten Schlüssel an: s = DK'B (m).
  • Die Vorrichtung A, die die Unterschrift s empfängt und die die Meldung m kennt, überprüft, dass die Unterschrift richtig ist, indem sie die erhaltene Menge v durch Anwendung des Chiffrierungsverfahrens auf die Unterschrift s mit dem öffentlichen Schlüssel berechnet: v = EKB (s). Wenn die Unterschrift richtig ist, erhält man v = m.
  • Alle Umsetzungsvarianten des Dechiffrierungsverfahrens dieses vierten Ausführungsmodus, die die Beschleunigung der Verarbeitungszeit erlauben, sind ebenfalls bei der Erzeugung/Überprüfung der Unterschrift anwendbar.
  • Die soeben beschriebene Erfindung ist in allen Systemen anwendbar, in denen Meldungen chiffriert und/oder unterschrieben werden sollen. Sie erlaubt die Erweiterung der Anpassungsmöglichkeiten an die unterschiedlichen Anwendungen, je nachdem, ob eine größere Sicherheit oder eine beschleunigte Verarbeitungsgeschwindigkeit erreicht werden soll. In dieser Hinsicht ist anzumerken, dass der dritte Ausführungsmodus der Erfindung, dessen Berechnungskomplexität nur quadratisch ist (Funktion von n2), in Bezug auf die Schnelligkeit insofern einen echten Vorteil bietet, als alle Verfahren des Standes der Technik eine größere Komplexität aufweisen (Funktion von n3). Ein derartiger Vorteil betrifft ganz besonders alle tragbaren Vorrichtungen einsetzende Anwendungen, wie z.B. Chipkarten und ganz besonders Vorrichtungen im Niedrigkostensegment.
  • Schließlich wird jede in der betreffenden Technik der Erfindung erfahrene Person verstehen, dass Änderungen in der Form und/oder in Einzelheiten durchgeführt werden können. Insbesondere kann vor der Berechnung der Unterschrift die Unterschrift chiffriert werden oder auch eine Hackfunktion auf die Meldung m angewendet werden. Das erlaubt es insbesondere, jedes Mal eine unterschiedliche Unterschrift zu haben, selbst wenn die Meldung m unverändert ist.

Claims (24)

  1. Chiffrierungsverfahren zum Chiffrieren einer eine Meldung darstellenden Zahl m mit 0 ≤ m < n, dadurch gekennzeichnet, dass ein Kryptogramm c = gm mod n2 berechnet wird, wobei n und g Parameter eines öffentlichen Schlüssels sind.
  2. Chiffrierungsverfahren gemäß Anspruch 1, in dessen Verlauf das Kryptogramm c = gm+nr mod(n2) berechnet wird, wobei r eine vor der Berechnung des Kryptogramms c ausgewählte zufällige ganze Zahl ist.
  3. Chiffrierungsverfahren gemäß Anspruch 1, in dessen Verlauf das Kryptogramm c = gm rn mod (n2) berechnet wird, wobei r eine vor der Berechnung des Kryptogramms c ausgewählte zufällige ganze Zahl ist.
  4. Chiffrierungsverfahren gemäß Anspruch 1, in dessen Verlauf zur Chiffrierung der Zahl m mit 0 ≤ m < n2 das Kryptogramm c gemäß den folgenden Stufen berechnet wird: 1. m1 = m mod n 2. m2 = (m – m1)/n 3. c = gm1 m2n mod n2.
  5. Dechiffrierungsverfahren zum Dechiffrieren eines durch ein Chiffrierungsverfahren gemäß Anspruch 1 bis 3 erhaltenen Kryptogramms c und zum Produzieren einer zugeordneten Zahl m, dadurch gekennzeichnet, dass die Zahl m folgendermaßen berechnet wird: m = logn (cλ(n) mod n2) logn (gλ(n) mod n2)–1 mod n,wobei logn(x) – (x – 1)/n mit x eine beliebige ganze Zahl ist und λ(n) ein kleineres gemeinsames Viel faches der Zahlen p – 1 und q – 1 1, wobei n und g Parameter eines öffentlichen Schlüssels K und p und q Parameter eines zugeordneten privaten Schlüssels K' sind.
  6. Dechiffrierungsverfahren gemäß Anspruch 5, in dessen Verlauf die folgende Menge vorberechnet und gespeichert wird: αn,g = logn (gλ(n) mod n2)–1 mod n.
  7. Dechiffrierungsverfahren gemäß Anspruch 5, in dessen Verlauf die Berechnung von m unter Heranziehung des chinesischen Restsatzes TRC gemäß den folgenden Stufen aufgebaut ist: mp = logp (cp–1 mod p2)·logn (gp–1 mod p2)–1 mod p. mp = logq (cq–1 mod q2)·logq (gq–1 mod q2)–1 mod q. m = TRC (mp, mq, p, q), wobei logp (x) = (x – 1)/pund wobei logq(x) = (x – 1)/q, wobei x eine beliebige ganze Zahl ist.
  8. Dechiffrierungsverfahren gemäß Anspruch 7, in dessen Verlauf die folgenden Stufen vorberechnet und gespeichert werden: αp,g = logp (gp–1 mod p2)–1 mod p und αq,g = logq (gq–1 mod q2) mod q
  9. Dechiffrierungsverfahren zum Dechiffrieren eines durch ein Chiffrierungsverfahren gemäß Anspruch 4 erhaltenen Kryptogramms c und zum Produzieren einer zugeordneten Zahl m, dadurch gekennzeichnet, dass die Zahl m gemäß den folgenden Stufen berechnet wird: 1. m1 = logn (cλ(n) mod n2)·logn (gλ(n) mod n2)–1 mod n. 2. w = cg–m1 mod n. 3. m3 = w1/n mod λ(n) mod n. 4. m = m1 + nm2, wobei logn (x) – (x 1)/n, wobei x eine beliebige ganze Zahl ist und λ(n) das kleinste gemeinsame Vielfache der Zahlen p – 1 und q – 1 ist, wobei n und g Parameter eines öffentlichen Schlüssels K sind und p und q Parameter eines zugeordneten privaten Schlüssels K'.
  10. Dechiffrierungsverfahren gemäß Anspruch 9, in dessen Verlauf die folgenden Mengen vorberechnet und gespeichert werden: αn,g = logn (gλ(n) mod n2)–1 mod n und γn_ I/n mod λ(n).
  11. Dechiffrierungsverfahren gemäß Anspruch 9, in dessen Verlauf sich die Berechnung von m unter Heranziehung des chinesischen Restsatzes gemäß den folgenden Stufen zusammensetzt: 1. m1,p = logp (cp–1 mod p2)·logp (gp–1 mod p2)–1 mod p 2. Wp = cg–m1·p mod p 3. m2,p = wp 1/q mod p·1 mod 4. m1,q = logq (cq–1 mod q2)·logq (gq–1 mod q2)–1 mod q 5. Wq = cg–m1, q mod q 6. m2,q = wg1/q mod q–1 mod q 7. m1 = TRC (m1,p, m2,p, p, q) 8. m2 = TRC (m1,q, m2, q, p, q) 9. m = m1 + pqm2, wobei logp (x) = (x – 1)/p und wobei logq (x) = (x – 1)/q, wobei x eine beliebige ganze Zahl ist.
  12. Dechiffrierungsverfahren gemäß Anspruch 11, in dessen Verlauf die folgenden Mengen vorberechnet und gespeichert werden: αp,g = logp (gp–1 mod p2)–1 mod p αp,g = logq (gq–1 mod q2)–1 mod q γp = 1/q mod p – 1 γq = 1/p mod q – 1
  13. Dechiffrierungsverfahren zum Dechiffrieren eines durch ein Chiffrierungsverfahren gemäß Anspruch 1 bis 3 erhaltenen Kryptogramms c und zum Produzieren einer zugeordneten Zahl m, dadurch gekennzeichnet, dass die Zahl m folgendermaßen berechnet wird: m = logn (cu mod n2)·logn (gu mod n2)–1 mod n,wobei logn (x) = (x – 1)/n ist, wobei x eine beliebige ganze Zahl ist, n und g Parameter eines öffentlichen Schlüssels K und p, q, u Parameter eines zugeordneten privaten Schlüssels K'.
  14. Dechiffrierungsverfahren gemäß Anspruch 13, in dessen Verlauf die folgende Menge vorberechnet und gespeichert wird: βn,g = logn (gu modn2)–1 mod n.
  15. Dechiffrierungsverfahren gemäß Anspruch 13, in dessen Verlauf die Berechnung von m unter Heranziehung des chinesischen Restsatzes sich gemäß den folgenden Stufen zusammensetzt: 1. mp = logp (cu mod p2)·logp (gu mod p2)–1 mod p. 2. mq = logq (cu mod p2)·logq (gu mod p2)–1 mod q. 3. m = TRC (mp, m q, p, q), wobei logp (x) = (x – 1)/p und mit logq (x) = (x – 1)/q, wobei x eine beliebige ganze Zahl ist.
  16. Dechiffrierungsverfahren gemäß Anspruch 15, in dessen Verlauf die folgenden Mengen vorberechnet und gespeichert werden: βp,g = logn (gu mod p2)–1 mod p βq,g = logn (gu mod p2)–1 mod q
  17. Erzeugungsverfahren von öffentlichen Schlüsseln K und privaten Schlüsseln K', das zur Verwendung für die Umsetzung eines Chiffrierungsverfahrens gemäß Anspruch 1 bis 4 oder eines Dechiffrierungsverfahrens gemäß Anspruch 5 bis 16 herangezogen werden kann, wobei der private Schlüssel geheim gehalten werden muss und der öffentliche Schlüssel öffentlich bekannt gegeben werden muss, wobei das Schlüsselerzeugungsverfahren dadurch gekennzeichnet ist, dass es die folgenden Stufen umfasst: – Auswahl von zwei unterschiedlichen Primzahlen p und q in ähnlicher Größe; – Berechnung einer Zahl n gleich dem Produkt p·q; – Überprüfung, dass eine Zahl g = 2, 0 ≤ g < n2 die beiden folgenden Bedingungen überprüft: a) g ist umkehrbar modulo n2 und b) ord (g, n2) = 1 mod n, g ist umkehrbar modulo n2 und wobei der öffentliche Schlüssel K durch die Parameter n und g gebildet wird und der private Schlüssel K' durch die Parameter p und q gebildet wird.
  18. Schlüsselerzeugungsverfahren gemäß Anspruch 17, das ebenfalls die folgenden Stufen umfasst: – Berechnung eines kleinsten gemeinsamen Vielfachen der Zahlen (p – 1) und (q – 1): λ (n) = PPCM (p – 1, q – 1) wobei der private Schlüssel K' dann durch die Parameter p, q und λ(n) gebildet wird.
  19. Schlüsselerzeugungsverfahren gemäß Anspruch 18, das ebenfalls die folgenden Stufen umfasst: – Auswahl einer ganzen Zahl u, so dass u p dividiert und u q dividiert, – Berechnung einer Zahl g' = gλ(n)/u mod n2, wobei der öffentliche Schlüssel K dann durch die Parameter n und g' gebildet wird und der private Schlüssel K' durch die Parameter p q und u gebildet wird.
  20. Unterschriftsverfahren zur Berechnung einer Unterschrift s einer Meldung m, dadurch gekennzeichnet, dass es eine aus der Ausführung des Dechiffrierungsverfahrens gemäß Anspruch 9 bis 12 bestehende Stufe durch den Austausch des Kryptogramms c durch die Meldung m im Dechiffrierungsverfahren umfasst, wobei die produzierte zugehörige Zahl der Unterschrift s zugeordnet wird.
  21. Überprüfungsverfahren der Unterschrift zur Überprüfung einer Unterschrift s einer eine Meldung darstellenden Zahl m, dadurch gekennzeichnet, dass es die folgenden Stufen umfasst: Produzieren einer Menge v durch Ausführen des Chiffrierungsverfahrens gemäß Anspruch 4 durch Austausch der Zahl m durch die Unterschrift s im Chiffrierungsverfahren, Überprüfung, dass die Menge v gleich der Zahl m ist.
  22. Kryptographisches Kommunikationssystem mit öffentlichem und privatem Schlüssel, die durch ein Schlüsselerzeugungsverfahren gemäß Anspruch 17 bis 19 erhalten wurden, mit einem Kommunikationskanal (20) und kommunizierenden Vorrichtungen (A, B), wobei jede kommunizierende Vorrichtung wenigstens eine Kommunikationsschnittstelle (11) der Datenverarbeitungsmittel (10) und der Speichermittel (12, 13) umfasst, dadurch gekennzeichnet, dass: – eine erste Vorrichtung (A) Mittel zur Berechnung eines Kryptogramms c = gm mod n2 einer eine Meldung darstellenden Zahl m umfasst, wobei n und g Parameter eines öffentlichen Schlüssels einer zweiten Vorrichtung (B) und der Mittel zur Übertragung des Kryptogramms c auf den Kommunikationskanal auf die zweite Vorrichtung sind, – die zweite Vorrichtung (B) Mittel zur Dechiffrierung des Kryptogramms c mithilfe eines dem öffentlichen Schlüssel zugeordneten privaten Schlüssels und zur Produktion der Zahl m ausgehend vom Kryptogramm c umfasst.
  23. System gemäß Anspruch 22, in dem die erste Vorrichtung ebenfalls einen Programmspeicher mit einem gesicherten Bereich zum Speichern und geheimen Aufbewahren der Ergebnisse der Vorberechnung umfasst.
  24. System gemäß Anspruch 22 bis 23, das ebenfalls einen Generator (15) zur Produktion einer zufälligen Zahl r vor der Berechnung eines Kryptogramms c umfasst.
DE69935455T 1999-01-14 1999-11-25 Kryptographisches verfahren unter verwendung eines öffentlichen und eines privaten schlüssels Expired - Lifetime DE69935455T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9900341 1999-01-14
FR9900341A FR2788650B1 (fr) 1999-01-14 1999-01-14 Procede cryptographique a cles publique et privee
PCT/FR1999/002918 WO2000042734A1 (fr) 1999-01-14 1999-11-25 Procede cryptographique a cles publique et privee

Publications (2)

Publication Number Publication Date
DE69935455D1 DE69935455D1 (de) 2007-04-19
DE69935455T2 true DE69935455T2 (de) 2007-11-29

Family

ID=9540854

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69935455T Expired - Lifetime DE69935455T2 (de) 1999-01-14 1999-11-25 Kryptographisches verfahren unter verwendung eines öffentlichen und eines privaten schlüssels

Country Status (9)

Country Link
US (1) US7054444B1 (de)
EP (1) EP1151576B1 (de)
JP (1) JP4137385B2 (de)
CN (1) CN1338166A (de)
AU (1) AU1390200A (de)
DE (1) DE69935455T2 (de)
ES (1) ES2286910T3 (de)
FR (1) FR2788650B1 (de)
WO (1) WO2000042734A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10061697A1 (de) * 2000-12-12 2002-06-27 Infineon Technologies Ag Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Schlüsseln
US7141822B2 (en) * 2001-02-09 2006-11-28 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and method for manufacturing the same
ITTO20010694A1 (it) * 2001-07-13 2003-01-13 Univ Roma Metodo di crittografia.
GB2391772B (en) * 2002-08-10 2005-05-11 Clive Neil Galley Public-key cryptosystem
US20050157872A1 (en) * 2003-11-12 2005-07-21 Takatoshi Ono RSA public key generation apparatus, RSA decryption apparatus, and RSA signature apparatus
US7844051B2 (en) * 2004-11-11 2010-11-30 Certicom Corp. Trapdoor one-way functions on elliptic curves and their application to shorter signatures and asymmetric encryption
FR2879866B1 (fr) * 2004-12-22 2007-07-20 Sagem Procede et dispositif d'execution d'un calcul cryptographique
JP4758110B2 (ja) * 2005-02-18 2011-08-24 株式会社エヌ・ティ・ティ・ドコモ 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
US7774607B2 (en) * 2006-12-18 2010-08-10 Microsoft Corporation Fast RSA signature verification
US8903090B2 (en) * 2008-04-29 2014-12-02 International Business Machines Corporation Securely classifying data
US8170216B2 (en) * 2008-06-18 2012-05-01 Apple Inc. Techniques for validating and sharing secrets
US8630422B2 (en) * 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US8861716B2 (en) 2010-03-30 2014-10-14 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
US8565435B2 (en) 2010-08-16 2013-10-22 International Business Machines Corporation Efficient implementation of fully homomorphic encryption
US9083526B2 (en) 2011-04-29 2015-07-14 International Business Machines Corporation Fully homomorphic encryption
US9281941B2 (en) 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
JP5965873B2 (ja) * 2013-08-29 2016-08-10 日本電信電話株式会社 暗号文生成装置、暗号文生成方法およびプログラム
CN103701586A (zh) * 2013-11-07 2014-04-02 金硕澳门离岸商业服务有限公司 获取密钥的方法和装置
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10690904B2 (en) 2016-04-12 2020-06-23 Stryker Corporation Multiple imaging modality light source
US20190318118A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Secure encrypted document retrieval
US10289816B1 (en) 2018-06-08 2019-05-14 Gsfm Llc Methods, systems, and devices for an encrypted and obfuscated algorithm in a computing environment
JP7276423B2 (ja) 2019-02-25 2023-05-18 日本電気株式会社 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置
CN111683071B (zh) * 2020-05-29 2023-02-28 百度在线网络技术(北京)有限公司 区块链的隐私数据处理方法、装置、设备以及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5199070A (en) * 1990-12-18 1993-03-30 Matsushita Electric Industrial Co., Ltd. Method for generating a public key
JPH10301491A (ja) * 1997-04-28 1998-11-13 Ibm Japan Ltd 暗号通信方法とシステム
DE69840959D1 (de) * 1997-12-17 2009-08-20 Nippon Telegraph & Telephone Verschlüsselungs- und Entschlüsselungsvorrichtungen für Kryptosysteme mit öffentlichem Schlüssel und Aufzeichnungsmedium mit darauf gespeicherten zugehörigen Verarbeitungsprogrammen.
US6345098B1 (en) * 1998-07-02 2002-02-05 International Business Machines Corporation Method, system and apparatus for improved reliability in generating secret cryptographic variables

Also Published As

Publication number Publication date
FR2788650B1 (fr) 2001-02-16
JP4137385B2 (ja) 2008-08-20
DE69935455D1 (de) 2007-04-19
US7054444B1 (en) 2006-05-30
EP1151576A1 (de) 2001-11-07
WO2000042734A1 (fr) 2000-07-20
ES2286910T3 (es) 2007-12-01
FR2788650A1 (fr) 2000-07-21
CN1338166A (zh) 2002-02-27
JP2002535878A (ja) 2002-10-22
EP1151576B1 (de) 2007-03-07
AU1390200A (en) 2000-08-01

Similar Documents

Publication Publication Date Title
DE69935455T2 (de) Kryptographisches verfahren unter verwendung eines öffentlichen und eines privaten schlüssels
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
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
DE69725659T2 (de) Verfahren und Einrichtung zur Ablage eines in einem RSA-Kryptosystem benutzten Geheimschlüssels
DE112018000215T5 (de) Sichere private Postquanten-Stream-Aggregation
DE69731025T2 (de) Verschlüsselungsverfahren, Entschlüsselungsverfahren und Beglaubigungsverfahren
DE19804054B4 (de) System zur Verifizierung von Datenkarten
DE69833334T2 (de) Verschlüsselungsgerät und -verfahren mit schneller entzifferung
DE60031304T2 (de) Verfahren zur authentifizierung von softwarebenutzern
DE69917356T2 (de) Sicherheitstechnik an einem Computernetzwerk
DE60026868T2 (de) Ein einfaches implementierungsverfahren für kryptographische primitiva mittels elementar-register-operationen
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
DE102005024725A1 (de) System und Verfahren für Chaotische Digitale Signatur, Verschlüsselung und Authentifizierung
EP1298834B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE60109805T2 (de) Verfahren und system zur benützung eines ungesicherten krypto-beschleunigers
EP1891512B1 (de) Bestimmung einer modularen inversen
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
DE60025401T2 (de) Erzeugung eines mathematischen eingeschränkten schlüssels unter verwendung einer einwegfunktion
DE112012000971B4 (de) Datenverschlüsselung
EP3304802A1 (de) Verfahren zur sicherstellung der informationssicherheit von über einen datenbus übertragenen daten sowie datenbussystem
DE60311507T2 (de) Verfahren zur elliptische-kurven-verschlüsselung
DE60117813T2 (de) Verfahren und Vorrichtung zur Speicherung und wiedergewinnung eones Privaten Kryptoschlüssels
EP1116357B1 (de) Verfahren zur sicheren verteilten generierung eines chiffrierschlüssels
EP0958676B1 (de) Verfahren zum generieren einer digitalen signatur und verfahren zur überprüfung der signatur
DE69821091T2 (de) Kryptographische vorrichtung mit verschlüsselungs und entschlüsselungssystem und schlüsselhinterlegungssystem

Legal Events

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

Ref document number: 1151576

Country of ref document: EP

Representative=s name: HOFFMANN - EITLE, DE