DE60220717T2 - Informationssicherheitsvorrichtung, Vorrichtung und Verfahren zur Erzeugung einer Primzahl - Google Patents

Informationssicherheitsvorrichtung, Vorrichtung und Verfahren zur Erzeugung einer Primzahl Download PDF

Info

Publication number
DE60220717T2
DE60220717T2 DE60220717T DE60220717T DE60220717T2 DE 60220717 T2 DE60220717 T2 DE 60220717T2 DE 60220717 T DE60220717 T DE 60220717T DE 60220717 T DE60220717 T DE 60220717T DE 60220717 T2 DE60220717 T2 DE 60220717T2
Authority
DE
Germany
Prior art keywords
prime
unit
mod
prime number
primality
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
DE60220717T
Other languages
English (en)
Other versions
DE60220717D1 (de
Inventor
Yuichi Futa
Takatoshi Ono
Motoji Ohmori
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE60220717D1 publication Critical patent/DE60220717D1/de
Publication of DE60220717T2 publication Critical patent/DE60220717T2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • 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/3033Public 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 details relating to pseudo-prime or prime number generation, e.g. primality test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7204Prime number generation or prime number testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Alarm Systems (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Datensicherheitsverfahren, die Primzahl-Erzeugung verwenden.
  • Stand der Technik
  • Datenkommunikation, die Computer- und Kommunikationstechnik nutzt, hat sich in den vergangenen Jahren weit verbreitet. In einer solchen Datenkommunikation werden Verfahren der Geheimkommunikation und der digitalen Unterschrift eingesetzt.
  • Geheimkommunikationsverfahren ermöglichen die Durchführung von Kommunikation, ohne dass der übermittelte Inhalt für Dritte zugänglich wird. Digitale Unterschriftsverfahren setzen den Benutzer mittlerweile in die Lage, zu überprüfen, ob der übermittelte Inhalt gültig ist oder ob die Informationen von dem angegebenen Absender stammen.
  • 1. Public-Key-Kryptografie
  • Solche Verfahren der Geheimkommunikation oder der digitalen Unterschrift verwenden eine Kryptografie, die als Public-Key-Kryptografie bezeichnet wird. Die Public-Key-Kryptografie bietet ein praktisches Verfahren für die Verwaltung der separaten Verschlüsselungsschlüssel zahlreicher Benutzer und ist somit zum grundlegenden Verfahren für die Durchführung von Kommunikation mit einer großen Anzahl von Benutzern geworden. Bei auf der Public-Key-Kryptografie basierender Geheimkommunikation werden verschiedene Schlüssel für die Verschlüsselung und die Entschlüsselung verwendet, wobei der Entschlüsselungsschlüssel geheim gehalten wird und der Verschlüsselungsschlüssel öffentlich gemacht wird. Im Folgenden wird ein Entschlüsselungsschlüssel, der geheim gehalten wird, als "geheimer Schlüssel" be zeichnet, wohingegen ein Verschlüsselungsschlüssel, der öffentlich gemacht wird, als "öffentlicher Schlüssel" bezeichnet wird.
  • Das RSA-Kryptosystem (Rivest-Shamir-Adelman) ist eine Art der Public-Key-Kryptografie. Das RSA-Kryptosystem basiert auf der rechentechnischen Schwierigkeit der Faktorisierung von ganzen Zahlen, um seine Sicherheit zu erzielen. Die Aufgabenstellung bei der Faktorisierung von Primzahlen lautet wie folgt. Wenn eine ganze Zahl n = p × q gegeben ist, wobei p und q Primzahlen sind, finde p und q. Hierbei steht "×" für normale Multiplikation.
  • Das Problem der Faktorisierung von Primzahlen wird ausführlich in T. Okamoto & K. Ohta (1990) Encryption, Zero Knowledge Proofs, and Number Theory (Verschlüsselung, Nullwissen-Beweis und Zahlentheorie – nicht autorisierte Übersetzung – d. Übers.), herausgegeben von Kyoritsu, S. 144-151, beschrieben.
  • (RSA-Kryptosystem unter Verwendung des Problems der Faktorisierung von Primzahlen)
  • Das RSA-Kryptosystem, das das Faktorisierungsproblem der Primzahlen nutzt, wird nachstehend beschrieben.
  • (1) Erzeugung von Schlüsseln
  • Ein öffentlicher Schlüssel und ein geheimer Schlüssel werden wie folgt erzeugt.
    • (a) Wähle zwei große Primzahlen p und q willkürlich aus und bilde deren Produkt n = p × q.
    • (b) Finde das kleinste gemeinsame Vielfache aus p – 1 und q – 1, d.h. L = LCM(p – 1, q – 1).
    • (c) Wähle eine ganze Zahl e willkürlich aus, welche relativ prim zu und kleiner als L ist: 1 ≤ e ≤ L – 1, GCD(e,L) = 1wobei GCD(e,L) den größten gemeinsamen Divisor von e und L bezeichnet.
    • (d) Berechne d = e–1 mod L.
  • Das Paar von ganzen Zahlen n und e ist der öffentliche Schlüssel, wohingegen das Paar von ganzen Zahlen n und d der geheime Schlüssel ist.
  • (2) Erzeugung von Schlüsseltext
  • Der Klartext m wird unter Verwendung des öffentlichen Schlüssels (n, e) verschlüsselt, um den Schlüsseltext c zu erhalten: c = me mod n.
  • (3) Erzeugung von entschlüsseltem Text
  • Der Schlüsseltext wird unter Verwendung des geheimen Schlüssels (n, d) entschlüsselt, um den entschlüsselten Text m' zu erhalten: m' = cd mod n
  • Hierbei gilt: m' = cd mod n = (me)d mod n = m**(e × d mod L) mod n = m1 mod n = m mod n
  • Daher stimmt der entschlüsselte Text m' mit dem Klartext m überein. Es ist zu beachten, dass in dieser Patentbeschreibung der Operator "**" Potenzierung darstellt, so dass A**x = Ax, wobei A × Mal mit sich selbst multipliziert wird.
  • Das RSA-Kryptosystem wird in T. Okamoto & H. Yamamoto (1997) Modern Encryption (Moderne Verschlüsselung, nicht autorisierte Übersetzung – d. Übers.), S. 110-113, herausgegeben von Sangyo Tosho, ausführlich beschrieben.
  • 2. Stand der Technik 1 - der Algorithmus der probabilistischen Erzeugung von Primzahlen
  • Um einen öffentlichen Schlüssel in dem oben genannten RSA-Kryptosystem, das den Algorithmus der Primzahlenfaktorisierung verwendet, zu erzeugen, wird Primzahlenerzeugung durchgeführt. Primzahlenerzeugung wird in A.J. Menezes, P.C. van Oorschot, & S.A. Vanstone (1997) Handbook of Applied Cryptography (Handbuch der angewandten Kryptografie – nicht autorisierte Übersetzung – d. Übers.), S. 145-154, herausgegeben von CRC Press, ausführlich beschrieben.
  • Ein probabilistischer Primzahlenerzeugungs-Algorithmus als herkömmliches Verfahren wird untenstehend erläutert. Der probabilistische Primzahlenerzeugungs-Algorithmus wendet den Rabin-Miller-Test an, um die Primalität einer Zahl zu bestimmen. Der Rabin-Miller-Test wird in A.J. Menezes, P.C. van Oorschot & S.A. Vanstone (1997) Handbook of Applied Cryptography (Handbuch der angewandten Kryptografie – nicht autorisierte Übersetzung – d. Übers.), S. 138-140, herausgegeben von CRC Press, ausführlich beschrieben. Der Rabin-Miller-Test ermittelt eine Zahl, die mit hoher Wahrscheinlichkeit eine Primzahl ist, als Primzahl. Das bedeutet nicht, dass die Zahl mit Sicherheit eine Primzahl ist.
  • Nehmen wir an, eine natürliche Zahl x und kleine Primzahlen L1, L2 ... Ln sind gegeben. Als ein Beispiel sind L1, L2, ..., Ln 2, 3, 5, 7.
  • Der probabilistische Primzahlerzeugungs-Algorithmus erzeugt eine Primzahl, indem er die folgenden Schritte wiederholt.
  • (Schritt 1) Ordne die natürliche Zahl x einer Variable N als Ausgangswert zu.
  • (Schritt 2) Berechne die kleinste Zahl, die nicht durch eine von L1, L2 ... Ln unter Zahlen größer als die Variable N teilbar ist. Ordne die Zahl der Variablen N zu.
  • (Schritt 3) Prüfe die Primalität der Variable N. Die Primalitätsprüfung erfolgt hier durch zehnmaliges Wiederholen des Rabin-Miller-Tests. Wenn die Variable N die Primalitätsprüfung besteht, gib die Variable N als Primzahl aus. Wenn die Variable N die Primalitätsprüfung nicht besteht, gehe zu Schritt 2 zurück und wiederhole das Verfahren, bis eine Primzahl ausgegeben wird.
  • Hierbei bewirkt das Berechnen der Zahl, die nicht durch eine der kleinen Primzahlen 2, 3, 5, 7 teilbar ist, die Reduzierung der Anzahl der Male, die die Primalitätsprüfung durchgeführt wird. Mit anderen Worten begrenzt Schritt 2 die auf Primalität zu prüfenden Zahlen auf diejenigen Zahlen, die nicht durch eine von 2, 3, 5, 7 teilbar sind. Es gibt 47 Zahlen, wobei 2xx + 1 mod 210 nicht durch eine von 2, 3, 5, 7 teilbar ist. Wenn dementsprechend die auf Primalität zu prüfenden Zahlen auf diejenigen begrenzt werden, die nicht durch eine von 2, 3, 5, 7 teilbar sind, kann die Anzahl der Male, die die Primalitätsprüfung durchgeführt wird, um 47/210 reduziert werden.
  • Andererseits gilt: selbst wenn die in Schritt 2 erhaltene Variable N eine zusammengesetzte Zahl (d.h. eine Nichtprimzahl) ist, hat die Variable N höchstens eine 1/4-Chance, den Rabin-Miller-Test zu bestehen. Das heißt, selbst wenn die Variable N eine zusammengesetzte Zahl ist, kann sie den Rabin-Miller-Test bestehen. Somit kann der probabilistische Primzahlerzeugungs-Algorithmus eine Primzahl nur probabilistisch und nicht definitiv erzeugen.
  • (Berechnungskomplexität des probabilistischen Primzahlerzeugungs-Algorithmus)
  • Als nächstes wird die Berechnungskomplexität der Erzeugung einer Primzahl unter Verwendung des oben genannten probabilistischen Primzahlerzeugungs-Algorithmus erläutert. Hierbei wird die Berechnungskomplexität als die Anzahl modularer Potenzierungen gemessen.
  • Entsprechend dem oben genannten probabilistischen Primzahlerzeugungs-Algorithmus wird der Rabin-Miller-Test für eine Zahl, die eine Primzahl sein kann, zehn Mal wiederholt. Im Folgenden wird die durchschnittliche Anzahl berechnet, die der Rabin-Miller-Test für eine zusammengesetzte Zahl durchgeführt wird.
  • Nehmen wir Pi als die Wahrscheinlichkeit der Durchführung des i-ten Tests an. Dann ist eine Wahrscheinlichkeit Pi+1 der Durchführung des (i + 1)-ten Tests nicht größer als das Produkt aus der Wahrscheinlichkeit, Pi, der Durchführung des i-ten Tests und der Wahrscheinlichkeit, 1/4, des Bestehens des i-ten Tests. Das heißt, die Wahrscheinlichkeit der Durchführung des (i + 1)-ten Tests ist Pi+1 ≤ Pi × 1/4
  • Da der erste Test definitiv durchgeführt wird, ist die Wahrscheinlichkeit des ersten Tests 1, das heißt Pi = 1.
  • Dementsprechend gilt: Pi ≤ (1/4)**(i – 1)
  • Eine modulare Potenzierung wird für einen Rabin-Miller-Test durchgeführt. Der oben genannte probabilistische Primzahlerzeugungs-Algorithmus führt in Schritt 3 höchstens zehn Rabin-Miller-Tests durch. Daher ist die durchschnittliche Anzahl, die modulare Potenzierungen für eine zusammengesetzte Zahl durchgeführt werden
    Figure 00060001
  • Normalerweise gilt: wenn N willkürlich ausgewählt wird, ist die Wahrscheinlichkeit, dass N eine Primzahl ist, etwa 1/(lnN). Das bedeutet, dass eine Primzahl gefunden werden kann, wenn (ln N) Primalitätsprüfungen im Durchschnitt durchgeführt werden. Hierbei ist (lnN) ein natürlicher Logarithmus von N. Da die Zahlen, die durch eine von 2, 3, 5, 7 teilbar sind, im voraus ausgeschlossen worden sind, kann die durchschnittliche Anzahl von Primalitätsprüfungen, die durchzuführen sind, um eine Primzahl zu finden, um ⌀(2 × 3 × 5 × 7)/210 = 48/210 reduziert werden. Hierbei ist ⌀(2 × 3 × 5 × 7) die Anzahl von Zahlen unter den natürlichen Zahlen unter 210, die relativ prim zu den kleinen Primzahlen 2, 3, 5, 7 sind. Daher ist die Anzahl der Zahlen, die auf Primalität geprüft werden, bis eine Primzahl gefunden wird, das heißt die Gesamtmenge von Zahlen, die als zusammengesetzte Zahl beurteilt werden und die schließlich als Primzahl beurteilt werden, 8/35 × (lnN).
  • Da die letzte Zahl prim ist, beträgt die Anzahl von zusammengesetzten Zahlen, die einer Primalitätsprüfung unterzogen werden (8/35 × (lnN)) – 1.
  • Wenn dies so ist, ist die Anzahl von modularen Potenzierungen, die durchzuführen sind, um eine Primzahl zu finden, im Durchschnitt nicht größer als
    Figure 00060002
  • Wenn zum Beispiel N gleich 512 Bit ist, beträgt die Anzahl der modularen Potenzierungen höchstens 116,8. Wenn andererseits die Primalitätsprüfung nicht auf die Zahlen begrenzt wird, die nicht durch eine von 2, 3, 5, 7 teilbar ist, das heißt wenn alle Zahlen der Primalitätsprüfung unterzogen werden, ist die Anzahl modularer Potenzierungen, die durchgeführt wird, um eine Primzahl zu finden, im Durchschnitt nicht größer als
    Figure 00070001
  • Wenn N gleich 512 Bit ist, beträgt die Anzahl modularer Potenzierungen höchstens 481, 9. Somit kann die Anzahl modularer Potenzierungen auf etwa 1/4 gegenüber dem Stand der Technik 1 reduziert werden. Dieses Verfahren weist jedoch das oben genannte Problem auf, dass es nicht in der Lage ist, eine eindeutige Primzahl zu erzeugen.
  • 3. Stand der Technik 2 - der Algorithmus der deterministischen Erzeugung von Primzahlen
  • Ein Verfahren der deterministischen Primzahlerzeugung unter Verwendung des Maurer-Algorithmus, der eine Primzahl mit absoluter Sicherheit erzeugen kann, wird nachstehend erläutert. Der Maurer-Algorithmus wird in A.J. Menezes, P.C. van Oorshot & S.A. Vanstone (1997) Handbook of Applied Cryptography (Handbuch der angewandten Kryptografie – nicht autorisierte Übersetzung – d. Übers.), S. 152-153, herausgegeben von CRC Press, beschrieben.
  • Der deterministische Primzahlerzeugungs-Algorithmus erzeugt eine Primzahl, indem er die folgenden Schritte wiederholt. Hierbei wird die Primzahl q, deren Bitgröße mit lenq bezeichnet wird, vorgegeben.
  • (Schritt 1) Wähle eine Zufallszahl R von (lenq – 1) Bits, wobei das erste Bit der Zufallszahl R auf definit 1 gesetzt wird.
  • (Schritt 2) Berechne die Zahl N nach der folgenden Gleichung: N = 2 × q × R + 1.
  • (Schritt 3) Prüfe, ob das erste und das zweite Kriterium erfüllt werden, und beurteile die Zahl N als Primzahl, wenn beide Kriterien erfüllt werden. Im anderen Fall bewerte die Zahl N als nicht prim. 2N-1 = 1 mod N (erstes Kriterium) GCD(22R – 1, N) = 1 (zweites Kriterium)
  • Wenn die Zahl N als prim beurteilt wird, gib die Zahl N als Primzahl aus. Im anderen Fall kehre zurück zu Schritt 1 und wiederhole das Verfahren, bis eine Primzahl ausgegeben wird.
  • Die Primalitätsprüfung wird Pocklington-Test genannt und in A.J. Menezes, P.C. van Oorshot & S.A. Vanstone (1997) Handbook of Applied Cryptography (Handbuch der angewandten Kryptografie – nicht autorisierte Übersetzung – d. Übers.), S. 144, herausgegeben von CRC Press, ausführlich beschrieben.
  • Nach dem Pocklington-Test gilt: wenn q in der Gleichung N = 2 × q × R + 1 prim ist und das erste und das zweite Kriterium erfüllt werden, ist N definit prim. Damit kann die Primalität deterministisch beurteilt werden, wobei es möglich ist, eine definite Primzahl zu erzeugen.
  • Somit erzeugt der deterministische Maurer-Primzahlerzeugungs-Algorithmus eine Primzahl N, deren Größe 2 × lenq ist, basierend auf der Primzahl q, deren Größe lenq ist.
  • Mit anderen Worten, um eine Primzahl einer vorbestimmten Länge unter Verwendung des deterministischen Maurer-Primzahlerzeugungs-Algorithmus zu erzeugen, muss die Erzeugung einer Primzahl, die nicht größer ist als die vorbestimmte Länge, wiederholt durchgeführt werden. Um zum Beispiel eine 512-Bit-Primzahl zu erzeugen, wird auf der Grundlage einer 8-Bit-Primzahl, die vorgegeben wurde, eine 16-Bit-Primzahl erzeugt. Als nächstes wird auf der Grundlage der 16-Bit-Primzahl eine 32-Bit-Primzahl erzeugt, und danach wird auf der Grundlage der 32-Bit-Primzahl eine 64-Bit-Primzahl erzeugt. Die Primzahlerzeugung wird auf diese Weise wiederholt, und im Ergebnis dessen erhält man eine 512-Bit-Primzahl.
  • Es ist zu beachten, dass das oben genannte zweite Kriterium ersetzt werden kann durch 22R ≠ 1 mod N.
  • (Berechnungskomplexität des deterministischen Primzahlerzeugungs-Algorithmus)
  • Die Berechnungskomplexität des Erzeugens einer Primzahl unter Verwendung des deterministischen Maurer-Primzahlerzeugungs-Algorithmus ist wie folgt.
  • Hierbei wird die Berechnungskomplexität als die Anzahl modularer Potenzierungen für eine 512-Bit-Zahl gemessen. Das heißt, der Fall wird betrachtet, bei dem eine 512-Bit-Primzahl unter Verwendung einer 256-Bit-Primzahl erzeugt wird.
  • Wenn eine positive ganze Zahl R ausgewählt wird, ist die Wahrscheinlichkeit, dass die positive ganze Zahl R prim ist, normalerweise etwa 1/(lnR). Daher kann die Anzahl, die der Pocklington-Test durchgeführt wird, um eine 512-Bit-Primzahl zu berechnen, auf ln2512 geschätzt werden. Da die Primalitätsprüfung nach dem Stand der Technik 2 nur für ungerade Zahlen durchgeführt wird, ist die Anzahl der Pocklington-Tests (ln2512)/2.
  • Die Wahrscheinlichkeit der Erfüllung des ersten Kriteriums beträgt höchstens 1/4, was der Wahrscheinlichkeit des Bestehens des Rabin-Miller-Tests entspricht. Dementsprechend ist die Anzahl der modularen Potenzierungen, die für eine zusammengesetzte Zahl durchgeführt wird, nicht größer als 1 + 1/4. Mittlerweile ist die Anzahl der modularen Potenzierungen, die für eine Primzahl durchgeführt wird, 2.
  • Daher ist die Anzahl der 512-Bit modularen Potenzierungen, die durchgeführt werden, um eine 512-Bit-Primzahl aus einer 256-Bit-Primzahl zu erzeugen, nicht größer als (1 + 1/4)((ln2512)/2 – 1) + 2 = 222,6.
  • Analog dazu ist in dem Fall, in dem eine 256-Bit-Primzahl aus einer 128-Bit-Primzahl erzeugt wird, die Anzahl der Pocklington-Tests (ln2256)/2. Folglich ist die Anzahl der 256-Bit modularen Potenzierungen, die durchgeführt wird, um eine 256-Bit-Primzahl zu erzeugen, nicht größer als (1 + 1/4)((ln2256)/2 – 1) + 2.
  • Die Berechnungskomplexität modularer Potenzierung ist abhängig von dem Modulus N und liegt in der Größenordnung von N3. Daher können acht 256-Bit modulare Potenzierungen als äquivalent zu einer 512-Bit modularen Potenzierung angesehen werden.
  • Wenn andere Fälle, wie zum Beispiel das Erzeugen einer 128-Bit-Primzahl aus einer 64-Bit-Primzahl, auf die gleiche Weise betrachtet werden, kann die Gesamt-Berechnungskomplexität des Standes der Technik 2 als die Anzahl von 512-Bit modularen Potenzierungen gemessen werden.
  • Hierbei ist die Berechnungskomplexität des Erzeugens einer 16-Bit- oder 32-Bit-Primzahl weitaus geringer als die Berechnungskomplexität des Erzeugens einer 64Bit-, 128-Bit-, 256-Bit- oder 512-Bit-Primzahl, so dass die Berechnungskomplexität für 16-Bit- und 32-Bit-Primzahlen vernachlässigt werden kann. Daher ist die Gesamt-Berechnungskomplexität des Standes der Technik 2, wenn sie als die Anzahl der 512-Bit modularen Potenzierungen ausgedrückt wird, nicht größer als (1 + 1/4) × {((ln264)/2 – 1)/512 + ((ln2128)/2 – 1)/64 + ((ln2256)/2 – 1)/8 + ((ln2512)/2 – 1)} + 2(1/512 + 1/64 + 1/8 + 1) = 237,4.
  • Die Berechnungskomplexität des Standes der Technik 2 ist wenigstens zwei Mal so groß wie die Berechnungskomplexität des Standes der Technik 1, die nicht größer als 116,8 ist. Somit benötigt der Stand der Technik 2 mehr Berechnungskomplexität als der Stand der Technik 1, wenngleich er eine Primzahl deterministisch erzeugen kann.
  • Patent Abstracts of Japan vol. 1998, Nr. 14, 31. Dezember 1998 und die JP 10 240 128 A (Toshiba Corp), 11. September 1998, beschreiben ein Primzahl-Erzeugungsverfahren für Verschlüsselung und Kryptografie. Eine ungerade Zufallszahl wird mit der zweifachen Bitlänge der Wortgröße erzeugt und danach durch Nichtprimzahlen aus einer Tabelle geteilt. Wenn dies nicht mehr möglich ist, wird die ungerade Zahl als Primzahl beurteilt. Das bedeutet, dass man eine Primzahl Fi erhält, die größer ist als die Zufallszahl Ri. Ein Primzahlkandidat Ni = 2 × RiFi +1 wird erzeugt. Danach wird die Primalität von Ni beurteilt.
  • Kurz gesagt, besteht bei der Primzahlerzeugung das folgende Problem. Wenn ein Algorithmus mit einer geringen Berechnungskomplexität verwendet wird, können Primzahlen nicht deterministisch erzeugt werden. Wenn andererseits ein Algorithmus, der Primzahlen deterministisch erzeugen kann, angewendet wird, erhöht sich die Berechnungskomplexität.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Der Gegenstand der vorliegenden Erfindung besteht in der Lösung des oben genannten Problems und in der Bereitstellung einer Primzahl-Erzeugungsvorrichtung, eines Verfahrens zum Erzeugen von Primzahlen, eines Programms zur Primzahlerzeugung, eines Aufzeichnungsmediums zum Speichern eines Primzahl-Erzeugungsprogramms und einer Informationssicherheitsvorrichtung, die in der Lage sind, Primzahlen mit geringer Berechnungskomplexität deterministisch zu erzeugen.
  • Der genannte Gegenstand kann durch die Erfindung gemäß den unabhängigen Patentansprüchen erzielt werden.
  • Bevorzugte Ausführungsbeispiele der Erfindung werden in den abhängigen Patentansprüchen definiert.
  • Mit diesem Aufbau kann die Rechenzeit verkürzt werden, ohne den Typ einer Primzahl, der erzeugt werden kann, einzuschränken.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und andere Ziele, Vorteile und Merkmale der Erfindung werden aus der folgenden Beschreibung derselben in Verbindung mit den anhängenden Zeichnungen, die bestimmte Ausführungsbeispiele der Erfindung veranschaulichen, offensichtlich werden.
  • 1 ist ein Blockschema und zeigt einen Aufbau eines Inhaltsbereitstellungssystems.
  • 2 ist ein Blockschema und zeigt den Aufbau einer in 1 gezeigten Speicherkarte.
  • 3 ist ein Blockschema und zeigt den Aufbau einer in 2 gezeigten Primzahl-Erzeugungseinheit.
  • 4 ist ein Blockschema und zeigt den Aufbau eines in 1 gezeigten PCs.
  • 5 ist ein Blockschema und zeigt den Aufbau einer in 1 gezeigten Bereitstellungsserver-Vorrichtung.
  • 6 ist ein Fließschema und zeigt eine Operation des Inhaltsbereitstellungssystems.
  • 7 ist ein Fließschema und zeigt eine Operation der Primzahl-Erzeugungseinheit.
  • 8 ist ein Blockschema und zeigt einen Aufbau einer anderen Primzahl-Erzeugungseinheit.
  • 9 ist ein Fließschema und zeigt eine Operation der in 8 gezeigten Primzahl-Erzeugungseinheit; und
  • 10 ist ein Fließschema und zeigt eine Operation eines Verschlüsselungs-Kommunikationssystems.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 1. Ausführungsform
  • Es folgt eine Beschreibung eines Inhaltsbereitstellungssystems 1, welches eine Ausführungsform der vorliegenden Erfindung ist.
  • 1.1. Aufbau des Inhaltsbereitstellungssystems 1
  • Das Inhaltsbereitstellungssystem 1 umfasst, wie in 1 gezeigt wird, eine Speicherkarte 10, einen Personal Digital Assistant (PDA-Computer) 20, einen Kopfhörer 21, einen Personalcomputer (PC) 30, eine Bereitstellungsserver-Vorrichtung 40 und ein Mobiltelefon 50.
  • Die Bereitstellungsserver-Vorrichtung 40 verschlüsselt einen digitalen Musiktitel und sendet den verschlüsselten digitalen Titel über das Internet 60 an den PC 30. Der PC 30 empfängt den verschlüsselten digitalen Titel.
  • Der Benutzer schiebt die Speicherkarte 10 in den PC 30 ein. Der PC 30 schreibt den verschlüsselten digitalen Titel auf die Speicherkarte 10. Die Speicherkarte 10 entschlüsselt den verschlüsselten digitalen Titel, um den originalen digitalen Titel zu erhalten, und speichert den erhaltenen digitalen Titel. Der Benutzer schiebt die Speicherkarte 10 in den PDA-Computer 20 ein. Dabei ist der PDA-Computer 20 an den Kopfhörer 21 angeschlossen. Der PDA-Computer 20 wandelt den auf die Speicherkarte 10 geschriebenen digitalen Titel in ein elektrisches Signal um und gibt das elektrische Signal an den Kopfhörer 21 aus. Der Kopfhörer 21 wandelt das elektrische Signal in Schallwellen um und gibt die Schalwellen aus.
  • Weiterhin verschlüsselt die Bereitstellungsserver-Vorrichtung 40 einen digitalen Musiktitel und sendet den verschlüsselten digitalen Titel über das Internet 60, ein Mobiltelefonnetz 62 und eine drahtlose Basisstation 61 an ein Mobiltelefon 50. Das Mobiltelefon 50 empfängt den verschlüsselten digitalen Titel.
  • Der Benutzer schiebt die Speicherkarte 10 in das Mobiltelefon 50 ein. Das Mobiltelefon 50 schreibt den verschlüsselten digitalen Titel auf die Speicherkarte 10. Die Speicherkarte 10 entschlüsselt den verschlüsselten digitalen Titel, um den originalen digitalen Titel zu erhalten, und speichert den erhaltenen digitalen Titel. Das Mobiltelefon 50 wandelt den auf der Speicherkarte 10 gespeicherten digitalen Titel in ein elektrisches Signal um, wandelt das elektrische Signale in Schallwellen um und gibt die Schallwellen aus.
  • Somit kann der Benutzer einen digitalen Musiktitel von der Bereitstellungsserver-Vorrichtung 40 empfangen und die Musik abspielen.
  • 1.2. Speicherkarte 10
  • Die Speicherkarte 10 umfasst eine Primzahl-Erzeugungseinheit 101, eine Erzeugungs-Steuereinheit 102, eine Primzahl-Speichereinheit 103, eine Zufallszahl-Erzeugungseinheit 104, eine Speichereinheit für geheimen Schlüssel 105, eine Erzeugungseinheit für öffentlichen Schlüssel 106, eine Speichereinheit für öffentlichen Schlüssel 107, eine Entschlüsselungseinheit 108, eine Speichereinheit 109, eine Steuereinheit 112, eine Authentifizierungseinheit 113, und eine Sende-/Empfangs-Einheit 114, wie in 2 gezeigt wird.
  • Die Speicherkarte 10 wird faktisch durch ein Computersystem realisiert, das grob gesagt aus einem Mikroprozessor, einem Festwertspeicher (ROM-Speicher) und einem RAM-Speicher besteht. Ein Computerprogramm ist in dem RAM-Speicher gespeichert, und der Mikroprozessor arbeitet gemäß diesem Computerprogramm, um die Funktionen der Speicherkarte 10 zu erzielen.
  • (1) Speichereinheit für geheimen Schlüssel 105
  • Die Speichereinheit für geheimen Schlüssel 105 hat einen Bereich zum Speichern eines Paares von Zahlen n und d als geheimer Schlüssel.
  • (2) Speichereinheit für öffentlichen Schlüssel 107
  • Die Speichereinheit 107 hat einen Bereich zum Speichern eines Paares von Zahlen n und e als öffentlicher Schlüssel.
  • (3) Speichereinheit 109
  • Die Speichereinheit 109 besteht aus einem allgemeinen Bereich 111 und einem sicheren Bereich 110. Der allgemeine Bereich 111 und der sichere Bereich 110 werden genutzt, um Informationen zu speichern. Der allgemeine Bereich 111 kann von einem externen Gerät frei gelesen/beschrieben werden. Der sichere Bereich 110 andererseits kann nur gelesen/beschrieben werden, wenn die Authentifizierungseinheit 113 ein Gerät authentifiziert, in dem die Speicherkarte 10 eingeschoben ist.
  • (4) Primzahlen-Speichereinheit 103
  • Die Primzahlen-Speichereinheit 103 hat einen Bereich zum Speichern von Primzahlen Pa und Pb.
  • (5) Erzeugungs-Steuereinheit 102
  • Die Erzeugungs-Steuereinheit 102 gibt die Primzahl q, die Bitgröße Lenq der Primzahl q, die kleinen Primzahlen L1, L2, ..., Ln mit Ausnahme von 2 und eine Bitgröße LenL von (L1 × L2 × ... × Ln) an die Primzahl-Erzeugungseinheit 101 aus. Die Erzeugungs-Steuereinheit 102 empfängt danach die Primzahl p von der Primzahl-Erzeugungseinheit 101 und schreibt die Primzahl p als Primzahl pa auf die Primzahl-Speichereinheit 103.
  • Als nächstes gibt die Erzeugungs-Steuereinheit 102 die Primzahl q, die Bitgröße Lenq der Primzahl q, die kleinen Primzahlen L1, L2, ..., Ln mit Ausnahme von 2 und die Bitgröße LenL von (L1 × L2 × ... × Ln) erneut an die Primzahl-Erzeugungseinheit 101 aus. Die Erzeugungs-Steuereinheit 102 empfängt danach die Primzahl p von der Primzahl-Erzeugungseinheit 101 und schreibt die Primzahl p als Primzahl pb auf die Primzahl-Speichereinheit 103.
  • Die Primzahl q, die Bitgröße Lenq der Primzahl q, die kleinen Primzahlen L1, L2, ..., Ln mit Ausnahme von 2 und die Bitgröße LenL von (L1 × L2 × ... × Ln) werden an späterer Stelle ausführlich beschrieben.
  • Somit steuert die Erzeugungs-Steuereinheit 102 die Primzahl-Erzeugungseinheit 101 zwei Mal an, um zwei Primzahlen zu erzeugen. Da die Primzahl-Erzeugungseinheit 101 eine Zufallsnummer verwendet, um eine Primzahl zu erzeugen, wie an späterer Stele beschrieben werden wird, hat eine zweite Primzahl, die von der Primzahl-Erzeugungseinheit 101 erzeugt wird, eine sehr geringe Wahrscheinlichkeit, mit der ersten Primzahl, die von der Primzahl- Erzeugungseinheit 101 erzeugt wurde, abzugleichen. Die Erzeugungs-Steuereinheit 102 kann jedoch die Primzahl-Erzeugungseinheit 101 ansteuern, um die zweite Primzahl zu erzeugen, wenn die zweite Primzahl mit der ersten Primzahl übereinstimmt, um sicherzustellen, dass die beiden Primzahlen definit voneinander unterschiedlich sind.
  • Weiterhin nutzt die Erzeugungs-Steuereinheit 102 einen Satz von Parametern, der aus der Primzahl q, der Bitgröße Lenq, den Primzahlen L1, L2, ..., Ln und der Bitgröße LenL in jeder der beiden Primzahl-Erzeugungsoperationen besteht, jedoch kann die Erzeugungs-Steuereinheit 102 einen unterschiedlichen Satz von Parametern in jeder der beiden Primzahl-Erzeugungsoperationen nutzen.
  • Im Detail kann die Erzeugungs-Steuereinheit 101 den Satz von Parametern verwenden, der aus der Primzahl q, der Bitgröße Lenq, n Primzahlen L1, L2, ..., Ln und der Bitgröße LenL in der ersten Primzahl-Erzeugungsoperation besteht, sowie einen zweiten Satz von Parametern, der aus der Primzahl q', der Bitgröße Lenq' der Primzahl q', j Primzahlen L1', L2', ..., Lj' mit Ausnahme von 2 und der Bitgröße LenL' von (L1' × L2' × ... × Lj') in der zweiten Primzahl-Erzeugungsoperation besteht.
  • Hierbei gilt q ≠ q' und n ≠ j. Weiterhin gilt (L1, L2, ..., Ln) ≠ (L1', L2', ..., Lj'), was bedeutet, dass sich wenigstens eine der Primzahlen aus L1, L2, ..., Ln) von einer der Primzahlen aus (L1', L2', ..., Lj') unterscheidet.
  • (6) Primzahl-Erzeugungsvorrichtung 101
  • Die Primzahl-Erzeugungseinrichtung 101 umfasst eine Zufallszahl-Erzeugungseinheit 131, eine Beurteilungsziel-Erzeugungseinheit 132, eine erste Primalitäts-Beurteilungseinheit 133, eine zweite Primalitäts-Beurteilungseinheit 134 und eine Steuereinheit 135, wie in 3 gezeigt wird.
  • Wenn eine Primzahl q, die erfüllt: q = 1 mod L1 q = 1 mod L2 ... q = 1 mod Ln zusammen mit der Bitgröße Lenq der Primzahl q gegeben ist, gibt die Primzahl-Erzeugungseinheit die Primzahl p aus, deren Bitgröße das Zweifache der Bitgröße der Primzahl q ist.
  • Hierbei sind L1, L2, ..., Ln kleine Primzahlen mit Ausnahme von 2. Weiterhin wird die Bitgröße LenL von (L1 × L2 × ... × Ln) vorgegeben.
  • Zum Beispiel sind L1, L2, ..., Ln Primzahlen, die kleiner sind als eine erwartete Bitgröße der Eingangs-Primzahl q, wie zum Beispiel L1 = 3 und L2 = 5.
  • (Zufallsnummer-Erzeugungseinheit 131)
  • Die Zufallszahl-Erzeugungseinheit 131 empfängt die Bitgröße Lenq und die Bitgröße LenL von der Erzeugungs-Steuereinheit 102 und nutzt diese, um die Zufallsnummer R' zu erzeugen, deren Bitgröße (Lenq – LenL – 1) ist. Die Zufallsnummer-Erzeugungseinheit 131 gibt die Zufallszahl R' an die Beurteilungsziel-Erzeugungseinheit 132 aus.
  • Die Zufallszahl-Erzeugungseinheit 131 empfängt weiterhin erste Beurteilungsinformationen von der ersten Primalitäts-Beurteilungseinheit 133 sowie zweite Beurteilungsinformationen von der zweiten Primalitäts-Beurteilungseinheit (die ersten und die zweiten Beurteilungsinformationen werden an späterer Stelle ausführlich beschrieben werden). Bei Empfang der ersten und der zweiten Beurteilungsinformationen erzeugt die Zufallszahl-Erzeugungseinheit 131 die Zufallszahl R', deren Bitgröße (Lenq – LenL – 1) ist unter Verwendung der Bitgröße Lenq und der Bitgröße LenL. Die Zufallszahl-Erzeugungseinheit 131 gibt danach die Zufallszahl R' an die Beurteilungsziel-Erzeugungseinheit 132 aus.
  • (Beurteilungsziel-Erzeugungseinheit 132)
  • Die Beurteilungsziel-Erzeugungseinheit 132 empfängt die Primzahl q von der Erzeugungs-Steuereinheit 102 und die Zufallszahl R' von der Zufallszahl-Erzeugungseinheit 131.
  • Die Beurteilungsziel-Erzeugungseinheit 132 verwendet die Primzahl q und die Zufallszahl R', um die Zahlen R und N zu erzeugen, die die folgenden Gleichungen erfüllen: R = L1 × L2 × ... × Ln × R' N = 2 × R × q + 1
  • Die Beurteilungsziel-Erzeugungseinheit 132 gibt die Zahl R an die zweite Primalitäts-Beurteilungseinheit 134 aus sowie die Zahl N an die erste Primalitäts-Beurteilungseinheit 133 und an die zweite Primalitäts-Beurteilungseinheit 134.
  • (Erste Primalitäts-Beurteilungseinheit 133)
  • Die erste Primalitäts-Beurteilungseinheit 133 empfängt die Zahl N von der Beurteilungsziel-Erzeugungseinheit 132 und beurteilt, ob die folgende Beurteilungsformel 1 wahr ist: 2N-1 = 1 mod N (Beurteilungsformel 1)
  • Wenn die Beurteilungsformel 1 wahr ist, gibt die erste Primalitäts-Beurteilungseinheit 133 Beurteilungsinformationen, die anzeigen, dass die Beurteilungsformel 1 wahr ist, an die zweite Primalitäts-Beurteilungseinheit 134 aus. Im anderen Fall gibt die erste Primalitäts-Beurteilungseinheit 133 erste Beurteilungsinformationen, die anzeigen, dass die Beurteilungsformel 1 nicht wahr ist, an die Zufallszahl-Erzeugungseinheit 131 aus.
  • (Zweite Primalitäts-Beurteilungseinheit 134)
  • Die zweite Primalitäts-Beurteilungseinheit 134 empfängt die Zahlen N und R von der Beurteilungsziel-Erzeugungseinheit 132. Die zweite Primalitäts-Beurteilungseinheit 134 empfängt weiterhin die erste Beurteilungsinformation, die andeutet, dass die Beurteilungsformel 1 wahr ist, von der ersten Primalitäts-Beurteilungseinheit 133.
  • Beim Empfang der ersten Beurteilungsinformation verwendet die zweite Primalitäts-Beurteilungseinheit 134 die Zahlen N und R, um zu beurteilen, ob die folgende Beurteilungsformel 2 wahr ist: 22R ≠ 1 mod N (Beurteilungsformel 2)
  • Wenn die Beurteilungsformel 2 wahr ist, gibt die zweite Primalitäts-Beurteilungseinheit 134 die Zahl N an die Erzeugungs-Steuereinheit 102 als Primzahl p aus. Im anderen Fall gibt die zweite Primalitäts-Beurteilungseinheit 134 die zweite Beurteilungsinformation, die andeutet, dass die Beurteilungsformel 2 nicht wahr ist, an die Zufallszahl-Erzeugungseinheit 131 aus.
  • (Steuereinheit 135)
  • Die Steuereinheit 135 steuert die einzelnen Bauelemente der Primzahl-Erzeugungseinheit 101.
  • (Überprüfung der Primzahl-Erzeugungseinheit 101)
  • Die von der ersten und der zweiten Primalitäts-Beurteilungseinheit 133 und 134 durchgeführten Beurteilungen sind der Pocklington-Test. Der Pocklington-Test wird in E. Okamoto (1993) An Introduction to Encryption Theory (Einführung in die Verschlüsselungstheorie – nicht autorisierte Übersetzung- d. Übers.), S. 21, herausgegeben von Kyoritsu, und in A.J. Menezes, P.C. van Oorshot & S.A. Vanstone (1997) Handbook of Applied Cryptography (Handbuch der angewandten Kryptografie – nicht autorisierte Übersetzung – d. Übers.), S. 144, herausgegeben von CRC Press, ausführlich beschrieben.
  • Wenn q in N = 2 × R × q + 1 prim ist und sowohl 2N-1 = 1 mod N als auch 22R ≠ 1 mod Nwahr sind, dann ist N prim. Dementsprechend gibt die Primzahl-Erzeugungseinheit 101 die Zahl N als Primzahl aus. Da weiterhin die Bitgröße der Zufallszahl R' (Lenq – LenL – 1) ist, ist die Bitgröße der Zahl R Lenq – 1. Daher ist die Bitgröße der Zahl N 2 × Lenq.
  • (7) Erzeugungseinheit für öffentlichen Schlüssel 106
  • Die Erzeugungseinheit für öffentlichen Schlüssel 106 liest die Primzahlen pa und pb aus der Primzahl-Speichereinheit 103 aus. Die Erzeugungseinheit für öffentlichen Schlüssel 106 multipliziert die Primzahlen pa und pb, um die ganze Zahl n = pa × pb zu berechnen, und schreibt die ganze Zahl n in die Speichereinheit für geheimen Schlüssel 105 und die Speichereinheit für öffentlichen Schlüssel 107. Die Erzeugungseinheit für öffentlichen Schlüssel 106 berechnet weiterhin das kleinste gemeinsame Vielfache der Zahlen (pa – 1) und (pb – 1), das heißt L = LCM (pa – 1, pb – 1).
  • Die Erzeugungseinheit für öffentlichen Schlüssel 106 empfängt die Zufallszahl e von der Zufallszahl-Erzeugungseinheit 104 und berechnet die Zahl d = e–1 mod L. Die Erzeugungseinheit für öffentlichen Schlüssel 106 schreibt die Zahl d in die Speichereinheit für geheimen Schlüssel 105 und die Zufallszahl e in die Speichereinheit für öffentlichen Schlüssel 107.
  • (8) Zufallszahl-Erzeugungseinheit 104
  • Die Zufallszahl-Erzeugungseinheit 104 erzeugt die Zufallszahl e und gibt die Zufallszahl e an die Erzeugungseinheit für öffentlichen Schlüssel 106 aus.
  • (9) Sende-/Empfangseinheit 114
  • Die Sende-/Empfangseinheit 114 liest die ganze Zahl n und die Zufallszahl e aus der Speichereinheit für öffentlichen Schlüssel 107 aus und gibt diese an den PC 30 aus.
  • Weiterhin empfängt die Sende-/Empfangseinheit 114 den Schlüsseltext c über das Internet 60 und den PC 30 von der Bereitstellungsserver-Vorrichtung 40 und schreibt den Schlüsseltext c in den allgemeinen Bereich 111 der Speichereinheit 109.
  • (10) Entschlüsselungseinheit 108
  • Die Entschlüsselungseinheit 108 liest den Schlüsseltext c aus dem allgemeinen Bereich 111 aus und liest die Zahl d und die Ganzzahl n aus der Speichereinheit für geheimen Schlüssel 105 aus. Die Entschlüsselungseinheit 108 entschlüsselt den Schlüsseltext c unter Verwendung der Zahl d und der Ganzzahl n gemäß der folgenden Gleichung, um den entschlüsselten Text m' zu erhalten. m' = cd mod n
  • Die Entschlüsselungseinheit 108 schreibt den entschlüsselten Text m' in den sicheren Bereich 110 der Speichereinheit 109.
  • (11) Authentifizierungseinheit 113
  • Die Authentifizierungseinheit 113 überprüft ein Gerät, in dem die Speicherkarte 10 eingeführt wird. Wenn die Authentifizierung erfolgreich ist, erlaubt die Authentifizierungseinheit 113 dem Gerät, den sicheren Bereich 110 der Speichereinheit 109 zu lesen/beschreiben.
  • (12) Steuereinheit 112
  • Die Steuereinheit 112 steuert die einzelnen Bauelemente der Speicherkarte 10.
  • 1.3. PC 30
  • Der PC 30 umfasst eine Sende-/Empfangseinheit 301, eine Authentifizierungseinheit 302, eine Steuereinheit 303, eine Sende-/Empfangseinheit 304, eine Eingabeeinheit 305 und eine Anzeigeeinheit 306, wie in 4 gezeigt wird.
  • Der PC 30 wird faktisch durch ein Computersystem realisiert, das grob aus einem Mikroprozessor, einem RAM-Speicher, eine Festplatteneinheit, einer LCD-Einheit (Flüssigkristallanzeige), einer Tastatur und einer Maus besteht. Ein Computerprogramm ist in dem RAM-Speicher oder auf der Festplatteneinheit gespeichert, und der Mikroprozessor arbeitet nach diesem Computerprogramm, um die Funktionen des PCs 30 zu erzielen.
  • Der PC 30 empfängt die Ganzzahl n und die Zufallszahl e von der Speicherkarte 10 und sendet diese über das Internet 60 an die Bereitstellungsserver-Vorrichtung 40. Der PC 30 empfängt weiterhin über das Internet 60 den Schlüsseltext c von der Bereitstellungsserver-Vorrichtung 40 und sendet diesen zu der Sende-/Empfangseinheit 114 in der Speicherkarte 10.
  • 1.4. Bereitstellungsserver-Vorrichtung 40
  • Die Bereitstellungsserver-Vorrichtung 40 umfasst eine Sende-/Empfangseinheit 401, eine Speichereinheit für öffentlichen Schlüssel 402, eine Verschlüsselungseinheit 403, eine Steuereinheit 404 und eine Informations-Speichereinheit 405, wie in 5 gezeigt wird.
  • Wie der PC 30 auch, ist die Bereitstellungsserver-Vorrichtung 40 ein Computersystem mit einem Mikroprozessor, der nach einem Computerprogramm arbeitet, um die Funktionen der Bereitstellungsserver-Vorrichtung 40 zu erzielen.
  • (1) Informations-Speichereinheit 405
  • Die Informations-Speichereinheit 405 speichert den Klartext m im voraus. Im Detail ist der Klartext m digitale Musikinformation.
  • (2) Speichereinheit für öffentlichen Schlüssel 402
  • Die Speichereinheit für öffentlichen Schlüssel 402 hat einen Bereich zum Speichern des Paares aus Ganzzahl n und Zufallszahl e als öffentlicher Schlüssel.
  • (3) Sende-/Empfangseinheit 401
  • Die Sende-/Empfangseinheit 401 empfängt die Ganzzahl n und die Zufallszahl e über das Internet 60 von dem PC 30 und schreibt dieselben in die Speichereinheit für öffentlichen Schlüssel 402.
  • Die Sende-/Empfangseinheit 401 empfängt weiterhin den Schlüsseltext c von der Verschlüsselungseinheit 403 und sendet diesen über das Internet 60 an den PC 30.
  • (4) Verschlüsselungseinheit 403
  • Die Verschlüsselungseinheit 403 liest den Klartext m aus der Informations-Speichereinheit 405 aus, und liest die Ganzzahl n und die Zufallszahl e aus der Speichereinheit für öffentlichen Schlüssel 402 aus. Die Verschlüsselungseinheit 403 verschlüsselt den Klartext m unter Verwendung der Ganzzahl n und der Zufallszahl e nach der folgenden Gleichung, um den Schlüsseltext c zu erzeugen. c = me mod n
  • (5) Steuereinheit 404
  • Die Steuereinheit 404 steuert die einzelnen Bauelemente der Bereitstellungsserver-Vorrichtung 40.
  • 1.5. PDA-Computer 20 und Kopfhörer 21
  • Der PDA-Computer 20 liest den entschlüsselten Text m' aus dem sicheren Bereich 110 der Speichereinheit 109 in der Speicherkarte 10 aus, wandelt den entschlüsselten Text m' in ein analoges Audiosignal um und gibt dieses an den Kopfhörer 21 aus.
  • Der Kopfhörer 21 wandelt das Audiosignal in Schallwellen um und gibt die Schallwellen aus.
  • 1.6. Mobiltelefon 50
  • Das Mobiltelefon 50 hat den Aufbau eines Mobiltelefons, das in der Lage ist, unter Nutzung einer Funkwelle mit einem anderen Mobiltelefon zu kommunizieren, und es hat weiterhin den gleichen Aufbau wie der PC 30 und der PDA-Computer 20.
  • Das Mobiltelefon 50 wird faktisch durch ein Computersystem realisiert, das grob aus einem Mikroprozessor, einem Festwertspeicher (ROM), einem RAM-Speicher, einer LCD-Einheit, einer Eingabeeinheit, einer Kommunikationseinheit, einem Mikrophon und einem Lautsprecher besteht. Ein Computerprogramm ist in dem RAM-Speicher gespeichert, wobei der Mikroprozessor gemäß diesem Computerprogramm arbeitet, um die Funktionen des Mobiltelefons 50 zu erzielen.
  • Das Mobiltelefon 50 empfängt die Ganzzahl n und die Zufallszahl e von der Speicherkarte 10 und sendet diese auf dieselbe Art und Weise wie der PC 30 über das Internet 60 an die Bereitstellungsserver-Vorrichtung 40. Das Mobiltelefon 50 empfängt weiterhin den Schlüsseltext c über das Internet 60 von der Bereitstellungsserver-Vorrichtung 40 und sendet diesen an die Sende-/Empfangseinheit 114 in der Speicherkarte 10.
  • Weiterhin wandelt das Mobiltelefon 50 einen in der Speicherkarte 10 gespeicherten digitalen Titel in ein elektrisches Signal um, wandelt das elektrische Signal in Schallwellen um und gibt die Schallwellen auf die gleiche Art und Weise wie der PDA-Computer 20 aus.
  • 1.7. Betrieb des Inhaltsbereitstellungssystems 1
  • (1) Gesamtbetrieb des Inhaltsbereitstellungssystems 1
  • Eine Operation des Inhaltsbereitstellungssystems 1 wird unten unter Bezugnahme auf 6 erläutert.
  • Die Primzahl-Erzeugungseinheit 101 in der Speicherkarte 10 erzeugt willkürlich die Primzahlen pa und pb und schreibt diese in die Primzahl-Speichereinheit 103 (S101). Die Erzeugungseinheit für öffentlichen Schlüssel 106 liest die Primzahlen pa und pb aus der Primzahl-Speichereinheit 103 aus und multipliziert diese miteinander, um die Ganzzahl n = pa × pb zu bilden. Die Erzeugungseinheit für öffentlichen Schlüssel 106 schreibt die Ganzzahl n in die Speichereinheit für geheimen Schlüssel 105 und in die Speichereinheit für öffentlichen Schlüssel 107. Die Erzeugungseinheit für öffentlichen Schlüssel 106 berechnet weiterhin das kleinste gemeinsame Vielfache L = LCM (pa – 1, pb – 1) der Zahlen (pa – 1) und (pb – 1) (S102). Die Zufalls zahl-Erzeugungseinheit 104 erzeugt die Zufallszahl e und gibt diese an die Erzeugungseinheit für öffentlichen Schlüssel 106 aus (S103). Die Erzeugungseinheit für öffentlichen Schlüssel 106 empfängt die Zufallszahl e und berechnet die Zahl d = e–1 mod L. Die Erzeugungseinheit für öffentlichen Schlüssel 106 schreibt die Zahl d in die Speichereinheit für geheimen Schlüssel 105 und die Zufallszahl e in die Speichereinheit für öffentlichen Schlüssel 107 (S104). Die Sende-/Empfangseinheit 114 liest die Ganzzahl n und die Zufallszahl e aus der Speichereinheit für öffentlichen Schlüssel 107 aus und gibt diese an den PC 30 aus (S105). Der PC 30 sendet die Ganzzahl n und die Zufallszahl e über das Internet 60 an die Bereitstellungsserver-Vorrichtung 40.
  • Die Speichereinheit für öffentlichen Schlüssel 402 in der Bereitstellungsserver-Vorrichtung 40 empfängt die Ganzzahl n und die Zufallszahl e über das Internet 60 und die Sende-/Empfangseinheit 401 und speichert diese (S106). Die Verschlüsselungseinheit 403 liest den Klartext m aus der Informations-Speichereinheit 405, liest die Ganzzahl n und die Zufallszahl e aus der Speichereinheit für öffentlichen Speicher 402 und verschlüsselt den Klartext m unter Verwendung der Ganzzahl n und der Zufallszahl e gemäß der folgenden Gleichung, um den Schlüsseltext c zu erhalten: c = me mod n(S107). Die Verschlüsselungseinheit 403 sendet den Schlüsseltext c über die Sende-/Empfangseinheit 401 und das Internet 60 an den PC 30 (S108). Der PC 30 empfängt den Schlüsseltext c und sendet diesen an die Sende-/Empfangseinheit 114 in der Speicherkarte 10. Die Sende-/Empfangseinheit 114 schreibt den Schlüsseltext c in den allgemeinen Bereich 111 der Speichereinheit 109 (S109). Die Entschlüsselungseinheit 108 liest den Schlüsseltext c aus dem allgemeinen Bereich 111 aus, liest die Zahl d und die Ganzzahl n aus der Speichereinheit für geheimen Schlüssel 105 aus und entschlüsselt den Schlüsseltext c unter Verwendung der Zahl d und der Ganzzahl n entsprechend der folgenden Gleichung, um den entschlüsselten Text m' zu erhalten: m' = cd mod n
  • Die Entschlüsselungseinheit 108 schreibt den entschlüsselten Text m' in den sicheren Bereich 110 der Speichereinheit 109 (S110).
  • Der PDA-Computer 20 liest den entschlüsselten Text m' aus dem sicheren Bereich 110 der Speichereinheit 109 in der Speicherkarte 10 (S111) aus und wandelt ihn in ein analoges Audiosignal um. Der PDA-Computer 20 gibt das Audiosignal an den Kopfhörer 21 aus. Der Kopfhörer 21 wandelt das Audiosignal in Schallwellen um und gibt die Schallwellen aus (S112).
  • Hierbei ist zu beachten, dass die oben genannte Operation der Speicherkarte 10 erzielt wird, indem die Steuereinheit 112 die einzelnen Bauelemente der Speicherkarte 10 ansteuert.
  • (2) Operation der Primzahl-Erzeugungseinheit 101
  • Eine Operation der Primzahl-Erzeugungseinheit 101 wird unten unter Bezugnahme auf 7 erläutert.
  • Die Zufallsnummer-Erzeugungseinheit 131 erzeugt die Zufallsnummer R' von (Lenq – LenL – 1) Bits und gibt diese an die Beurteilungsziel-Erzeugungseinheit 132 aus (S132). Die Beurteilungsziel-Erzeugungseinheit 132 berechnet die Zahlen R und N und gibt die Zahl N an die erste Primalitäts-Beurteilungseinheit 133 sowie die Zahlen R und N an die zweite Primalitäts-Beurteilungseinheit 134 aus (S133). Die erste Primalitäts-Beurteilungseinheit 133 beurteilt, ob 2N-1 = 1 mod N (Beurteilungsformel 1). Wenn die Beurteilungsformel 1 nicht wahr ist (S134:NG/falsch), kehrt die Operation zu dem Schritt S132 zurück.
  • Wenn die Beurteilungsformel 1 wahr ist (S134:OK), beurteilt die zweite Primalitäts-Beurteilungseinheit 134, ob 22R ≠ 1 mod N (Beurteilungsformel 2). Wenn die Beurteilungsformel 2 nicht wahr ist (S135:NG), kehrt die Operation zu dem Schritt S132 zurück. Wenn die Beurteilungsformel 2 wahr ist (S135:OK), gibt die zweite Primalitäts-Beurteilungseinheit 134 die Zahl N an die Erzeugungs-Steuereinheit 102 als Primzahl aus, wodurch die Operation abgeschlossen wird.
  • Hierbei ist zu beachten, dass die oben genannte Operation der Primzahl-Erzeugungseinheit 101 dadurch erzielt wird, dass die Steuereinheit 135 die einzelnen Bauelemente der Primzahl-Erzeugungseinheit 101 ansteuert.
  • 1.8. Bewertung der Berechnungskomplexität
  • Die Berechnungskomplexität der Primzahl-Erzeugungseinheit 101 wird unten erläutert. Nehmen wir an, dass L1 = 3, L2 = 5, L3 = 7, n = 3 und dass Lenq 256 Bits ist.
  • Wenn dies der Fall ist, wird die Anzahl der modularen Potenzierungen für 2 × Lenq (= 512 Bits) wie folgt geschätzt.
  • Wenn eine Zahl R willkürlich ausgewählt wird, ist die Wahrscheinlichkeit, dass R prim ist, normalerweise etwa 1/(lnR). Daher kann die Anzahl der Pocklington-Tests, die durchzuführen sind, um eine 512-Bit-Primzahl zu erzeugen, auf ln(2512) geschätzt werden. Hierbei ist lnR ein natürlicher Algorithmus von R.
  • In der Ausführungsform gilt N = 2 × R × q + 1 = 2 × L1 × L2 × ... × Ln × R' × q + 1,so dass folgt: N = 1 mod 2 N = 1 mod L1 N = 1 mod L2 ... N = 1 mod Ln.
  • Somit ist N nicht teilbar durch eine von L1, L2, ..., Ln.
  • Eine Wahrscheinlichkeit einer Zahl, die mod (2 × L1 × L2 × ... × Ln), die nicht durch eine von 2, L1, L2, ..., Ln teilbar ist, lautet ⌀(2 × L1 × L2 × ... × Ln)/(L1 × L2 × ... × Ln) = (2 – 1) × (L1 – 1) × (L2 – 1) × ... × (Ln – 1) /(2 × L1 × L2 × ... × Ln).
  • Hierbei wird ⌀ als die Euler'sche Funktion bezeichnet und in S. Tsujii & M. Kasahara (1990) Cryptogtaphy and Information Security (Kryptografie und Informationssicherheit- nicht autorisierte Übersetzung – d. Übers.), S. 11-12, herausgegeben von Shokodo, ausführlich beschrieben.
  • Daher kann die Anzahl von Zahlen, die dem Pocklington-Test unterzogen werden, um eine Primzahl zu berechnen, reduziert werden um: (2 – 1) × (L1 – 1) × (L2 – 1) × ... × (Ln – 1) /(2 × L1 × L2 × ... × Ln).
  • Da L1 = 3, L2 = 5, L3 = 7 und n = 3, (2 – 1) × (3 – 1) × (5 – 1) × (7 – 1)/(2 × 3 × 5 × 7) = 48/210 = 8/35.
  • Dies ist das gleiche wie bei dem Stand der Technik 1.
  • Zwischenzeitlich ist die Wahrscheinlichkeit des Bestehens des Tests der ersten Primalitäts-Beurteilungseinheit 133 die gleiche wie die Wahrscheinlichkeit des Bestehens des Rabin-Miller-Tests, das heißt 1/4 oder weniger. Dementsprechend ist die Anzahl der für eine zusammengesetzte Zahl durchgeführten modularen Potenzierungen nicht größer als 1 + 1/4. Andererseits ist die Anzahl der für eine Primzahl durchgeführten modularen Potenzierungen 2.
  • Daher ist die Anzahl von 512-Bit modularen Potenzierungen, die durchgeführt werden, um eine 512-Bit-Primzahl aus einer 256-Bit-Primzahl zu erzeugen, nicht größer als (1 + 1/4)((ln251 2) × 8/35 – 1) + 2 = 89,5.
  • In der ersten Ausführungsform wird eine Primzahl von 512 Bit (2 × Lenq) aus einer Primzahl von 256 Bit (Lenq) erzeugt. Hierbei kann eine Primzahl von 512 Bit aus einer Primzahl von 16 Bit erhalten und problemlos berechnet werden, indem die Primzahl-Erzeugungseinheit 101 rekursiv eingesetzt wird.
  • Wenn dementsprechend der Fall des Erzeugens einer 256-Bit-Primzahl aus einer 128-Bit-Primzahl auf die gleiche Art und Weise betrachtet wird, ist die Anzahl von 256-Bit modularen Potenzierungen, die durchgeführt wird, um eine 256-Bit-Primzahl zu erzeugen, nicht größer als (1 + 1/4)((ln2256) × 8/35 – 1) + 2 = 45,1.
  • Die Berechnungskomplexität modularer Potenzierungen ist abhängig von dem Modulus N und liegt in dem Bereich von N3. Daher können acht 256-Bit modulare Potenzierungen als gleichwertig mit einer 512-Bit modularen Potenzierung angesehen werden.
  • Wenn andere Fälle, wie zum Beispiel das Erzeugen einer 128-Bit-Primzahl aus einer 64-Bit-Primzahl auf die gleiche Art und Weise betrachtet werden, kann die Gesamtberechnungskomplexität der Primzahl-Erzeugungseinheit 101 als die Anzahl von 512-Bit modularen Potenzierungen gemessen werden. Hierbei ist die Berechnungskomplexität des Erzeugens einer 16-Bit- oder einer 32-Bit-Primzahl weitaus geringer als die des Erzeugens einer 64-Bit-, 128-Bit-, 256-Bit- oder 512-Bit-Primzahl und kann somit vernachlässigt werden. Davon ausgehend ist die Gesamtberechnungskomplexität der Primzahl-Erzeugungseinheit 101, wenn sie als die Anzahl von 512-Bit modularen Potenzierungen ausgedrückt wird, nicht größer als: (1 + 1/4){((ln264) × 8/35 – 1)/512 + ((ln2218) × 8/35 – 1)/64 + ((ln225) × 8/35 – 1)/8 + ((ln2512) × 8/35 – 1(} + 2(1/512 + 1/64 + 1/8 + 1) = 109,0.
  • Dies ist geringer als die maximale Berechnungskomplexität des Standes der Technik 1, welche 116,8 beträgt. Weiterhin kann eine Primzahl im Gegensatz zu dem Stand der Technik 1 nach diesem Verfahren deterministisch erzeugt werden. Weiterhin ist dieses Verfahren 2,2 Mal so schnell wie der Stand der Technik 2, der ein herkömmliches deterministisches Primzahl-Erzeugungsverfahren ist.
  • Wie weiter oben beschrieben wurde, weist die Ausführungsform im Vergleich zu herkömmlichen Verfahren hervorragende Wirkungen des Verkürzens der Berechnungszeit von deterministischer Primzahlerzeugung auf.
  • Entsprechend der Ausführungsform ist die Primzahlerzeugung jedoch auf Primzahlen N begrenzt, die erfüllen: N = 1 mod 2 N = 1 mod L1 N = 1 mod L2 ... N = 1 mod Ln.
  • Dies verursacht ein Problem der Begrenzung der Arten von Primzahlen, die erzeugt werden können.
  • Eine solche Begrenzung der Arten von Primzahlen kann aus Sicherheitsgründen in einigen kryptografischen Anwendungen unerwünscht sein.
  • Das nachstehende Beispiel soll dieses Problem lösen.
  • 2. Beispiel
  • Es folgt eine Beschreibung eines Inhaltsbereitstellungssystems 1b (nicht veranschaulicht), welches ein anderes Beispiel ist.
  • Das Inhaltsbereitstellungssystem 1b hat einen Aufbau ähnlich dem des Inhaltsbereitstellungssystems 1. Die Speicherkarte 10 hat jedoch eine Primzahl-Erzeugungseinheit 101b anstelle der Primzahl-Erzeugungseinheit 101. Die folgende Beschreibung konzentriert sich auf die Unterschiede zu dem Inhaltsbereitstellungssystem 1.
  • 2.1. Erzeuqungs-Steuereinheit 102 in der Speicherkarte 10
  • Die Erzeugungs-Steuereinheit 102 gibt die Primzahl q, die Bitgröße Lenq der Primzahl q, die kleinen Primzahlen L1, L2, ..., Ln mit Ausnahme von 2, die Bitgröße LenL von (L1 × L2 × ... × Ln) sowie q mod L1, q mod L2, ..., q mod Ln an die Primzahl-Erzeugungseinheit 101b aus. Die Erzeugungs-Steuereinheit 102 empfängt danach die Primzahl p von der Primzahl-Erzeugungseinheit 101b und schreibt die Primzahl p als Primzahl pa in die Primzahl-Speichereinheit 103.
  • Als nächstes gibt die Erzeugungs-Steuereinheit 102 die Primzahl q, die Bitgröße Lenq der Primzahl q, die kleinen Primzahlen L1, L2, ..., Ln mit Ausnahme von 2, die Bitgröße LenL von (L1 × L2 × ... × Ln) sowie q mod L1, q mod L2, ..., q mod Ln erneut an die Primzahl-Erzeugungseinheit 101b aus. Die Erzeugungs-Steuereinheit 102 empfängt danach die Primzahl p von der Primzahl-Erzeugungseinheit 101b und schreibt die Primzahl p als Primzahl pb in die Primzahl-Speichereinheit 103.
  • 2.2. Primzahl-Erzeugungseinheit 101b in der Speicherkarte 10
  • Die Primzahl-Erzeugungseinheit 101b erzeugt die Primzahl p, deren Bitgröße zwei Mal so groß ist wie die der Primzahl q, und gibt diese aus, wenn die Primzahl q, q mod L1, q mod L2, ..., q mod Ln (wobei L1, L2, ..., Ln kleine Primzahlen mit Ausnahme von 2 sind) und die Bitgröße Lenq der Primzahl q gegeben sind.
  • Hierbei sind L1, L2, ..., Ln und die Bitgröße LenL von (L1 × L2 × ... × Ln) vorgegeben. Zum Beispiel sind L1, L2, ..., Ln Primzahlen, die kleiner sind als eine erwartete Bitgröße der Eingangs-Primzahl q.
  • Die Primzahl-Erzeugungseinheit 101b umfasst eine Teilinformations-Einstelleinheit 136b, eine Zufallsnummer-Erzeugungseinheit 131b, eine Beurteilungsziel-Erzeugungseinheit 132b, eine erste Primalitäts-Beurteilungseinheit 133b, eine zweite Primalitäts-Beurteilungseinheit 134b und eine Steuereinheit 135b, wie in 8 gezeigt wird.
  • (1) Teilinformations-Einstelleinheit 136b
  • Die Teilinformations-Einstelleinheit 136b empfängt die Primzahl q sowie q mod L1, q mod L2, ..., q mod Ln von der Erzeugungs-Steuereinheit 102 und berechnet die Zahl u, die erfüllt: 2 × u × q + 1 ≠ 0 mod L1 2 × u × q + 1 ≠ 0 mod L2 ... 2 × u × q + 1 ≠ 0 mod Ln.
  • Die Teilinformations-Einstelleinheit 136b gibt die Zahl u an die Beurteilungsziel-Erzeugungseinheit 132b aus.
  • Die Teilinformations-Einstelleinheit 136b wird weiter unten ausführlicher beschrieben werden.
  • Wie in 8 gezeigt wird, umfasst die Teilinformations-Einstelleinheit 136b eine Ganzzahl-Erzeugungseinheit 141b und eine Informations-Kombinationseinheit 142b.
  • (Ganzzahl-Erzeugungseinheit 141b)
  • Die Ganzzahl-Erzeugungseinheit 141b erzeugt Zufallszahlen N1 (1 ≤ N1 ≤ L1 – 1), N2 (1 ≤ N2 ≤ L2 – 1), ..., Nn (1 ≤ Nn ≤ Ln – 1) und berechnet ui = (Ni – 1)/(2 × (q mod Li)) mod Li (i = 1, 2, ..., n).
  • Die Ganzzahl-Erzeugungseinheit 141b gibt ui (i = 1, 2, ..., n) an die Informations-Kombinationseinheit 142b aus.
  • (Informations-Kombinationseinheit 142b)
  • Die Informations-Kombinationseinheit 142b empfängt ui (i = 1, 2, ..., n) von der Ganzzahl-Erzeugungseinheit 141b und berechnet u mod (L1 × L2 × ... × Ln), die gemäß des Chinesischen Restsatzes erfüllt: u = ui mod Li (i = 1, 2, ..., n).
  • Der Chinesische Restsatz wird in E. Okamoto (1993) An Introduction to Encryption Theory (Einführung in die Verschlüsselungstheorie – nicht autorisierte Übersetzung – d. Übers.), S. 10, herausgegeben von Kyoritsu, ausführlich beschrieben.
  • Im Detail berechnet die Informations-Kombinationseinheit 142b: u'2 = ((L1)–1 mod L2) × ((u2 – u1) mod L2) + u1 u'3 = ((L1× L2)–1 mod L3) × ((u3 – u'2) mod L3) + u'2 ... u'n = ((L1 × L2 × ... × Ln-1)–1 mod Ln) x((un – un-1) mod Ln) + u'n-1.
  • Die Informations-Kombinationseinheit 142b setzt danach u = u'n.
  • Danach gibt die Informations-Kombinationseinheit 142b u an die Beurteilungsziel-Erzeugungseinheit 132b aus.
  • (2) Zufallszahl-Erzeugungseinheit 131b
  • Die Zufallszahl-Erzeugungseinheit 131b empfängt Lenq und LenL von der Erzeugungs-Steuereinheit 102, berechnet die Zufallsnummer R' aus (Lenq – LenL – 1) Bits und gibt die Zufallszahl R' an die Beurteilungsziel-Erzeugungseinheit 132b aus.
  • Die Zufallszahl-Erzeugungseinheit 131b empfängt weiterhin die dritte Beurteilungsinformation von der ersten Primalitäts-Beurteilungseinheit 133b sowie die vierte Beurteilungsinformation von der zweiten Primalitäts-Beurteilungseinheit 134b (die dritte und die vierte Beurteilungsinformation werden an späterer Stelle ausführlich beschrieben). Beim Empfang der dritten und der vierten Beurteilungsinformation erzeugt die Zufallszahl-Erzeugungseinheit 131b erneut die Zufallszahl R' aus (Lenq – LenL – 1) Bits und gibt die Zufallszahl R' an die Beurteilungsziel-Erzeugungseinheit 132b aus.
  • (3) Beurteilungsziel-Erzeugungseinheit 132b
  • Die Beurteilungsziel-Erzeugungseinheit 132b empfängt die Primzahl q und die kleinen Primzahlen L1, L2, ..., Ln von der Erzeugungs-Steuereinheit 102, die Zahl u von der Teilinformations-Einstelleinheit 136b und die Zufallszahl R' von der Zufallszahl-Erzeugungseinheit 131b.
  • Die Beurteilungsziel-Erzeugungseinheit 132b erzeugt danach die Zahlen R und N, die erfüllen: R = u + L1 × L2 × ... × Ln × R' N = 2 × R × q + 1.
  • Die Beurteilungsziel-Erzeugungseinheit 132b gibt die Zahlen R und N an die zweite Primalitäts-Beurteilungseinheit 134b und die Zahl N an die erste Primalitäts-Beurteilungseinheit 133b aus.
  • (4) Erste Primalitäts-Beurteilungseinheit 133b
  • Die erste Primalitäts-Beurteilungseinheit 133b empfängt die Zahl N von der Beurteilungsziel-Erzeugungseinheit 132b und beurteilt, ob die folgende Beurteilungsformel 3 wahr ist: 2N-1 = 1 mod N (Beurteilungsformel 3)
  • Wenn die Beurteilungsformel 3 wahr ist, gibt die erste Primalitäts-Beurteilungseinheit 133b die dritte Beurteilungsinformation, die angibt, dass die Beurteilungsformel 3 wahr ist, an die zweite Primalitäts-Beurteilungseinheit 134b aus. Im anderen Fall gibt die erste Primalitäts-Beurteilungseinheit 133b die dritte Beurteilungsinformation, die angibt, dass die Beurteilungsformel 3 nicht wahr ist, an die Zufallszahl-Erzeugungseinheit 131b aus.
  • (5) Zweite Primalitäts-Beurteilungseinheit 134b
  • Die zweite Primalitäts-Beurteilungseinheit 134b empfängt die Zahlen R und N von der Beurteilungsziel-Erzeugungseinheit 132b. Die zweite Primalitäts-Beurteilungseinheit 134b empfängt weiterhin die dritte Beurteilungsinformation, die anzeigt, dass die Beurteilungsformel 3 wahr ist, von der ersten Primalitäts-Beurteilungseinheit 133b.
  • Beim Empfang der dritten Beurteilungsinformation beurteilt die zweite Primalitäts-Beurteilungseinheit 134b, ob die folgende Beurteilungsformel 4 wahr ist: 22R ≠ 1 mod N (Beurteilungsformel 4).
  • Wenn die Beurteilungsformel 4 wahr ist, gibt die zweite Primalitäts-Beurteilungseinheit 134b die Zahl N als Primzahl p an die Erzeugungs-Steuereinheit 102 aus.
  • Wenn die Beurteilungsformel 4 nicht wahr ist, gibt die zweite Primalitäts-Beurteilungseinheit 134b die vierte Beurteilungsinformation, die andeutet, dass die Beurteilungsformel 4 nicht wahr ist, an die Zufallszahl-Erzeugungseinheit 131b aus.
  • (6) Steuereinheit 135b
  • Die Steuereinheit 135b steuert die einzelnen Bauelemente der Primzahl-Erzeugungseinheit 101b.
  • 2.3. Überprüfung der Primzahl-Erzeugungseinheit 101b
  • Die erste und die zweite Primalitäts-Beurteilungseinheit 133b und 134b sind jeweils die gleichen wie die erste und die zweite Primalitäts-Beurteilungseinheit 133 und 134. Dementsprechend gibt die Primzahl-Erzeugungseinheit 101b eine Primzahl auf die gleiche Art und Weise wie die Primzahl-Erzeugungseinheit 101 aus.
  • Da weiterhin die Bitgröße der Zufallszahl R' (Lenq – LenL – 1) ist, ist die Bitgröße von R Lenq –1. Demzufolge ist die Bitgröße von N 2 × Lenq.
  • 2.4. Operation der Primzahl-Erzeugungseinheit 101b
  • Eine Operation der Primzahl-Erzeugungseinheit 101b wird nachstehend unter Bezugnahme auf 9 beschrieben.
  • Die Teilinformations-Einstelleinheit 136b berechnet u so, dass 2 × u × q + 1 ≠ mod (L1 × L2 × ... × Ln). Die Teilinformations-Einstelleinheit 136b gibt u an die Beurteilungsziel-Erzeugungseinheit 132b aus (S152). Die Zufallszahl-Erzeugungseinheit 131b erzeugt die Zufallszahl R' aus (Lenq – LenL – 1) Bits und gibt R' an die Beurteilungsziel-Erzeugungseinheit 132b aus (S153). Die Beurteilungsziel-Erzeugungseinheit 132b berechnet R und N, gibt N an die erste Primalitäts-Beurteilungseinheit 133b aus und gibt N und R an die zweite Primalitäts-Beurteilungseinheit 134b aus (S154). Die erste Primalitäts-Beurteilungseinheit 133b beurteilt, ob die Beurteilungsformel 3 wahr ist. Wenn die Beurteilungsformel 3 nicht wahr ist (S155:NG/falsch), kehrt die Operation zu dem Schritt S153 zurück.
  • Wenn die Beurteilungsformel 3 wahr ist (S155:OK), beurteilt die zweite Primalitäts-Beurteilungseinheit 134b, ob die Beurteilungsformel 4 wahr ist. Wenn die Beurteilungsformel 4 nicht wahr ist (S156:NG/falsch), kehrt die Operation zu dem Schritt S153 zurück. Wenn die Beurteilungsformel 4 wahr ist (S156:OK), gibt die zweite Primalitäts-Beurteilungseinheit 134b die Zahl N als Primzahl p an die Erzeugungssteuereinheit 102 aus (S157), wodurch die Operation abgeschlossen wird.
  • 2.4. Bewertung der Berechnunaskomplexität und Wirkungen
  • Die Berechnungskomplexität des Beispieles ist fast die gleiche wie die des Ausführungsbeispieles.
  • Genau genommen ist die Berechnungskomplexität des Beispieles größer als die des ersten Ausführungsbeispieles, da sie die Berechnungskomplexität der Teilinformations-Einstellungseinheit 136b enthält. Die Teilinformations-Einstellungseinheit 136b führt jedoch nur die Berechnungen von mod L1, mod L2, ..., mod Ln sowie die Berechnung des Chinesischen Restsatzes durch, so dass ihre Berechnungskomplexität weitaus kleiner ist als die Berechnungen von 2 × Lenq Bits. Daher kann die Berechnungskomplexität der Teilinformations-Einstellungseinheit 136b im Wesentlichen als 0 betrachtet werden.
  • Daher hat das Beispiel die gleichen Wirkungen wie das Ausführungsbeispiel in Bezug auf die Berechnungskomplexität.
  • Weiterhin sind N = N1 mod L1, N2 mod L2, ..., Nn mod Ln, wobei N1, N2, ..., Nn Zufallszahlen sind. Mit anderen Worten ist die Art der Primzahl, die von der Primzahl-Erzeugungseinheit 101b erzeugt wird, nicht begrenzt. Dies beseitigt das mit der Begrenzung der Art von erzeugter Primzahl in Zusammenhang stehende Sicherheitsproblem.
  • Somit hat die Primzahl-Erzeugungsvorrichtung 101b hervorragende Wirkungen des (1) Nichtbegrenzens der Art von Primzahl, (2) des deterministischen Erzeugens einer Primzahl und (3) des Erzeugens einer Primzahl mit größerer Geschwindigkeit als die herkömmlichen Verfahren.
  • Wie weiter oben beschrieben worden ist, kann gemäß dem Beispiel die Berechnungszeit der deterministischen Primzahlerzeugung verkürzt werden, und die Art von Primzahl ist nicht begrenzt im Vergleich zu den herkömmlichen Verfahren. Dies beseitigt das in Verbindung mit der Begrenzung der Art von Primzahl bestehende Sicherheitsproblem, so dass es möglicht ist, die kryptografische Sicherheit zu verbessern. Im Ergebnis dessen kann eine Primzahl-Erzeugungseinheit von großem praktischem Wert, die schnelle Verschlüsselung und Signaturverfahren erzielt, bereitgestellt werden.
  • 3. Modifikation
  • Ein Verschlüsselungs-Kommunikationssystem (nicht gezeigt), das die in dem ersten Ausführungsbeispiel und dem Beispiel erläuterte Primzahlerzeugung anwendet, wird unten beschrieben.
  • Das Verschlüsselungs-Kommunikationssystem besteht grob aus einer Verwaltungszentrale-Vorrichtung, einer Benutzervorrichtung A und einer Benutzervorrichtung B. Die Verwaltungszentrale-Vorrichtung, die Benutzervorrichtung A und die Benutzervorrichtung B sind über ein Netzwerk miteinander verbunden.
  • Die Verwaltungszentrale-Vorrichtung umfasst die Erzeugungs-Steuereinheit 102 und eine Primzahl-Erzeugungseinheit 101 des Ausführungsbeispieles, durch deren Nutzung zwei Primzahlen pa und pb erzeugt werden. Hierbei kann die Verwaltungszentrale-Vorrichtung anstelle dessen die Erzeugungs-Steuereinheit 102 und die Primzahl-Erzeugungseinheit 101b des Beispieles umfassen.
  • Es folgt eine Erläuterung einer Operation des Verschlüsselungs-Kommunikationssystems unter Bezugnahme auf 10. Dieses Verschlüsselungs-Kommunikationssystem verwendet das RSA-Kryptosystem, das in T. Okamoto & H. Yamamoto (1997) Modern Encryption (Moderne Verschlüsselung – nicht autorisierte Übersetzung – d. Übers.), S. 110-113, herausgegeben von Sangyo Tosho, ausführlich beschrieben wird.
  • (1) Erzeugung eines öffentlichen Schlüssels durch die Verwaltungszentrale-Vorrichtung
  • Die Verwaltungszentrale-Vorrichtung erzeugt willkürlich die Primzahlen pa und pb unter Verwendung der Erzeugungs-Steuereinheit 102 und der Primzahl-Erzeugungseinheit 101 (S171). Die Verwaltungszentrale-Vorrichtung berechnet danach n = pa × pb und L = LCM(pa – 1, pb – 1) (S172.)
  • Als nächstes erzeugt die Verwaltungszentrale-Vorrichtung willkürlich die Zufallszahl e (1 ≤ e ≤ L – 1, GDC (e, L) = 1) und berechnet d = e–1 mod L (S173). Hierbei ist GCD (e, L) der größte gemeinsame Teiler von e und L.
  • Danach sendet die Verwaltungszentrale-Vorrichtung die Primzahlen pa und pb sowie die Zahl d als geheimen Schlüssel an die Benutzervorrichtung A (S174). Die Verwaltungszentrale-Vorrichtung übergibt weiterhin die Zahlen n und e an die Benutzervorrichtung B als öffentlichen Schlüssel der Benutzervorrichtung A (S175).
  • (2) Erzeugung des Schlüsseltextes durch die Benutzervorrichtung B
  • Die Benutzervorrichtung B berechnet c = me mod n (S176). Hierbei ist m eine Nachricht, die die Benutzervorrichtung B an die Benutzervorrichtung A sendet. Die Benutzervorrichtung B sendet den Schlüsseltext c an die Benutzervorrichtung A (S177).
  • (3) Entschlüsselung des Schlüsseltextes durch die Benutzervorrichtung A
  • Die Benutzervorrichtung A berechnet m' = cd mod n, um die entschlüsselte Nachricht m' zu erhalten (S178). Hierbei gilt: cd = (me)d mod n = m**(e × d mod L) mod n = ml mod n = m mod n.
  • Somit ist deutlich, dass die entschlüsselte Nachricht m' identisch mit der Nachricht m ist.
  • In der obenstehenden Operation werden die Primzahlen in dem Schritt S171 erzeugt, um den öffentlichen Schlüssel zu erhalten.
  • Dieser Primzahl-Erzeugungsschritt verwendet die Erzeugungs-Steuereinheit und die Primzahl-Erzeugungseinheit des Ausführungsbeispieles oder des Beispieles, wodurch es möglich ist, die in dem Ausführungsbeispiel oder in dem Beispiel erläuterten Wirkungen zu erzielen.
  • 4. Schlussfolgerung
  • Wie oben beschrieben wurde, gibt eine Primzahl-Erzeugungseinheit, wenn die Primzahl q und die kleinen Primzahlen L1, L2, ..., Ln (n > 2) mit Ausnahme von 2, die kleiner als q sind, eingegeben werden, die Primzahl N aus, die größer ist als die Primzahl q. Die Primzahl-Erzeugungseinheit erzeugt die Primzahl N so, dass q die Gleichung q = 1 mod Li (i = 1, 2, ..., n) erfüllt und dass N die Gleichung N = 1 mod Li (i = 1, 2, ..., n) erfüllt.
  • Hierbei erzeugt die Primzahl-Erzeugungseinheit die Zufallszahl R' und erzeugt R = L1 × L2 × ... × Ln × R' und N = 2 × R × q + 1. Die Primzahl-Erzeugungseinheit beurteilt die Primalität von N unter Verwendung der Zahlen R und N.
  • Wenn weiterhin die Primzahl q und die kleinen Primzahlen L1, L2, ..., Ln (n ≥ 2) mit Ausnahme von 2, die kleiner als q sind, eingegeben werden, gibt eine Primzahl-Erzeugungseinheit die Primzahl N, die größer ist als die Primzahl q, aus. Diese Primzahl-Erzeugungseinheit gibt u aus, die 2 × u × q + 1 ≠ 0 mod Li (i = 1, 2, ..., n) erfüllt. Die Primzahl-Erzeugungseinheit erzeugt danach die Zufallszahl R' und erzeugt R = u + L1 × L2 × ... × Ln × R' und N = 2 × R × q + 1. Die Primzahl-Erzeugungseinheit beurteilt die Primalität von N unter Verwendung der erzeugten Zahlen R und N.
  • Hierbei erzeugt die Primzahl-Erzeugungseinheit Ganzzahlen N1 (1 ≤ N1 ≤ L1 – 1), N2 (1 ≤ N2 ≤ L2 – 1), ..., Nn(1 ≤ Nn ≤ Ln – 1) und berechnet ui = (Ni – 1)/(2 × (q mod Li)) mod Li (i = 1, 2, ..., n). Die Primzahl-Erzeugungseinheit berechnet danach u, die u = ui mod Li (i = 1, 2, ..., n) erfüllt, unter Verwendung von ui (i = 1, 2, ..., n).
  • Um die Primalität von N zu beurteilen, wird beurteilt, ob 2N-1 = 1 mod N und 22R ≠ 1 mod N wahr sind.
  • Gemäß der vorliegenden Erfindung kann nicht nur eine Primzahl definit erzeugt werden, sondern kann auch die Berechnungszeit im Vergleich zu herkömmlichen Verfahren verkürzt werden. Durch Beseitigen der Begrenzung der Art von erzeugter Primzahl kann weiterhin das mit einer solchen Begrenzung der Art von Primzahl verbundene Sicherheitsproblem gelöst werden, wodurch es möglich wird, die Sicherheit zu verbessern.
  • Folglich können eine Informationssicherheits-Vorrichtung und eine Primzahl-Erzeugungsvorrichtung von hohem praktischem Wert, die schnelle Verschlüsselung und Signaturverfahren erzielen, bereitgestellt werden.
  • 5. Weitere Modifikationen
  • Die vorliegende Erfindung wurde anhand des obenstehenden Ausführungsbeispielen und des Beispiels beschrieben, jedoch sollte es offensichtlich sein, dass die Erfindung nicht auf das Obenstehende beschränkt ist. Beispielmodifikationen werden nachstehend angeführt.
    • (1) Die Primzahl-Erzeugungseinheit des vorstehenden Ausführungsbeispieles oder Beispiels kann eine Eingabe einer Ganzzahl Len empfangen und eine Primzahl von Len Bits ausgeben.
    • (2) Die Primzahl-Erzeugungseinheit des vorstehenden Ausführungsbeispieles oder Beispiels kann als unabhängige Vorrichtung bereitgestellt werden.
    • (3) Die vorliegende Erfindung kann ein Primzahl-Anwendungsgerät sein, das mit der Primzahl-Erzeugungseinheit des Ausführungsbeispieles oder des Beispiels ausgerüstet ist. Konkrete Beispiele des Primzahl-Anwendungsgerätes umfassen ein Verschlüsselungs-Kommunikationssystem, das aus einer Verschlüsselungsvorrichtung und einer Entschlüsselungsvorrichtung besteht, sowie ein digitales Signatursystem, das aus einer digitalen Signaturvorrichtung und einer digitalen Signaturprüfungsvorrichtung besteht. Diese Systeme sind Informationssicherheitssysteme, die Informationen sicher und zuverlässig behandeln.
    • (4) Die erste Primalitäts-Beurteilungseinheit 133, die zweite Primalitäts-Beurteilungseinheit 134, die erste Primalitäts-Beurteilungseinheit 133b und die zweite Primalitäts-Beurteilungseinheit 134b können Beurteilungsformeln verwenden, die sich von den in dem vorstehenden Ausführungsbeispiel und Beispiel beschriebenen unterscheiden. Als ein Beispiel können die erste Primalitäts-Beurteilungseinheit 133 und die erste Primalitäts-Beurteilungseinheit 133b die folgende Beurteilungsformel verwenden: aN-1 = 1 mod N,wobei a dergestalt eine Ganzzahl ist, dass 1 ≤ a ≤ N – 1. Weiterhin können die zweite Primalitäts-Beurteilungseinheit 134 und die zweite Primalitäts-Beurteilungseinheit 134b die folgende Beurteilungsformel verwenden: b2R ≠ 1 mod Noder GCD (b2R – 1, N) = 1,wobei b dergestalt eine Ganzzahl ist, dass 1 ≤ b ≤ N – 1.
    • (5) Das oben genannte Ausführungsbeispiel und Beispiel beschreiben den Fall, bei dem der digitale Titel Musik ist, jedoch sind auch andere Arten digitaler Titel anwendbar. Konkrete Beispiele umfassen Sprache, bewegte Bilder, Standbilder, Text, tabellierte Daten und digitale Informationen eines Computerprogramms.
    • (6) Das oben genannte Ausführungsbeispiel und das Beispiel beschreiben den Fall, bei dem eine Primzahl-Erzeugungseinheit in einem Sicherheitssystem verwendet wird, das das RSA-Kryptosystem verwendet, jedoch ist die Verwendung der Primzahl-Erzeugungseinheit nicht darauf begrenzt. Zum Beispiel kann die Primzahl-Erzeugungseinheit in Elliptische-Kurven-Kryptosystemen verwendet werden. Elliptische-Kurven-Kryptosysteme erzeugen und nutzen eine Primzahl.
    • (7) Die vorliegende Erfindung gilt auch für die oben beschriebenen Verfahren. Diese Verfahren können durch Computerprogramme realisiert werden, die von Computern ausgeführt werden. Solche Computerprogramme können als digitale Signale verbreitet werden.
  • Weiterhin kann die vorliegende Erfindung durch ein computerlesbares Aufzeichnungsmedium realisiert werden, wie zum Beispiel eine Diskette, eine Festplatte, eine CD-ROM (optische Nur-Lese-Platte), eine MO-Disk (magneto-optische Platte), eine DVD (Digital Versatile Disk), eine DVD-ROM, eine DVD-RAM oder einen Halbleiterspeicher, auf denen die oben genannten Computerprogramme und/oder digitalen Signale aufgezeichnet werden. Umgekehrt kann die vorliegende Erfindung auch durch ein Computerprogramm und/oder ein digitales Signal realisiert werden, das auf einem Aufzeichnungsmedium aufgezeichnet wird.
  • Computerprogramme oder digitale Signale, die die vorliegende Erfindung archivieren, können auch über ein Netzwerk, wie zum Beispiel ein elektronisches Kommunikationsnetzwerk, ein verdrahtetes oder ein drahtloses Kommunikationsnetz oder über das Internet übertragen werden.
  • Die vorliegende Erfindung kann ebenso durch ein Computersystem realisiert werden, das einen Mikroprozessor und einen Speicher umfasst. In diesem Fall kann ein Computerprogramm in dem Speicher gespeichert werden, wobei der Mikroprozessor gemäß diesem Computerprogramm arbeitet.
  • Die Computerprogramme und/oder die digitalen Signale können durch Verbreitung eines Aufzeichnungsmediums, auf dem die Computerprogramme und/oder die digitalen Signale aufgezeichnet werden, oder durch Übertragen der Computerprogramme und/oder der digitalen Signale über ein Netzwerk an ein unabhängiges Computersystem bereitgestellt werden.
    • (8) Die in dem Ausführungsbeispiel und dem Beispiel und in den Modifikationen beschriebenen Beschränkungen können frei kombiniert werden.
  • Wenngleich die vorliegende Erfindung anhand von Beispielen unter Bezugnahme auf die anhängenden Zeichnungen umfassend beschrieben worden ist, ist ebenso zu beachten, dass für den Durchschnittsfachmann verschiedene Änderungen und Modifikationen erkennbar sein werden.

Claims (6)

  1. Primzahl-Erzeugungsvorrichtung (10) zum Erzeugen einer Primzahl, die umfasst: eine Erfassungseinrichtung zum Erfassen einer bekannten Primzahl q und bekannter Primzahlen L1, L2 ..., Ln in einer Anzahl n, wobei L1, L2 ..., Ln und Primzahlen außer 2 sind, die kleiner sind als die Primzahl q, und die Primzahl q q = 1 mod Li (i = 1, 2, ..., n) erfüllt; eine Zufallszahl-Erzeugungseinrichtung (131) zum Erzeugen einer Zufallszahl R', deren Bitlänge (Lenq – LenL – 1) beträgt, wobei Lenq eine Bitlänge der Primzahl q ist und LenL eine Bitlänge von (L1 × L2 × ... × Ln) ist; und eine Beurteilungsziel-Erzeugungseinheit (132); die (a) eine Zahl R R = L1 × L2 × ... × Ln × R'unter Verwendung der Zufallszahl R' und der Primzahlen L1, L2, ..., Ln, erzeugt, und (b) eine Zahl N N = 2 × R × q + 1unter Verwendung der Primzahl q und der Zahl R erzeugt; eine Beurteilungseinrichtung (133, 134) zum Beurteilen von Primalität einer Zahl N, wobei die Zahl N und die Zahl R durch die Beurteilungsziel-Erzeugungseinheit (132) erzeugt werden; eine Steuereinrichtung (135), die die Zufallszahl-Erzeugungseinrichtung (131), die Beurteilungsziel-Erzeugungseinrichtung (132) und die Beurteilungseinrichtung (133, 134) anweist, die Zufallszahl R' zu erzeugen, die Zahl R und die Zahl N zu erzeugen bzw. die Primalität der Zahl N zu beurteilen, bis durch die Beurteilungseinrichtung (133, 134) beurteilt wird, dass die Zahl N Primzahl ist; und eine Ausgabeeinrichtung zum Ausgeben der Zahl N als eine Primzahl, wenn durch die Beurteilungseinrichtung (133, 134) beurteilt wird, dass die Zahl N Primzahl ist.
  2. Primzahl-Erzeugungsvorrichtung nach Anspruch 1, wobei die Beurteilungseinrichtung (133, 134) (a) so eingerichtet ist, dass sie für die Zahl N beurteilt, ob eine erste Beurteilungsformel 2N-1 = 1 mod Ngilt, (b) des Weiteren es so eingerichtet ist, dass sie für die Zahl N und die Zahl R beurteilt, ob eine zweite Beurteilungsformel 22R ≠ 1 mod Ngilt, und (c) so eingerichtet ist, dass sie beurteilt, dass die Zahl N Primzahl ist, wenn sowohl die erste Beuteilungsformel als auch die zweite Beurteilungsformel gelten.
  3. Informationssicherheitsvorrichtung, die die Primzahl-Erzeugungsvorrichtung nach einem der Ansprüche 1 und 2 umfasst und so eingerichtet ist, dass sie vorgegebene Informationen auf Basis einer Intraktibilität von Faktorenzerlegung unter Verwendung einer Multiplikation von zwei durch die Primzahl-Erzeugungsvorrichtung erzeugten Primzahlen sicher und zuverlässig behandelt.
  4. IC-Karte, die die Primzahl-Erzeugungsvorrichtung nach einem der Ansprüche 1 und 2 umfasst und so eingerichtet ist, dass die Informationen auf Basis einer Intraktibilität von Faktorenzerlegung unter Verwendung einer Multiplikation von zwei durch die Primzahl-Erzeugungsvorrichtung erzeugten Primzahlen sicher und zuverlässig behandelt.
  5. Computerlesbare Programme zur Primzahlerzeugung, das in einer Primzahl-Erzeugungsvorrichtung verwendet wird und Computercode-Mittel umfasst, die so eingerichtet sind, dass sie, wenn sie auf einem Computer ausgeführt werden, durchführen: einen Erfassungsschritt zum Erfassen einer bekannten Primzahl q und bekannter Primzahlen L1, L2, ..., Ln in einer Anzahl n, wobei L1, L2, ..., Ln Primzahlen außer 2 sind, die kleiner sind als die Primzahl q, und die Primzahl q q = 1 mod Li (i = 1, 2, ..., n) erfüllt; einen Zufallszahl-Erzeugungsschritt zum Erzeugen einer Zufallszahl R', deren Bitlänge (Lenq – LenL – 1) beträgt, wobei Lenq eine Bitlänge der Primzahl q ist und LenL eine Bitlänge von (L1 × L2 × ... × L3) ist; und einen Beurteilungsziel-Erzeugungsschritt, mit dem (a) eine Zahl R R = L1 × L2 × ... × Ln × R'unter Verwendung der Zufallszahl R' und der Primzahlen L1, L2, ..., Ln, erzeugt wird, und eine (b) eine Zahl N N = 2 × R × q + 1unter Verwendung der Primzahl q und der Zahl R erzeugt wird; und einen Beurteilungsschritt zum Beurteilen von Primalität der Zahl N unter Verwendung der Zahl N und der Zahl R, die mit dem Beurteilungsziel-Erzeugungsschritt erzeugt werden, ein Steuerschritt, mit dem der Zufallszahl-Erzeugungsschritt, der Beurteilungsziel-Erzeugungsschritt bzw. der Beurteilungsschritt so gesteuert werden, dass sie die Zufallszahl R' erzeugen, die Zahl R bzw. die Zahl N erzeugen, bis in dem Beurteilungsschritt beurteilt wird, das die Zahl N Primzahl ist; und ein Ausgabeschritt zum Ausgeben der Zahl N als eine Primzahl, wenn mit dem Beurteilungsschritt festgestellt wird, dass die N Zahl Primzahl ist.
  6. Computerlesbares Aufzeichnungsmedium, dass das computerlesbare Programm nach Anspruch 5 speichert.
DE60220717T 2001-04-17 2002-04-16 Informationssicherheitsvorrichtung, Vorrichtung und Verfahren zur Erzeugung einer Primzahl Expired - Fee Related DE60220717T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001117842 2001-04-17
JP2001117842 2001-04-17

Publications (2)

Publication Number Publication Date
DE60220717D1 DE60220717D1 (de) 2007-07-26
DE60220717T2 true DE60220717T2 (de) 2007-10-04

Family

ID=18968317

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60212248T Expired - Fee Related DE60212248T2 (de) 2001-04-17 2002-04-16 Informationssicherheitsvorrichtung, Vorrichtung und Verfahren zur Erzeugung einer Primzahl
DE60220717T Expired - Fee Related DE60220717T2 (de) 2001-04-17 2002-04-16 Informationssicherheitsvorrichtung, Vorrichtung und Verfahren zur Erzeugung einer Primzahl

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE60212248T Expired - Fee Related DE60212248T2 (de) 2001-04-17 2002-04-16 Informationssicherheitsvorrichtung, Vorrichtung und Verfahren zur Erzeugung einer Primzahl

Country Status (6)

Country Link
US (1) US7130422B2 (de)
EP (2) EP1465366B1 (de)
KR (1) KR20020081120A (de)
CN (1) CN1267816C (de)
DE (2) DE60212248T2 (de)
TW (1) TWI244610B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2841411B1 (fr) * 2002-06-19 2004-10-29 Gemplus Card Int Procede de generation de cles electroniques pour procede de crytographie a cle publique et objet portatif securise mettant en oeuvre le procede
US7706528B2 (en) 2003-12-26 2010-04-27 Panasonic Corporation Prime calculating apparatus, key issuing system, and prime calculation method
JP2006023957A (ja) * 2004-07-07 2006-01-26 Sony Corp 半導体集積回路及び情報処理装置
JP2006155393A (ja) * 2004-11-30 2006-06-15 Toshiba Corp サーバ融通装置、サーバ融通方法およびサーバ融通プログラム
FR2879866B1 (fr) * 2004-12-22 2007-07-20 Sagem Procede et dispositif d'execution d'un calcul cryptographique
US7945784B1 (en) * 2005-08-19 2011-05-17 Adobe Systems Incorporated Method and system to perform secret sharing
WO2008104482A2 (en) * 2007-02-27 2008-09-04 Thomson Licensing A method and a device for generating compressed rsa moduli
US8472620B2 (en) * 2007-06-15 2013-06-25 Sony Corporation Generation of device dependent RSA key
US8433064B2 (en) * 2009-12-15 2013-04-30 Microsoft Corporation Secret encryption with public or delegated comparison
JP5848106B2 (ja) * 2011-11-28 2016-01-27 ルネサスエレクトロニクス株式会社 半導体装置及びicカード
EP2791784A1 (de) * 2011-12-15 2014-10-22 Inside Secure Verfahren zur erzeugung von nachgewiesenermassen für chipkarten geeignete primzahlen
CN102591618B (zh) * 2011-12-23 2014-12-10 飞天诚信科技股份有限公司 一种在嵌入式系统中生成大素数的方法
US9800407B2 (en) * 2013-08-30 2017-10-24 Qualcomm Incorporated Methods and apparatuses for prime number generation and storage
CN106023040B (zh) * 2016-06-03 2021-09-14 奥奈斯特(宁波)软件技术有限公司 一种积分管理系统
CN108055128B (zh) * 2017-12-18 2021-11-19 数安时代科技股份有限公司 Rsa密钥的生成方法、装置、存储介质及计算机设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3626340B2 (ja) 1996-12-26 2005-03-09 株式会社東芝 暗号装置及び暗号鍵生成方法、並びに素数生成装置及び素数生成方法
JP3835896B2 (ja) * 1997-07-30 2006-10-18 富士通株式会社 素数生成装置,B−smooth性判定装置及び記録媒体
US20020099746A1 (en) * 1999-07-26 2002-07-25 Tie Teck Sing T-sequence apparatus and method for general deterministic polynomial-time primality testing and composite factoring
US7120248B2 (en) * 2001-03-26 2006-10-10 Hewlett-Packard Development Company, L.P. Multiple prime number generation using a parallel prime number search algorithm

Also Published As

Publication number Publication date
EP1251654A2 (de) 2002-10-23
EP1465366A1 (de) 2004-10-06
DE60212248T2 (de) 2006-10-05
US20020176573A1 (en) 2002-11-28
CN1267816C (zh) 2006-08-02
DE60220717D1 (de) 2007-07-26
EP1251654B1 (de) 2006-06-14
CN1381782A (zh) 2002-11-27
KR20020081120A (ko) 2002-10-26
EP1465366B1 (de) 2007-06-13
DE60212248D1 (de) 2006-07-27
US7130422B2 (en) 2006-10-31
EP1251654A3 (de) 2003-07-16
TWI244610B (en) 2005-12-01

Similar Documents

Publication Publication Date Title
DE19804054B4 (de) System zur Verifizierung von Datenkarten
DE60220717T2 (de) Informationssicherheitsvorrichtung, Vorrichtung und Verfahren zur Erzeugung einer Primzahl
DE60031304T3 (de) Verfahren zur authentifizierung von softwarebenutzern
Canetti et al. Adaptive security for threshold cryptosystems
DE69938624T2 (de) Robuste und effiziente verteilte erzeugung eines rsa-schlüssels
Damgård et al. Improved non-committing encryption schemes based on a general complexity assumption
EP2197149B1 (de) Verfahren und Vorrichtung zum Verarbeiten von Daten
DE102012206341B4 (de) Gemeinsame Verschlüsselung von Daten
DE60114833T2 (de) Überprüfbare, geheime mischung von verschlüsselten daten wie z. b. elgamal-verschlüsselte daten für gesicherte mehrinstanzwahlen
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
US7706528B2 (en) Prime calculating apparatus, key issuing system, and prime calculation method
WO2020126078A1 (de) Verfahren zum erzeugen einer blinden signatur
DE19829643A1 (de) Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist
EP1062764B1 (de) Verfahren und vorrichtung zur kryptographischen bearbeitung anhand einer elliptischen kurve auf einem rechner
DE602004010942T2 (de) Potenzierung auf einer elliptischen Kurve die einen differentiellen Fehlerangriff abwehren kann
EP1151577A1 (de) Überprüfung der privaten teile von einem kryptografiesystem mit öffentlichem schlüssel
DE102006013515A1 (de) Kryptographisches Verfahren mit elliptischen Kurven
EP1442391A2 (de) Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus
EP1454260A2 (de) Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt)
EP3899845A1 (de) Verfahren zum erhalten einer blinden signatur
DE60221863T2 (de) Verfahren zur implementierung eines kryptographischen algorithmus zum finden des öffentlichen exponenten in einer elektronischen komponente
EP1119941A1 (de) Verfahren zum etablieren eines gemeinsamen schlüssels zwischen einer zentrale und einer gruppe von teilnehmern
DE3905703C2 (de) Verfahren zur elektronischen Signatur
DE10162496C5 (de) Verfahren und Vorrichtung zum Absichern einer Berechnung in einem kryptographischen Algorithmus
DE602004004135T2 (de) Verfahren zur verschlüsselung/entschlüng einer nachricht sowie dazugehörige vorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP

8339 Ceased/non-payment of the annual fee