DE69935469T2 - Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung - Google Patents

Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung Download PDF

Info

Publication number
DE69935469T2
DE69935469T2 DE69935469T DE69935469T DE69935469T2 DE 69935469 T2 DE69935469 T2 DE 69935469T2 DE 69935469 T DE69935469 T DE 69935469T DE 69935469 T DE69935469 T DE 69935469T DE 69935469 T2 DE69935469 T2 DE 69935469T2
Authority
DE
Germany
Prior art keywords
mod
authenticator
given
private key
modulo
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
DE69935469T
Other languages
English (en)
Other versions
DE69935469D1 (de
Inventor
Tsuyoshi Shinjuku-ku Takagi
Shozo Shinjuku-ku Naito
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of DE69935469D1 publication Critical patent/DE69935469D1/de
Publication of DE69935469T2 publication Critical patent/DE69935469T2/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
    • 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/3236Cryptographic 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 using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Schema zur schnellen Verwirklichung von Verschlüsselung, Entschlüsselung und Authentifizierung, das für ein Datenverbergen und ein Kommunizieren einer individuellen Authentifizierung bei Kommunikationen für ein digitales Fernsehen, ein Pay-per-View-System des Satellitenrundfunks, eine Schlüsselverteilung bei der Informationsverteilung, elektronischer Post, elektronischen Transaktionen, etc. geeignet ist.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • In jüngerer Zeit sind auf dem Gebiet der Kommunikation verschiedene Typen von kryptografischen Techniken vorgeschlagen worden, weil die kryptografische Technik wirksam zum Schutz von Vertraulichkeit zwischen kommunizierenden Parteien, wie etwa dem Verbergen einer zu übertragenden Information, verwendet werden kann. Das Betriebsverhalten einer derartigen kryptografischen Technik kann hinsichtlich des Sicherheitsniveaus des Kryptosystems und der Geschwindigkeit der Verschlüsselung/Entschlüsselung evaluiert werden. Es ist nämlich das Kryptosystem, für welches das Sicherheitsniveau hoch ist, und die Verschlüsselungs-/Entschlüsselungsgeschwindigkeit hoch ist, ein überlegenes Kryptosystem.
  • Unter derartigen kryptografischen Techniken ist ein Typ eines Kryptosystems mit öffentlichem Schlüssel vorhanden, das die Modularexponentenberechnungen, bekannt als RSA-(Rivest Shamir Adleman)-Kryptosystem, das bereits in praktischem Gebrauch ist. Bei diesem RSA-Kryptosystem ist gezeigt worden, dass der Klartext aus dem Chiffretext erhalten werden kann, wenn die Primfaktorisierung des öffentlichen Schlüssels ausgeführt werden kann (siehe R. Rivest, A. Shamir und L. Adleman; "A method for obtaining digital signatures and public-key cryptosystems", Comm. ACM, Band 21, Nr. 2, Seiten 120–126 (1978)).
  • Das Kryptosystem mit öffentlichem Schlüssel, wie etwa das RSA-Kryptosystem, weist seine Sicherheit, basiert auf der Berechnungsschwierigkeit zum Erhalten des privaten Schlüssels aus dem öffentlichen Schlüssel, der eine öffentlich offenbarte Information ist, auf, so dass das Sicherheitsniveau so weit erhöht werden kann, wenn eine Größe des öffentlichen Schlüssels erhöht wird. Andererseits geht das RSA-Kryptosystem mit einem Nachteil dahingehend einher, dass es einen beträchtlichen Zeitbetrag zur Verschlüsselung/Entschlüsselung benötigt, weil es Modularexponentenberechnungen höheren Grades ausführt und deswegen die erforderliche Menge von Berechnungen groß ist.
  • Die Verschlüsselung/Entschlüsselung kann durch ein Verringern des Grads der Modularexponentenberechnungen beispielsweise schneller ausgeführt werden, aber dies wird die Verringerung der Größe des öffentlichen Schlüssels erfordern, und dies führt wiederum zu einem Absenken der Kryptosystemsicherheit.
  • Im Folgenden wird das RSA-Kryptosystem im weiteren Detail beschrieben werden.
  • Zunächst werden wechselseitig unterschiedliche, beliebige Bringzahlen p und q als der erste private Schlüssel eingestellt, und der erste öffentliche Schlüssel n wird erhalten zu n = pq während das kleinste gemeinsame Vielfache L von (p – 1) und (q – 1) erhalten wird als L = 1cm(p – 1, q – 1).
  • Dann wird eine beliebige Ganzzahl e als der zweite öffentliche Schlüssel eingestellt, und der zweite private Schlüssel d, der gegeben ist durch ed ≡ 1(mod L)wird erhalten unter Verwendung des Euclidischen Teilungsalgorithmus.
  • Dann können ein Klartext M und sein Chiffretext C wie folgt ausgedrückt werden: C ≡ Me(mod n), M ≡ Cd(mod n).
  • Hier kann der Wert des zweiten öffentlichen Schlüssels e beispielsweise ziemlich klein wie 13 sein, so dass die Verschlüsselungsverarbeitung sehr schnell ausgeführt werden kann, aber der Wert des zweiten privaten Schlüssels d weist eine Größe nahezu gleich n auf, so dass die Entschlüsselungsverarbeitung ziemlich langsam sein wird.
  • Andererseits ist die Verarbeitungsmenge der Modularexponentenberechnungen proportional zu der dritten Potenz der Größe einer Zahl, so dass unter Verwendung dieser Eigenschaft der chinesische Restsatz verwendet werden kann, um die Entschlüsselungsverarbeitung schneller auszuführen.
  • Die Entschlüsselungsverarbeitung unter Verwendung des chinesischen Restsatzes schreitet fort wie folgt. dp ≡ d(mod p – 1), dq ≡ d(mod q – 1), uq ≡ 1(mod p), Mp ≡ Cdp(mod p), Mq ≡ Cdq(mod q), M ≡ ((Mp – Mq)u(mod p)) q + Mq,wobei u eine Inverse von q modulo p ist.
  • Hier ist die Größe von jeweils p, q, dp und dq eine Hälfte der Größe von n, so dass die Modularexponentenberechnungen Modul P oder q acht Mal schneller verarbeitet werden können, und folglich kann die Entschlüsselungsverarbeitung als Ganzes vier Mal schneller ausgeführt werden.
  • Ferner kann das RSA-Kryptosystem auf einfache Weise kryptoanalysiert werden, wenn die Primfaktorisierung von n ausgeführt werden kann. Gegenwärtig schließen die potentiell bedrohlichen Primfaktorisierungs-Algorithmen das Number-Field-Sieve-Verfahren und das elliptische Kurvenverfahren ein.
  • Die erforderliche Menge von Berechnungen ist eine unter-exponentiale Ordnung der Größe von n in dem Number-Field-Sieve-Verfahren und eine unter-exponentiale Ordnung der Größe einer Primzahl in dem elliptischen Kurvenverfahren. Das elliptische Kurvenverfahren ist praktisch nicht ein Problem wegen seiner Berechnungen höherer Ordnung und größerer Koeffizienten. Andererseits weist das Number-Field-Sieve-Verfahren eine Aufzeichnung für die Primfaktorisierung der größten, so weit verwirklichten Anzahl auf, die ungefähr 140 Dezimalberechnungen beträgt. Folglich sind Angriffe unter Verwendung dieser Verfahren in der Praxis nicht bedrohlich, wenn n etwa 1024 Bit beträgt.
  • Zusätzlich sind Fälle vorhanden, wo eine Kryptosystem-Vorrichtung mit öffentlichem Schlüssel als eine Authentifizierungsvorrichtung verwendet werden kann, indem die Berechnungen für den öffentlichen Schlüssel und den geheimen Schlüssel im Allgemeinen umgekehrt werden.
  • Die WO 90/02456 offenbart ein Verfahren, bei dem einzelne Elemente einer Gruppe von Elementen oder Einheiten unter der Steuerung eines gesicherten Elements, das als das Elternelement bezeichnet wird, mit jeweiligen einzelnen geheimen Schlüsseln zur Verwendung bei der Kryptografie mit öffentlichen Schlüsseln bereitgestellt werden können, derart, dass die Anpassung des öffentlichen Schlüssels auf einfache Weise abgeleitet und die Gruppenzugehörigkeit authentifiziert werden können. Das Elternelement richtet anfangs einen öffentlichen Schlüssel (e, N) ein, wobei N = P·Q das Produkt zweiter Primzahlen ist. Im Ansprechen auf eine Abfrage von einem Gruppenelement wählt das Elternelement zwei weitere Primzahlen R, S und kommuniziert zwei Werte, die davon abhängig sind, zu dem anfragenden Element, das zwei weitere Primzahlen T und U zur Verwendung in Verbindung mit den empfangenen Werten auswählt, um den geheimen Schlüssel des Elements einzurichten.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist deswegen eine Aufgabe der vorliegenden Erfindung, ein neues Schema für eine Verschlüsselung, eine Entschlüsselung und eine Authentifizierung bereitzustellen, das in der Lage ist, die Probleme zu überwinden, die mit dem herkömmlicherweise bekannten RSA-Kryptosystem einhergehen, wie es oben stehend beschrieben ist.
  • Spezifischer sind die Aufgaben der vorliegenden Erfindung:
    • (1) ein Verschlüsselungs-/Entschlüsselungs-Schema zu verwirklichen, das das gleiche Sicherheitsniveau, verglichen mit dem bekannten RSA-Kryptosystem, auf einem rationalen ganzzahligen Ring aufweist,
    • (2) ein Verschlüsselungs-/Entschlüsselungs-Schema zu verwirklichen, für welches die Verschlüsselungs-/Entschlüsselungsverarbeitung schneller als das herkömmliche RSA-Kryptosystem ist,
    • (3) ein Verschlüsselungs-/Entschlüsselungs-Schema zu verwirklichen, das auch als ein Authentifizierungsschema benutzt werden kann, derart, dass eine einzige Vorrichtung für sowohl die Chiffre-Kommunikationen als auch die Authentifizierung verwendet werden kann, und
    • (4) ein Authentifizierungsschema zu verwirklichen, für welches die Authentifikatorerzeugung und die Verifikation schneller als das bekannte Authentifizierungsschema auf der Grundlage des herkömmlichen RSA-Kryptosystems sind.
  • Gemäß der vorliegenden Erfindung ist ein Entschlüsselungsverfahren gemäß dem angehängten Anspruch 1, ein Authentifizierungsverfahren gemäß dem angehängten Anspruch 5, eine Entschlüsselungsvorrichtung gemäß dem angehängten Anspruch 9, ein Chiffrekommunikationssystem gemäß dem angehängten Anspruch 10, eine Authentifizierungsnachricht-Sendervorrichtung gemäß dem angehängten Anspruch 11, ein Authentifizierungssystem gemäß dem angehängten Anspruch 12 und ein Computer-verwendbares Medium gemäß den angehängten Ansprüchen 13 und 14 bereitgestellt.
  • Andere Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung offensichtlich werden, die in Verbindung mit den zugehörigen Zeichnungen zu nehmen ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • In den Zeichnungen zeigen:
  • 1 ein Blockdiagramm eines Chiffrekommunikationssystems gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 2 ein Flussdiagramm für eine Verschlüsselungsverarbeitung einer Verschlüsselungsvorrichtung in dem Chiffrekommunikationssystem der 1;
  • 3 ein Flussdiagramm für eine Entschlüsselungsverarbeitung einer Entschlüsselungsvorrichtung in dem Chiffrekommunikationssystem der 1;
  • 4 ein Blockdiagramm eines Authentifizierungssystems gemäß einer Ausführungsform der vorliegenden Erfindung; und
  • 5 ein Flussdiagramm für eine Authentifizierungsverarbeitung in dem Authentifizierungssystem der 4.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Es kann ein Verschlüsselungsverfahren bereitgestellt werden, umfassend die Schritte: Einstellen von N (≥ 2) Primzahlen p1, p2, ..., pN als einen ersten privaten Schlüssel, und ein Produkt p1 k1p2 k2 ... pN kN als einen ersten öffentlichen Schlüssel N, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind; Bestimmen eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ... pN–1 ist, unter Verwendung des ersten geheimen Schlüssels; und Erhalten eines Chiffretexts C aus einem Klartext M gemäß: C ≡ Me(mod n)unter Verwendung des ersten öffentlichen Schlüssels n und des zweiten öffentlichen Schlüssels e.
  • Gemäß einem weiteren Aspekt ist ein Entschlüsselungsverfahren zum Entschlüsseln eines Chiffretexts C, der aus einem Klartext M erhalten wird, bereitgestellt gemäß: C = Me(mod n)unter Verwendung eines ersten privaten Schlüssels, gegeben durch N (≥ 2) Primzahlen p1, p2, ..., pN, eines ersten öffentlichen Schlüssels n, gegeben durch ein Produkt p1 k1, p2 k2 ... pN kN, wobei k1, k2, ... kN beliebige Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ... pN–1 ist, wobei das Verfahren die Schritte umfasst:
    Erhalten von Residuen Mp1k1, Mp2k2, ..., MpNkN modulo p1 k1, p2 k2, ... pN KN jeweils des Klartexts M unter Verwendung der vorgegebenen Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN; und Wiedergewinnen des Klartexts M durch ein Anwenden des chinesischen Restsatzes auf die Residuen Mp1k1, Mp2k2, MpNkN.
  • Gemäß einem weiteren Aspekt kann ein Authentifizierungsverfahren zum Authentifizieren einer Authentifizierungsnachricht, die von einem Sender zu einem Empfänger gesendet wird, bereitgestellt werden, umfassend die Schritte: (a) Einstellen, auf der Senderseite, eines ersten privaten Schlüssels, gegeben durch N (≥ 2) Primzahlen p1, p2, ... pN eines ersten öffentlichen Schlüssels n, gegeben durch ein Produkt p1 k1p2 k2 ...pN kN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ... pN–1 ist; (b) Erhalten, auf der Senderseite, eines Authentifikators h(M) durch ein Zerhacken der Authentifizierungsnachricht M unter Verwendung einer Zerhackungsfunktion h; (c) Erhalten, auf der Senderseite, eines verschlüsselten Authentifikators h(C) des Authentifikators h(M) gemäß: h(M) ≡ h(C)0(mod n)durch ein Erhalten von Residuen h(C)p1k1, h(c)p2k2, ..., h(C)pNkN modulo p1 k1, p2 k2, ..., pN kN jeweils des verschlüsselten Authentifikators h(C) unter Verwendung einer vorgegebenen Schleifenberechnung bezüglich des ersten geheimen Schlüssels p1, p2, ..., pN und ein Anwenden des chinesischen Restsatzes auf die Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN; (d) Senden des verschlüsselten Authentifikators h(C) und der Authentifizierungsnachricht M von dem Sender zu dem Empfänger; (e) Erhalten, auf der Empfängerseite, eines ersten Authentifikators h(M)1 durch ein Berechnen von h(C)0(mod n) aus dem verschlüsselten Authentifikator h(C), der von dem Sender empfangen wird, unter Verwendung des zweiten öffentlichen Schlüssels e; (f) Erhalten, auf der Empfängerseite, eines zweiten Authentifikators h(M)2 durch ein Zerhacken der Authentifizierungsnachricht M, die von dem Sender empfangen wird, unter Verwendung der Zerhackungsfunktion h; und (g) Beurteilen einer Authentizität der Authentifizierungsnachricht M auf der Empfängerseite durch ein Überprüfen, ob der erste Authentifikator h(M)1 und der zweite Authentifikator h(M)2 übereinstimmen oder nicht.
  • Gemäß einem weiteren Aspekt kann eine Verschlüsselungsvorrichtung bereitgestellt werden, umfassend: eine Verschlüsselungs-/Entschlüsselungs-Schlüsselerzeugungs-Verarbeitungseinheit zum Einstellen von N (≥ 2) Primzahlen p1, p2, ..., pN als einen ersten privaten Schlüssel, und eines Produkts p1 k1, p2 k2 ... pN kN als einen ersten Schlüssel n, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, und Bestimmen eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist, unter Verwendung des ersten privaten Schlüssels, und eine Verschlüsselungs-Verarbeitungseinheit zum Erhalten eines Chiffretexts C aus einem Klartext M gemäß: C ≡ Me(mod n)unter Verwendung des ersten öffentlichen Schlüssels n des zweiten öffentlichen Schlüssels e.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist eine Entschlüsselungsvorrichtung zum Entschlüsseln eines Chiffretexts C bereitgestellt, der erhalten wird aus einem Klartext M gemäß: C ≡ Me(mod n)unter Verwendung eines ersten privaten Schlüssels, gegeben durch N (≥ 2) Primzahlen p1, p2, ..., pN, eines ersten öffentlichen Schlüssels n, gegeben durch ein Produkt p1 k1, p2 k2 ... pN KN, wobei k1, k2, ..., kN beliebige Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist, wobei die Vorrichtung umfasst: eine Berechnungsbearbeitungseinheit zum Halten von Residuen Mp1k1, Mp2k2, ..., MpNkN modulo p1 k1, p2 k2, ..., pN kN jeweils des Klartexts M unter Verwendung einer vorgegebenen Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., PN; und eine Entschlüsselungs-Verarbeitungseinheit zum Wiedergewinnen des Klartexts M durch ein Anwenden des chinesischen Restsatzes auf die Residuen Mp1k1, Mp2k2, ..., MpNkN.
  • Gemäß einem weiteren Aspekt kann ein Chiffrekommunikationssystem bereitgestellt werden, umfassend: eine Sendervorrichtung, die aufweist: eine Verschlüsselungs-/Entschlüsselungs-Erzeugungs-Verarbeitungseinheit zum Einstellen von N (≥ 2) Primzahlen p1, p2, ..., pN als einen ersten privaten Schlüssel, und eines Produkts p1 k1, p2 k2 ... pN kN als einen ersten öffentlichen Schlüssel n, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, und Bestimmen eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welcher erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist, unter Verwendung des ersten privaten Schlüssels; und eine Verschlüsselungs-Verarbeitungseinheit zum Erhalten eines Chiffretexts C aus einem Klartext M gemäß: C ≡ Me(mod n)unter Verwendung des ersten öffentlichen Schlüssels n und des zweiten öffentlichen Schlüssels e; und eine Empfängervorrichtung, die aufweist: eine Berechnungsverarbeitungseinheit zum Erhalten von Residuen Mp1k1, Mp2k2, ..., MpNkN modulo p1 k1, p2 k2 ..., pN kN jeweils des Klartexts M unter Verwendung einer vorgegebenen Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN; und eine Entschlüsselungs-Verarbeitungseinheit zum Wiedergewinnen des Klartexts M durch Anwenden des chinesischen Restsatzes auf die Residuen Mp1k1, Mp2k2, ..., MpNkN.
  • Gemäß einem weiteren Aspekt kann eine Authentifizierungsnachricht-Sendervorrichtung bereitgestellt werden, zur Verwendung beim Authentifizieren einer Authentifizierungsnachricht, die von einem Sender zu einem Empfänger gesendet wird, wobei die Vorrichtung umfasst: eine Verschlüsselungs-/Entschlüsselungs-Schlüsselerzeugungs-Verarbeitungseinheit zum Einstellen, auf der Senderseite, eines ersten privaten Schlüssels, gegeben durch N (≥ 2) Primzahlen p1, p2, ..., pN, eines ersten öffentlichen Schlüssels n, gegeben durch ein Produkt p1 k1, p2 k2 ..., pN kN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist; eine Authentifizierungsnachricht-Zerhackungs-Verarbeitungseinheit zum Erhalten, auf der Senderseite, eines Authentifikators h(M) durch Zerhacken der Authentifizierungsnachricht M unter Verwendung einer Zerhackungsfunktion h; und eine Authentifikatorverschlüsselungs-Verarbeitungseinheit zum Erhalten, auf der Senderseite, eines verschlüsselten Authentifikators h(C) des Authentifikators h(M) gemäß: h(M) ≡ h(C)e(mod n)durch ein Erhalten von Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN modulo p1 k1, p2 k2 ..., pN kN jeweils des verschlüsselten Authentifikators h(C) unter Verwendung einer vorgegebenen Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN und ein Anwenden des chinesischen Restsatzes auf die Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN und dann Senden des verschlüsselten Authentifikators h(C) und der Authentifizierungsnachricht M zu dem Empfänger.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist eine Authentifizierungsnachricht-Empfängervorrichtung zur Verwendung ein Authentifizieren einer Authentifizierungsnachricht bereitgestellt, die von einem Sender zu einem Empfänger gesendet wird, unter Verwendung eines ersten privaten Schlüssels, gegeben durch N (≥ 2) Primzahlen p1, p2, ..., pN, eines ersten öffentlichen Schlüssels n, gegeben durch ein Produkt p1 k1, p2 k2 ..., pN kN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist, wobei die Vorrichtung umfasst: eine Authentifikator-Entschlüsselungs-Verarbeitungseinheit zum Erhalten eines ersten Authentifikators h(M)1 durch ein Berechnen von h(C)e(mod n) aus einem verschlüsselten Authentifikator h(C), der von dem Sender empfangen wird, unter Verwendung des zweiten öffentlichen Schlüssels e; eine Authentifizierungsnachricht-Zerhackungs-Verarbeitungseinheit zum Erhalten eines zweiten Authentifikators h(M)2 durch ein Zerhacken einer Authentifizierungsnachricht M, die von dem Sender empfangen wird, unter Verwendung einer Zerhackungsfunktion h; und eine Authentizitätsverifikations-Verarbeitungseinheit zum Beurteilen einer Authentizität der Authentifizierungsnachricht M auf der Empfängerseite durch ein Überprüfen, ob der erste Authentifikator h(M)1 und der zweite Authentifikator h(M)2 übereinstimmen oder nicht.
  • Gemäß einem weiteren Aspekt kann ein Authentifizierungssystem zum Authentifizieren einer Authentifizierungsnachricht bereitgestellt werden, die von einem Sender zu einem Empfänger gesendet wird, wobei das System umfasst: eine Sendervorrichtung, die aufweist: eine Verschlüsselungs-/Entschlüsselungs-Schlüsselerzeugungs-Verarbeitungseinheit zum Einstellen, auf der Senderseite, eines ersten privaten Schlüssels, gegeben durch N (≥ 2) Primzahlen p1, p2, ..., pN, eines ersten öffentlichen Schlüssels n, gegeben durch ein Produkt p1 k1, p2 k2 ..., pN kN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist; eine Authentifizierungsnachricht-Zerhackungs-Verarbeitungseinheit zum Erhalten, auf der Senderseite, eines Authentifikators h(M) durch ein Zerhacken der Authentifizierungsnachricht M unter Verwendung einer Zerhackungsfunktion h; und eine Authentifikator-Verschlüsselungs-Verarbeitungseinheit zum Erhalten, auf der Senderseite, eines verschlüsselten Authentifikators h(C) des Authentifikators h(M) gemäß: h(M) ≡ h(C)e(mod n) durch ein Erhalten von Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN modulo p1 k1, p2 k2 ..., pN kN jeweils des verschlüsselten Authentifikators h(C) unter Verwendung einer vorgegebenen Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2 ..., pN, und ein Anwenden des chinesischen Restsatzes auf die Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN, und dann Senden des verschlüsselten Authentifikators h(C) und der Authentifizierungsnachricht M zu dem Empfänger; und eine Empfängervorrichtung, die aufweist: eine Authentifikator-Entschlüsselungs-Verarbeitungseinheit zum Erhalten eines ersten Authentifikators h(M)1 durch ein Berechnen von h(C)e(mod n) aus dem verschlüsselten Authentifikator h(C), der von der Senderseite empfanten wird, unter Verwendung des zweiten öffentlichen Schlüssels e; eine Authentifizierungsnachricht-Zerhackungs-Verarbeitungseinheit zum Erhalten eines zweiten Authentifikators h(M)2 durch ein Zerhacken der Authentifizierungsnachricht m, die von dem Sender empfangen wird, unter Verwendung der Zerhackungsfunktion h; und eine Authentizitätsverifikations-Verarbeitungseinheit zum Beurteilen einer Authentizität der Authentifizierungsnachricht M durch ein Überprüfen, ob der erste Authentifikator h(M)1 und der zweite Authentifikator h(M)2 übereinstimmen oder nicht.
  • Gemäß einem weiteren Aspekt kann ein Computer-verwendbares Medium bereitgestellt werden, das eine Computer-lesbare Programmcode-Einrichtung darauf enthalten aufweist, um einen Computer zu veranlassen, als eine Verschlüsselungsvorrichtung zu arbeiten, wobei die Computer-lesbare Programmcodeeinrichtung einschließt: eine erste Computerlesbare Programmcodeeinrichtung zum Herbeiführen, dass der Computer N (≥ 2) Primzahlen p1, p2 ..., pN als einen ersten privaten Schlüssel und ein Produkt p1 k1, p2 k2 ..., pN kN als einen ersten öffentlichen Schlüssel n einstellt, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, und zum Bestimmen eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist, unter Verwendung des ersten privaten Schlüssels; und eine zweite Computer-lesbare Programmcodeeinrichtung zum Herbeiführen, dass der Computer einen Chiffretext C aus einem Klartext M erhält gemäß: C ≡ Me(mod n)unter Verwendung des ersten öffentlichen Schlüssels n, des zweiten öffentlichen Schlüssels e.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Computer-verwendbares Medium bereitgestellt, das eine Computer-lesbare Programmcodeeinrichtung darauf enthalten aufweist, um einen Computer zu veranlassen, als eine Entschlüsselungsvorrichtung zum Entschlüsseln eines Chiffretexts C zu arbeiten, der aus einem Klartext M erhalten wird, gemäß: C ≡ Me(mod n)unter Verwendung eines ersten privaten Schlüssels, gegeben durch N (≥ 2) Primzahlen p1, p2 ..., pN, eines ersten öffentlichen Schlüssels n, gegeben durch ein Produkt p1 k1, p2 k2 ... pN KN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist, wobei die Computer-lesbare Programmcodeeinrichtung einschließt: eine erste Computerlesbare Programmcodeeinrichtung zum Herbeiführen, dass der Computer Residuen Mp1k1, Mp2k2, ..., MpNkN modulo p1 k1, p2 k2 ..., pN kN jeweils des Klartexts M unter Verwendung einer vorgegebenen Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN erhält, und eine zweite Computer-lesbare Programmcodeeinrichtung zum Veranlassen, dass der Computer den Klartext M unter Anwendung des chinesischen Restsatzes auf die Residuen Mp1k1, Mp2k2, ..., MpNkN wiedergewinnt.
  • Gemäß einem weiteren Aspekt kann ein Computer-verwendbares Medium bereitgestellt werden, das eine Computer-lesbare Programmcodeeinrichtung darin enthalten aufweist, um einen Computer zu veranlassen, als eine Authentifizierungsnachricht-Sendervorrichtung zur Verwendung beim Authentifizieren einer Authentifizierungsnachricht, die von einem Sender zu einem Empfänger gesendet wird, zu arbeiten, wobei die Computer-lesbare Programmcodeeinrichtung einschließt: eine erste Computer-lesbare Programmcodeeinrichtung, um zu veranlassen, dass der Computer auf der Senderseite einen ersten privaten Schlüssel, gegeben durch N (≥ 2) Primzahlen p1, p2 ..., pN, einen ersten öffentlichen Schlüssel n, gegeben durch ein Produkt p1 k1, p2 k2 ... pN kN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, einen zweiten öffentlichen Schlüssel e und einen zweiten privaten Schlüssel d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist, einstellt; eine zweite Computer-lesbare Programmcodeeinrichtung zum Veranlassen, dass der Computer auf der Senderseite einen Authentifikator h(M) durch ein Zerhacken der Authentifizierungsnachricht M unter Verwendung einer Zerhackungsfunktion h erhält; und eine dritte Computerlesbare Programmcodeeinrichtung zum Herbeiführen, dass der Computer auf der Senderseite einen verschlüsselten Authentifikator h(C) des Authentifikators h(M) erhält, gemäß: h(M) ≡ h(C)e(mod n)durch ein Erhalten von Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN modulo p1 k1, p2 k2 ..., pN kN jeweils des verschlüsselten Authentifikators h(C) unter Verwendung einer vorgegebenen Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2 ..., pN und ein Anwenden des chinesischen Restsatzes auf die Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN, und dann zum Senden des verschlüsselten Authentifikators h(C) und der Authentifizierungsnachricht M zu dem Empfänger.
  • Gemäß einem weiteren Aspekt kann ein Computer-verwendbares Medium bereitgestellt werden, das eine Computer-lesbare Programmcodeeinrichtung darin enthalten aufweist, um einen Computer zu veranlassen, als eine Authentifizierungsnachricht-Empfängervorrichtung zur Verwendung beim Authentifizieren einer Authentifizierungsnachricht, die von einem Sender zu einem Empfänger gesendet wird, unter Verwendung eines ersten privaten Schlüssels, gegeben durch N (≥ 2) Primzahlen p1, p2, ..., pN, eines ersten öffentlichen Schlüssels n, gegeben durch ein Produkt p1 k1, p2 k2 ..., pN kN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, welche erfüllen: ed ≡ 1(mod L)wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist, zu arbeiten, wobei die Computer-lesbare Programmcodeeinrichtung einschließt: eine erste Computerlesbare Programmcodeeinrichtung zum Veranlassen, dass der Computer einen ersten Authentifikator h(M)1 durch ein Berechnen von h(C)e(mod n) aus einem verschlüsselten Authentifikator h(C), der von dem Sender empfangen wird, unter Verwendung des zweiten öffentlichen Schlüssels e zu erhalten; eine zweite Computer-lesbare Programmcodeeinrichtung zum Veranlassen, dass der Computer einen zweiten Authentifikator h(M)2 durch ein Zerhacken einer Authentifizierungsnachricht M, die von dem Sender empfangen wird, unter Verwendung einer Zerhackungsfunktion h zu erhalten; und eine dritte Computer-lesbare Programmcodeeinrichtung zum Veranlassen, dass der Computer eine Authentizität der Authentifizierungsnachricht M auf der Empfängerseite durch ein Überprüfen beurteilt, ob der erste Authentifikator h(M)1 und der zweite Authentifikator h(M)2 übereinstimmen oder nicht.
  • Unter Bezugnahme nun auf 1 bis 4 wird eine Ausführungsform des Schemas zur Verschlüsselung, Entschlüsselung und Authentifizierung gemäß der vorliegenden Erfindung im Detail beschrieben werden.
  • Es sei darauf hingewiesen, dass das Verschlüsselungs-/Entschlüsselungsschema der vorliegenden Erfindung unter Verwendung von n = p1 k1p2 k2 ... pN kN im Allgemeinen zu verwirklichen ist, wie untenstehend beschrieben werden wird, aber der praktischere beispielhafte Fall eines Verwendens von n ≡ p1 k1p2 wird zunächst beschrieben werden. Im Folgenden entspricht ein Ausdruck "pkq" einen speziellen Fall des allgemeinen Ausdrucks p1 k1p2 k2 .., pN kN (wobei p1, p2, ..., pN N (≥ 2) Primzahlen sind) mit N = 2, p1 = p, p2 = q, k1 = k und k2 = 1.
  • 1 zeigt eine Gesamtkonfiguration eines Chiffrekommunikationssystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Das Chiffre-Kommunikationssystem der 1 umfasst allgemein eine Verschlüsselungsvorrichtung 10 und eine Entschlüsselungsvorrichtung 19, die über einen Kommunikationspfad 14 verbunden sind. Die Verschlüsselungsvorrichtung 10 weist eine Verschlüsselungsverarbeitungseinheit 13 zum Erhalten eines Chiffretexts C aus einem Klartext M, der als ihr Eingang vorgegeben wird, und zum Senden des erhaltenen Chiffretexts C zu der Entschlüsselungsvorrichtung 19 über den Kommunikationspfad 14 auf. Die Entschlüsselungsvorrichtung 19 weist eine Entschlüsselungs-Verarbeitungseinheit 15 zum Wiedergewinnen des Klartexts M aus dem Chiffretext C, der durch die Verschlüsselungs-Verarbeitungseinheit 13 gesendet wurde, und zum Ausgeben des erhaltenen Klartexts M als ihr Ausgang auf. Diese Entschlüsselungs-Verarbeitungseinheit 15 enthält eine Schleifenberechnungs Verarbeitungseinheit 17.
  • Zusätzlich weist die Verschlüsselungsvorrichtung 10 auch eine Verschlüsselungs-/Entschlüsselungs-Schlüsselerzeugungs-Verarbeitungseinheit 11, die mit sowohl der Verschlüsselungs-Verarbeitungseinheit 13 als auch der Entschlüsselungs-Verarbeitungseinheit 15 verbunden ist, zum Zuführen des ersten öffentlichen Schlüssels n und des zweiten öffentlichen Schlüssels e zu der Verschlüsselungs-Verarbeitungseinheit 13 auf, während der erste private Schlüssel p, q, der zweite private Schlüssel d, eine beliebige positive Ganzzahl k, der erste öffentliche Schlüssel n und der zweite öffentliche Schlüssel e zu der Entschlüsselungs-Verarbeitungseinheit 15 zugeführt werden.
  • Als nächstes wird der Betrieb der Verschlüsselungsvorrichtung 10 im Detail unter Bezugnahme auf 2 beschrieben werden.
  • Zunächst werden die Verschlüsselungs-/Entschlüsselungs-Schlüssel in der Verschlüsselungs-/Entschlüsselungs-Erzeugungs-Verarbeitungseinheit 11 wie folgt erzeugt (Schritt S101).
  • Hier ist der erste private Schlüssel durch zwei rationale Primzahlen p und q vorzugeben, und der erste öffentliche Schlüssel ist durch ihr Produkt, d.h. n = pkq vorzugeben.
  • Ferner wird unter Verwendung der Funktion 1 cm zum Erhalten des kleinsten gemeinsamen Vielfachen L, gegeben durch: L = 1cm(p – 1, q – 1)aus dem ersten privaten Schlüssel p und q erhalten.
  • Als nächstes werden e und d, welche erfüllen: ed ≡ 1(mod L)erhalten. Dann werden die Residuen dp und dq der erhaltenen d modulo (p – 1) und (q – 1) jeweils erhalten zu: dp := d(mod p – 1) dq := d(mod q – 1)wobei ein Symbol ":=" den Betrieb bezeichnet, die rechte Seite zu berechnen und diese in die linke Seite zu substituieren, und ein Satz von drei Zahlen d, dp und dq wird als der zweite private Schlüssel eingestellt, während e als der zweite öffentliche Schlüssel eingestellt wird. Auf diese Weise werden der erste öffentliche Schlüssel n, der zweite öffentliche Schlüssel e, der erste private Schlüssel p, q und der zweite private Schlüssel d, dp und dq eingerichtet.
  • Dann wird der Chiffretext C in der Verschlüsselungsverarbeitungseinheit 13 wie folgt erhalten (Schritt S102).
  • Die Verschlüsselungs-Verarbeitungseinheit 13 verschlüsselt den Klartext M unter Verwendung des ersten öffentlichen Schlüssels n des zweiten öffentlichen Schlüssels e gemäß der Formel: C ≡ Me(mod n) und überträgt den erhaltenen Chiffretext C zu der Empfangsseite.
  • Als nächstes wird der Betrieb der Entschlüsselungsvorrichtung 19 im Detail unter Bezugnahme auf 3 beschrieben werden.
  • Die Entschlüsselungs-Verarbeitungseinheit 15 erhält den Klartext M als einen Ausgang aus dem Chiffretext C, der von der Verschlüsselungs-Verarbeitungseinheit 13 über den Kommunikationspfad eingegeben ist, den ersten privaten Schlüssel p, q, den zweiten privaten Schlüssel d, den zweiten öffentlichen Schlüssel e und die beliebige positive Ganzzahl k, die von der Verschlüsselungs-/Entschlüsselungs-Schlüsselerzeugungs-Verarbeitungseinheit 11 eingegeben werden, durch ein Ausführen der folgenden Substitutions-Berechnungsverarbeitung, wobei ein Symbol ":=" den Betrieb bezeichnet, die rechte Seite zu berechnen und diese in die linke Seite zu substituieren.
  • (Schritt S201) Die Werte dp und dq des zweiten privaten Schlüssels d modulo p – 1 und q – 1 werden jeweils wie folgt erhalten. dp := d(mod p – 1), dq := d(mod q – 1).
  • Es sei darauf hingewiesen, dass kein Erfordernis besteht, diese d(mod p – 1) und d(mod q – 1) bei jeder Gelegenheit der Verschlüsselung/Entschlüsselung zu berechnen, und es genügt, diese einmal im Voraus als den privaten Schlüssel zu erzeugen. In einem derartigen Fall wird d nur in der Zwischenstufe zum Erzeugen dieser d(mod p – 1) und d(mod q – 1) notwendig sein.
  • (Schritt S202) Die Residuen K0, Mq des Klartexts M modulo p und q werden jeweils aus dem Chiffretext C wie folgt erhalten. K0 := Cdp(mod p), Mq := Cdq(mod q).
  • (Schritt S203) Das Residuum Mpk des Klartexts M modulo pk wird durch ein Ausführen der folgenden Schleifenberechnung gemäß dem schnellen Entschlüsselungsalgorithmus erhalten, der in T. Takagi, "Fast RSA-type cryptosystem using n-adic expansion", Advances in Cryptology – CRYPTO'97, LNCS 1294, Seiten 372–384 und in der U.S.-Patentanmeldung Nr. 08/907,852 der gleichen Erfinder offenbart, in der Schleifenberechnungs-Verarbeitungseinheit 17. A = K; für i = 1 bis (k – 1) doBeginn Fi := (A)i–1 e)(mod pi+1); Ei := (C – Fi)(mod pi+1); Bi := Ei/pi in Z; Ki := ((eFi)–1 Ai-1 Bi)(mod p); Ai := Ai–1 + piKi in Z;Ende Mpk := Ak–1.
  • (Schritt S204) Das Residuum des Klartexts M bezüglich einer zusammengesetzten Zahl n wird durch ein Anwenden des chinesischen Restsatzes auf die Residuen Mpk und Mq erhalten, um so die Entschlüsselung zu vervollständigen.
  • Spezifischer kann der chinesische Restsatz durch die folgende Berechnung angewandt werden. q1 := q–1(mod pk); v1 := ((Mpk – Mq)q1)(mod pk); M := (Mq + qv1)
  • Alternativ kann der chinesische Restsatz auch durch die folgende Berechnung angewandt werden. p1 := (pk)–1(mod q); v1 := = ((Mq – Mpk) p1)(mod q); M := (Mpk + pkv1).
  • Alternativ kann der chinesische Restsatz auch durch die folgende Berechnung angewandt werden. p1 := (pk)–1(mod q); q1 := q–1(mod pk); M := (q1qMpk + p1pkMq)(mod pkq).
  • Als nächstes werden die Funktionen der jeweiligen Verarbeitungseinheiten in dem Chiffrekommunikationssystem der 1 zusammen mit ihrer Verarbeitungsprozedur beschrieben werden.
  • Zunächst werden als die erste Stufe in der Verschlüsselungs-/Entschlüsselungs-Schlüsselerzeugungs-Verarbeitungseinheit 11 zwei Primzahlen p und q, die der erste private Schlüssel sein sollen, erzeugt, und das Produkt n = pkq dieser zwei Primzahlen p und q wird als der erste öffentliche Schlüssel erhalten. Hier ist k eine beliebige Ganzzahl, die durch ein Berücksichtigen des Sicherheitsniveaus unter Verarbeitungsgeschwindigkeit auszuwählen ist. Ferner können, wie aus der Formel n = pkq für den ersten öffentlichen Schlüssel n ersehen werden kann, die Größen von p und q klein ausgeführt werden, wenn k für eine konstante Größe (die Anzahl von Stellen beispielsweise) von n größer ist, und die Primfaktorisierung wird viel einfacher (d.h. es wird einfacher, die Werte von p und q zu lernen), so dass das Sicherheitsniveau dieses Kryptosystems niedriger wird.
  • Als nächstes wird das kleinste gemeinsame Vielfache L aus diesen zwei Primzahlen p und q berechnet, und der zweite öffentliche Schlüssel e und der zweite private Schlüssel d werden gemäß ed ≡ 1(mod L) erzeugt. Diese Berechnung des kleinsten gemeinsamen Vielfachen L kann durch zunächst ein Erhalten des größten gemeinsamen Teilers unter Verwendung des erweiterten Euclidischen Teilungsalgorithmus und dann durch ein Multiplizieren der verbleibenden Faktoren erhalten werden, um das kleinste gemeinsame Vielfache zu erhalten.
  • Es sei darauf hingewiesen, dass das Paar von e und d zu diesem Zeitpunkt eindeutig aus ed ≡ 1(mod L) bestimmt ist. Obwohl es jedwedes Paar, das diese Bedingung erfüllt, im Prinzip sein kann, ist der zweite öffentliche Schlüssel e üblicherweise eingestellt, ein kleinerer Wert zu sein, um die Verschlüsselung schneller auszuführen. Aus diesem Grund wird der zweite private Schlüssel d eine deutlich große Zahl, so dass die Entschlüsselungsverarbeitung langsam wird, wenn das herkömmliche Schema eingesetzt wird. Es sei darauf hingewiesen, dass der zweite öffentliche Schlüssel e und der zweite private Schlüssel d in einer Beziehung und inversen Zahlen modulo L sind, so dass der zweite private Schlüssel d erhalten werden kann, wenn der zweite öffentliche Schlüssel e und das kleinste gemeinsame Vielfache L bekannt sind.
  • Als nächstes wird als die zweite Stufe in der Verschlüsselungs-Verarbeitungseinheit 13 die Verschlüsselung gemäß der Formel: C ≡ Me(mod n)unter Verwendung des zweiten öffentlichen Schlüssels e der Empfangsseite ausgeführt, und der Chiffretext C wird zu der Empfangsseite übertragen.
  • Dann werden, als die dritte Stufe, in der Entschlüsselungs-Verarbeitungseinheit 15, Mpk ≡ M(mod pk) und Mq ≡ Cdq(mod q) unter Verwendung des zuvor erwähnten schnellen Entschlüsselungsalgorithmus erhalten, und der chinesische Restsatz wird auf diese beiden Zahlen angewandt. Gemäß dem chinesischen Restsatz kann, wenn die Residuen einer unbekannten Zahl für mehrfache Moduli bekannt sind, die unbekannte Zahl (Lösung) modulo ein Produkt dieser mehrfachen Moduli eindeutig erhalten werden, so dass M wieder gewonnen werden kann.
  • Nun werden konkrete Beispiele der Verschlüsselung gemäß dieser Ausführungsform beschrieben werden.
  • Zunächst kann der beispielhafte Fall von k = 2 wie folgt zusammengefasst werden.
    Öffentlicher Schlüssel e = 5
    Öffentlicher Schlüssel n = 40270132689707
    Privater Schlüssel d = 234982541
    Privater Schlüssel p = 34273
    Privater Schlüssel q = 34283
    Klartext M = 1234567890
    Chiffretext C: 10229049760163
    A = K0 = 20157
    Mq = 2777
    K1 = 1748
    Mp = A + pK1 = 59929361
    Klartext M = 1234567890
  • In diesem Fall ist der Wert jedes des ersten privaten Schlüssels p und q ungefähr n1/(k+1), und das kleinste gemeinsame Vielfache L ist ungefähr n1/(k+1), was kleiner als das RSA-Kryptosystem ist, so dass es zu der Verwirklichung der schnelleren Verschlüsselung/Entschlüsselung beitragen kann.
  • Spezifischer ist die Berechnungszeit für Cd mod n 0((log n)2(log d)), während die Berechnungszeit für Cd mod p und Cd mod q 0(1/3 log n)2(2/3 log n) ist. Somit ist die Gesamtverarbeitungszeit 0,148 mal jener des RSA-Kryptosystems, und es ist etwas über dreimal schneller als das Quisquater-Couvreur-Schema, das den chinesischen Restsatz benutzt (der die Berechnungszeit von 0(1/2 log n)2(1 log n) aufweist).
  • Als nächstes kann der beispielhafte Fall von k = 3 wie folgt zusammengefasst werden.
    Öffentlicher Schlüssel e = 5
    Öffentlicher Schlüssel n = 627252701350243
    Privater Schlüssel d = 7515005
    Privater Schlüssel p = 5003
    Privater Schlüssel q = 5009
    Klartext M = 123456789012345
    Chiffretext C: 287551735059915
    A = K∅p = 1732
    Mq = 3412
    K1p = 4821
    A1 = 24121195
    K2p = 4395
    Mp2 = A2 = A1 + p2K2 = 110031010750
    Klartext M = 123456789012345
  • Es sollte offensichtlich sein, dass das oben beschriebene Verschlüsselungs-/Entschlüsselungs-Schema auch auf dem Fall eines Verwendens von drei Primzahlen p1 = p1, p2 = q und p3 = r als der erste private Schlüssel und ein Produkt pkqlrm, wobei k = k1, l = k2 und m = k3 ist, als der erste öffentliche Schlüssel n anwendbar ist.
  • In diesem Fall kann die Entschlüsselung durch zunächst ein Erhalten von K p, K q und K r modulo p, q und r jeweils durch ganzzahlige Modularexponentenberechnungen von: K p := Cdp(mod p); K q := Cdq(mod q); K∅r := Cdr(mod r);wobei: dp := d(mod p – 1); dq := d(mod q – 1); dr := d(mod r – 1);als nächstes ein Erhalten der Residuen Mpk, Mql und Mrm modulo pk, ql und rm, durch ein Anwenden der Schleifenberechnung auf K p, K q und K r und dann ein Anwenden des chinesischen Restsatzes auf die Residuen Mpk, Mql und Mrm verwirklicht werden.
  • Es sollte auch offensichtlich sein, dass das Verschlüsselungs/Entschlüsselungs-Schema, das oben stehend beschrieben ist, für den Fall eines Verwendens von N (≥ 2) Primzahlen p1, p2, ..., pN als ein erster privater Schlüssel und eines Produkts p1 k1p2 k2 ... pN kN als ein erster öffentlicher Schlüssel n, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, ein zweiter öffentlicher Schlüssel e und ein zweiter privater Schlüssel d, welche erfüllen: ed ≡ 1(mod L)verallgemeinert werden kann, wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist.
  • In diesem allgemeinen Fall kann ein Chiffretext C aus einem Klartext M gemäß: C ≡ Me(mod n)unter Verwendung des ersten öffentlichen Schlüssels n und des zweiten öffentlichen Schlüssels e, die oben stehend definiert sind, erhalten werden.
  • Auch in diesem Fall kann die Entschlüsselung durch zunächst ein Erhalten der Residuen Mp1k1, Mp2k2, ..., MpNkN modulo p1 k1, p2 k2 ..., pN kN jeweils des Klartexts M unter Verwendung der Schleifenberechnung des zuvor erwähnten schnellen Entschlüsselungsalgorithmus bezüglich des ersten privaten Schlüssels p1, p2, ..., pN und dann ein Anwenden des chinesischen Restsatzes auf die Residuen Mp1k1, Mp2k2, ..., MpNkN verwirklicht werden.
  • Als nächstes zeigt 4 eine Gesamtkonfiguration eines Authentifizierungssystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Das Authentifizierungssystem der 4 umfasst allgemein eine Sendervorrichtung 20 und eine Empfängervorrichtung 33, die über einen Kommunikationspfad 26 verbunden sind. Die Sendervorrichtung 20 weist eine Authentifizierungsnachricht-Zerhackungs-Verarbeitungseinheit 23 zum Ausgeben eines Authentifikators h(M) durch ein Anwenden einer Zerhackungsverarbeitung auf eine Eingabe-Authentifizierungsnachricht (Klartext) M und eine Authentifikator-Verschlüsselungs-Verarbeitungseinheit 25 zum Verschlüsseln des Authentifikators h(M), der aus der Authentifizierungsnachricht-Zerhackungs-Verarbeitungseinheit 23 ausgegeben wird, und zum Übertragen des erhaltenen verschlüsselten Authentifikators h(C) über einen Kommunikationspfad 26 auf.
  • Die Empfängervorrichtung 33 weist eine Authentifikator-Entschlüsselungs-Verarbeitungseinheit 27 zum Erhalten eines ersten Authentifikators h(M)1 aus dem verschlüsselten Authentifikator h(C) und eine Authentifizierungsnachricht-Zerhackungs-Verarbeitungseinheit 29 zum Erhalten eines zweiten Authentifikators h(M)2 aus der Authentifizierungsnachricht M, wobei beide mit der Authentifizierungs-Verschlüsselungs-Verarbeitungseinheit 25 über den Kommunikationspfad 26 verbunden sind, und eine Authentizitätsverifikations-Verarbeitungseinheit 31 zum Verifizieren einer Authentizität der Authentifizierungsnachricht M auf, die mit der Authentifikator-Entschlüsselungs-Verarbeitungseinheit 27 und der Authentifizierungsnachricht-Zerhackungs-Verarbeitungseinheit 29 verbunden ist.
  • Zusätzlich weist die Sendervorrichtung 20 auch eine Authentifizierungs-Verschlüsselungs-/Entschlüsselungs-Schlüsselerzeugungs-Verarbeitungseinheit 21 zum Ausgeben von Authentifizierungs-Verschlüsselungs-/Entschlüsselungs-Schlüsseln zu der Authentifikator-Verschlüsselungs-Verarbeitungseinheit 25 bzw. der Authentifikator-Entschlüsselungs-Verarbeitungseinheit 27 auf.
  • Dieses Authentifizierungssystem der 4 verwirklicht das Authentifizierungssyhema, in welchem eine Person, die es wünscht, die eigene Authentifizierungsnachricht authentifiziert zu haben, zu der Empfangsseite einen Authentifikator senden wird, der durch ein Verschlüsseln der Authentifizierungsnachricht unter Verwendung des eigenen privaten Schlüssels erzeugt wird.
  • Nun werden die Betriebsschritte der jeweiligen Verarbeitungseinheiten in dem Authentifizierungssystem der 4 zusammen mit ihrer Verarbeitungsprozedur unter Bezugnahme auf 5 beschrieben werden.
  • Zunächst werden als die erste Stufe (Schritt S301) in der Authentifizierungs-Verschlüsselungs-/Entschlüsselungs-Schlüsselerzeugungs-Verarbeitungseinheit 21 zwei Primzahlen p und q, die der erste private Schlüssel sein sollen, erzeugt, und das Produkt n = pkq dieser zwei Primzahlen p und q wird als der erste öffentliche Schlüssel erhalten. Hier ist k eine beliebige Ganzzahl, die auszuwählen ist, indem das Sicherheitsniveau und die Verarbeitungsgeschwindigkeit berücksichtigt werden. Ferner können, wie aus der Formel n = pkq für den ersten öffentlichen Schlüssel n ersehen werden kann, die Größen von p und q kleiner ausgeführt werden, wenn k größer ist, für eine konstante Größe (die Anzahl von Schwellen beispielsweise) von n, und die Primfaktorisierung wird viel einfacher (d.h. es wird einfacher, die Werte von p und q zu lernen), so dass das Sicherheitsniveau dieses Kryptosystems niedriger wird. Dann wird das kleinste gemeinsame Vielfache L aus diesen zwei Primzahlen p und q berechnet, und der zweite öffentliche Schlüssel e und der zweite private Schlüssel d werden gemäß ed ≡ 1(mod L) erzeugt.
  • Als nächstes wird als die zweite Stufe (Schritt S302) in der Authentifizierungsnachricht-Zerhackungs-Verarbeitungseinheit 23 die Klartext-Authentifizierungsnachricht M unter Verwendung der Zerhackungsfunktion h zerhackt, um den Authentifikator h(M) zu erhalten, wobei angenommen wird, dass 0 ≤ h(M) < n. Hier wird die Zerhackungsfunktion verwendet, um die Nachrichtenlänge zu verkürzen. Beispielsweise extrahiert die Zerhackungsverarbeitung mehrere Zeichen aus dem oberen Teil der Nachricht. Ferner muss ein bestimmtes Niveau der Verwürfelungsfunktion bereitgestellt werden. Es sei darauf hingewiesen, dass die gleiche Zerhackungsfunktion auf der Sendeseite und der Empfangsseite zu verwenden ist.
  • Als nächstes wird als die dritte Stufe (Schritt S303) in der Authentifikator-Verschlüsselungs-Verarbeitungseinheit 25 der verschlüsselte Authentifikator h(C) durch die Technik des zuvor erwähnten schnellen Entschlüsselungsalgorithmus unter Verwendung des ersten öffentlichen Schlüssels n und des zweiten privaten Schlüssels d der Sendeseite berechnet. Es sei darauf hingewiesen, dass bei der Authentifizierung die Entschlüsselungsverarbeitung und die Verschlüsselungsverarbeitung vollständig umgekehrt gegenüber dem Fall des Verschlüsselungs-/Entschlüsselungs-Schemas, das oben stehend beschrieben ist, wird, so dass die Berechnung des verschlüsselten Authentifikators h(C) schneller unter Verendung des chinesischen Restsatzes verarbeitet werden kann.
  • Nach dieser Berechnungsverarbeitung wird der Satz des verschlüsselten Authentifikators h(C) und der Authentifizierungsnachricht M zu der Empfangsseite über den Kommunikationspfad übertragen.
  • Als nächstes entschlüsselt als die vierte Stufe (Schritt S304) in der Authentifikator-Entschlüsselungs-Verarbeitungseinheit 27 die Empfangsseite den verschlüsselten Authentifikator h(C) durch ein Berechnen von: h(M) : ≡ h(C)e(mod n)unter Verwendung des zweiten öffentlichen Schlüssels e der Sendeseite, um so den ersten Authentifikator h(M)1 zu erhalten.
  • Als nächstes zerhackt als die fünfte Stufe (Schritt S305) in der Authentifizierungsnachricht-Zerhackungs-Verarbeitungseinheit 29 die Empfangsseite die Authentifizierungsnachricht M unter Verwendung der Zerhackungsfunktion h, um so den zweiten Authentifikator h(M)2 zu erhalten.
  • Dann wird als die sechste Stufe (Schritt S306) in der Authenzitätsverifikations-Verarbeitungseinheit 31 die Authentizität der Authentifikationsnachricht gemäß dem beurteilt, ob der erste Authentifikator h(M)1 und der zweite Authentifikator h(M)2 übereinstimmen oder nicht, und ein Ausgang, der entweder Übereinstimmung (Ja) oder Nicht-Übereinstimmung (Nein) anzeigt, wird ausgegeben.
  • Spezifischer kann das Authentifizierungsschema gemäß der vorliegenden Erfindung wie folgt verwirklicht werden.
  • In dem allgemeinsten Fall stellt die Senderseite einen ersten privaten Schlüssel, gegeben durch N (≥ 2) Primzahlen p1, p2, ..., pN, einen ersten öffentlichen Schlüssel n, gegeben durch ein Produkt p1 k1p2 k2 ... pN kN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, einen zweiten öffentlichen Schlüssel e und einen zweiten privaten Schlüssel d, welche erfüllen: ed ≡ 1(mod L)wobei L das kleinste gemeinsame Vielfache von p1–1, p2–1, ..., pN–1 ist, ein.
  • Dann erhält die Senderseite einen Authentifikator h(M) durch ein Zerhacken der Authentifizierungsnachricht M unter Verwendung einer Zerhackungsfunktion h, während ein verschlüsselter Authentifikator h(C) des Authentifikators h(M) erhalten wird gemäß: h(M) ≡ h(C)e(mod n),indem Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN modulo p1 k1, p2 k2 ..., pN kN jeweils des verschlüsselten Authentifikators h(C) unter Verwendung der Schleifenberechnung des zuvor erwähnten schnellen Entschlüsselungsalgorithmus bezüglich des ersten privaten Schlüssels p1, p2 ..., pN erhalten werden, und indem der chinesische Restsatz auf die Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN angewandt wird.
  • Dann werden der verschlüsselte Authentifikator h(C) und die Authentifizierungsnachricht M von dem Sender zu dem Empfänger gesendet.
  • Als nächstes erhält die Empfängerseite einen ersten Authentifikator h(M)1 durch ein Berechnen von h(C)e(mod n) aus dem verschlüsselten Authentifikator h(C), der von dem Sender empfangen wird, unter Verwendung des zweiten öffentlichen Schlüssels e, während ein zweiter Authentifikator h(M)2 durch ein Zerhacken der Authentifizierungsnachricht M, die von dem Sender empfangen wird, unter Verwendung der Zerhackungsfunktion h erhalten wird.
  • Dann wird eine Authentizität der Authentifizierungsnachricht M auf der Empfängerseite beurteilt, indem überprüft wird, ob der erste Authentifikator h(M)1 und der zweite Authentifikator h(M)2 übereinstimmen oder nicht.
  • Aus dem Obigen sollte offensichtlich sein, dass in dem spezifischen Fall, wo der verschlüsselte Authentifikator h(C) unter Verwendung des ersten privaten Schlüssels, gegeben durch drei Primzahlen p1 = p, p2 = q und p3 = r und des ersten öffentlichen Schlüssels n, gegeben durch ein Produkt pkqlrm, wobei k = k1, l = k2 und m = k3 erhalten wird, der Sender den verschlüsselten Authentifikator h(C) durch zunächst ein Erhalten von h(K) p, h(K) q und h(K) r modulo p, q bzw. r durch ganzzahlige Modularexponentenberechnungen von: h(K) p := h(M)dp(mod p); h(K) q := h(M)dq(mod q); h(K) r := h(M)dr(mod r);wobei dp := d(mod p – 1); dq := d(mod q – 1); dr := d(mod r – 1)als nächstes ein Erhalten der Residuen h(C)pl, h(C)ql und h(C)rm, modulo pk, ql bzw. rm, durch ein Anwenden der Schleifenberechnung auf h(K) p, h(K) q und h(K) r, und dann ein Anwenden des chinesischen Restsatzes auf die Residuen h(C)pl, h(C)ql und h(C)rm erhält.
  • Es sollte auch aus dem Obigen offensichtlich sein, dass in dem spezifischen Fall, wo der verschlüsselte Authentifikator h(C) unter Verendung des ersten privaten Schlüssels, gegeben durch zwei Primzahlen p1 = p und p2 = q und des ersten öffentlichen Schlüssels n, gegeben durch ein Produkt pkq, wobei k = k1 erhalten wird, der Sender den verschlüsselten Authentifikator h(C) durch zunächst Erhalten eines Residuums h(K) modulo p und eines Residuums h(C)q modulo q des verschlüsselten Authentifikators h(C) durch ganzzahlige Modularexponentenberechnungen von: h(K) := h(M)dp(mod p); h(C)q := h(M)dq(mod q);wobei dp := d(mod p – 1); dq := d(mod q – 1)als nächstes ein Erhalten eines Residuums h(C)pk modulo pk des verschlüsselten Authentifikators h(C) durch ein Anwenden der Schleifenberechnung auf h(K) und dann ein Anwenden des chinesischen Restsatzes auf die Residuen h(C)pk und h(C)q erhält.
  • In diesem Fall kann die Schleifenberechnung wie folgt ausgeführt werden. h(A) := h(K); for i = 1 to(k – 1)doBeginn h(F)i := (h(A)i–1 e)(mod pi+1); h(E)i := (h(M) – h(F)i)(mod pi+1); h(B)i := h(E)i/pi in Z; h(K)i := ((eh(F)i)–1 h(A)i–1 h(B)i)(mod p); h(A)i: = h(A)i–1 + pih(K)i in Z; und Ende h(C)pk: = h(A)k–1.
  • Auch in diesem Fall kann der chinesische Restsatz durch die folgende Berechnung angewandt werden. qi := q–1(mod pk); v1 := ((h(C)pk – h(C)q)pq1)(mod pk); h(C) := (h©q + qv1).
  • Alternativ kann der chinesische Restsatz auch durch die folgende Berechnung angewandt werden. p1 := (pk)–1(mod q); v1 := ((h(C)q – h(C)pk)p1)(mod q); h(C) := (h(C)pk + pkv1.
  • Alternativ kann der chinesische Restsatz auch durch die folgende Berechnung angewandt werden. p1 := (pk)–1(mod q); q1 := q–1(mod pk); h(C) := (q1qh(C)pk + plpkh(C)q)(mod pkq).
  • Es sei darauf hingewiesen, dass in der oben beschriebenen Ausführungsform jede der Primzahlen eine Größe von ungefähr n1/(k+1) aufweist, die ausreichend ist, um das Number-Field-Sieve-Verfahren und das elliptische Kurvenverfahren zu verhindern, die die schnellsten Primfaktorisierungs-Algorithmen sind, die gegenwärtig bekannt sind. Ferner kann der zweite öffentliche Schlüssel e klein eingestellt werden, so dass der zweite private Schlüssel d ungefähr die gleiche Größe wie das kleinste gemeinsame Vielfache L aufweist. Hier weist das kleinste gemeinsame Vielfache L eine Größe von n2/(k+1) auf, was kleiner ist als jene des RSA-Kryptosystems, so dass dies zu der Verwirklichung der schnelleren Verschlüsselung/Entschlüsselung beitragen kann.
  • Auch in der oben beschriebenen Ausführungsform verwendet der Fall von k = 3 die zusammengesetzte Zahl n = p3q als den Modulus, so dass die Größe jedes p und q ¼ der Größe von n wird. Die Entschlüsselungsverarbeitung modulo p3 erfordert ungefähr den gleichen Umfang an Berechnungen wie die Verarbeitung modulo p, so dass die Verarbeitung modulo p3 und die Verarbeitung modulo q 64 mal schneller ausgeführt werden können. Somit kann die Gesamtverarbeitung 32 mal schneller ausgeführt werden, was beträchtlich schneller auch im Vergleich zu dem herkömmlichen Quisquater-Couvreur-Schema ist, das viermal schnellere Entschlüsselungsverarbeitung als das ursprüngliche RSA-Kryptosystem verwirklichen kann.
  • Wie beschrieben, verwendet das Kryptosystem gemäß der vorliegenden Erfindung N (≥ 2) Primzahlen p1, p2, ..., pN als den ersten privaten Schlüssel, und ihr Produkt p1 k1p2 k2 ... pN kN als den ersten öffentlichen Schlüssel n, so dass es das gleiche Sicherheitsniveau wie das herkömmlich bekannte RSA-Kryptosystem auf einem rationalen ganzzahligen Ring aufweist, während es in der Lage ist, die schnellere Verschlüsselungs- und Entschlüsselungsverarbeitung zu verwirklichen. Zusätzlich kann es ebenso für die Authentifizierung benutzt werden, und es ist auch in der Lage, die schnellere Authentifikatorerzeugung und Authentizitätsverifikation zu verwirklichen.
  • Außerdem verwendet das Kryptosystem gemäß der vorliegenden Erfindung den zweiten öffentlichen Schlüssel e als einen Verschlüsselungs-Schlüssel, und den zweiten privaten Schlüssel d als einen Entschlüsselungs-Schlüssel, welche erfüllen: ed ≡ 1(mod L) wobei L ein kleinstes gemeinsames Vielfaches von p1–1, p2–1, ..., pN–1 ist, so dass die Größe des Entschlüsselungs-Schlüssels d ungefähr gleich wie die Größe von L ausgeführt werden kann.
  • Im Gegensatz dazu ist es in dem Fall des RSA-Kryptosystems beispielsweise, wenn p1 k1p2 k2 ... pN kN als der erste öffentliche Schlüssel n zu verwenden ist, wobei p1, p2, ..., pN N (≥ 2) Primzahlen sind, erforderlich, den Verschlüsselungs-Schlüssel e und den Entschlüsselungs-Schlüssel d zu erzeugen, welche erfüllen: ed ≡ 1(mod ϕ(n))wobei ϕ(n) = n(1 – 1/p1)(1 – 1/p2)...(1 – 1(pN)die Euler-Funktion ist, so dass die Größe des Entschlüsselungs-Schlüssels e gleich wie die Größe von ϕ(n) ist, was beträchtlich größer als die Größe von L ist.
  • Es sei darauf hingewiesen, dass die oben beschriebene Ausführungsform gemäß der vorliegenden Erfindung zweckmäßig in Formen von Software-Programmen zum Verwirklichen der Betriebsschritte des Chiffre-Kommunikationssystems der 1 oder des Authentifizierungssystems der 4 implementiert werden kann, wie Fachleuten auf dem Gebiet der Computertechnik offensichtlich sein wird. Eine geeignete Software-Codierung kann durch Fachprogrammierer auf der Grundlage der Lehren der vorliegenden Offenbarung erstellt werden, wie Fachleuten auf dem Gebiet der Softwaretechnik offensichtlich sein.
  • Insbesondere kann jede der Verschlüsselungsvorrichtung und der Enrschlüsselungsvorrichtung der 1 und der Sendervorrichtung und der Empfängervorrichtung der 4, wie sie oben stehend beschrieben sind, zweckmäßig in einer Form eines Software-Pakets implementiert werden.
  • Ein derartiges Software-Paket kann in einer Form eines Computerprogrammprodukts bereitgestellt werden, das ein Speichermedium einsetzt, das einen gespeicherten Computercode enthält, der verwendet wird, um einen Computer zu programmieren, um die offenbarte Funktion und den Prozess der vorliegenden Erfindung durchzuführen. Das Speichermedium kann jedweden Typ herkömmlicher Disketten, optischer Platten, CD-ROMs, magneto-optischer Platten, ROMs, RAMs, EPROMs, EEPROMs, magnetischer oder optischer Karten oder jedwedes andere geeignete Medium zum Speichern von elektronischen Instruktionen einschließen, ist darauf aber nicht beschränkt.
  • Es sei auch darauf hingewiesen, dass neben bereits oben stehend erwähnten viele Modifikationen und Variationen der obigen Ausführungsformen ausgeführt werden können, ohne von den neuen und vorteilhaften Merkmalen der vorliegenden Erfindung abzuweichen. Dementsprechend ist beabsichtigt, dass sämtliche derartige Modifikationen und Variationen in dem Umfang der angehängten Ansprüche enthalten sind.

Claims (14)

  1. Entschlüsselungsverfahren zum Entschlüsseln eines Chiffre-Textes C, der aus einem Klartext M erhalten wird, gemäß: C = Me(mod n)unter Verwendung eines ersten privaten Schlüssels, der durch N ≥ 2 Primzahlen p1, p2, ..., pN gegeben ist, eines ersten öffentlichen Schlüssels n, der durch ein Produkt p1 k1, p2 k2, ..., pN kN gegeben ist, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, die erfüllen: ed = 1(mod L)wobei L das kleinste gemeinsame Vielfache von p1–1, p2–1, ..., pN–1 ist, wobei das Verfahren die Schritte umfasst: Erhalten von Rediduen Mp1k1, Mp2k2, ..., MpNkN modulo p1 k1, p2 k2, ... pn kN jeweils des Klartextes M unter Verwendung einer Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN; und Wiedergewinnen des Klartextes M durch ein Anwenden des chinesischen Restsatzes auf die Residuen Mpk1, Mp2k2, ..., MpNkN; dadurch gekennzeichnet, dass der Chiffre-Text C unter Verwendung des ersten privaten Schlüssels, der durch zwei Primzahlen p1 = p und p2 = q gegeben ist, und des ersten öffentlichen Schlüssels n, der durch das Produkt pkq gegeben ist, erhalten wird, wobei k = k1; der Erhaltungsschritt ein Residuum K modulo p und ein Residuum Mq modulo q des Klartextes M durch ganzzahlige modulare Exponentenberechnungen von: k: = Cdp(mod p); und Mq: = Cdq(mod q);wobei: dp: = d(mod p – 1); und dq: = d(mod q – 1);erhält, und ein Residuum Mpk modulo pk des Klartextes M beim Anwenden der Schleifenberechnungen aus K erhält; und die Wiedergewinnungsschritte den chinesischen Restsatz auf die Residuen Mpk und Mq anwenden; und die Schleifenberechnung ausgeführt wird durch: (a) Setzen von A; = K; (b) für i = 1 bis (k – 1), wiederholtes Berechnen: Fi: = (Ai–1 e)(mod pi+1); Ei: = (C – Fi)(mod pi+1); Bi: = Ei/pi in Z; Ki: = ((eFi)–1 Ai–1 Bi)(mod p);(c) Ai := Ai–1 + pi Ki in Z; und Setzen von Mpk := Ak–1.
  2. Verfahren nach Anspruch 1, wobei der Wiedergewinnungsschritt den Klartext M durch ein Berechnen wiedergewinnt: qi := q–1(mod pk); v1 := ((Mpk – Mq)q1)(mod pk); und M := (Mq + qv1).
  3. Verfahren nach Anspruch 1, wobei der Wiedergewinnungsschritt den Klartext M durch ein Berechnen wiedergewinnt: p1 := (pk)–1(mod q); v1 := ((Mq – Mpk)p1)(mod q); und M := (Mpk + pkv1).
  4. Verfahren nach Anspruch 1, wobei der Wiedergewinnungsschritt den Klartext M durch ein Berechnen wiedergewinnt: p1 := (pk)–1(mod q); q1 := q–1(mod pk); und M := (q1qMpk + p1pkMq)(mod pkq).
  5. Authentifizierungsverfahren zum Authentifizieren einer Authentifizierungsnachricht, die von einem Sender zu einem Empfänger gesendet wird, umfassend die Schritte: (a) Setzen, auf der Senderseite, eines ersten privaten Schlüssels, der durch N ≥ 2 Primzahlen p1, p2, ..., pN gegeben ist, eines ersten öffentlichen Schlüssels n, der durch ein Produkt p1 k1p2 k2 ... pN kN gegeben ist, wobei k1, k2, ... kN beliebig positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, die erfüllen: ed = 1(mod L),wobei L das kleinste gemeinsame Vielfache von p1–1, p2–1, ..., pN–1, ist; (b) Erhalten, auf der Senderseite, eines Authentikators h(M) durch ein Zerhacken der Authentifizierungsnachricht M unter Verwendung einer Zerhackungsfunktion h; (c) Erhalten, auf der Senderseite, eines verschlüsselten Authentikators h(C) des Authentikators h(M) gemäß: h(M) = h(C)e(mod n)durch ein Erhalten von Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN modulo p1 k1, p2 k2, ... pN kN, jeweils des verschlüsselten Authentifikators h(C) unter Verwendung einer Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN und ein Anwenden des chinesischen Restsatzes auf Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN; (d) Senden des verschlüsselten Authentifikators h(C) und der Authentifizierungsnachricht M von dem Sender zu dem Empfänger; (e) Erhalten, auf der Empfängerseite, eines ersten Authentifikators h(M)1 durch ein Berechnen von h(C)e(mod n) aus dem verschlüsselten Authentifikator h(C), der von dem Sender empfangen wird, unter Verwendung des zweiten öffentlichen Schlüssels e; (f) Erhalten, auf der Empfängerseite, eines zweiten Authentifikators h(M)2 durch ein Zerhacken der Authentifizierungsnachricht M, die von dem Sender empfangen wird, unter Verwendung der Zerhackungsfunktion h; und (g) Beurteilen der Authentizität der Authentifizierungsnachricht M auf der Empfängerseite durch ein Überprüfen, ob der erste Authentifikator h(M)1 und der zweite Authentifikator h(M)2 übereinstimmen oder nicht; dadurch gekennzeichnet, dass der verschlüsselte Authentifikator h(C) unter Verwendung des ersten privaten Schlüssels, der durch zwei Primzahlen p1 = p und p2 = q gegeben ist, und den ersten öffentlichen Schlüssel n, der durch das Produkt pkq gegeben ist, wobei k = k1, erhalten wird; der Schritt (c) ein Residuum h(K) modulo p und ein Residuum h(C)q modulo q des verschlüsselten Authentifikators h(C) durch ganzzahlige modulare Exponentenberechnungen von: h(K) := h(M)dp(mod p); und h(C)1 := h(M)dq(mod q);erhält, wobei: dp := d(mod p – 1); und dq := d(mod q – 1);und ein Residuum h(C)pk modulo pk des verschlüsselten Authentifikators h(C) durch ein Anwenden der Schleifenberechnung auf h(K) erhält, und den chinesischen Restsatz auf die Residuen h(C)pk und h(C)k anwendet; und die Schleifenberechnung ausgeführt wird durch: (a) Setzen von h(A): = h(K); (b) für i = 1 bis (k – 1), wiederholtes Berechnen: h(F)i := (h(A)i–1 e)(mod pi+1); h(E)I := (h(M) – h(F)i)(mod pi+1); h(B)i := h(E)i/pi in Z; h(K)i := ((eh(F)i)–1 h(A)i–1h(B)i)(mod p); h(A)i := h(A)i–1 + pih(K)i in Z; und(c) Setzen von h(C)pk := h(A)k–1
  6. Verfahren nach Anspruch 5, wobei der Schritt (c) den chinesischen Restsatz anwendet durch ein Berechnen: q1 := q–1(mod pk); v1 := ((h(C)pk – h(C)q)q1)(mod pk); und h(C) := (h(C)q + qv1).
  7. Verfahren nach Anspruch 5, wobei der Schritt (c) den chinesischen Restsatz anwendet durch ein Berechnen: p1 := (pk)–1(mod q); q1 := ((h(C)q – h(C)pk)p1)(mod q); und h(C) := (h(C)pk + pkv1).
  8. Verfahren nach Anspruch 5, wobei der Schritt (c) den chinesischen Restsatz anwendet durch ein Berechnen: p1 := (pk)–1(mod q); q1 := q–1(mod pk); und h(C) := (q1qh(C)pk + p1pkh(C)q)(mod pkq).
  9. Entschlüsselungsvorrichtung zum Entschlüsseln eines Chiffre-Textes (C), der aus einem Klartext M erhalten wird, gemäß: C = Me(mod n)unter Verwendung eines ersten privaten Schlüssels, der gegeben ist durch N ≥ 2 Primzahlen p1, p2, ..., pN, eines ersten öffentlichen Schlüssels n, der gegeben ist durch ein Produkt p1 k1, p2 k2, ..., pN kN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, die erfüllen: ed = 1(mod L)wobei L das kleinste gemeinsame Vielfache von p1–1, p2–1, pN–1 ist, wobei die Vorrichtung umfasst: eine Berechnungsverarbeitungseinheit zum Erhalten von Residuen Mp1k1, Mp2k2, ..., MpNkN modulo p1 k1, p2 k2, ..., pN kN jeweils des Klartextes M unter Verwendung einer Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN; und eine Entschlüsselungsverarbeitungseinheit zum Wiedergewinnen des Klartextes M durch ein Anwenden des chinesischen Restsatzes auf die Residuen Mp1k1, Mp2k2, ..., MpNkN; dadurch gekennzeichnet, dass der Chiffre-Text C unter Verwendung des ersten privaten Schlüssels, der gegeben ist durch zwei Primzahlen p1 = p und p2 = q, und des ersten öffentlichen Schlüssels n, der gegeben ist durch das Produkt pkq, wobei k = k1, erhalten wird; die Berechnungsverarbeitungseinheit ausgelegt ist, ein Residuum K modulo p und ein Residuum Mq modulo q des Klartextes M durch ganzzahlige modulare Exponentenberechnungen von: K := Cdp(mod p); und Mq := Cdq(mod q);zu erhalten, wobei: dp := d(mod p – 1); und dq := d(mod q – 1);und ausgelegt ist, ein Residuum Mpk modulo pk des Klartextes M durch ein Anwenden der Schleifenberechnung auf K zu erhalten; und die Wiedergewinnungs-Entschlüsselungs-Verarbeitungseinheit ausgelegt ist, den chinesischen Restsatz auf die Residuen Mpk und Mq anzuwenden; und die Schleifenberechnung ausgeführt wird durch: (a) Setzen von A := K (b) für i = 1 bis (k – 1), wiederholtes Berechnen: Fi := (Ai–i e)(mod pi+1); Ei := (C – Fi)(mod pi+1); Bi := Ei/pi in Z; Ki := ((eFi)–1 Ai–1 Bi)(mod p); Ai := Ai–1 + piKi in Z; und(c) Setzen von Mpk := Ak–1
  10. Chiffre-Kommunikationssystem, umfassend: eine Sendervorrichtung, die aufweist: eine Verschlüsselungs/Entschlüsselungs-Schlüsselerzeugungs-Verarbeitungseinheit zum Setzen von N ≥ 2 Primzahlen p1, p2, ..., pN als einen ersten privaten Schlüssel, und ein Produkt p1 k1, p2 k2, ... pN kN als einen ersten öffentlichen Schlüssel n, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, und zum Bestimmen eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, die erfüllen: ed = 1(mod L)wobei L das kleinste gemeinsame Vielfache von p1–1, p2–1, ..., pN–1 ist, unter Verwendung des ersten privaten Schlüssels; und eine Verschlüsselungsverarbeitungseinheit zum Erhalten eines Chiffre-Textes C aus einem Klartext M gemäß: C = Me(mod n)unter Verwendung des ersten öffentlichen Schlüssels n und des zweiten öffentlichen Schlüssels e; und eine Empfängervorrichtung, die aufweist: eine Berechnungsverarbeitungseinheit zum Erhalten von Residuen Mp1k1, Mp2k2, ..., MpNkN modulo p1 k1, p2 k2, ... pN kN jeweils des Klartextes M unter Verwendung einer Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN; und eine Entschlüsselungsverarbeitungseinheit zum Wiedergewinnen des Klartextes M durch ein Anwenden des chinesischen Restsatzes auf die Residuen Mp1k1, Mp2k2, ..., MpNkN; dadurch gekennzeichnet, dass der Chiffre-Text C unter Verwendung des ersten privaten Schlüssels, der gegeben ist durch zwei Primzahlen p1 = p und p2 = q und des ersten öffentlichen Schlüssels n, der gegeben ist durch das Produkt pkq, wobei k = k1, erhalten wird; die Berechnungsverarbeitungseinheit ausgelegt ist, ein Residuum K modulo p und ein Residuum Mq modulo q des Klartestes M durch ganzzahlige modulare Exponentenberechnungen von: K: = Cdp(mod p); und Mq: = Cdq(mod q);zu erhalten, wobei: dp := d(mod p – 1); und dq := d(mod q – 1);und ausgelegt ist, ein Residuum Mpk modulo pk des Klartextes M durch ein Anwenden der Schleifenberechnung auf K zu erhalten; und die Entschlüsselungsverarbeitungseinheit ausgelegt ist, den chinesischen Restsatz auf die Residuen Mpk und Mq anzuwenden; und die Schleifenberechnung ausgeführt wird durch: (a) Setzen von A: = K (b) für i = 1 bis (k – 1), wiederholtes Berechnen: Fi := (Ai–i e)(mod pi+1); Ei := (C – Fi)(mod pi+1); Bi := Ei/pi in Z; Ki := ((eFi)–1 Ai-1 Bi)(mod p); Ai := Ai–1 + piKi in Z; und(c) Setzen von Mpk := Ak–1.
  11. Authentifizierungsnachricht-Sendervorrichtung zur Verwendung beim Authentifizieren einer Authentifizierungsnachricht, die von einem Sender zu einem Empfänger gesendet wird, wobei die Vorrichtung umfasst: eine Verschlüsselungs-/Entschlüsselungs-Schlüsselerzeugungsverarbeitungseinheit zum Setzen, auf der Senderseite, eines ersten privaten Schlüssels, der gegeben ist durch N ≥ 2 Primzahlen p1, p2, ..., pN, eines ersten öffentlichen Schlüssels n, der gegeben ist durch ein Produkt p1 k1, p2 k2, ... pN kN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, die erfüllen: ed = 1(mod L)wobei L das kleinste gemeinsame Vielfache von p1–1, p2–1, ..., pN–1 ist; eine Authentifizierungsnachricht-Zerhackungsverarbeitungseinheit zum Erhalten, auf der Senderseite, eines Authentifikators h(M) durch ein Zerhacken der Authentifizierungsnachricht M unter Verwendung einer Zerhackungsfunktion h; und eine Authentifizierungs-Verschlüssungs-Verarbeitungseinheit zum Erhalten, auf der Senderseite, eines verschlüsselten Authentifikators h(C) des Authentifikators h(M) gemäß: h(M) = h(C)e(mod n)durch ein Erhalten von Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN modulo p1 k1, p2 k2, ... pN kN jeweils des verschlüsselten Authentifikators h(C) unter Verwendung einer Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN und durch ein Anwenden des chinesischen Restsatzes auf die Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN und dann ein Senden des verschlüsselten Authentifikators h(C) und der Authentifikationsnachricht M zu dem Empfänger; dadurch gekennzeichnet, dass der verschlüsselte Authentifikator h(C) unter Verwendung des ersten privaten Schlüssels, der gegeben ist durch zwei Primzahlen p1 = p und p2 = q und des ersten öffentlichen Schlüssels n, der gegeben ist durch das Produkt pkq, wobei k = k1, erhalten wird; die Authentifizierungs-Verschlüsselungs-Verarbeitungseinheit ausgelegt ist, ein Residuum h(K) modulo p und ein Residuum h(C)q modulo q des verschlüsselten Authentifikators h(C) durch ganzzahlige modulare Exponentenberechnungen von: h(K) := h(M)dp(mod p); und h(C)1 := h(M)dq(mod q);zu erhalten, wobei: dp := d(mod p – 1); und dq := d(mod q – 1); und ausgelegt ist, ein Residuum h(C)pk modulo pk des verschlüsselten Authentifikators h(C) durch ein Anwenden der Schleifenberechnung auf h(K) zu erhalten und den chinesischen Restsatz auf die Residuen h(C)pk und h(C)q anzuwenden; und die Schleifenberechnung ausgeführt wird durch: (a) Setzen von h(A): = h(K); (b) für i = 1 bis (k – 1), wiederholtes Berechnen: h(F)i := (h(A)i–1 e)(mod pi+1); h(E)i := (h(M) – h(F)i)(mod pi+1); h(B)i := h(E)i/pi in Z; h(K)i := ((eh(F)i)–1 h(A)i–1 h(B)i)(mod p); h(A)i := h(A)i–1 + pih(K)i in Z; und(c) Setzen von h(C)pk: = h(A)k–1.
  12. Authentifizierungssystem zur Authentifizierung einer Authentifizierungsnachricht, die von einen Sender zu einem Empfänger gesendet wird, wobei das System umfasst: eine Sendervorrichtung, die aufweist: eine Verschlüsselungs-/Entschlüsselungs-Schlüsselerzeugungsverarbeitungseinheit zum Setzen, auf der Senderseite, eines ersten privaten Schlüssels, der gegeben ist durch N ≥ 2 Primzahlen p1, p2, ..., pN, eines ersten öffentlichen Schlüssels n, der gegeben ist durch ein Produkt p1 k1, p2 k2, ..., pN kN wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, die erfüllen: ed = 1(mod L) wobei L das kleinste gemeinsame Vielfache von p1–1, p2–1, ..., pN–1 ist; eine Authentifizierungsnachricht-Zerhackungsverabeitungseinheit zum Erhalten, auf der Senderseite, eines Authentifikators h(M) durch ein Zerhacken der Authentifizierungsnachricht M unter Verwendung einer Zerhackungsfunktion h; und eine Authentifizierungs-Verschlüssungs-Verarbeitungseinheit zum Erhalten, auf der Senderseite, eines verschlüsselten Authentifikators h(C) des Authentifikators h(M) gemäß: h(M) = h(C)e(mod n)durch ein Erhalten von Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN modulo p1 k1, p2 k2, ... pN kN jeweils des verschlüsselten Authentifikators h(C) unter Verwendung einer Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN und durch ein Anwenden des chinesischen Restsatzes auf die Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN und dann ein Senden des verschlüsselten Authentifikators h(C) und der Authentifikationsnachricht M zu dem Empfänger; und eine Empfängervorrichtung, die aufweist: eine Authentifikator-Entschlüsselungs-Verarbeitungseinheit zum Erhalten eines ersten Authentifikators h(M)1 durch ein Berechnen von h(C)e(mod n) aus dem entschlüsselten Authentifikator h(C), der von dem Sender empfangen wird, unter Verwendung des zweiten öffentlichen Schlüssels e; eine Authentifizierungsnachricht-Zerhackungsverarbeitungseinheit zum Erhalten eines zweiten Authentifikators h(M)2 durch ein Zerhacken der Authentifizierungsnachricht, die von dem Sender empfangen wird, unter Verwendung der Zerhackungsfunktion h; und eine Authentizitäts-Verifikations-Verarbeitungseinheit zum Beurteilen der Authentifizität der Authentifizierungsnachricht M durch ein Überprüfen, ob der erste Authentifikator h(M)1 und der zweite Authentifikator h(M)2 übereinstimmen oder nicht; dadurch gekennzeichnet, dass der verschlüsselte Authentifikator h(C) unter Verwendung des ersten privaten Schlüssels, der gegeben ist durch zwei Primzahlen p1 = p und p2 = q und des ersten öffentlichen Schlüssels n, der gegeben ist durch das Produkt pkq, wobei k = k1, erhalten wird; die Authentifizierungs-Verschlüsselungs-Verarbeitungseinheit ausgelegt ist, ein Residuum h(K) modulo p und ein Residuum h(C)1 modulo q des verschlüsselten Authentifikators h(C) durch ganzzahlige modulare Exponentenberechnungen von: h(K) := h(M)dp(mod p); und h(C)q := h(M)dq(mod q);zu erhalten, wobei: dp := d(mod p – 1); und dq := d(mod q – 1);und ausgelegt ist, ein Residuum h(C)pk modulo pk des verschlüsselten Authentifikators h(C) durch ein Anwenden der Schleifenberechnung auf h(K) zu erhalten und den chinesischen Restsatz auf die Residuen h(C)pk und h(C)q anzuwenden; und die Schleifenberechnung ausgeführt wird durch: (a) Setzen von h(A) := h(K); (b) für i = 1 bis (k – 1), wiederholtes Berechnen: h(F)i := (h(A)i–1 e)(mod pi+1); h(E)i := (h(M) – h(F)i)(mod pi+1) h(B)i := h(E)i/pi in Z; h(K)i := ((eh(F)i)–1 h(A)i–1 h(B)i)(mod p); h(A)i := h(A)i–1 + pih(K)i in Z; und(c) Setzen von h(C)pk := h(A)k–1.
  13. Computer-verwendbares Medium, das eine computerlesbare Programmcodeeinrichtung darin enthalten aufweist, um einen Computer zu veranlassen, als eine Entschlüsselungsvorrichtung zum Entschlüsseln eines Chiffre-Textes C zu arbeiten, der aus einem Klartext M erhalten wird, gemäß: C = Me(mod n)unter Verwendung eines ersten privaten Schlüssels, der gegeben ist durch N ≥ 2 Primzahlen p1, p2, ..., pN, eines ersten öffentlichen Schlüssels n, der gegeben ist durch ein Produkt p1 k1, p2 k2, ... pN kN, wobei k1, k2, ..., kN beliebige positive Ganzzahlen sind, eines zweiten öffentlichen Schlüssels e und eines zweiten privaten Schlüssels d, die erfüllen: ed = 1(mod L)wobei L das kleinste gemeinsame Vielfache von p1–1, p2–1, ..., pN–1 ist, wobei die erste Computer-lesbare Programmcodeeinrichtung einschließt: eine erste computerlesbare Programmcodeeinrichtung zum Herbeiführen, dass der Computer Residuen Mp1k1, Mp2k2, ..., MpNkN modulo p1 k1, p2 k2, ... pN kN jeweils des Klartextes M unter Verwendung einer Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN erhält; und eine zweite computerlesbare Programmcodeeinrichtung zum Herbeiführen, dass der Computer den Klartext M durch ein Anwenden des chinesischen Restsatzes auf die Residuen Mp1k1, Mp2k2, ..., MpNkN wiedergewinnt; dadurch gekennzeichnet, dass der Chiffre-Text C unter Verwendung des ersten privaten Schlüssels, der gegeben ist durch zwei Primzahlen p1 = p und p2 = q und den ersten öffentlichen Schlüssel n, der gegeben ist durch das Produkt pkq, wobei k = k1, erhalten wird; die erste computerlesbare Programmcodeeinrichtung ein Residuum K modulo p und ein Residuum M1 modulo q des Klartextes M durch ganzzahlige modulare Exponentenberechnungen von: K := Cdp(mod p); und Mq: = Cdq(mod q);erhält, wobei: dp := d(mod p – 1); und dq := d(mod q – 1); und ein Residuum Mpk modulo pk des Klartextes M durch ein Anwenden der Schleifenberechnungen auf K erhält; und die zweite computerlesbare Programmcodeeinrichtung den chinesischen Restsatz auf die Residuen Mpk und Mq anwendet; und die Schleifenberechnung ausgeführt wird durch: (a) Setzen von A: = K; (b) für i = 1 bis (k – 1), wiederholtes Berechnen: Fi := (A)i–1 e)(mod pi+1); Ei := (C – Fi)(mod pi+1); Bi := Ei/pi in Z; Ki := ((eFi)–1Ai–1Bi)(mod p); Ai := Ai–1 + piKi in Z; und(c) Setzen von Mpk := Ak–1.
  14. Computer-verwendbares Medium, das eine computerlesbare Programmcodeeinrichtung darin enthalten aufweist, um einen Computer zu veranlassen, als eine Authentifizierungsnachricht-Sendervorrichtung zur Verwendung beim Authentifizieren einer Authentifizierungsnachricht zu arbeiten, die von einem Sender zu einem Empfänger gesendet wird, wobei die computerlesbare Programmcodeeinrichtung einschließt: eine erste computerlesbare Programmcodeeinrichtung zum Herbeiführen, dass der Computer auf der Senderseite einen ersten privaten Schlüssel, der gegeben ist durch N ≥ 2 Primzahlen p1, p2, ..., pN, einen ersten öffentlichen Schlüssel n, der gegeben ist durch ein Produkt p1 k1, p2 k2, ... pN kN, wobei k1, k2, ... kN beliebige positive Ganzzahlen sind, einen zweiten öffentlichen Schlüssel e und einen zweiten privaten Schlüssel d, die erfüllen: ed = 1(mod L)setzt, wobei L das kleinste gemeinsame Vielfache von p1–1, p2–1, pN–1 ist; eine zweite computerlesbare Programmcodeeinrichtung zum Herbeiführen, dass der Computer auf der Senderseite einen Authentifikator h(M) durch ein Zerhacken der Authentifizierungsnachricht M unter Verwendung einer Zerhackungsfunktion h erhält; und eine dritte computerlesbare Programmcodeeinrichtung zum Herbeiführen, dass der Computer auf der Senderseite einen verschlüsselten Authentifikator h(C) des Authentifikators h(M) gemäß: h(M) = h(C)e(mod n)durch ein Erhalten von Residuen h(C)p1k1, h(C)p2k2, ... h(C)pNkN modulo p1 k1, p2 k2, ..., pN kN jeweils des verschlüsselten Authentifikators h(C) unter Verwendung einer Schleifenberechnung bezüglich des ersten privaten Schlüssels p1, p2, ..., pN und ein Anwenden des chinesischen Restsatzes auf die Residuen h(C)p1k1, h(C)p2k2, ..., h(C)pNkN und dann durch ein Senden des verschlüsselten Authentifikators h(C) und der Authentifizierungsnachricht M zu dem Empfänger erhält; dadurch gekennzeichnet, dass der verschlüsselte Authentifikator h(C) unter Verwendung des ersten privaten Schlüssels, der gegeben ist durch zwei Primzahlen p1 = p und p2 = q und des ersten öffentlichen Schlüssels n, der gegeben ist durch das Produkt pkq, wobei k = k1, erhalten wird; die dritte lesbare Programmcodeeinrichtung ein Residuum h(K) modulo p und ein Residuum h(C)q modulo q des verschlüsselten Authentifikators h(C) durch ganzzahlige modulare Exponentenberechnungen von: h(K): = h(M)dp(mod p); und h(C)q: = h(M)dq(mod q);erhält, wobei: dp: = d(mod p – 1); und dq: = d(mod q – 1);und ein Residuum h(C)pk modulo pk des verschlüsselten Authentifikators h(C) durch ein Anwenden der Schleifenberechnung auf h(K) erhält und den chinesischen Restsatz auf die Residuen h(C)pk und h(C)q anwendet; und die Schleifenberechnung ausgeführt wird durch: (a) Setzen von h(A) := h(K); (b) für i = 1 bis (k – 1); wiederholtes Berechnen: h(F)i := (h(A)i–1 e)(mod pi+1); h(E)i := (h(M) – h(F)i)(mod pi+1); h(B)i := h(E)i/pi in Z; h(K)i := ((eh(F)i)–1 h(A)i–1 h(B)i)(mod p); h(A)i := h(A)i–1 + pih(K)i in Z; und(c) Setzen von h(C)pk := h(A)k–1.
DE69935469T 1998-03-26 1999-03-25 Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung Expired - Fee Related DE69935469T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP7983698 1998-03-26
JP7983698 1998-03-26
JP23608498 1998-08-21
JP23608498 1998-08-21

Publications (2)

Publication Number Publication Date
DE69935469D1 DE69935469D1 (de) 2007-04-26
DE69935469T2 true DE69935469T2 (de) 2007-11-29

Family

ID=26420835

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69935469T Expired - Fee Related DE69935469T2 (de) 1998-03-26 1999-03-25 Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung

Country Status (4)

Country Link
US (1) US6396926B1 (de)
EP (1) EP0946018B1 (de)
CA (1) CA2267721C (de)
DE (1) DE69935469T2 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2799851B1 (fr) * 1999-10-14 2002-01-25 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
DE19962915A1 (de) 1999-12-23 2001-09-06 Intelligent Implants Gmbh Vorrichtung für den geschützten Betrieb von Neuroprothesen und Verfahren hierzu
US20020039420A1 (en) * 2000-06-12 2002-04-04 Hovav Shacham Method and apparatus for batched network security protection server performance
US20020087884A1 (en) * 2000-06-12 2002-07-04 Hovav Shacham Method and apparatus for enhancing network security protection server performance
FI111208B (fi) * 2000-06-30 2003-06-13 Nokia Corp Datan salauksen järjestäminen langattomassa tietoliikennejärjestelmässä
US7137143B2 (en) 2000-08-07 2006-11-14 Ingrian Systems Inc. Method and system for caching secure web content
US20040015725A1 (en) * 2000-08-07 2004-01-22 Dan Boneh Client-side inspection and processing of secure content
US6721771B1 (en) * 2000-08-28 2004-04-13 Sun Microsystems, Inc. Method for efficient modular polynomial division in finite fields f(2{circumflex over ( )}m)
US6772184B2 (en) * 2000-08-28 2004-08-03 Sun Microsystems, Inc. Method for efficient modular division over prime integer fields
US20020041683A1 (en) * 2000-09-29 2002-04-11 Hopkins Dale W. Method for selecting optimal number of prime factors of a modulus for use in a cryptographic system
KR100340102B1 (ko) * 2000-11-30 2002-06-10 조휘갑 알에스에이 공개키 암호 고속화 장치 및 방법
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
US6963977B2 (en) * 2000-12-19 2005-11-08 International Business Machines Corporation Circuits and methods for modular exponentiation
US20020116429A1 (en) * 2000-12-19 2002-08-22 International Business Machines Corporation System and method for modular multiplication
US7757278B2 (en) 2001-01-04 2010-07-13 Safenet, Inc. Method and apparatus for transparent encryption
JP4199937B2 (ja) 2001-03-06 2008-12-24 株式会社日立製作所 耐タンパー暗号処理方法
US7221757B2 (en) * 2002-08-15 2007-05-22 Opentv, Inc. Method and system for accelerated data encryption
AU2003262857A1 (en) * 2002-08-24 2004-03-11 Ingrian Networks, Inc. Selective feature activation
US20060149962A1 (en) * 2003-07-11 2006-07-06 Ingrian Networks, Inc. Network attached encryption
US8442219B2 (en) * 2004-03-31 2013-05-14 Jesse Lipson Public key cryptographic methods and systems
US7519835B2 (en) 2004-05-20 2009-04-14 Safenet, Inc. Encrypted table indexes and searching encrypted tables
US20060251248A1 (en) * 2005-05-03 2006-11-09 Jesse Lipson Public key cryptographic methods and systems with preprocessing
US20070079140A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Data migration
US20070079386A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Transparent encryption using secure encryption device
US7853018B2 (en) 2005-11-10 2010-12-14 Atallah Mikhail J Method and apparatus for hiding a private key
US7848516B2 (en) * 2006-01-20 2010-12-07 Chiou-Haun Lee Diffused symmetric encryption/decryption method with asymmetric keys
US8386768B2 (en) 2006-02-08 2013-02-26 Safenet, Inc. High performance data encryption server and method for transparently encrypting/decrypting data
US7958091B2 (en) 2006-02-16 2011-06-07 Ingrian Networks, Inc. Method for fast bulk loading data into a database while bypassing exit routines
FR2897964B1 (fr) * 2006-02-28 2017-01-13 Atmel Corp Procede de calcul numerique incluant la division euclidienne
US8229109B2 (en) * 2006-06-27 2012-07-24 Intel Corporation Modular reduction using folding
US8379865B2 (en) 2006-10-27 2013-02-19 Safenet, Inc. Multikey support for multiple office system
US7925011B2 (en) * 2006-12-14 2011-04-12 Intel Corporation Method for simultaneous modular exponentiations
US8689078B2 (en) 2007-07-13 2014-04-01 Intel Corporation Determining a message residue
US20090132804A1 (en) * 2007-11-21 2009-05-21 Prabir Paul Secured live software migration
US7886214B2 (en) * 2007-12-18 2011-02-08 Intel Corporation Determining a message residue
US8042025B2 (en) * 2007-12-18 2011-10-18 Intel Corporation Determining a message residue
KR102273770B1 (ko) 2016-07-19 2021-07-06 삼성에스디아이 주식회사 배터리 시스템

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
JPS58190151A (ja) 1982-04-30 1983-11-07 Nec Corp 符号変換器
WO1990002456A1 (en) * 1988-08-19 1990-03-08 Ncr Corporation Public key diversification method
EP0381523A3 (de) * 1989-02-02 1993-03-03 Kabushiki Kaisha Toshiba Anbieterunterstütztes Rechenverfahren und verteilte Informationsverarbeitungseinheit
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.
JPH1165439A (ja) * 1996-08-09 1999-03-05 Nippon Telegr & Teleph Corp <Ntt> N進表現暗号による通信および認証方法、ならびにそれらの装置、およびn進表現暗号による通信および認証プログラムを格納した記憶媒体
US5848159A (en) * 1996-12-09 1998-12-08 Tandem Computers, Incorporated Public key cryptographic apparatus and method
JP3402441B2 (ja) 1997-12-17 2003-05-06 日本電信電話株式会社 公開鍵暗号化装置、公開鍵暗号復号装置及び復号プログラム記録媒体

Also Published As

Publication number Publication date
CA2267721C (en) 2002-07-30
EP0946018B1 (de) 2007-03-14
CA2267721A1 (en) 1999-09-26
US6396926B1 (en) 2002-05-28
DE69935469D1 (de) 2007-04-26
EP0946018A3 (de) 2002-08-14
EP0946018A2 (de) 1999-09-29

Similar Documents

Publication Publication Date Title
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
DE60200496T2 (de) Verfahren und Vorrichtung zur Ausführung eines effizienten mittels Kennwort authentifizierten Schlüsselaustauschs
DE69133502T2 (de) Geheimübertragungsverfahren und -gerät
EP0472714B1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
DE69725659T2 (de) Verfahren und Einrichtung zur Ablage eines in einem RSA-Kryptosystem benutzten Geheimschlüssels
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
DE69918818T2 (de) Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
DE69633590T2 (de) Verfahren zur Unterschrift und zur Sitzungsschlüsselerzeugung
DE69630331T2 (de) Verfahren zur gesicherten Sitzungsschlüsselerzeugung und zur Authentifizierung
DE69636815T2 (de) Verfahren zur sitzungsschlüsselerzeugung mit impliziten unterschriften
DE69935455T2 (de) Kryptographisches verfahren unter verwendung eines öffentlichen und eines privaten schlüssels
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
DE69917356T2 (de) Sicherheitstechnik an einem Computernetzwerk
EP1298834B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
CH694601A5 (de) Verfahren zur Verifizierung der Echtheit von ausgetauschten Nachrichten.
CH660822A5 (de) Zufallsprimzahlen-erzeugungsmittel in einer mit oeffentlichem schluessel arbeitenden daten-verschluesselungsanlage.
DE60025401T2 (de) Erzeugung eines mathematischen eingeschränkten schlüssels unter verwendung einer einwegfunktion
DE112012000971B4 (de) Datenverschlüsselung
DE60109805T2 (de) Verfahren und system zur benützung eines ungesicherten krypto-beschleunigers
EP3304802B1 (de) Verfahren zur sicherstellung der informationssicherheit von über einen datenbus übertragenen daten sowie datenbussystem
DE19622630C1 (de) Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
CH711133A2 (de) Protokoll zur Signaturerzeugung.
DE112015002927T5 (de) Generierung und Verwaltung geheimer Chiffrierschlüssel auf Kennwortgrundlage
DE10393259T5 (de) Verfahren und Vorrichtung zum Verbessern der Authentifizierung in einem kryptographischen System

Legal Events

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