DE60220600T2 - Zero-Knowledge-Beweissystem und -verfahren - Google Patents

Zero-Knowledge-Beweissystem und -verfahren Download PDF

Info

Publication number
DE60220600T2
DE60220600T2 DE60220600T DE60220600T DE60220600T2 DE 60220600 T2 DE60220600 T2 DE 60220600T2 DE 60220600 T DE60220600 T DE 60220600T DE 60220600 T DE60220600 T DE 60220600T DE 60220600 T2 DE60220600 T2 DE 60220600T2
Authority
DE
Germany
Prior art keywords
random number
challenge
proof
base
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60220600T
Other languages
English (en)
Other versions
DE60220600D1 (de
Inventor
Jun Minato-ku FURUKAWA
Kazue Minato-ku Sako
Satoshi Minato-ku Obana
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of DE60220600D1 publication Critical patent/DE60220600D1/de
Application granted granted Critical
Publication of DE60220600T2 publication Critical patent/DE60220600T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/3013Public 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 discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/3271Cryptographic 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 challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Hardware Redundancy (AREA)

Description

  • Die vorliegende Erfindung betrifft Zero-Knowledge-Beweistechniken zum Beweisen der Gleichheit oder Ungleichheit diskreter Logarithmen, was für die Verwendung in nicht abstreitbaren Signaturen geeignet ist.
  • Von Chaum vorgeschlagene nicht abstreitbare Signaturen haben die wichtige Eigenschaft, dass ein Signierender die Gültigkeit einer selbst erzeugten Signatur, außer bei einer gefälschten Signatur, nicht abstreiten kann. Nicht abstreitbare Signaturschemata dieser Art verwenden eine Gruppenoperation einer Gruppe G q-ter Ordnung modulo p, wobei p und q Primzahlen sind und eine Beziehung q|(p – 1) aufweisen. Wenn y = gx ein Element der Gruppe G ist, verwendet der Signierende den Generator g als einen öffentlichen Schlüssel und x als einen privaten Schlüssel. Eine Signatur auf einer Nachricht m wird durch Berechnen von SIG = mx erhalten, wobei x der private Schlüssel ist. Für (m, SIG) kann die Gültigkeit der Signatur durch Beweisen der Gleichheit des diskreten Logarithmus x des öffentlichen Schlüssels y = gx und des diskreten Logarithmus x' von SIG = mx ' festgestellt werden. Dagegen kann die Fälschung der Signatur durch Beweisen der Ungleichheit von SIG' und mx für (m, SIG') festgestellt werden. Dementsprechend benötigt ein solches Signatursystem einen Beweismechanismus zum Beweisen der Gleichheit oder Ungleichheit der vorstehend erwähnten diskreten Logarithmen und einen Verifizierungsmechanismus zum Verifizieren der Ergebnisse in einer festgelegten Gruppenoperation.
  • Es ist das Chaum-Schema bekannt, welches es einer Beweiseinheit ermöglicht, die Verifizierungseinheit von der Gleichheit oder Ungleichheit von SIG' und mx zu überzeugen, welches in "Zero-knowledge undeniable signatures", Advances in Cryptology, Proceedings of Eurocrypt' 1990, LNCS473, Springer- Verlag, S. 458–464, 1991 offenbart ist. Dieses Chaum-Schema verwendet jedoch andere Beweissysteme zum Beweisen der Gleichheit und der Ungleichheit. Insbesondere kann das System zum Beweisen der Ungleichheit nicht ohne die Verifizierungseinheit ausgeführt werden, und es ist der Beweiseinheit allein daher unmöglich, die Ungleichheit zu beweisen.
  • Es wurde ein anderes Beweisschema vorgeschlagen, das die gleichen Beweissysteme verwendet, um sowohl die Gleichheit als auch die Ungleichheit zu beweisen. Siehe "Efficient convertible undeniable signature schemes", Proceedings of 4th Annual Workshop an Selected Areas in Cryptography, SAC'97, August 1997. Wenngleich es dieses Schema der Beweiseinheit allein ermöglicht, sowohl die Gleichheit als auch die Ungleichheit zu beweisen, und die Wirksamkeit davon qualitativ analysiert wurde, hat es den Nachteil, dass wichtige Informationen austreten. Insbesondere ist die Information mx der Verifizierungseinheit bekannt, was zu dem Widerspruch führt, dass die Signatur von m unfreiwillig weitergeleitet wird, wenn angegeben wird, dass eine Nachricht m nicht signiert ist.
  • WO 01/20562 betrifft ein Schema oder ein Protokoll zum rechnerisch sicheren, praktischen elektronischen Beurteilen, welches mehrere Urnenoptionen und Einschreiboptionen unterstützt. Das Schema basiert auf kryptographischen Schemata mit homomorphen Schwellen. Das Schema ist beim Berechnen von Wahlcoupons für Mehrwegwettbewerbe (d.h. zum Wählen von d-aus-N-Optionen) wirksam. Zusätzlich zur Implementation im Kontext mit diskreten Logarithmen wird das Schema in Zusammenhang mit elliptischen Kurven präsentiert.
  • Eine Aufgabe der vorliegenden Erfindung besteht darin, ein Zero-Knowledge-Beweissystem und -verfahren bereitzustellen, wodurch es ermöglicht wird, dass dasselbe Protokoll zum Beweisen der Gleichheit oder Ungleichheit diskreter Logarithmen verwendet wird und es der Beweiseinheit allein ermöglicht wird, dies ohne Austreten wichtiger Informationen zu beweisen.
  • Die Aufgabe wird durch die Merkmale der Ansprüche gelöst. Gemäß der vorliegenden Erfindung weist ein System einen ersten Mechanismus zum Beweisen der Gleichheit oder Ungleich heit zweier diskreter Logarithmen und einen zweiten Mechanismus zum Verifizieren der Gleichheit oder Ungleichheit auf. Der erste Mechanismus weist auf: einen ersten Speicher für öffentliche Informationen, der eine als mod p definierte Operation, zwei eingegebene Zahlen (nachstehend als α und β bezeichnet) und zwei vorgegebene Basen (nachstehend als g und h bezeichnet) speichert, wobei p eine Primzahl ist und eine Beziehung q|(p – 1) aufweist, wobei q eine Primzahl und eine Ordnung einer Gruppe (G) ist und α, β, g und h Elemente der Gruppe (G) sind, einen Speicher für private Informationen, der private Informationen (nachstehend als x bezeichnet) speichert, wobei es sich um einen diskreten Logarithmus von α zur Basis g handelt, einen Zufallszahlengenerator zum Erzeugen einer ersten Zufallszahl (nachstehend als r (∊ Z/qZ) bezeichnet), einen Wandler zum Wandeln der eingegebenen Zahl α, der eingegebenen Zahl β und der Basis h, um α', β' und γ' unter Verwendung der ersten Zufallszahl r und der privaten Informationen x folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p,wobei α', β' und γ' zum zweiten Mechanismus gesendet werden, und einen Beweisabschnitt zum Beweisen der Gleichheit eines diskreten Logarithmus von α' zur Basis α und eines diskreten Logarithmus von β' zur Basis β und der Gleichheit eines diskreten Logarithmus von α' zur Basis g und eines diskreten Logarithmus von γ' zur Basis h.
  • Der zweite Mechanismus weist auf: einen zweiten Speicher für öffentliche Informationen, der die Operation, die zwei eingegebenen Zahlen α und β und die zwei vorgegebenen Basen g und h speichert, einen Verifizierungsabschnitt, der dem Beweisabschnitt entspricht, zum Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis β und der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h, einen Prüfabschnitt zum Prüfen des empfangenen β' und des empfangenen γ', um ihre Gleichheit oder Ungleichheit zu bestimmen, und einen Entscheidungsabschnitt, um, abhängig vom Ergebnis des Verifizierungsabschnitts und des Prüfabschnitts, zu entscheiden, ob der Beweis des ersten Mechanismus akzeptabel ist.
  • Gemäß einem Aspekt der vorliegenden Erfindung kann der Beweisabschnitt aufweisen: eine erste Beweiseinheit zum Beweisen der Gleichheit des diskreten Logarithmus von α' zur Basis α und des diskreten Logarithmus von β' zur Basis β und eine zweite Beweiseinheit zum Beweisen der Gleichheit des diskreten Logarithmus von α' zur Basis g und des diskreten Logarithmus von γ' zur Basis h, wobei der Verifizierungsabschnitt aufweist: eine erste Verifizierungseinheit, die der ersten Beweiseinheit entspricht, zum Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis β und eine zweite Verifizierungseinheit, die der zweiten Beweiseinheit entspricht, zum Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h.
  • Gemäß einer Ausführungsform kann der Prüfabschnitt eine dritte Verifizierungseinheit zum Verifizieren der Gleichheit des empfangenen β' und des empfangenen γ' aufweisen. Gemäß einer anderen Ausführungsform kann der Prüfabschnitt eine dritte Verifizierungseinheit zum Verifizieren der Ungleichheit des empfangenen β' und des empfangenen γ' aufweisen. Gemäß einer anderen Ausführungsform kann der Prüfabschnitt einen Vergleicher zum Vergleichen des empfangenen β' und des empfangenen γ' aufweisen.
  • Gemäß einem anderen Aspekt der vorliegenden Erfindung kann der Beweisabschnitt eine einzige Beweiseinheit zum Beweisen der Gleichheit des diskreten Logarithmus von α' zur Basis α und des diskreten Logarithmus von β' zur Basis β und der Gleichheit des diskreten Logarithmus von α' zur Basis g und des diskreten Logarithmus von γ' zur Basis h aufweisen. Der Verifizierungsabschnitt kann eine einzige Verifizierungseinheit zum Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis β und der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h aufweisen.
  • Gemäß einer Ausführungsform kann der Prüfabschnitt eine Verifizierungseinheit zum Verifizieren der Gleichheit des empfangenen β' und des empfangenen γ' aufweisen. Gemäß einer anderen Ausführungsform kann der Prüfabschnitt eine Verifizierungseinheit zum Verifizieren der Ungleichheit des empfangenen β' und des empfangenen γ' aufweisen. Gemäß einer anderen Ausführungsform kann der Prüfabschnitt einen Vergleicher zum Vergleichen des empfangenen β' und des empfangenen γ' aufweisen.
  • Es zeigen:
  • 1 ein schematisches Diagramm eines ersten Grundschemas eines Zero-Knowledge-Beweissystems gemäß der vorliegenden Erfindung,
  • 2 ein schematisches Diagramm eines zweiten Grundschemas eines Zero-Knowledge-Beweissystems gemäß der vorliegenden Erfindung,
  • 3 ein schematisches Diagramm eines dritten Grundschemas eines Zero-Knowledge-Beweissystems gemäß der vorliegenden Erfindung,
  • 4 ein schematisches Diagramm eines vierten Grundschemas eines Zero-Knowledge-Beweissystems gemäß der vorliegenden Erfindung,
  • 5 ein schematisches Diagramm eines fünften Grundschemas eines Zero-Knowledge-Beweissystems gemäß der vorliegenden Erfindung,
  • 6 ein schematisches Diagramm eines sechsten Grundschemas eines Zero-Knowledge-Beweissystems gemäß der vorliegenden Erfindung,
  • 7 ein Blockdiagramm eines Zero-Knowledge-Beweissystems gemäß einer ersten Ausführungsform der vorliegenden Erfindung,
  • 8 ein Blockdiagramm einer ersten Beweiseinheit und einer ersten Verifizierungseinheit in einem Zero-Knowledge- Beweissystem gemäß einer zweiten Ausführungsform der vorliegenden Erfindung,
  • 9 ein Blockdiagramm einer ersten Beweiseinheit und einer ersten Verifizierungseinheit in einem Zero-Knowledge-Beweissystem gemäß einer dritten Ausführungsform der vorliegenden Erfindung,
  • 10 ein Blockdiagramm einer ersten Beweiseinheit und einer ersten Verifizierungseinheit in einem Zero-Knowledge-Beweissystem gemäß einer vierten Ausführungsform der vorliegenden Erfindung,
  • 11 ein Blockdiagramm einer zweiten Beweiseinheit und einer zweiten Verifizierungseinheit in einem Zero-Knowledge-Beweissystem gemäß einer fünften Ausführungsform der vorliegenden Erfindung,
  • 12 ein Blockdiagramm einer zweiten Beweiseinheit und einer zweiten Verifizierungseinheit in einem Zero-Knowledge-Beweissystem gemäß einer sechsten Ausführungsform der vorliegenden Erfindung,
  • 13 ein Blockdiagramm einer zweiten Beweiseinheit und einer zweiten Verifizierungseinheit in einem Zero-Knowledge-Beweissystem gemäß einer siebten Ausführungsform der vorliegenden Erfindung,
  • 14 ein Blockdiagramm eines Zero-Knowledge-Beweissystems gemäß einer achten Ausführungsform der vorliegenden Erfindung,
  • 15 ein Blockdiagramm einer Beweiseinheit und einer ersten Verifizierungseinheit in einem Zero-Knowledge-Beweissystem gemäß einer neunten Ausführungsform der vorliegenden Erfindung,
  • 16 ein Blockdiagramm einer Beweiseinheit und einer ersten Verifizierungseinheit in einem Zero-Knowledge-Beweissystem gemäß einer zehnten Ausführungsform der vorliegenden Erfindung,
  • 17 ein Blockdiagramm einer Beweiseinheit und einer ersten Verifizierungseinheit in einem Zero-Knowledge-Beweissystem gemäß einer elften Ausführungsform der vorliegenden Erfindung,
  • 18 ein Blockdiagramm eines Zero-Knowledge-Beweissystems gemäß einer zwölften Ausführungsform der vorliegenden Erfindung, und
  • 19 ein Blockdiagramm eines Zero-Knowledge-Beweissystems gemäß einer dreizehnten Ausführungsform der vorliegenden Erfindung.
  • In den nachstehend beschriebenen bevorzugten Ausführungsformen sind p und q Primzahlen, wobei q|(p – 1) gilt, und g, h, α und β sind alle Elemente einer Gruppe der Ordnung q modulo p.
  • Systemgrundlagen
  • 1. Erstes Grundschema
  • Mit Bezug auf 1 sei bemerkt, dass das System einen Beweismechanismus 100 und einen Verifizierungsmechanismus 150 aufweist. Der Beweismechanismus 100 beinhaltet einen Zufallszahlengenerator 101, einen Speicher 102 für öffentliche Informationen, einen Speicher 103 für private Informationen und einen Variablenwandler 104.
  • Der Zufallszahlengenerator 101 erzeugt eine Zufallszahl r ∊ Z/qZ.
  • Der Speicher 102 für öffentliche Informationen speichert p, q, g, h, α und β, wobei die Gruppenoperation als mod p definiert ist und q eine Ordnung der Gruppe ist, g und h eine erste bzw. eine zweite Basis sind und α und β eingegebene Zahlen sind. Die gleichen öffentlichen Informationen werden in einem Speicher 151 für öffentliche Informationen des Verifizierungsmechanismus 150 gespeichert.
  • Der Speicher 103 für private Informationen speichert private Informationen x, welche α = gx mod p erfüllen, wobei es sich um den diskreten Logarithmus von α zur Basis g handelt, so dass x = loggα ist.
  • Der Zufallszahlengenerator 101, der Speicher 102 für öffentliche Informationen und der Speicher 103 für private Informationen geben p, q, g, h, α, β, x und r an den Variablenwandler 104 aus.
  • Der Variablenwandler 104 verwendet diese Variablen, um α', β', γ' folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p.
  • Der Beweismechanismus 100 sendet diese Werte α', β', γ' zum Verifizierungsmechanismus 150.
  • Der Beweismechanismus 100 weist weiter eine erste Beweiseinheit 105 und eine zweite Beweiseinheit 106 auf. Die erste Beweiseinheit 105 beweist die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β zur Basis β. Die zweite Beweiseinheit 106 beweist die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h.
  • Der Verifizierungsmechanismus 150 weist weiter eine erste Verifizierungseinheit 152, eine zweite Verifizierungseinheit 153, eine dritte Verifizierungseinheit 154 und einen Entscheidungsabschnitt 155 auf.
  • Die erste Verifizierungseinheit 152 verifiziert die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β' zur Basis β, und falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt. Die zweite Verifizierungseinheit 153 verifiziert die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h, und falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt. Die dritte Verifizierungseinheit 154 verifiziert die Gleichheit von β' und γ', und falls verifiziert wird, dass β' = γ' gilt, wird die Verifikationsakzeptanz festgestellt.
  • Der Entscheidungsabschnitt 155 stellt die Gleichheit der diskreten Logarithmen von α zur Basis g und von β zur Basis h fest, wenn die Verifikationsergebnisse der ersten bis dritten Verifizierungseinheiten 152154 alle Verifikationsakzeptanzen sind. Wenn die Gleichheit festgestellt wird, gibt der Entscheidungsabschnitt 155 "OK" und andernfalls "NG" aus.
  • 2. Zweites Grundschema
  • Mit Bezug auf 2 sei bemerkt, dass das System einen Beweismechanismus 200 und einen Verifizierungsmechanismus 250 aufweist. Der Beweismechanismus 200 beinhaltet einen Zufallszahlengenerator 201, einen Speicher 202 für öffentliche Informationen, einen Speicher 203 für private Informationen und einen Variablenwandler 204.
  • Der Zufallszahlengenerator 201 erzeugt eine Zufallszahl r ∊ Z/qZ.
  • Der Speicher 202 für öffentliche Informationen speichert p, q, g, h, α und β. Die gleichen öffentlichen Informationen werden in einem Speicher 251 für öffentliche Informationen des Verifizierungsmechanismus 250 gespeichert.
  • Der Speicher 203 für private Informationen speichert private Informationen x, welche α = gx mod p erfüllen, wobei es sich um den diskreten Logarithmus von α zur Basis g handelt, so dass x = loggα ist.
  • Der Zufallszahlengenerator 201, der Speicher 202 für öffentliche Informationen und der Speicher 203 für private Informationen geben p, q, g, h, α, β, x und r an den Variablenwandler 204 aus.
  • Der Variablenwandler 204 verwendet diese Variablen, um α', β', γ' folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p.
  • Der Beweismechanismus 200 sendet diese Werte α', β' und γ' zum Verifizierungsmechanismus 250.
  • Der Beweismechanismus 200 weist weiter eine Beweiseinheit 205 auf, welche die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β' zur Basis β und die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h beweist.
  • Der Verifizierungsmechanismus 250 weist weiter eine erste Verifizierungseinheit 252, eine zweite Verifizierungseinheit 254 und einen Entscheidungsabschnitt 255 auf. Die erste Veri fizierungseinheit 252 verifiziert die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β' zur Basis β und die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h. Falls diese Gleichheiten beide verifiziert werden, wird die Verifikationsakzeptanz festgestellt. Die zweite Verifizierungseinheit 254 verifiziert die Gleichheit von β' und γ', und falls verifiziert wird, dass β' = γ' gilt, wird die Verifikationsakzeptanz festgestellt.
  • Der Entscheidungsabschnitt 255 stellt die Gleichheit der diskreten Logarithmen von α zur Basis g und von β zur Basis h fest, wenn die Verifikationsergebnisse der ersten Verifizierungseinheit 252 und der zweiten Verifizierungseinheit 254 alle Verifikationsakzeptanzen sind. Wenn die Gleichheit festgestellt wird, gibt der Entscheidungsabschnitt 255 "OK" und andernfalls "NG" aus.
  • 3. Drittes Grundschema
  • Mit Bezug auf 3 sei bemerkt, dass das System einen Beweismechanismus 300 und einen Verifizierungsmechanismus 350 aufweist. Der Beweismechanismus 300 beinhaltet einen Zufallszahlengenerator 301, einen Speicher 302 für öffentliche Informationen, einen Speicher 303 für private Informationen und einen Variablenwandler 304.
  • Der Zufallszahlengenerator 301 erzeugt eine Zufallszahl r ∊ Z/qZ.
  • Der Speicher 302 für öffentliche Informationen speichert p, q, g, h, α und β. Die gleichen öffentlichen Informationen werden in einem Speicher 351 für öffentliche Informationen des Verifizierungsmechanismus 350 gespeichert.
  • Der Speicher 303 für private Informationen speichert private Informationen x, welche α = gx mod p erfüllen, wobei es sich um den diskreten Logarithmus von α zur Basis g handelt, so dass x = loggα ist.
  • Der Zufallszahlengenerator 301, der Speicher 302 für öffentliche Informationen und der Speicher 303 für private Informationen geben p, q, g, h, α, β, x und r an den Variablenwandler 304 aus.
  • Der Variablenwandler 304 verwendet diese Variablen, um α', β', γ' folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p.
  • Der Beweismechanismus 300 sendet diese Werte α', β' und γ' zum Verifizierungsmechanismus 350.
  • Der Beweismechanismus 300 weist weiter eine erste Beweiseinheit 305 und eine zweite Beweiseinheit 306 auf. Die erste Beweiseinheit 305 beweist die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β' zur Basis β. Die zweite Beweiseinheit 306 beweist die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h.
  • Der Verifizierungsmechanismus 350 weist weiter eine erste Verifizierungseinheit 352, eine zweite Verifizierungseinheit 353, eine dritte Verifizierungseinheit 354 und einen Entscheidungsabschnitt 355 auf.
  • Die erste Verifizierungseinheit 352 verifiziert die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β' zur Basis β, und falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt. Die zweite Verifizierungseinheit 353 verifiziert die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h, und falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • Die dritte Verifizierungseinheit 354 verifiziert die Ungleichheit von β' und γ', und falls verifiziert wird, dass β' ≠ γ' gilt, wird die Verifikationsakzeptanz festgestellt.
  • Der Entscheidungsabschnitt 355 stellt die Ungleichheit der diskreten Logarithmen von α zur Basis g und von β zur Basis h fest, wenn die Verifikationsergebnisse der ersten bis dritten Verifizierungseinheiten 352354 alle Verifikationsakzeptanzen sind. Wenn die Ungleichheit festgestellt wird, gibt der Entscheidungsabschnitt 355 "OK" und andernfalls "NG" aus.
  • 4. Viertes Grundschema
  • Mit Bezug auf 4 sei bemerkt, dass das System einen Beweismechanismus 400 und einen Verifizierungsmechanismus 450 aufweist. Der Beweismechanismus 400 beinhaltet einen Zufallszahlengenerator 401, einen Speicher 402 für öffentliche Informationen, einen Speicher 403 für private Informationen und einen Variablenwandler 404.
  • Der Zufallszahlengenerator 401 erzeugt eine Zufallszahl r ∊ Z/qZ.
  • Der Speicher 402 für öffentliche Informationen speichert p, q, g, h, α und β. Die gleichen öffentlichen Informationen werden in einem Speicher 451 für öffentliche Informationen des Verifizierungsmechanismus 450 gespeichert.
  • Der Speicher 403 für private Informationen speichert private Informationen x, welche α = gx mod p erfüllen, wobei es sich um den diskreten Logarithmus von α zur Basis g handelt, so dass x = loggα ist.
  • Der Zufallszahlengenerator 401, der Speicher 402 für öffentliche Informationen und der Speicher 403 für private Informationen geben p, q, g, h, α, β, x und r an den Variablenwandler 404 aus.
  • Der Variablenwandler 404 verwendet diese Variablen, um α', β', γ' folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p.
  • Der Beweismechanismus 400 sendet diese Werte α', β' und y' zum Verifizierungsmechanismus 450.
  • Der Beweismechanismus 400 weist weiter eine Beweiseinheit 405 auf, welche die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β' zur Basis β und die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h beweist.
  • Der Verifizierungsmechanismus 450 weist weiter eine erste Verifizierungseinheit 452, eine zweite Verifizierungseinheit 454 und einen Entscheidungsabschnitt 455 auf. Die erste Veri fizierungseinheit 452 verifiziert die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β' zur Basis β und die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h. Falls diese Gleichheiten beide verifiziert werden, wird die Verifikationsakzeptanz festgestellt.
  • Die zweite Verifizierungseinheit 454 verifiziert die Ungleichheit von β' und γ', und falls verifiziert wird, dass β' ≠ γ' gilt, wird die Verifikationsakzeptanz festgestellt.
  • Der Entscheidungsabschnitt 355 stellt die Ungleichheit der diskreten Logarithmen von α zur Basis g und von β zur Basis h fest, wenn die Verifikationsergebnisse der ersten bis dritten Verifizierungseinheiten 352354 alle Verifikationsakzeptanzen sind. Wenn die Ungleichheit festgestellt wird, gibt der Entscheidungsabschnitt 355 "OK" und andernfalls "NG" aus.
  • 5. Fünftes Grundschema
  • Mit Bezug auf 5 sei bemerkt, dass das System einen Beweismechanismus 500 und einen Verifizierungsmechanismus 550 aufweist. Der Beweismechanismus 500 beinhaltet einen Zufallszahlengenerator 501, einen Speicher 502 für öffentliche Informationen, einen Speicher 503 für private Informationen und einen Variablenwandler 504.
  • Der Zufallszahlengenerator 501 erzeugt eine Zufallszahl r ∊ Z/qZ.
  • Der Speicher 502 für öffentliche Informationen speichert p, q, g, h, α und β, wobei p und q die Gruppenoperation angeben, g und h die erste bzw. die zweite Basis sind und α und β eingegebene Zahlen sind. Die gleichen öffentlichen Informationen werden in einem Speicher 551 für öffentliche Informationen des Verifizierungsmechanismus 550 gespeichert.
  • Der Speicher 503 für private Informationen speichert private Informationen x, welche α = gx mod p erfüllen, wobei es sich um den diskreten Logarithmus von α zur Basis g handelt, so dass x = loggα ist.
  • Der Zufallszahlengenerator 501, der Speicher 502 für öffentliche Informationen und der Speicher 503 für private Informationen geben p, q, g, h, α, β, x und r an den Variablenwandler 504 aus.
  • Der Variablenwandler 504 verwendet diese Variablen, um α', β', y' folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p.
  • Der Beweismechanismus 500 sendet diese Werte α', β' und γ' zum Verifizierungsmechanismus 550.
  • Der Beweismechanismus 500 weist weiter eine erste Beweiseinheit 505 und eine zweite Beweiseinheit 506 auf. Die erste Beweiseinheit 505 beweist die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β' zur Basis β. Die zweite Beweiseinheit 506 beweist die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h.
  • Der Verifizierungsmechanismus 550 weist weiter eine erste Verifizierungseinheit 552, eine zweite Verifizierungseinheit 553, einen Vergleicher 554 und einen Entscheidungsabschnitt 555 auf.
  • Die erste Verifizierungseinheit 552 verifiziert die Gleichheit der diskreten Logarithmen von α zur Basis α und von β' zur Basis β, und falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt. Die zweite Verifizierungseinheit 553 verifiziert die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h, und falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt. Der Vergleicher 554 vergleicht β' und γ', um festzustellen, ob β' ≠ γ' ist.
  • Der Entscheidungsabschnitt 555 stellt die Ungleichheit der diskreten Logarithmen von α zur Basis g und von β zur Basis h fest, wenn die Verifikationsergebnisse der ersten Verifizierungseinheit 552 und der zweiten Verifizierungseinheit 553 alle Verifikationsakzeptanzen sind und der Vergleicher 554 feststellt, dass β' ≠ γ' ist. Wenn der Vergleicher 554 feststellt, dass β' = γ' ist, stellt der Entscheidungsabschnitt 555 die Gleichheit der diskreten Logarithmen von α zur Basis g und von β zur Basis h fest.
  • 6. Sechstes Grundschema
  • Mit Bezug auf 6 sei bemerkt, dass das System einen Beweismechanismus 600 und einen Verifizierungsmechanismus 650 aufweist. Der Beweismechanismus 600 beinhaltet einen Zufallszahlengenerator 601, einen Speicher 602 für öffentliche Informationen, einen Speicher 603 für private Informationen und einen Variablenwandler 604.
  • Der Zufallszahlengenerator 601 erzeugt eine Zufallszahl r ∊ Z/qZ.
  • Der Speicher 602 für öffentliche Informationen speichert p, q, g, h, α und β. Die gleichen öffentlichen Informationen werden in einem Speicher 651 für öffentliche Informationen des Verifizierungsmechanismus 650 gespeichert.
  • Der Speicher 603 für private Informationen speichert private Informationen x, welche α = gx mod p erfüllen, wobei es sich um den diskreten Logarithmus von α zur Basis g handelt, d. h. x = loggα.
  • Der Zufallszahlengenerator 601, der Speicher 602 für öffentliche Informationen und der Speicher 603 für private Informationen geben p, q, g, h, α, β, x und r an den Variablenwandler 604 aus.
  • Der Variablenwandler 604 verwendet diese Variablen, um α', β', γ' folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p.
  • Der Beweismechanismus 600 sendet diese Werte α', β' und γ' zum Verifizierungsmechanismus 650.
  • Der Beweismechanismus 600 weist weiter eine Beweiseinheit 605 auf, welche die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β' zur Basis β und die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h beweist.
  • Der Verifizierungsmechanismus 650 weist weiter eine erste Verifizierungseinheit 652, einen Vergleicher 654 und einen Entscheidungsabschnitt 655 auf. Die erste Verifizierungseinheit 652 verifiziert die Gleichheit der diskreten Logarithmen von α' zur Basis α und von β' zur Basis β und die Gleichheit der diskreten Logarithmen von α' zur Basis g und von γ' zur Basis h. Falls diese Gleichheiten beide verifiziert werden, wird die Verifikationsakzeptanz festgestellt. Der Vergleicher 654 vergleicht β' und γ', um festzustellen, ob β' ≠ γ' ist.
  • Der Entscheidungsabschnitt 655 stellt die Ungleichheit der diskreten Logarithmen von α zur Basis g und von β zur Basis h fest, wenn das Verifikationsergebnis der ersten Verifizierungseinheit 652 durch Verifikationsakzeptanzen gegeben ist und der Vergleicher 654 feststellt, dass β' ≠ γ' ist. Wenn der Vergleicher 654 feststellt, dass β' = γ' ist, stellt der Entscheidungsabschnitt 555 die Gleichheit der diskreten Logarithmen von α zur Basis g und von β zur Basis h fest.
  • Ausführungsformen
  • 1. Erste Ausführungsform
  • 1.1) Systemkonfiguration
  • Mit Bezug auf 7 sei bemerkt, dass das System einen Beweismechanismus 700 und einen Verifizierungsmechanismus 750 aufweist. Der Beweismechanismus 700 weist einen Zufallszahlengenerator 701, einen Speicher 702 für öffentliche Informationen, einen Speicher 703 für private Informationen, einen Variablenwandler 704, eine erste Beweiseinheit 705 und eine zweite Beweiseinheit 709 auf. Die erste Beweiseinheit 705 weist einen zweiten Zufallszahlengenerator 706, einen ersten Beweiszielabschnitt 707 und einen ersten Antwortabschnitt 708 auf. Die zweite Beweiseinheit 709 weist einen dritten Zufallszahlengenerator 710, einen zweiten Beweiszielabschnitt 711 und einen zweiten Antwortabschnitt 712 auf. Der Zufallszahlengenerator 701, der Variablenwandler 704, die erste Beweiseinheit 705 und die zweite Beweiseinheit 709 können durch Ausführen entsprechender Programme auf einem Computer implementiert werden.
  • Der Verifizierungsmechanismus 750 weist einen Speicher 751 für öffentliche Informationen, eine erste Verifizierungseinheit 752, eine zweite Verifizierungseinheit 755, eine dritte Verifizierungseinheit 758 und einen Entscheidungsabschnitt 759 auf. Die erste Verifizierungseinheit 752 weist einen ersten Herausforderungsabschnitt 753 und einen zweiten Entscheidungsabschnitt 754 auf. Die zweite Verifizierungseinheit 755 weist einen zweiten Herausforderungsabschnitt 756 und einen dritten Entscheidungsabschnitt 757 auf. Die erste Verifizierungseinheit 752, die zweite Verifizierungseinheit 755, die dritte Verifizierungseinheit 758 und der Entscheidungsabschnitt 759 können durch Ausführen entsprechender Programme auf einem Computer implementiert werden.
  • Die erste Beweiseinheit 705 und die erste Verifizierungseinheit 752 kommunizieren miteinander, so dass erste Beweisziele v[1] und v[2] von der ersten Beweiseinheit 705 zur ersten Verifizierungseinheit 752 gesendet werden, eine erste Herausforderung c[1] von der ersten Verifizierungseinheit 752 zur ersten Beweiseinheit 705 zurück gesendet wird und eine erste Antwort t[1] von der ersten Beweiseinheit 705 zur ersten Verifizierungseinheit 752 gesendet wird. Die erste Verifizierungseinheit 752 stellt fest, ob die erste Antwort t[1] mit den ersten Beweiszielen v[1] und v[2] und der ersten Herausforderung c[1] konsistent ist.
  • Die zweite Beweiseinheit 709 und die zweite Verifizierungseinheit 755 kommunizieren miteinander, so dass zweite Beweisziele v[3] und v[4] von der zweiten Beweiseinheit 709 zur zweiten Verifizierungseinheit 755 gesendet werden, eine zweite Herausforderung c[2] von der zweiten Verifizierungseinheit 755 zur zweiten Beweiseinheit 709 zurück gesendet wird und eine zweite Antwort t[2] von der zweiten Beweiseinheit 709 zur zweiten Verifizierungseinheit 755 gesendet wird. Die zweite Verifizierungseinheit 755 stellt fest, ob die zweite Antwort t[2] mit den zweiten Beweiszielen v[3] und v[4] und der zweiten Herausforderung c[2] konsistent ist.
  • 1.2) Arbeitsweise
  • Ein Arbeitsgang der vorliegenden Ausführungsform wird detailliert beschrieben.
  • Der Zufallszahlengenerator 701 erzeugt eine Zufallszahl r ∊ Z/qZ.
  • Der Speicher 702 für öffentliche Informationen speichert p, q, g, h, α und β. Die gleichen öffentlichen Informationen werden in einem Speicher 751 für öffentliche Informationen des Verifizierungsmechanismus 750 gespeichert.
  • Der Speicher 703 für private Informationen speichert private Informationen x, welche α = gx mod p erfüllen, wobei es sich um den diskreten Logarithmus von α zur Basis g, d.h. x = loggα, handelt.
  • Der Zufallszahlengenerator 701, der Speicher 702 für öffentliche Informationen und der Speicher 703 für private Informationen geben p, q, g, h, α, β, x und r an den Variablenwandler 704 aus. Auf die Variablen p, q, g, h, α und β wird auch durch die erste Beweiseinheit 705 und die zweite Beweiseinheit 709 Bezug genommen.
  • Der Variablenwandler 704 verwendet diese Variablen, um α', β', γ' folgendermaßen zu erzeugen: α' = αr, β' = βr und γ' = hxr.
  • Der Beweismechanismus 700 sendet diese Werte α', β' und γ' zum Verifizierungsmechanismus 750. Auf diese Werte α', β' und γ' nehmen auch die erste Beweiseinheit 705, die zweite Beweiseinheit 709 und die ersten bis dritten Verifizierungseinheiten 752, 756 und 758 Bezug.
  • 1.3) Erste Beweiseinheit/Verifizierungseinheit
  • In der ersten Beweiseinheit 705 erzeugt der zweite Zufallszahlengenerator 706 eine Zufallszahl s[1] ∊ Z/qZ. Der erste Beweiszielabschnitt 707 verwendet die zweite Zufallszahl s[1], um die ersten Beweisziele v[1] und v[2] zu berechnen: v[1] = αs[1] mod p und v[2] = βs[1] mod p.
  • Der erste Beweiszielabschnitt 707 sendet die ersten Beweisziele v[1] und v[2] zur ersten Verifizierungseinheit 752 des Verifizierungsmechanismus 750.
  • In der ersten Verifizierungseinheit 752 erzeugt der erste Herausforderungsabschnitt 752, nachdem die ersten Beweisziele v[1] und v[2] empfangen wurden, zufällig eine erste Herausforderung c[1] ∊ Z/qZ und sendet sie zur ersten Beweiseinheit 705 des Beweismechanismus 700 zurück.
  • Nach dem Empfang der ersten Herausforderung c[1] berechnet der erste Antwortabschnitt 708 der ersten Beweiseinheit 705 eine erste Antwort t[1]: t[1] = s[1] + rc[1] mod q.
  • Die erste Antwort t[1] wird zur ersten Verifizierungseinheit 752 des Verifizierungsmechanismus 750 gesendet.
  • In der ersten Verifizierungseinheit 752 entscheidet der zweite Entscheidungsabschnitt 754, ob v[1]α'c = αt[1] mod p und v[2]β'c = βt[1] mod p.
  • Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 1.4) Zweite Beweiseinheit/Verifizierungseinheit
  • In der zweiten Beweiseinheit 709 erzeugt der dritte Zufallszahlengenerator 710 eine Zufallszahl s[2] E Z/qZ. Der zweite Beweiszielabschnitt 711 verwendet die dritte Zufallszahl s[2] zum Berechnen der zweiten Beweisziele v[3] und v[4]: v[3] = gs[2] mod p und v[4] = hs[2] mod p.
  • Der zweite Beweiszielabschnitt 711 sendet die zweiten Beweisziele v[3] und v[4] zur zweiten Verifizierungseinheit 755 des Verifizierungsmechanismus 750.
  • In der zweiten Verifizierungseinheit 755 erzeugt der zweite Herausforderungsabschnitt 756, nachdem die zweiten Beweisziele v[3] und v[4] empfangen wurden, zufällig eine zweite Herausforderung c[2] ∊ Z/qZ und sendet sie zur zweiten Beweiseinheit 709 des Beweismechanismus 700 zurück.
  • Wenn die zweite Herausforderung c[2] empfangen wurde, berechnet der zweite Antwortabschnitt 712 der zweiten Beweiseinheit 709 eine zweite Antwort t[2]: t[2] = s[2] + x r c[2] mod q,wobei x im Speicher 702 für private Informationen gespeicherte private Informationen darstellt und r eine durch den Zufallszahlengenerator 701 erzeugte Zufallszahl ist. Die zweite Antwort t[2] wird zur zweiten Verifizierungseinheit 755 des Verifizierungsmechanismus 750 gesendet.
  • In der zweiten Verifizierungseinheit 755 entscheidet der dritte Entscheidungsabschnitt 757, ob v[3]α'c = gt[2] mod p und v[4]γ'c = ht [ 2 ] mod p.
  • Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 1.5) Entscheidung
  • Die dritte Verifizierungseinheit 758 verifiziert die Gleichheit von β' und y', und die Verifikationsakzeptanz wird festgestellt, falls verifiziert wird, dass β' = γ' ist.
  • Der Entscheidungsabschnitt 759 gibt "OK" aus, wenn die Verifikationsergebnisse der ersten bis dritten Verifizierungseinheiten 754, 757 und 758 alle Verifikationsakzeptanzen sind. Andernfalls gibt der Entscheidungsabschnitt 759 "NG" aus.
  • α', β' und γ' können zur gleichen Zeit zum Verifizierungsmechanismus 750 gesendet werden, zu der die ersten Beweisziele v[1] und v[2] zum Verifizierungsmechanismus 750 gesendet werden. Die ersten Beweisziele v[1] und v[2] können zur gleichen Zeit zum Verifizierungsmechanismus 750 gesendet werden, zu der die zweiten Beweisziele v[3] und v[4] gesendet werden. Anschließend können die erste Herausforderung c[1] und die zweite Herausforderung c[2] gleichzeitig zum Beweismechanismus 700 zurück gesendet werden. Nachdem die erste Herausforderung c[1] und die zweite Herausforderung c[2] gesendet worden sind, können die erste Antwort t[1] und die zweite Antwort t[2] gleichzeitig zum Verifizierungsmechanismus 750 gesendet werden.
  • Die vorliegende Ausführungsform stellt ein Zero-Knowledge-Beweisschema zum Beweisen der Gleichheit der diskreten Logarithmen bereit. Die dritte Verifizierungseinheit 758 kann jedoch die Ungleichheit von β' und γ' verifizieren, und die Verifikationsakzeptanz wird festgestellt, falls verifiziert wird, dass β' ≠ γ' ist. In diesem Fall stellt die vorliegende Ausführungsform auch ein Zero-Knowledge-Beweisschema zum Beweisen der Ungleichheit der diskreten Logarithmen bereit.
  • 2. Zweite Ausführungsform
  • 2.1) Systemkonfiguration
  • Mit Bezug auf 8 sei bemerkt, dass das System gemäß der zweiten Ausführungsform einen Beweismechanismus 800 und einen Verifizierungsmechanismus 850 aufweist, wobei eine erste Beweiseinheit 801 und eine erste Verifizierungseinheit 851 von jenen gemäß der in 7 dargestellten ersten Ausführungsform verschieden sind. Daher zeigt 8 nur die erste Beweiseinheit 801 und die erste Verifizierungseinheit 851, und die anderen Funktionsblöcke gleichen jenen, die in 7 dargestellt sind.
  • Die erste Beweiseinheit 801 weist einen zweiten Zufallszahlengenerator 802, einen ersten Beweiszielabschnitt 803 und einen ersten Antwortabschnitt 804 auf. Die erste Verifizierungseinheit 851 weist einen ersten Herausforderungs präparationsabschnitt 853, einen ersten Herausforderungsabschnitt 854 und einen zweiten Entscheidungsabschnitt 855 auf. Wie im Fall der ersten Ausführungsform können die erste Beweiseinheit 801 und eine erste Verifizierungseinheit 851 durch Ausführen entsprechender Programme auf einem Computer implementiert werden.
  • Die erste Beweiseinheit 801 und die erste Verifizierungseinheit 851 kommunizieren miteinander so, dass die erste Herausforderungspräparation von der ersten Verifizierungseinheit 851 zur ersten Beweiseinheit 801 gesendet wird, die ersten Beweisziele v[1] und v[2] und die Zufallszahl w[1] von der ersten Beweiseinheit 801 zur ersten Verifizierungseinheit 851 gesendet werden, die ersten Herausforderungen a[1] und b[1] von der ersten Verifizierungseinheit 851 zur ersten Beweiseinheit 801 zurück gesendet werden und eine erste Antwort t[1] von der ersten Beweiseinheit 801 zur ersten Verifizierungseinheit 851 gesendet wird. Die erste Verifizierungseinheit 851 stellt fest, ob die erste Antwort t[1] mit den ersten Beweiszielen v[1] und v[2], der Zufallszahl w[1] und den ersten Herausforderungen a[1] und b[1] konsistent ist. Detailliertere Arbeitsweisen der vorliegenden Ausführungsform werden nachstehend beschrieben.
  • 2.2) Arbeitsweise
  • sIn der ersten Verifizierungseinheit 851 erzeugt der dritte Zufallszahlengenerator 852 Zufallszahlen a[1], b[1] ∊ Z/qZ.
  • Der erste Herausforderungspräparationsabschnitt 853 verwendet die Zufallszahlen a[1], b[1] zum Berechnen der ersten Herausforderungspräparation A[1]: A[1] = ga[ 1 ]αb [ 1 ] mod p.
  • Die erste Herausforderungspräparation A[1] wird zur ersten Beweiseinheit 801 gesendet.
  • In der ersten Beweiseinheit 801 erzeugt der zweite Zufallszahlengenerator 802 Zufallszahlen s[1] ∊ Z/qZ und w[1] ∊ Z/qZ. Der erste Beweiszielabschnitt 803 verwendet die Zufallszahl s[1] zum Berechnen der ersten Beweisziele v[1] und v[2]: v[1] = αs[1] mod p und v[2] = βs[1] mod p.
  • Nachdem die erste Herausforderungspräparation A[1] von der ersten Verifizierungseinheit 851 empfangen wurde, sendet der erste Beweiszielabschnitt 803 die ersten Beweisziele v[1] und v[2] und die Zufallszahl w[1] zur ersten Verifizierungseinheit 851.
  • Wenn in der ersten Verifizierungseinheit 851 die ersten Beweisziele v[1] und v[2] und die Zufallszahl w[1] empfangen wurden, sendet der erste Herausforderungsabschnitt 854 die Zufallszahlen a[1], b[1] als die erste Herausforderung zur ersten Beweiseinheit 801.
  • Wenn die ersten Herausforderungen a[1], b[1] empfangen wurden, berechnet der erste Antwortabschnitt 804 ga[ 1 ]αb [ 1 ] mod p und beweist: A[1] = ga[1]αb [ 1 ] mod p.
  • Falls die Gleichheit von A[1] und ga[ 1 ]αb [ 1 ] mod p nicht bewiesen wird, ist der Beweis beendet.
  • Wenn die Gleichheit von A[1] und ga [1]αb[1] mod p bewiesen wird, berechnet der erste Antwortabschnitt 804 die erste Antwort t[1]: t[1] = s[1] + r(a[1] + w[1]) mod q,wobei r eine vom Zufallszahlengenerator 701 erzeugte Zufallszahl ist. Die erste Antwort t[1] wird zur ersten Verifizierungseinheit 851 gesendet.
  • In der ersten Verifizierungseinheit 851 entscheidet der zweite Entscheidungsabschnitt 855, ob v[1]α'(a[1] + w[1]) = αt[1] mod p und v[2]β'(a[1] + w[1]) = βt[1] mod p ist. Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 3. Dritte Ausführungsform
  • 3.1) Systemkonfiguration
  • Mit Bezug auf 9 sei bemerkt, dass das System gemäß der dritten Ausführungsform einen Beweismechanismus 900 und einen Verifizierungsmechanismus 950 aufweist, wobei eine erste Beweiseinheit 901 und eine erste Verifizierungseinheit 951 von jenen gemäß der in 7 dargestellten ersten Ausführungsform verschieden sind. Daher zeigt 9 nur die erste Beweiseinheit 901 und die erste Verifizierungseinheit 951, und die anderen Funktionsblöcke gleichen jenen, die in 7 dargestellt sind.
  • Die erste Beweiseinheit 901 weist einen zweiten Zufallszahlengenerator 902, einen ersten Beweiszielabschnitt 903, einen ersten automatischen Herausforderungsabschnitt 904, einen ersten Antwortabschnitt 905 und einen ersten Beweistext-Sendeabschnitt 906 auf. Die erste Verifizierungseinheit 951 weist einen ersten automatischen Herausforderungsabschnitt 952 und einen zweiten Entscheidungsabschnitt 953 auf.
  • Der erste Beweiszielabschnitt 903 verwendet eine Zufallszahl s[1] zum Konvertieren von α und β, um erste Beweisziele v[1] und v[2] zu erzeugen. Der erste automatische Herausforderungsabschnitt 904 erzeugt eine erste automatische Herausforderung c[1] anhand der ersten Beweisziele v[1] und v[2]. Der erste Antwortabschnitt 905 berechnet die erste Antwort t[1] anhand der ersten automatischen Herausforderung c[1] unter Verwendung der Zufallszahl r und der Zufallszahl s[1]. Der erste Beweistext-Sendeabschnitt 906 sendet die ersten Beweisziele v[1] und v[2] und die erste Antwort t[1] als einen ersten Beweistext zur ersten Verifizierungseinheit 951.
  • In der ersten Verifizierungseinheit 951 erzeugt der erste automatische Herausforderungsabschnitt 952 eine erste automatische Herausforderung c'[1] anhand der ersten Beweisziele v[1] und v[2]. Der zweite Entscheidungsabschnitt 953 stellt fest, ob die erste Antwort t[1] mit den ersten Beweiszielen v[1] und v[2] und der ersten automatischen Herausforderung c'[1] konsistent ist.
  • Wie im Fall der ersten Ausführungsform können die erste Beweiseinheit 901 und die erste Verifizierungseinheit 951 durch Ausführen entsprechender Programme auf einem Computer implementiert werden. Die Arbeitsweise der vorliegenden Ausführungsform wird nachstehend detaillierter beschrieben.
  • 3.2) Arbeitsweise
  • In der ersten Beweiseinheit 901 erzeugt der zweite Zufallszahlengenerator 902 Zufallszahlen s[1] ∊ Z/qZ. Der erste Beweiszielabschnitt 903 verwendet die Zufallszahl s[1] zum Berechnen der ersten Beweisziele v[1] und v[2]: v[1] = αs[1] mod p und v[2] = βs[1] mod p.
  • Der erste automatische Herausforderungsabschnitt 904 erzeugt die erste automatische Herausforderung c[1] unter Verwendung der ersten Beweisziele v[1] und v[2]: c[1] (∊ Z/qZ) = Hash(p, q, g, h, α, β, α', β', γ', v[1], v[2]),wobei Hash eine Hash-Funktion, wie "SHA-1", angibt, wobei es sich um eine unidirektionale Funktion handelt.
  • Der erste Antwortabschnitt 905 berechnet die erste Antwort t[1]: t[1] = s[1] + r c[1] mod q,wobei r eine durch den Zufallszahlengenerator 701 erzeugte Zufallszahl ist.
  • Der erste Beweistext-Sendeabschnitt 906 erzeugt einen Beweistext (v[1], v[2], t[1]) und sendet ihn zur ersten Verifizierungseinheit 951.
  • In der ersten Verifizierungseinheit 951 erzeugt der erste automatische Herausforderungsabschnitt 952 die erste automatische Herausforderung c'[1]: c'[1] (∊ Z/qZ) = Hash(p, q, g, h, α, β, α', β', γ', v[1], v[2]).
  • Anschließend entscheidet der zweite Entscheidungsabschnitt 953, ob v[1]α'c'[1] = αt[1] mod p und v[2]β'c' [1] = βt[1] mod p.
  • Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 4. Vierte Ausführungsform
  • 4.1) Systemkonfiguration
  • Mit Bezug auf 10 sei bemerkt, dass das System gemäß der vierten Ausführungsform einen Beweismechanismus 1000 und einen Verifizierungsmechanismus 1050 aufweist, wobei eine erste Beweiseinheit 1001 und eine erste Verifizierungseinheit 1051 von jenen gemäß der in 7 dargestellten ersten Ausführungsform verschieden sind. Daher zeigt 10 nur die erste Beweiseinheit 1001 und die erste Verifizierungseinheit 1051, und die anderen Funktionsblöcke gleichen jenen, die in 7 dargestellt sind.
  • Die erste Beweiseinheit 1001 weist einen zweiten Zufallszahlengenerator 1002, einen ersten Beweiszielabschnitt 1003, einen ersten automatischen Herausforderungsabschnitt 1004, einen ersten Antwortabschnitt 1005 und einen ersten Beweistext-Sendeabschnitt 1006 auf. Die erste Verifizierungseinheit 1051 weist einen zweiten Entscheidungsabschnitt 1053 auf.
  • Der erste Beweiszielabschnitt 1003 verwendet eine Zufallszahl s[1] zum Konvertieren von α und β, um erste Beweisziele v[1] und v[2] zu erzeugen. Der erste automatische Herausforderungsabschnitt 1004 erzeugt eine erste automatische Herausfor derung c[1] anhand der ersten Beweisziele v[1] und v[2]. Der erste Antwortabschnitt 1005 berechnet die erste Antwort t[1] anhand der ersten automatischen Herausforderung c[1] unter Verwendung der Zufallszahl r und der Zufallszahl s[1]. Der erste Beweistext-Sendeabschnitt 1006 sendet die erste automatische Herausforderung c[1] und die erste Antwort t[1] als einen ersten Beweistext zur ersten Verifizierungseinheit 1051.
  • In der ersten Verifizierungseinheit 1051 stellt der zweite Entscheidungsabschnitt 1053 fest, ob die erste automatische Herausforderung c[1] mit der ersten Antwort t[1] konsistent ist.
  • Wie im Fall der ersten Ausführungsform können die erste Beweiseinheit 1001 und die erste Verifizierungseinheit 1051 durch Ausführen entsprechender Programme auf einem Computer implementiert werden. Die Arbeitsweise der vorliegenden Ausführungsform wird nachstehend detaillierter beschrieben.
  • 4.2) Arbeitsweise
  • In der ersten Beweiseinheit 1001 erzeugt der zweite Zufallszahlengenerator 1002 Zufallszahlen s[1] ∊ Z/qZ. Der erste Beweiszielabschnitt 1003 verwendet die Zufallszahl s[1] zum Berechnen der ersten Beweisziele v[1] und v[2]: v[1] = αs[1] mod p und v[2] = βs[1] mod p.
  • Der erste automatische Herausforderungsabschnitt 1004 erzeugt die erste automatische Herausforderung c[1] unter Verwendung der ersten Beweisziele v[1] und v[2]: c[1](∊ Z/qZ) = Hash(p, q, g, h, α, β, α', β', y', v[1], v[2]).
  • Der erste Antwortabschnitt 1005 berechnet eine erste Antwort t[1]: t[1] = s[1] + r c[1] mod q, wobei r eine durch den Zufallszahlengenerator 701 erzeugte Zufallszahl ist.
  • Der erste Beweistext-Sendeabschnitt 1006 erzeugt einen Beweistext (c[1], t[1]) und sendet ihn zur ersten Verifizierungseinheit 1051.
  • In der ersten Verifizierungseinheit 1051 entscheidet der zweite Entscheidungsabschnitt 1053, ob: c[1] = Hash(p, q, g, h, α, β, α', β', γ', αt[1]/α'c mod p, βt [ 1]/β'c mod p)ist. Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 5. Fünfte Ausführungsform
  • 5.1) Systemkonfiguration
  • Mit Bezug auf 11 sei bemerkt, dass das System gemäß der fünften Ausführungsform einen Beweismechanismus 1100 und einen Verifizierungsmechanismus 1150 aufweist, wobei eine zweite Beweiseinheit 1101 und eine zweite Verifizierungseinheit 1151 von jenen der in 7 dargestellten ersten Ausführungsform verschieden sind. Daher zeigt 11 nur die zweite Beweiseinheit 1101 und die zweite Verifizierungseinheit 1151, und andere Funktionsblöcke gleichen jenen, die in 7 dargestellt sind.
  • Die zweite Beweiseinheit 1101 weist einen vierten Zufallszahlengenerator 1102, einen zweiten Beweiszielabschnitt 1103 und einen zweiten Antwortabschnitt 1104 auf. Die zweite Verifizierungseinheit 1151 weist einen fünften Zufallszahlengenerator 1152, einen zweiten Herausforderungspräparationsabschnitt 1153, einen zweiten Herausforderungsabschnitt 1154 und einen dritten Entscheidungsabschnitt 1155 auf. Wie im Fall der ersten Ausführungsform können die zweite Beweiseinheit 1101 und eine zweite Verifizierungseinheit 1151 durch Ausführen entsprechender Programme auf einem Computer implementiert werden.
  • Die zweite Beweiseinheit 1101 und die zweite Verifizierungseinheit 1151 kommunizieren miteinander, so dass die zweite Herausforderungspräparation A[2] von der zweiten Verifizierungseinheit 1151 zur zweiten Beweiseinheit 1101 gesendet wird, zweite Beweisziele v[3] und v[4] und eine Zufallszahl w[2] von der zweiten Beweiseinheit 1101 zur zweiten Verifizierungseinheit 1151 gesendet werden, zweite Herausforderungen a[2] und b[2] von der zweiten Verifizierungseinheit 1151 zur zweiten Beweiseinheit 1101 gesendet werden und eine zweite Antwort t[2] von der zweiten Beweiseinheit 1101 zur zweiten Verifizierungseinheit 1151 gesendet wird. Die zweite Verifizierungseinheit 1151 stellt fest, ob die zweite Antwort t[2] mit den zweiten Beweiszielen v[3] und v[4], der Zufallszahl w[2] und den zweiten Herausforderungen a[2] und b[2] konsistent ist. Die Arbeitsweise der vorliegenden Ausführungsform wird nachstehend detaillierter beschrieben.
  • 5.2) Arbeitsweise
  • In der ersten Verifizierungseinheit 1151 erzeugt der fünfte Zufallszahlengenerator 1152 Zufallszahlen a[2], b[2] ∊ Z/qZ.
  • Der zweite Herausforderungspräparationsabschnitt 1153 verwendet die Zufallszahlen a[2], b[2], um die zweite Herausforderungspräparation A[2] zu berechnen: A[2] = ga[ 2 ]αb[ 2 ] mod p.
  • Die zweite Herausforderungspräparation A[2] wird zur zweiten Beweiseinheit 1101 gesendet.
  • In der zweiten Beweiseinheit 1101 erzeugt der vierte Zufallszahlengenerator 1102 Zufallszahlen s[2] E Z/qZ und w[2] ∊ Z/qZ. Der zweite Beweiszielabschnitt 1103 verwendet die Zufallszahl s[2] zum Berechnen der zweiten Beweisziele v[3] und v[4]: v[3] = gs[2] mod p und v[4] = hs[2] mod p.
  • Nachdem die zweite Herausforderungspräparation A[2] von der zweiten Verifizierungseinheit 1151 empfangen wurde, sendet der zweite Beweiszielabschnitt 1103 die zweiten Beweisziele v[3] und v[4] und die Zufallszahl w[2] zur zweiten Verifizierungseinheit 1151.
  • Wenn in der zweiten Verifizierungseinheit 1151 die zweiten Beweisziele v[3] und v[4] und die Zufallszahl w[2] empfangen wurden, sendet der zweite Herausforderungsabschnitt 1154 die Zufallszahlen a[2], b[2] als die zweite Herausforderung zur zweiten Beweiseinheit 1101.
  • Wenn die zweiten Herausforderungen a[2], b[2] empfangen wurden, berechnet der zweite Antwortabschnitt 1104 ga [ 2 ]αb [ 2 ] mod p und beweist: A[2] = ga[ 2 ]αb [ 2 ] mod p.
  • Falls die Gleichheit von A[2] und ga [ 2 ]αb [ 2 ] mod p nicht bewiesen wird, ist der Beweis beendet.
  • Wenn die Gleichheit von A[2] und ga [ 2 ]αb [ 2 ] mod p bewiesen wird, berechnet der zweite Antwortabschnitt 1104 eine zweite Antwort t[2]: t[2] = s[2] + x r (a[2] + w[2]) mod q,wobei x die im Speicher 703 für private Informationen gespeicherten privaten Informationen darstellt und r eine vom Zufallszahlengenerator 701 erzeugte Zufallszahl ist. Die zweite Antwort t[2] wird zur zweiten Verifizierungseinheit 1151 gesendet.
  • In der zweiten Verifizierungseinheit 1151 entscheidet der dritte Entscheidungsabschnitt 1155, ob v[3]α'(a[2] + w[2]) = gt[2] mod p und v[4]γ'(a[2] + w[2]) = ht[2] mod p.
  • Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 6. Sechste Ausführungsform
  • 6.1) Systemkonfiguration
  • Mit Bezug auf 12 sei bemerkt, dass das System gemäß der sechsten Ausführungsform einen Beweismechanismus 1200 und einen Verifizierungsmechanismus 1250 aufweist, wobei eine zweite Beweiseinheit 1201 und eine zweite Verifizierungseinheit 1251 von jenen gemäß der in 7 dargestellten ersten Ausführungsform verschieden sind. Daher zeigt 12 nur die zweite Beweiseinheit 1201 und die zweite Verifizierungseinheit 1251, und die anderen Funktionsblöcke gleichen jenen, die in 7 dargestellt sind.
  • Die zweite Beweiseinheit 1201 weist einen dritten Zufallszahlengenerator 1202, einen zweiten Beweiszielabschnitt 1203, einen zweiten automatischen Herausforderungsabschnitt 1204, einen zweiten Antwortabschnitt 1205 und einen zweiten Beweistext-Sendeabschnitt 1206 auf. Die zweite Verifizierungseinheit 1251 weist einen zweiten automatischen Herausforderungsabschnitt 1252 und einen dritten Entscheidungsabschnitt 1253 auf.
  • Der zweite Beweiszielabschnitt 1203 verwendet eine Zufallszahl s[2] zum Konvertieren der Basen g und h, um zweite Beweisziele v[3] und v[4] zu erzeugen. Der zweite automatische Herausforderungsabschnitt 1204 erzeugt die zweite automatische Herausforderung c[2] anhand der zweiten Beweisziele v[3] und v[4]. Der zweite Antwortabschnitt 1205 berechnet die zweite Antwort t[2] anhand der zweiten automatischen Herausforderung c[2] unter Verwendung der privaten Informationen x, der Zufallszahl r und der Zufallszahl s[2]. Der zweite Beweistext-Sendeabschnitt 1206 sendet die zweiten Beweisziele v[3] und v[4] und die zweite Antwort t[2] als einen zweiten Beweistext zur zweiten Verifizierungseinheit 1251.
  • In der zweiten Verifizierungseinheit 1251 erzeugt der zweite automatische Herausforderungsabschnitt 1252 die zweite automatische Herausforderung c'[2] anhand der zweiten Beweisziele v[3] und v[4]. Der dritte Entscheidungsabschnitt 1253 stellt fest, ob die zweite Antwort t[2] mit den zweiten Be weiszielen v[3] und v[4] und der zweiten automatischen Herausforderung c'[2] konsistent ist.
  • Wie im Fall der ersten Ausführungsform können die zweite Beweiseinheit 1201 und die zweite Verifizierungseinheit 1251 durch Ausführen entsprechender Programme auf einem Computer implementiert werden. Die Arbeitsweise der vorliegenden Ausführungsform wird nachstehend detaillierter beschrieben.
  • 6.2) Arbeitsweise
  • In der zweiten Beweiseinheit 1201 erzeugt der dritte Zufallszahlengenerator 1202 Zufallszahlen s[2] ∊ Z/qZ. Der zweite Beweiszielabschnitt 1203 verwendet die Zufallszahl s[2], um die zweiten Beweisziele v[3] und v[4] zu berechnen: v[3] = gs[2] mod p und v[4] = hs[2] mod p.
  • Der zweite automatische Herausforderungsabschnitt 1204 erzeugt die zweite automatische Herausforderung c[2] unter Verwendung der zweiten Beweisziele v[3] und v[4]: c[2](∊ Z/qZ) = Hash(p, q, g, h, α, β, α', β', γ', v[3], v[4]).
  • Der zweite Antwortabschnitt 1205 berechnet eine zweite Antwort t[2]: t[2] = s[2] + x r c[2] mod q,wobei x die privaten Informationen darstellt und r eine vom Zufallszahlengenerator 701 erzeugte Zufallszahl ist.
  • Der zweite Beweistext-Sendeabschnitt 1206 erzeugt einen Beweistext (v[3], v[4], t[2]) und sendet ihn zur zweiten Verifizierungseinheit 1251.
  • In der zweiten Verifizierungseinheit 1251 erzeugt der zweite automatische Herausforderungsabschnitt 1252 eine zweite automatische Herausforderung c'[2]: c'[2](∊ Z/qZ) = Hash(p, q, g, h, α, β, α', β', γ', v[3], v[4]).
  • Anschließend entscheidet der dritte Entscheidungsabschnitt 1253, ob v[3]α'c'[2] = gt[ 2 ] t[2] mod p und v[4]γ'c'[2] = ht[2] mod pist. Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 7. Siebte Ausführungsform
  • 7.1) Systemkonfiguration
  • Mit Bezug auf 13 sei bemerkt, dass das System gemäß der siebten Ausführungsform einen Beweismechanismus 1300 und einen Verifizierungsmechanismus 1350 aufweist, wobei eine zweite Beweiseinheit 1301 und eine zweite Verifizierungseinheit 1351 von jenen gemäß der in 7 dargestellten ersten Ausführungsform verschieden sind. Daher zeigt 13 nur die zweite Beweiseinheit 1301 und die zweite Verifizierungseinheit 1351, und die anderen Funktionsblöcke gleichen jenen, die in 7 dargestellt sind.
  • Die zweite Beweiseinheit 1301 weist einen dritten Zufallszahlengenerator 1302, einen zweiten Beweiszielabschnitt 1303, einen zweiten automatischen Herausforderungsabschnitt 1304, einen zweiten Antwortabschnitt 1305 und einen zweiten Beweistext-Sendeabschnitt 1306 auf. Die zweite Verifizierungseinheit 1351 weist einen dritten Entscheidungsabschnitt 1353 auf.
  • Der zweite Beweiszielabschnitt 1303 verwendet eine Zufallszahl s[2] zum Konvertieren der Basen g und h, um zweite Beweisziele v[3] und v[4] zu erzeugen. Der zweite automatische Herausforderungsabschnitt 1304 erzeugt eine zweite automatische Herausforderung c[2] anhand der zweiten Beweisziele v[3] und v[4]. Der zweite Antwortabschnitt 1305 berechnet die zweite Antwort t[2] anhand der zweiten automatischen Herausforderung c[2] unter Verwendung der privaten Informationen x, der Zufallszahl r und der Zufallszahl s[2]. Der zweite Beweistext-Sendeabschnitt 1306 sendet die zweite automatische Herausforderung c[2] und die zweite Antwort t[2] als einen zweiten Beweistext zur zweiten Verifizierungseinheit 1351.
  • In der zweiten Verifizierungseinheit 1351 stellt der dritte Entscheidungsabschnitt 1353 fest, ob die zweite Antwort t[2] mit der zweiten automatischen Herausforderung c[2] konsistent ist.
  • Wie im Fall der ersten Ausführungsform können die zweite Beweiseinheit 1301 und die zweite Verifizierungseinheit 1351 durch Ausführen entsprechender Programme auf einem Computer implementiert werden. Die Arbeitsweise der vorliegenden Ausführungsform wird nachstehend detaillierter beschrieben.
  • 7.2) Arbeitsweise
  • In der zweiten Beweiseinheit 1301 erzeugt der dritte Zufallszahlengenerator 1302 Zufallszahlen s[2] ∊ Z/qZ. Der zweite Beweiszielabschnitt 1303 verwendet die Zufallszahl s[2], um die zweiten Beweisziele 43] und v[4] zu berechnen: v[3] = gs[2] mod p und v[4] = hs[2] mod p.
  • Der zweite automatische Herausforderungsabschnitt 1304 erzeugt die zweite automatische Herausforderung c[2] unter Verwendung der zweiten Beweisziele v[3] und v[4]: c[2](∊ Z/qZ) = Hash(p, q, g, h, α, β, α', β', γ', v[3], v[4]).
  • Der zweite Antwortabschnitt 1305 berechnet die zweite Antwort t[2]: t[2] = s[2] + x r c [2] mod q,wobei x die privaten Informationen darstellt und r eine vom Zufallszahlengenerator 701 erzeugte Zufallszahl ist.
  • Der zweite Beweistext-Sendeabschnitt 1306 erzeugt einen Beweistext (c[2], t[2]) und sendet ihn zur zweiten Verifizierungseinheit 1351.
  • In der zweiten Verifizierungseinheit 1351 entscheidet der dritte Entscheidungsabschnitt 1353, ob c[2] = Hash(p, q, g, h, α, β, α', β', γ, gt[2]/α'c[2] mod p, ht[2]/γ'c[2] mod p)ist. Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 8. Achte Ausführungsform
  • 8.1) Systemkonfiguration
  • Mit Bezug auf 14 sei bemerkt, dass das System gemäß der achten Ausführungsform einen Beweismechanismus 1400 und einen Verifizierungsmechanismus 1450 aufweist. Der Beweismechanismus 1400 weist einen Zufallszahlengenerator 1401, einen Speicher 1402 für öffentliche Informationen, einen Speicher 1403 für private Informationen, einen Variablenwandler 1404 und eine Beweiseinheit 1405 auf. Die Beweiseinheit 1405 weist einen zweiten Zufallszahlengenerator 1406, einen Beweiszielabschnitt 1407 und einen Antwortabschnitt 1408 auf. Der Zufallszahlengenerator 1401, der Variablenwandler 1404 und die Beweiseinheit 1405 können durch Ausführen entsprechender Programme auf einem Computer implementiert werden.
  • Der Verifizierungsmechanismus 1450 weist einen Speicher 1451 für öffentliche Informationen, eine erste Verifizierungseinheit 1452, eine zweite Verifizierungseinheit 1458 und einen Entscheidungsabschnitt 1459 auf. Die erste Verifizierungseinheit 1452 weist einen Herausforderungsabschnitt 1453 und einen zweiten Entscheidungsabschnitt 1454 auf. Die erste Verifizierungseinheit 1452, die zweite Verifizierungseinheit 1458 und der Entscheidungsabschnitt 1459 können durch Ausführen entsprechender Programme auf einem Computer implementiert werden.
  • Die Beweiseinheit 1405 und die erste Verifizierungseinheit 1452 kommunizieren miteinander so, dass Beweisziele v[1], v[2], v[3], v[4] von der Beweiseinheit 1405 zur ersten Verifizierungseinheit 1452 gesendet werden, eine Herausforderung c von der ersten Verifizierungseinheit 1452 zur Beweiseinheit 1405 zurück gesendet wird und Antworten t[1], t[2] von der Beweiseinheit 1405 zur ersten Verifizierungseinheit 1452 gesendet werden. Die erste Verifizierungseinheit 1452 stellt fest, ob die Antworten t[1], t[2] mit den Beweiszielen v[1], v [2], v[3], v[4] und der Herausforderung c konsistent sind.
  • 8.2) Arbeitsweise
  • Ein Arbeitsgang der vorliegenden Ausführungsform wird detailliert beschrieben.
  • Der Zufallszahlengenerator 1401 erzeugt eine Zufallszahl r ∊ Z/qZ.
  • Der Speicher 1402 für öffentliche Informationen speichert p, q, g, h, α und β. Die gleichen öffentlichen Informationen werden in einem Speicher 1451 für öffentliche Informationen des Verifizierungsmechanismus 1450 gespeichert.
  • Der Speicher 1403 für private Informationen speichert private Informationen x, welche α = gx mod p erfüllen, wobei es sich um den diskreten Logarithmus von α zur Basis g, d.h. x = loggα, handelt.
  • Der Zufallszahlengenerator 1401, der Speicher 1402 für öffentliche Informationen und der Speicher 1403 für private Informationen geben p, q, g, h, α, β, x und r an den Variablenwandler 1404 aus. Auf die Variablen p, q, g, h, α und β wird auch durch die Beweiseinheit 1405, die erste Verifizierungseinheit 1452 und die zweite Verifizierungseinheit 1458 Bezug genommen.
  • Der Variablenwandler 1404 verwendet diese Variablen, um α', β', γ' folgendermaßen zu erzeugen: α' = αr, β' = βr und γ' = hxr.
  • Der Beweismechanismus 1400 sendet diese Werte α', β' und γ' zum Verifizierungsmechanismus 1450. Auf diese Werte α', β' und γ' wird auch von der Beweiseinheit 1405, der ersten Verifizierungseinheit 1452 und der zweiten Verifizierungseinheit 1458 Bezug genommen.
  • 8.3) Beweiseinheit und erste Verifizierungseinheit
  • In der Beweiseinheit 1405 erzeugt der zweite Zufallszahlengenerator 1406 Zufallszahlen s[1], s[2] ∊ Z/qZ. Der Beweiszielabschnitt 1407 verwendet die Zufallszahlen s[1], s[2], um die Beweisziele v[1], v[2], 43], v[4] zu berechnen: v[1] = αs[1] mod p, v[2] = βs[1] mod p, v[3] = gs[2] mod p und v[4] = hs[2] mod p.
  • Der Beweiszielabschnitt 1407 sendet die Beweisziele v[1], v[2], v[3], v[4] zur ersten Verifizierungseinheit 1452 des Verifizierungsmechanismus 1450.
  • In der ersten Verifizierungseinheit 1452 erzeugt der Herausforderungsabschnitt 1453, nachdem das Beweisziel empfangen wurde, zufällig eine Herausforderung c ∊ Z/qZ und sendet sie zur Beweiseinheit 1405 des Beweismechanismus 1400 zurück.
  • Nach dem Empfang der Herausforderung c berechnet der Antwortabschnitt 1408 der Beweiseinheit 1405 die Antworten t[1], t[2]: t[1] = s[1] + r c mod q und t[2] = s[2] + x r c mod q.
  • Die berechneten Antworten t[1], t[2] werden zur ersten Verifizierungseinheit 1452 des Verifizierungsmechanismus 1450 gesendet.
  • In der ersten Verifizierungseinheit 1452 entscheidet der zweite Entscheidungsabschnitt 1454, ob v[1]α'c = αt [ 1 ] mod p, v[2]β'c = βt[1] mod p, v[3]α'c = gt[2] mod p und v[4]γ'c = ht [ 2 ] mod p.
  • Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 8.4) Entscheidung
  • Die zweite Verifizierungseinheit 1458 verifiziert die Gleichheit von β' und γ', und die Verifikationsakzeptanz wird festgestellt, falls verifiziert wird, dass β' = γ' ist.
  • Der Entscheidungsabschnitt 1459 gibt "OK" aus, wenn die Verifikationsergebnisse der ersten Verifizierungseinheit 1454 und der zweiten Verifizierungseinheit 1458 alle Verifikationsakzeptanzen sind. Andernfalls gibt der Entscheidungsabschnitt 1459 "NG" aus.
  • α', β' und γ' können zur gleichen Zeit, zu der die Beweisziele v[1], v[2], v[3], v[4] zum Verifizierungsmechanismus 1450 gesendet werden, zum Verifizierungsmechanismus 750 gesendet werden.
  • Die vorliegende Ausführungsform stellt ein Zero-Knowledge-Beweisschema zum Beweisen der Gleichheit der diskreten Logarithmen bereit. Die dritte Verifizierungseinheit 758 kann jedoch die Ungleichheit von β' und γ' verifizieren, und die Verifikationsakzeptanz wird festgestellt, falls verifiziert wird, dass β' ≠ γ' ist. In diesem Fall stellt die vorliegende Ausführungsform auch ein Zero-Knowledge-Beweisschema zum Beweisen der Ungleichheit der diskreten Logarithmen bereit.
  • 9. Neunte Ausführungsform
  • 9.1) Systemkonfiguration
  • Mit Bezug auf 15 sei bemerkt, dass das System gemäß der neunten Ausführungsform einen Beweismechanismus 1500 und einen Verifizierungsmechanismus 1550 aufweist, wobei eine erste Beweiseinheit 1501 und eine erste Verifizierungseinheit 1551 von jenen der in 14 dargestellten achten Ausführungsform verschieden sind. Daher zeigt 15 nur die erste Beweiseinheit 1501 und die erste Verifizierungseinheit 1551, und die anderen Funktionsblöcke gleichen jenen, die in 14 dargestellt sind.
  • Die erste Beweiseinheit 1501 weist einen zweiten Zufallszahlengenerator 1502, einen Beweiszielabschnitt 1503 und einen Antwortabschnitt 1504 auf. Die erste Verifizierungseinheit 1551 weist einen Herausforderungspräparationsabschnitt 1553, einen Herausforderungsabschnitt 1554 und einen zweiten Entscheidungsabschnitt 1555 auf. Wie im Fall der achten Ausführungsform können die erste Beweiseinheit 1501 und die erste Verifizierungseinheit 1551 durch Ausführen entsprechender Programme auf einem Computer implementiert werden.
  • Die erste Beweiseinheit 801 und die erste Verifizierungseinheit 851 kommunizieren so miteinander, dass die Herausforderungspräparation A von der ersten Verifizierungseinheit 1551 zur ersten Beweiseinheit 1501 gesendet wird, die Beweisziele v[1], v[2], v[3], v[4] und die Zufallszahl w von der ersten Beweiseinheit 1501 zur ersten Verifizierungseinheit 1551 gesendet werden, die Herausforderungen a und b von der ersten Verifizierungseinheit 1551 zur ersten Beweiseinheit 1501 zurück gesendet werden und die Antworten t[1], t[2] von der ersten Beweiseinheit 1501 zur ersten Verifizierungseinheit 1551 gesendet werden. Die erste Verifizierungseinheit 1551 stellt fest, ob die Antworten t [1] , t[2] mit den Beweiszielen v[1], v[2], v[3], v[4], der Zufallszahl w und den Herausforderungen a und b konsistent sind. Die Arbeitsweise der vorliegenden Ausführungsform wird nachstehend detaillierter beschrieben.
  • 9.2) Arbeitsweise
  • In der ersten Verifizierungseinheit 1551 erzeugt der dritte Zufallszahlengenerator 1552 Zufallszahlen a, b ∊ Z/qZ.
  • Der Herausforderungspräparationsabschnitt 1553 verwendet die Zufallszahlen a, b, um die Herausforderungspräparation A zu berechnen: A = gaαb mod p.
  • Die Herausforderungspräparation A wird zur ersten Beweiseinheit 1501 gesendet.
  • In der ersten Beweiseinheit 1501 erzeugt der zweite Zufallszahlengenerator 1502 die Zufallszahlen s[1], s[2] ∊ Z/qZ und w ∊ Z/qZ. Der Beweiszielabschnitt 1503 verwendet die Zufallszahlen s[1], s[2], um die Beweisziele v[1], v[2], v[3], v[4] zu berechnen: v[1] = αs[1] mod p, v[2] = βs[1] mod p, v[3] = gs[2] mod p und v[4] = hs[2] mod p.
  • Nachdem die Herausforderungspräparation A von der ersten Verifizierungseinheit 1551 empfangen wurde, sendet der Beweiszielabschnitt 1503 die Beweisziele v[1], v[2], v[3], v[4] und die Zufallszahl w zur ersten Verifizierungseinheit 1551.
  • In der ersten Verifizierungseinheit 1551 sendet der Herausforderungsabschnitt 1554, nachdem die Beweisziele v[1], v[2], v[3], v[4] und die Zufallszahl w empfangen wurden, die Zufallszahlen a, b als Herausforderung zur ersten Beweiseinheit 1501.
  • Nach dem Empfang der Herausforderungen a, b berechnet der Antwortabschnitt 1504 gaαb mod p und beweist: A = gaαb mod p.
  • Falls die Gleichheit von A und gaαb mod p nicht bewiesen wird, ist der Beweis beendet.
  • Wenn die Gleichheit von A und gaαb mod p bewiesen wird, berechnet der Antwortabschnitt 1504 die Antworten t[1], t[2]: t[1] = s[1] + r (a + w) mod q und t[2] = s[2] + x r (a + w) mod q,wobei r eine vom Zufallszahlengenerator 1401 erzeugte Zufallszahl ist und x die privaten Informationen darstellt. Die Antworten t[1], t[2] werden zur ersten Verifizierungseinheit 1551 gesendet.
  • In der ersten Verifizierungseinheit 1551 entscheidet der zweite Entscheidungsabschnitt 1555, ob v[1]α'(a + w) = αt[1] mod p, v[2]β'(a + w) = βt[1] mod p, v[3]α'(a + w) = gt[2] mod p und v[4]γ'(a + w) = ht[2] mod pgilt. Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 10. Zehnte Ausführungsform
  • 10.1) Systemkonfiguration
  • Mit Bezug auf 16 sei bemerkt, dass das System gemäß der zehnten Ausführungsform einen Beweismechanismus 1600 und einen Verifizierungsmechanismus 1650 aufweist, wobei eine Beweiseinheit 1601 und eine erste Verifizierungseinheit 1651 von jenen gemäß der in 14 dargestellten achten Ausführungsform verschieden sind. Daher zeigt 16 nur die Beweiseinheit 1601 und die erste Verifizierungseinheit 1651, und die anderen Funktionsblöcke gleichen jenen, die in 14 dargestellt sind.
  • Die Beweiseinheit 1601 weist einen zweiten Zufallszahlengenerator 1602, einen Beweiszielabschnitt 1603, einen automatischen Herausforderungsabschnitt 1604, einen Antwortabschnitt 1605 und einen Beweistext-Sendeabschnitt 1606 auf. Die erste Verifizierungseinheit 1651 weist einen automatischen Herausforderungsabschnitt 1652 und einen zweiten Entscheidungsabschnitt 1653 auf.
  • Der Beweiszielabschnitt 1603 verwendet die Zufallszahlen s[1], s[2] zum Konvertieren von α, β, g und h, um die Beweisziele v[1], v[2], v[3], v[4] zu erzeugen. Der automatische Herausforderungsabschnitt 1604 erzeugt die automatische Herausforderung c anhand der Beweisziele v[1] , v[2] , v[3], v[4]. Der Antwortabschnitt 1605 berechnet die Antworten t[1], t[2] anhand der automatischen Herausforderung c unter Verwendung der privaten Informationen x, der Zufallszahl r und der Zufallszahlen s[1], s[2]. Der Beweistext-Sendeabschnitt 1606 sendet die Beweisziele v[1], v[2], v[3], v[4] und die Antworten t[1], t[2] als einen Beweistext zur ersten Verifizierungseinheit 1651.
  • In der ersten Verifizierungseinheit 1651 erzeugt der automatische Herausforderungsabschnitt 1652 die automatische Herausforderung c' anhand der Beweisziele v[1], v[2], v[3], v[4]. Der zweite Entscheidungsabschnitt 1653 stellt fest, ob die Antworten t[1], t[2] mit den Beweiszielen v[1], v[2], v[3], v[4] und der automatischen Herausforderung c' konsistent sind.
  • Wie im Fall der achten Ausführungsform können die Beweiseinheit 1601 und die erste Verifizierungseinheit 1651 durch Ausführen entsprechender Programme auf einem Computer implementiert werden. Die Arbeitsweise der vorliegenden Ausführungsform wird nachstehend detaillierter beschrieben.
  • 10.2) Arbeitsweise
  • In der Beweiseinheit 1601 erzeugt der zweite Zufallszahlengenerator 1602 die Zufallszahlen s[1], s[2] ∊ Z/qZ. Der Beweiszielabschnitt 1603 verwendet die Zufallszahlen s[1], s[2], um die Beweisziele v[1], v[2], v[3], v[4] zu berechnen: v[1] = αs[1] mod p, v[2] = βs[1] mod p, v[3] = gs[2] mod p und v[4] = hs[2] mod p.
  • Der automatische Herausforderungsabschnitt 1604 erzeugt die automatische Herausforderung c unter Verwendung der Beweisziele v[1], v[2], v[3], v[4]: c(∊ Z/qZ) = Hash(p, q, g, h, α, β, α', β', γ', v[1], v[2], v[3], v[4]).
  • Der Antwortabschnitt 1605 berechnet die Antworten t[1], t[2]: t[1] = s[1] + r c mod q und t[2] = s[2] + x r c mod q,wobei x die privaten Informationen darstellt und r eine vom Zufallszahlengenerator 1401 erzeugte Zufallszahl ist.
  • Der Beweistext-Sendeabschnitt 1606 erzeugt einen Beweistext (v[1], v[2], v[3], v[4], t[1], t[2]) und sendet ihn zur ersten Verifizierungseinheit 1651.
  • In der ersten Verifizierungseinheit 1651 erzeugt der automatische Herausforderungsabschnitt 1652 die automatische Herausforderung c': c'(∊ Z/qZ) = Hash(p, q, g, h, α, β, α', β', γ', v[1], v[2], v[3], v[4]).
  • Anschließend entscheidet der zweite Entscheidungsabschnitt 1653, ob v[1]α'c' = αt[1] mod p, v[2]β'c' = βt[1] mod p, v[3]α'c' = gt[2] mod p und v[4]γ'c' = ht [ 2 ] mod p.
  • Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 11. Elfte Ausführungsform
  • 11.1) Systemkonfiguration
  • Mit Bezug auf 17 sei bemerkt, dass das System gemäß der elften Ausführungsform einen Beweismechanismus 1700 und einen Verifizierungsmechanismus 1750 aufweist, wobei eine Beweiseinheit 1701 und eine erste Verifizierungseinheit 1751 von jenen gemäß der in 14 dargestellten achten Ausführungsform verschieden sind. Daher zeigt 17 nur die Beweiseinheit 1701 und die erste Verifizierungseinheit 1751, und die anderen Funktionsblöcke gleichen jenen, die in 14 dargestellt sind.
  • Die Beweiseinheit 1701 weist einen zweiten Zufallszahlengenerator 1702, einen Beweiszielabschnitt 1703, einen automatischen Herausforderungsabschnitt 1704, einen Antwortabschnitt 1705 und einen Beweistext-Sendeabschnitt 1706 auf. Die erste Verifizierungseinheit 1751 weist einen zweiten Entscheidungsabschnitt 1753 auf.
  • Der Beweiszielabschnitt 1703 verwendet die Zufallszahlen s[1], s[2] zum Konvertieren von α, β, g und h, um die Beweisziele v[1], v[2], v[3], v[4] zu erzeugen. Der automatische Herausforderungsabschnitt 1704 erzeugt die automatische Herausforderung c anhand der Beweisziele v[1], v[2], v[3], v[4].
  • Der Antwortabschnitt 1705 berechnet die Antworten t[1], t[2] anhand der automatischen Herausforderung c unter Verwendung der privaten Informationen x, der Zufallszahl r und der Zufallszahlen s[1], s[2]. Der Beweistext-Sendeabschnitt 1706 sendet die automatische Herausforderung c und die Antworten t[1], t[2] als einen Beweistext zur ersten Verifizierungseinheit 1751.
  • In der ersten Verifizierungseinheit 1751 stellt der zweite Entscheidungsabschnitt 1753 fest, ob die Antworten t[1], t[2] mit der automatischen Herausforderung c konsistent sind.
  • Wie im Fall der achten Ausführungsform können die Beweiseinheit 1701 und die erste Verifizierungseinheit 1751 durch Ausführen entsprechender Programme auf einem Computer implementiert werden. Die Arbeitsweise der vorliegenden Ausführungsform wird nachstehend detaillierter beschrieben.
  • 11.2) Arbeitsweise
  • In der Beweiseinheit 1701 erzeugt der zweite Zufallszahlengenerator 1702 die Zufallszahlen s[1], s[2] ∊ Z/qZ. Der Beweiszielabschnitt 1703 verwendet die Zufallszahlen s[1], s[2], um die Beweisziele v[1], v[2], v[3], 44] zu berechnen: v[1] = αs[1l mod p, v[2] = βs[1] mod p, v[3] = gs[2] mod p und v[4] = hs[2] mod p.
  • Der automatische Herausforderungsabschnitt 1704 erzeugt die automatische Herausforderung c unter Verwendung der Beweisziele v[1], v[2], v[3], v[4]: c(∊ Z/qZ) = Hash(p, q, g, h, α, β, α', β', γ', v[1], v[2], v[3], v[4]).
  • Der Antwortabschnitt 1705 berechnet die Antworten t[1], t[2]: t[1] = s[1] + r c mod q und t[2] = s[2] + x r c mod q,wobei x die privaten Informationen darstellt und r eine vom Zufallszahlengenerator 1401 erzeugte Zufallszahl ist.
  • Der Beweistext-Sendeabschnitt 1706 erzeugt einen Beweistext (c, t[1], t[2]) und sendet ihn zur ersten Verifizierungseinheit 1751.
  • In der ersten Verifizierungseinheit 1751 entscheidet der zweite Entscheidungsabschnitt 1753, ob: c = Hash(p, q, g, h, α, β, α', β', γ', αt[1]/α'c mod p, βt [ 1 ]/β'c mod p gt [ 2 ]/α'c mod p, ht[2]/γ'c mod p).
  • Falls die Gleichheit verifiziert wird, wird die Verifikationsakzeptanz festgestellt.
  • 12. Zwölfte Ausführungsform
  • Wie in 18 dargestellt ist, kann eine Modifikation der ersten Ausführungsform, wie in 7 dargestellt ist, als eine zwölfte Ausführungsform konstruiert werden. Gemäß der zwölften Ausführungsform ist der Verifizierungsmechanismus 750 mit einem Vergleicher 1858 an Stelle der dritten Verifizie rungseinheit 758 und einem Entscheidungsabschnitt 1859 an Stelle des Entscheidungsabschnitts 759 der ersten Ausführungsform, wie in 7 dargestellt ist, versehen.
  • Der Vergleicher 1858 vergleicht β' und γ', um festzustellen, ob β' = γ' ist. Der Entscheidungsabschnitt 1859 stellt die Gleichheit der diskreten Logarithmen fest, wenn die Verifikationsergebnisse der ersten Verifizierungseinheit 754 und der zweiten Verifizierungseinheit 757 Verifikationsakzeptanzen sind und der Vergleicher 1858 feststellt, dass β' = γ' ist. Wenn der Vergleicher 654 feststellt, dass β' ≠ γ' ist, stellt der Entscheidungsabschnitt 1859 die Ungleichheit der diskreten Logarithmen fest.
  • 13. Dreizehnte Ausführungsform
  • Wie in 19 dargestellt ist, kann eine Modifikation der achten Ausführungsform, wie in 14 dargestellt ist, als eine dreizehnte Ausführungsform konstruiert werden. Gemäß der dreizehnten Ausführungsform ist der Verifizierungsmechanismus 1450 mit einem Vergleicher 1958 an Stelle der zweiten Verifizierungseinheit 1458 und einem Entscheidungsabschnitt 1959 an Stelle des Entscheidungsabschnitts 1459 gemäß der in 14 dargestellten achten Ausführungsform versehen. Mit anderen Worten stellt die dreizehnte Ausführungsform das Zero-Knowledge-Beweisschema zum Beweisen der Gleichheit oder der Ungleichheit diskreter Logarithmen bereit.
  • Der Vergleicher 1958 vergleicht β' und γ', um festzustellen, ob β' = γ' ist. Der Entscheidungsabschnitt 1959 stellt die Gleichheit der diskreten Logarithmen fest, wenn das Verifikationsergebnis der zweiten Verifizierungseinheit 1454 die Verifikationsakzeptanz ist und der Vergleicher 1958 feststellt, dass β' = γ' ist. Wenn der Vergleicher 1958 feststellt, dass β' ≠ γ' ist, stellt der Entscheidungsabschnitt 1959 die Ungleichheit der diskreten Logarithmen fest.
  • Wie vorstehend beschrieben wurde, kann, wenn g, h, α (= gx) mod p ∊ G und β ∊ G gegeben sind, wobei G eine Gruppe der Ordnung q mod p ist, β ≠ hx mod p oder β = hx mod p wirksam bewiesen werden, ohne dass x und hx mod p angegeben werden. Zusätzlich kann eine Beweiseinheit dies allein beweisen.
  • Es sei bemerkt, dass eine Kombination der ersten Beweiseinheit und der ersten Verifizierungseinheit, wie in den vorstehenden Ausführungsformen zwei bis vier beschrieben wurde, und eine Kombination der zweiten Beweiseinheit und der zweiten Verifizierungseinheit, wie in den vorstehenden Ausführungsformen fünf bis sieben beschrieben wurde, beliebig kombiniert werden können, um eine andere Ausführungsform der vorliegenden Erfindung zu bilden.
  • Bei den vorstehend erwähnten Ausführungsformen können ein Beweismechanismus und ein Verifizierungsmechanismus durch drahtgestützte oder drahtlose Kommunikation übermittelt werden. Mit anderen Worten können der Beweismechanismus und der Verifizierungsmechanismus in beliebigen Vorrichtungen implementiert werden, die drahtgestützte oder drahtlose Signalsende- und -empfangsfunktionen aufweisen.
  • Wenngleich die Erfindung in ihren bevorzugten Ausführungsformen beschrieben wurde, ist zu verstehen, dass Fachleuten Modifikationen oder Variationen einfallen werden, ohne vom Schutzumfang der Erfindung abzuweichen.

Claims (47)

  1. System mit einem ersten Mechanismus (100) zum Beweisen der Gleichheit oder Ungleichheit zweier diskreter Logarithmen und einem zweiten Mechanismus (150) zum Verifizieren der Gleichheit oder Ungleichheit, wobei der erste Mechanismus aufweist: einen ersten Speicher (102) für öffentliche Informationen, der dafür eingerichtet ist, eine als mod p definierte Operation, zwei nachstehend als α und β bezeichnete eingegebene Zahlen und zwei nachstehend als g und h bezeichnete vorgegebene Basen zu speichern, wobei p eine Primzahl ist und eine Beziehung q|(p – 1) aufweist, wobei q eine Primzahl ist und eine Ordnung einer Gruppe (G) ist und α, β, g und h Elemente der Gruppe (G) sind, einen Speicher (103) für private Informationen, der dafür eingerichtet ist, nachstehend als x, das ein diskreter Logarithmus von α zur Basis g ist, bezeichnete private Informationen zu speichern, einen Zufallszahlengenerator (101), der dafür eingerichtet ist, eine nachstehend als r ∊ Z/qZ bezeichnete erste Zufallszahl zu erzeugen, einen Wandler (104), der dafür eingerichtet ist, die eingegebene Zahl α, die eingegebene Zahl β und die Basis h zu wandeln, um α', β' und γ' unter Verwendung der ersten Zufallszahl r und der privaten Informationen x folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p, wobei α', β' und γ zu dem zweiten Mechanismus gesendet werden, und einen Beweisabschnitt (105, 106, 205), der dafür eingerichtet ist, die Gleichheit eines diskreten Logarithmus von α' zur Basis α und eines diskreten Logarithmus von β' zur Basis β und die Gleichheit eines diskreten Logarithmus von α' zur Basis g und eines diskreten Logarithmus von γ' zur Basis h zu beweisen, wobei der zweite Mechanismus aufweist: einen zweiten Speicher (151) für öffentliche Informationen, der dafür eingerichtet ist, die Operation, die zwei eingegebenen Zahlen α und β und die zwei vorgegebenen Basen g und h zu speichern, einen Verifizierungsabschnitt (152, 153, 252), der dem Beweisabschnitt entspricht und dafür eingerichtet ist, die Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis β und die Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h zu verifizieren, einen Prüfabschnitt (154, 554), der dafür eingerichtet ist, die empfangenen β' und γ' zu prüfen, um ihre Gleichheit oder Ungleichheit festzustellen, und einen Entscheidungsabschnitt, der dafür eingerichtet ist, abhängig von den Ergebnissen des Verifizierungsabschnitts und des Prüfabschnitts zu entscheiden, ob der Beweis des ersten Mechanismus akzeptabel ist.
  2. System nach Anspruch 1, wobei der Beweisabschnitt aufweist: eine erste Beweiseinheit, die dafür eingerichtet ist, die Gleichheit des diskreten Logarithmus von α' zur Basis α und des diskreten Logarithmus von β' zur Basis β zu beweisen, und eine zweite Beweiseinheit, die dafür eingerichtet ist, die Gleichheit des diskreten Logarithmus von α' zur Basis g und des diskreten Logarithmus von γ' zur Basis h zu beweisen, wobei der Verifizierungsabschnitt aufweist: eine erste Verifizierungseinheit, die der ersten Beweiseinheit entspricht und dafür eingerichtet ist, die Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β zur Basis β zu verifizieren, und eine zweite Verifizierungseinheit, die der zweiten Beweiseinheit entspricht und dafür eingerichtet ist, die Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h zu verifizieren.
  3. System nach Anspruch 2, wobei der Prüfabschnitt eine dritte Verifizierungseinheit aufweist, die dafür eingerichtet ist, die Gleichheit des empfangenen β' und des empfangenen γ' zu verifizieren.
  4. System nach Anspruch 2, wobei der Prüfabschnitt eine dritte Verifizierungseinheit aufweist, die dafür eingerichtet ist, die Ungleichheit des empfangenen β' und des empfangenen γ' zu verifizieren.
  5. System nach Anspruch 2, wobei der Prüfabschnitt einen Vergleicher aufweist, der dafür eingerichtet ist, das empfangene β' und das empfangene γ' zu vergleichen.
  6. System nach Anspruch 1, wobei der Beweisabschnitt eine einzige Beweiseinheit aufweist, die dafür eingerichtet ist, die Gleichheit des diskreten Logarithmus von α' zur Basis α und des diskreten Logarithmus von β' zur Basis β und die Gleichheit des diskreten Logarithmus von α' zur Basis g und des diskreten Logarithmus von γ' zur Basis h zu beweisen, und der Verifizierungsabschnitt eine einzige Verifizierungseinheit aufweist, die dafür eingerichtet ist, die Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis β und die Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h zu verifizieren.
  7. System nach Anspruch 6, wobei der Prüfabschnitt eine Verifizierungseinheit aufweist, die dafür eingerichtet ist, die Gleichheit des empfangenen β' und des empfangenen γ' zu verifizieren.
  8. System nach Anspruch 6, wobei der Prüfabschnitt eine Verifizierungseinheit aufweist, die dafür eingerichtet ist, die Ungleichheit des empfangenen β' und des empfangenen γ' zu verifizieren.
  9. System nach Anspruch 6, wobei der Prüfabschnitt einen Vergleicher aufweist, der dafür eingerichtet ist, das empfangene β' und das empfangene γ' zu vergleichen.
  10. System nach Anspruch 2, wobei die erste Beweiseinheit aufweist: einen zweiten Zufallszahlengenerator, der dafür eingerichtet ist, eine zweite Zufallszahl ∊ Z/qZ zu erzeugen, einen ersten Wandler, der dafür eingerichtet ist, die eingegebene Zahl α und die eingegebene Zahl β zu wandeln, um erste Beweisziele, die jeweiligen von dem α und dem β entsprechen, unter Verwendung der zweiten Zufallszahl zu erzeugen, und einen ersten Antwortgenerator, der dafür eingerichtet ist, eine erste Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl ansprechend auf eine von der ersten Verifizierungseinheit empfangene erste Herausforderung ∊ Z/qZ zu erzeugen, wobei die erste Verifizierungseinheit aufweist: einen ersten Herausforderungsgenerator, der dafür eingerichtet ist, die erste Herausforderung zufällig zu erzeugen, nachdem die ersten Beweisziele von der ersten Beweiseinheit empfangen worden sind, und einen zweiten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die erste Antwort, die ersten Beweisziele und die erste Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  11. System nach Anspruch 2, wobei die erste Beweiseinheit aufweist: einen zweiten Zufallszahlengenerator, der dafür eingerichtet ist, eine zweite Zufallszahl ∊ Z/qZ und eine dritte Zufallszahl ∊ Z/qZ zu erzeugen, wenn er die erste Herausforderungspräparation von der ersten Verifizierungseinheit empfangen hat, einen ersten Wandler, der dafür eingerichtet ist, die eingegebene Zahl α und die eingegebene Zahl β zu wandeln, um erste Beweisziele, die jeweiligen von dem α und dem β entsprechen, unter Verwendung der zweiten Zufallszahl zu erzeugen, wobei die dritte Zufallszahl und die ersten Beweisziele zur ersten Verifizierungseinheit gesendet werden, und einen ersten Antwortgenerator, der dafür eingerichtet ist, eine erste Antwort unter Verwendung der ersten Zufallszahl r, der zweiten Zufallszahl und der dritten Zufallszahl ansprechend auf eine von der ersten Verifizierungseinheit empfangene erste Herausforderung zu erzeugen, wenn die erste Herausforderungspräparation gültig ist, wobei die erste Verifizierungseinheit aufweist: einen dritten Zufallszahlengenerator, der dafür eingerichtet ist, eine vierte Zufallszahl ∊ Z/qZ zu erzeugen, einen ersten Herausforderungspräparationsgenerator, der dafür eingerichtet ist, die erste Herausforderungspräparation anhand der Basis g und der eingegebenen Zahl α unter Verwendung der vierten Zufallszahl zu erzeugen, einen ersten Herausforderungsgenerator, der dafür eingerichtet ist, die erste Herausforderung unter Verwendung der vierten Zufallszahl zu erzeugen, nachdem er die dritte Zufallszahl und die ersten Beweisziele von der ersten Beweiseinheit empfangen hat, und einen zweiten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die erste Antwort, die ersten Beweisziele und die erste Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  12. System nach Anspruch 2, wobei die erste Beweiseinheit aufweist: einen zweiten Zufallszahlengenerator, der dafür eingerich∊ tet ist, eine zweite Zufallszahl ∊ Z/qZ zu erzeugen, einen ersten Wandler, der dafür eingerichtet ist, die eingegebene Zahl α und die eingegebene Zahl β zu wandeln, um erste Beweisziele, die jeweiligen von dem α und dem β entsprechen, unter Verwendung der zweiten Zufallszahl zu erzeugen, einen ersten automatischen Herausforderungsgenerator, der dafür eingerichtet ist, eine erste automatische Herausforderung anhand der ersten Beweisziele zu erzeugen, einen ersten Antwortgenerator, der dafür eingerichtet ist, eine erste Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl ansprechend auf die erste automatische Herausforderung zu erzeugen, und einen ersten Beweistextgenerator, der dafür eingerichtet ist, einen ersten Beweistext zu erzeugen, der aus den ersten Beweiszielen und der ersten Antwort zusammengesetzt ist, wobei der erste Beweistext zur ersten Verifizierungseinheit gesendet wird, und die erste Verifizierungseinheit aufweist: einen zweiten automatischen Herausforderungsgenerator, der dafür eingerichtet ist, eine zweite automatische Herausforderung ∊ Z/qZ zu erzeugen, nachdem die ersten Beweisziele von der ersten Beweiseinheit empfangen worden sind, und einen zweiten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die erste Antwort, die ersten Beweisziele und die zweite automatische Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  13. System nach Anspruch 2, wobei die erste Beweiseinheit aufweist: einen zweiten Zufallszahlengenerator, der dafür eingerichtet ist, eine zweite Zufallszahl ∊ Z/qZ zu erzeugen, einen ersten Wandler, der dafür eingerichtet ist, die eingegebene Zahl α und die eingegebene Zahl β zu wandeln, um erste Beweisziele, die jeweiligen von dem α und dem β entsprechen, unter Verwendung der zweiten Zufallszahl zu erzeugen, einen ersten automatischen Herausforderungsgenerator, der dafür eingerichtet ist, eine erste automatische Herausforderung anhand der ersten Beweisziele zu erzeugen, einen ersten Antwortgenerator, der dafür eingerichtet ist, eine erste Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl ansprechend auf die erste automatische Herausforderung zu erzeugen, und einen ersten Beweistextgenerator, der dafür eingerichtet ist, einen ersten Beweistext zu erzeugen, der aus der ersten automatischen Herausforderung und der ersten Antwort zusammengesetzt ist, wobei der erste Beweistext zur ersten Verifizierungseinheit gesendet wird, und die erste Verifizierungseinheit aufweist: einen zweiten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die erste automatische Herausforderung und die erste Antwort, die in dem ersten Beweistext enthalten ist, einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  14. System nach Anspruch 2, wobei die zweite Beweiseinheit aufweist: einen dritten Zufallszahlengenerator, der dafür eingerichtet ist, eine dritte Zufallszahl ∊ Z/qZ zu erzeugen, einen zweiten Wandler, der dafür eingerichtet ist, die Basen g und h zu wandeln, um unter Verwendung der dritten Zufallszahl zweite Beweisziele zu erzeugen, die jeweiligen von dem g und dem h entsprechen, und einen zweiten Antwortgenerator, der dafür eingerichtet ist, ansprechend auf eine von der zweiten Verifizierungseinheit empfangene zweite Herausforderung ∊ Z/qZ, eine zweite Antwort unter Verwendung der ersten Zufallszahl r und der dritten Zufallszahl zu erzeugen, und die zweite Verifizierungseinheit aufweist: einen zweiten Herausforderungsgenerator, der dafür eingerichtet ist, zufällig die zweite Herausforderung zu erzeugen, nachdem er die zweiten Beweisziele von der zweiten Beweiseinheit empfangen hat, und einen dritten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die zweite Antwort, die zweiten Beweisziele und die zweite Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  15. System nach Anspruch 2, wobei die zweite Beweiseinheit aufweist: einen vierten Zufallszahlengenerator, der dafür eingerichtet ist, eine fünfte Zufallszahl ∊ Z/qZ und eine sechste Zufallszahl ∊ Z/qZ zu erzeugen, wenn eine zweite Herausforderungspräparation von der zweiten Verifizierungseinheit empfangen wurde, einen zweiten Wandler, der dafür eingerichtet ist, die Basen g und h zu wandeln, um zweite Beweisziele entsprechend jeweiligen der Basen g und h unter Verwendung der fünften Zufallszahl zu erzeugen, wobei die sechste Zufallszahl und die zweiten Beweisziele zu der zweiten Verifizierungseinheit gesendet werden, und einen zweiten Antwortgenerator, der dafür eingerichtet ist, eine zweite Antwort unter Verwendung der ersten Zufallszahl r, der fünften Zufallszahl und der sechsten Zufallszahl ansprechend auf den Empfang einer zweiten Herausforderung von der zweiten Verifizierungseinheit zu erzeugen, wenn die zweite Herausforderungspräparation gültig ist, und die zweite Verifizierungseinheit aufweist: einen fünften Zufallszahlengenerator, der dafür eingerichtet ist, eine siebte Zufallszahl ∊ Z/qZ zu erzeugen, einen zweiten Herausforderungspräparationsgenerator, der dafür eingerichtet ist, die zweite Herausforderungspräparation anhand der Basis g und der eingegebenen Zahl α unter Verwendung der siebten Zufallszahl zu erzeugen, einen zweiten Herausforderungsgenerator, der dafür eingerichtet ist, die zweite Herausforderung unter Verwendung der siebten Zufallszahl zu erzeugen, nachdem die sechste Zufallszahl und die zweiten Beweisziele von der zweiten Beweiseinheit empfangen worden sind, und einen dritten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die zweite Antwort, die zweiten Beweisziele und die zweite Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  16. System nach Anspruch 2, wobei die zweite Beweiseinheit aufweist: einen dritten Zufallszahlengenerator, der dafür eingerichtet ist, eine dritte Zufallszahl ∊ Z/qZ zu erzeugen, einen zweiten Wandler, der dafür eingerichtet ist, die Basen g und h zu wandeln, um unter Verwendung der dritten Zufallszahl zweite Beweisziele zu erzeugen, die jeweiligen von den Basen g und h entsprechen, einen dritten automatischen Herausforderungsgenerator, der dafür eingerichtet ist, eine dritte automatische Herausforderung anhand der zweiten Beweisziele zu erzeugen, einen zweiten Antwortgenerator, der dafür eingerichtet ist, eine zweite Antwort unter Verwendung der ersten Zufallszahl r und der dritten Zufallszahl, ansprechend auf die dritte automatische Herausforderung, zu erzeugen, und einen zweiten Beweistextgenerator, der dafür eingerichtet ist, einen zweiten Beweistext zu erzeugen, der aus den zweiten Beweiszielen und der zweiten Antwort zusammengesetzt ist, wobei der zweite Beweistext zur zweiten Verifizierungseinheit gesendet wird, und die zweite Verifizierungseinheit aufweist: einen vierten automatischen Herausforderungsgenerator, der dafür eingerichtet ist, eine vierte automatische Herausforderung ∊ Z/qZ zu erzeugen, nachdem er die im zweiten Beweistext von der zweiten Beweiseinheit enthaltenen zweiten Beweisziele empfangen hat, und einen dritten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die zweite Antwort, die zweiten Beweisziele und die vierte automatische Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  17. System nach Anspruch 2, wobei die zweite Beweiseinheit aufweist: einen dritten Zufallszahlengenerator, der dafür eingerichtet ist, eine dritte Zufallszahl ∊ Z/qZ zu erzeugen, einen zweiten Wandler, der dafür eingerichtet ist, die Basen g und h zu wandeln, um unter Verwendung der dritten Zufallszahl zweite Beweisziele zu erzeugen, die jeweiligen von den Basen g und h entsprechen, einen dritten automatischen Herausforderungsgenerator, der dafür eingerichtet ist, eine dritte automatische Herausforderung anhand der zweiten Beweisziele zu erzeugen, einen zweiten Antwortgenerator, der dafür eingerichtet ist, eine zweite Antwort unter Verwendung der ersten Zufallszahl r und der dritten Zufallszahl, ansprechend auf die dritte automatische Herausforderung, zu erzeugen, und einen zweiten Beweistextgenerator, der dafür eingerichtet ist, einen zweiten Beweistext zu erzeugen, der aus der zweiten automatischen Herausforderung und der zweiten Antwort zusammengesetzt ist, wobei der zweite Beweistext zur zweiten Verifizierungseinheit gesendet wird, und die zweite Verifizierungseinheit aufweist: einen dritten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die zweite automatische Herausforderung und die zweite Antwort, die im zweiten Beweistext enthalten ist, einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  18. System nach Anspruch 6, wobei die einzige Beweiseinheit aufweist: einen zweiten Zufallszahlengenerator zum Erzeugen einer zweiten Zufallszahl ∊ Z/qZ, einen Beweiszielgenerator, der dafür eingerichtet ist, die eingegebene Zahl α, die eingegebene Zahl β, die Basis g und die Basis h zu wandeln, um Beweisziele, die jeweiligen von α, β, g und h entsprechen, unter Verwendung der zweiten Zufallszahl zu erzeugen, und einen Antwortgenerator, der dafür eingerichtet ist, eine Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl ansprechend auf eine von der einzigen Verifizierungseinheit empfangene Herausforderung ∊ Z/qZ zu erzeugen, und die einzige Verifizierungseinheit aufweist: einen Herausforderungsgenerator, der dafür eingerichtet ist, die Herausforderung zu erzeugen, nachdem er die Beweisziele von der einzigen Beweiseinheit empfangen hat, und einen zweiten Entscheidungsabschnitt zum Entscheiden, ob die Antwort, die Beweisziele und die Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  19. System nach Anspruch 6, wobei die einzige Beweiseinheit aufweist: einen zweiten Zufallszahlengenerator, der dafür eingerichtet ist, eine zweite Zufallszahl ∊ Z/qZ und eine dritte Zufallszahl ∊ Z/qZ zu erzeugen, wenn er eine Herausforderungspräparation von der einzigen Verifizierungseinheit empfangen hat, einen Beweiszielgenerator, der dafür eingerichtet ist, die eingegebene Zahl α, die eingegebene Zahl β, die Basis g und die Basis h zu wandeln, um unter Verwendung der zweiten Zu fallszahl Beweisziele zu erzeugen, welche jeweiligen von α, β, g und h entsprechen, wobei die dritte Zufallszahl und die Beweisziele zu der einzigen Verifizierungseinheit gesendet werden, und einen Antwortgenerator, der dafür eingerichtet ist, eine Antwort unter Verwendung der ersten Zufallszahl r, der zweiten Zufallszahl und der dritten Zufallszahl ansprechend auf eine von der einzigen Verifizierungseinheit empfangene Herausforderung zu erzeugen, wenn die Herausforderungspräparation gültig ist, und die einzige Verifizierungseinheit aufweist: einen dritten Zufallszahlengenerator, der dafür eingerichtet ist, eine vierte Zufallszahl ∊ Z/qZ zu erzeugen, einen Herausforderungspräparationsgenerator, der dafür eingerichtet ist, die Herausforderungspräparation anhand der Basis g und der eingegebenen Zahl α unter Verwendung der vierten Zufallszahl zu erzeugen, einen Herausforderungsgenerator, der dafür eingerichtet ist, die Herausforderung unter Verwendung der vierten Zufallszahl zu erzeugen, nachdem er die dritte Zufallszahl und die Beweisziele von der einzigen Beweiseinheit empfangen hat, und einen zweiten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die Antwort, die Beweisziele und die Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  20. System nach Anspruch 6, wobei die einzige Beweiseinheit aufweist: einen zweiten Zufallszahlengenerator, der dafür eingerichtet ist, eine zweite Zufallszahl ∊ Z/qZ zu erzeugen, einen Beweiszielgenerator, der dafür eingerichtet ist, die eingegebene Zahl α, die eingegebene Zahl β, die Basis g und die Basis h zu wandeln, um unter Verwendung der zweiten Zufallszahl Beweisziele zu erzeugen, die jeweiligen von α, β, g und h entsprechen, einen ersten automatischen Herausforderungsgenerator, der dafür eingerichtet ist, eine erste automatische Herausforderung anhand der Beweisziele zu erzeugen, einen Antwortgenerator, der dafür eingerichtet ist, ansprechend auf die erste automatische Herausforderung eine Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl zu erzeugen, und einen Beweistextgenerator, der dafür eingerichtet ist, einen Beweistext zu erzeugen, der aus den Beweiszielen und der Antwort zusammengesetzt ist, wobei der Beweistext zu der einzigen Verifizierungseinheit gesendet wird, und die einzige Verifizierungseinheit aufweist: einen zweiten automatischen Herausforderungsgenerator, der dafür eingerichtet ist, eine zweite automatische Herausforderung ∊ Z/qZ zu erzeugen, nachdem er die Beweisziele von der einzigen Beweiseinheit empfangen hat, und einen zweiten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die Antwort, die Beweisziele und die zweite automatische Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die in dem zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  21. System nach Anspruch 6, wobei die einzige Beweiseinheit aufweist: einen zweiten Zufallszahlengenerator, der dafür eingerichtet ist, eine zweite Zufallszahl ∊ Z/qZ zu erzeugen, einen Beweiszielgenerator, der dafür eingerichtet ist, die eingegebene Zahl α, die eingegebene Zahl β, die Basis g und die Basis h zu wandeln, um unter Verwendung der zweiten Zufallszahl Beweisziele zu erzeugen, die jeweiligen von α, β, g und h entsprechen, einen automatischen Herausforderungsgenerator, der dafür eingerichtet ist, eine automatische Herausforderung anhand der Beweisziele zu erzeugen, einen Antwortgenerator, der dafür eingerichtet ist, ansprechend auf die automatische Herausforderung eine Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl zu erzeugen, und einen Beweistextgenerator, der dafür eingerichtet ist, einen Beweistext zu erzeugen, der aus der automatischen Herausforderung und der Antwort zusammengesetzt ist, wobei der Beweistext zu der einzigen Verifizierungseinheit gesendet wird, und die einzige Verifizierungseinheit aufweist: einen zweiten Entscheidungsabschnitt, der dafür eingerichtet ist, zu entscheiden, ob die Antwort und die automatische Herausforderung, die in dem von der einzigen Beweiseinheit empfangenen Beweistext enthalten ist, einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei ein Ergebnis der Entscheidung dem Entscheidungsabschnitt mitgeteilt wird.
  22. Beweisvorrichtung zum Beweisen der Gleichheit oder Ungleichheit zweier diskreter Logarithmen, welche aufweist: einen Speicher für öffentliche Informationen, der dafür eingerichtet ist, eine als mod p definierte Operation, zwei nachstehend als α und β bezeichnete eingegebene Zahlen und zwei nachstehend als g und h bezeichnete vorgegebene Basen zu speichern, wobei p eine Primzahl ist und eine Beziehung q|(p – 1) aufweist, wobei q eine Primzahl ist und eine Ordnung einer Gruppe (G) ist und α, β, g und h Elemente der Gruppe (G) sind, einen Speicher für private Informationen, der dafür eingerichtet ist, nachstehend als x, das ein diskreter Logarithmus von α zur Basis g ist, bezeichnete private Informationen zu speichern, einen Zufallszahlengenerator, der dafür eingerichtet ist, eine nachstehend als r ∊ Z/qZ bezeichnete erste Zufallszahl zu erzeugen, einen Wandler, der dafür eingerichtet ist, die eingegebene Zahl α, die eingegebene Zahl β und die Basis h zu wandeln, um α', β' und γ' unter Verwendung der ersten Zufallszahl r und der privaten Informationen x folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p,wobei α', β und γ' zu dem zweiten Mechanismus gesendet werden, und einen Beweisabschnitt, der dafür eingerichtet ist, die Gleichheit eines diskreten Logarithmus von α' zur Basis α und eines diskreten Logarithmus von β' zur Basis β und die Gleichheit eines diskreten Logarithmus von α' zur Basis g und eines diskreten Logarithmus von γ' zur Basis h zu beweisen.
  23. Verifizierungsvorrichtung zum Verifizieren eines von einer Beweisvorrichtung, die dafür eingerichtet ist, die Gleichheit oder Ungleichheit von zwei diskreten Logarithmen zu beweisen, bereitgestellten Beweises, welche aufweist: einen Speicher für öffentliche Informationen, der dafür eingerichtet ist, eine als mod p definierte Operation, zwei eingegebene Zahlen α und β und zwei vorgegebene Basen g und h zu speichern, wobei p eine Primzahl ist und eine Beziehung q|(p – 1) aufweist, wobei q eine Primzahl und eine Ordnung einer Gruppe (G) ist und α, β, g und h Elemente der Gruppe (G) sind, einen Empfangsabschnitt, der dafür eingerichtet ist, den Beweis α' = αr mod p, β' = βr mod p, γ' = hxr mod p von der Beweisvorrichtung zu empfangen, wobei r eine erste Zufallszahl ist und x private Informationen der Beweisvorrichtung darstellt, einen Verifizierungsabschnitt, der der Beweisvorrichtung entspricht und dafür eingerichtet ist, die Gleichheit des diskreten Logarithmus von α' zur Basis α und des diskreten Logarithmus von β' zur Basis β und die Gleichheit des diskreten Logarithmus von α' zur Basis g und des diskreten Logarithmus von γ' zur Basis h zu verifizieren, wobei α', β' und γ' von der Beweisvorrichtung empfangen werden, einen Prüfabschnitt, der dafür eingerichtet ist, β' und γ' zu prüfen, um ihre Gleichheit oder Ungleichheit zu bestimmen, und einen Entscheidungsabschnitt, der dafür eingerichtet ist, abhängig von Ergebnissen des Verifizierungsabschnitts und des Prüfabschnitts zu entscheiden, ob der Beweis des ersten Mechanismus akzeptabel ist.
  24. Zero-Knowledge-Beweisverfahren in einem System, das einen ersten Mechanismus zum Beweisen der Gleichheit oder Ungleichheit zweier diskreter Logarithmen und einen zweiten Mechanismus zum Verifizieren der Gleichheit oder Ungleichheit aufweist, wobei das Verfahren an dem ersten Mechanismus die folgenden Schritte aufweist: a) Speichern einer als mod p definierten Operation, zweier nachstehend als α und β bezeichneter eingegebener Zahlen und zweier nachstehend als g und h bezeichneter vorgegebener Basen in einem ersten Speicher für öffentliche Informationen, wobei p eine Primzahl ist und eine Beziehung q|(p – 1) aufweist, wobei q eine Primzahl ist und eine Ordnung einer Gruppe (G) ist und α, β, g und h Elemente der Gruppe (G) sind, b) Speichern privater Informationen, die nachstehend als x bezeichnet werden, das ein diskreter Logarithmus von α zur Basis g ist, in einem Speicher für private Informationen, c) Erzeugen einer nachstehend als r ∊ Z/qZ bezeichneten ersten Zufallszahl, d) Wandeln der eingegebenen Zahl α, der eingegebenen Zahl β und der Basis h, um α', β' und γ' unter Verwendung der ersten Zufallszahl r und der privaten Informationen x folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p,wobei α', β und γ' zu dem zweiten Mechanismus gesendet werden, und e) Beweisen der Gleichheit eines diskreten Logarithmus von α' zur Basis α und eines diskreten Logarithmus von β' zur Basis β und der Gleichheit eines diskreten Logarithmus von α' zur Basis g und eines diskreten Logarithmus von γ' zur Basis h, wobei das Verfahren an dem zweiten Mechanismus die folgenden Schritte aufweist: f) Speichern der Operation, der zwei eingegebenen Zahlen α und β und der zwei vorgegebenen Basen g und h in einem zweiten Speicher für öffentliche Informationen, g) Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis β und der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h, h) Prüfen der empfangenen β' und γ', um ihre Gleichheit oder Ungleichheit zu bestimmen, und i) Entscheiden, ob der Beweis des ersten Mechanismus akzeptabel ist, abhängig von den Ergebnissen des Verifizierungsabschnitts und des Prüfabschnitts.
  25. Verfahren nach Anspruch 24, wobei Schritt e) die folgenden Schritte aufweist: e.1) Beweisen der Gleichheit des diskreten Logarithmus von α' zur Basis α und des diskreten Logarithmus von β' zur Basis β und e.2) Beweisen der Gleichheit des diskreten Logarithmus von α' zur Basis g und des diskreten Logarithmus von γ zur Basis h, und Schritt g) die folgenden Schritte aufweist: g.1) Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis β und g.2) Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h.
  26. Verfahren nach Anspruch 24, wobei Schritt e) den folgenden Schritt aufweist: Beweisen der Gleichheit des diskreten Logarithmus von α' zur Basis α und des diskreten Logarithmus von β' zur Basis β und der Gleichheit des diskreten Logarithmus von α' zur Basis g und des diskreten Logarithmus von γ' zur Basis h und Schritt g) den folgenden Schritt aufweist: Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis β und der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h.
  27. Verfahren nach Anspruch 25 oder 26, wobei Schritt h) den Schritt des Verifizierens der Gleichheit des empfangenen β' und des empfangenen γ' aufweist.
  28. Verfahren nach Anspruch 25 oder 26, wobei Schritt h) den Schritt des Verifizierens der Ungleichheit des empfangenen β' und des empfangenen γ' aufweist.
  29. Verfahren nach Anspruch 25 oder 26, wobei Schritt h) den Schritt des Vergleichens des empfangenen β' und des empfangenen γ' aufweist.
  30. Verfahren nach Anspruch 25, wobei Schritt e.1) die folgenden Schritte aufweist: Erzeugen einer zweiten Zufallszahl ∊ Z/qZ, Wandeln der eingegebenen Zahl α und der eingegebenen Zahl β, um erste Beweisziele, die jeweiligen von α und β entsprechen, unter Verwendung der zweiten Zufallszahl zu erzeugen, und Erzeugen einer ersten Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl, ansprechend auf eine vom zweiten Mechanismus empfangene erste Herausforderung ∊ Z/qZ, und Schritt g.1) die folgenden Schritte aufweist: zufälliges Erzeugen der ersten Herausforderung nach dem Empfang der ersten Beweisziele und Entscheiden, ob die erste Antwort, die ersten Beweisziele und die erste Herausforderung einen oder mehrere Verifikati onsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  31. Verfahren nach Anspruch 25, wobei Schritt e.1) die folgenden Schritte aufweist: Erzeugen einer zweiten Zufallszahl ∊ Z/qZ und einer dritten Zufallszahl ∊ Z/qZ, wenn eine erste Herausforderungspräparation vom zweiten Mechanismus empfangen wurde, Wandeln der eingegebenen Zahl α und der eingegebenen Zahl β, um unter Verwendung der zweiten Zufallszahl erste Beweisziele zu erzeugen, die jeweiligen von α und β entsprechen, wobei die dritte Zufallszahl und die ersten Beweisziele zum zweiten Mechanismus gesendet werden, und Erzeugen einer ersten Antwort unter Verwendung der ersten Zufallszahl r, der zweiten Zufallszahl und der dritten Zufallszahl, ansprechend auf eine vom zweiten Mechanismus empfangene erste Herausforderung, wenn die erste Herausforderungspräparation gültig ist, und Schritt g.1) die folgenden Schritte aufweist: Erzeugen einer vierten Zufallszahl ∊ Z/qZ, Erzeugen der ersten Herausforderungspräparation anhand der Basis g und der eingegebenen Zahl α unter Verwendung der vierten Zufallszahl, Erzeugen der ersten Herausforderung unter Verwendung der vierten Zufallszahl, nachdem die dritte Zufallszahl und die ersten Beweisziele vom ersten Mechanismus empfangen wurden, und Entscheiden, ob die erste Antwort, die ersten Beweisziele und die erste Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  32. Verfahren nach Anspruch 25, wobei Schritt e.1) die folgenden Schritte aufweist: Erzeugen einer zweiten Zufallszahl ∊ Z/qZ, Wandeln der eingegebenen Zahl α und der eingegebenen Zahl β, um unter Verwendung der zweiten Zufallszahl erste Beweisziele zu erzeugen, die jeweiligen von α und β entsprechen, Erzeugen einer ersten automatischen Herausforderung anhand der ersten Beweisziele, Erzeugen einer ersten Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl, ansprechend auf die erste automatische Herausforderung, und Erzeugen eines ersten Beweistexts, der aus den ersten Beweiszielen und der ersten Antwort zusammengesetzt ist, wobei der erste Beweistext zum zweiten Mechanismus gesendet wird, und Schritt g.1) die folgenden Schritte aufweist: Erzeugen einer zweiten automatischen Herausforderung ∊ Z/qZ, nachdem die ersten Beweisziele vom ersten Mechanismus empfangen worden sind, und Entscheiden, ob die erste Antwort, die ersten Beweisziele und die zweite automatische Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  33. Verfahren nach Anspruch 25, wobei Schritt e.1) die folgenden Schritte aufweist: Erzeugen einer zweiten Zufallszahl ∊ Z/qZ, Wandeln der eingegebenen Zahl α und der eingegebenen Zahl β, um unter Verwendung der zweiten Zufallszahl erste Beweisziele zu erzeugen, die jeweiligen von α und β entsprechen, Erzeugen einer ersten automatischen Herausforderung anhand der ersten Beweisziele, Erzeugen einer ersten Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl, ansprechend auf die erste automatische Herausforderung, und Erzeugen eines ersten Beweistexts, der aus der ersten automatischen Herausforderung und der ersten Antwort zusammengesetzt ist, wobei der erste Beweistext zum zweiten Mechanismus gesendet wird, und Schritt g.1) die folgenden Schritte aufweist: Entscheiden, ob die erste automatische Herausforderung und die erste Antwort, die im ersten Beweistext enthalten ist, einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  34. Verfahren nach Anspruch 25, wobei Schritt e.2) die folgenden Schritte aufweist: Erzeugen einer dritten Zufallszahl ∊ Z/qZ, Wandeln der Basen g und h, um unter Verwendung der dritten Zufallszahl zweite Beweisziele zu erzeugen, die jeweiligen von g und h entsprechen, und Erzeugen einer zweiten Antwort unter Verwendung der ersten Zufallszahl r und der dritten Zufallszahl, ansprechend auf eine vom zweiten Mechanismus empfangene zweite Herausforderung ∊ Z/qZ, und Schritt g.2) die folgenden Schritte aufweist: zufälliges Erzeugen der zweiten Herausforderung, nachdem die zweiten Beweisziele vom ersten Mechanismus empfangen wurden, und Entscheiden, ob die zweite Antwort, die zweiten Beweisziele und die zweite Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  35. Verfahren nach Anspruch 25, wobei Schritt e.2) die folgenden Schritte aufweist: Erzeugen einer fünften Zufallszahl ∊ Z/qZ und einer sechsten Zufallszahl ∊ Z/qZ, wenn eine zweite Herausforderungspräparation von dem zweiten Mechanismus empfangen worden ist, Wandeln der Basen g und h, um unter Verwendung der fünften Zufallszahl zweite Beweisziele zu erzeugen, die jeweiligen von den Basen g und h entsprechen, wobei die sechste Zufallszahl und die zweiten Beweisziele zum zweiten Mechanismus gesendet werden, und Erzeugen einer zweiten Antwort unter Verwendung der ersten Zufallszahl r, der fünften Zufallszahl und der sechsten Zu fallszahl, ansprechend auf eine vom zweiten Mechanismus empfangene zweite Herausforderung ∊ Z/qZ, wenn die zweite Herausforderungspräparation gültig ist, und Schritt g.2) die folgenden Schritte aufweist: Erzeugen einer siebten Zufallszahl ∊ Z/qZ, Erzeugen der zweiten Herausforderungspräparation anhand der Basis g und der eingegebenen Zahl α unter Verwendung der siebten Zufallszahl, Erzeugen der zweiten Herausforderung unter Verwendung der siebten Zufallszahl, nachdem die sechste Zufallszahl und die zweiten Beweisziele vom ersten Mechanismus empfangen wurden, und Entscheiden, ob die zweite Antwort, die zweiten Beweisziele und die zweite Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  36. Verfahren nach Anspruch 25, wobei Schritt e.2) die folgenden Schritte aufweist: Erzeugen einer dritten Zufallszahl ∊ Z/qZ, Wandeln der Basen g und h, um unter Verwendung der dritten Zufallszahl zweite Beweisziele zu erzeugen, die jeweiligen der Basen g und h entsprechen, Erzeugen einer dritten automatischen Herausforderung anhand der zweiten Beweisziele, Erzeugen einer zweiten Antwort unter Verwendung der ersten Zufallszahl r und der dritten Zufallszahl, ansprechend auf die dritte automatische Herausforderung, und Erzeugen eines zweiten Beweistexts, der aus den zweiten Beweiszielen und der zweiten Antwort zusammengesetzt ist, wobei der zweite Beweistext zum zweiten Mechanismus gesendet wird, und Schritt g.2) die folgenden Schritte aufweist: Erzeugen einer vierten automatischen Herausforderung ∊ Z/qZ, nachdem die im zweiten Beweistext enthaltenen zweiten Beweisziele vom ersten Mechanismus empfangen wurden, und Entscheiden, ob die zweite Antwort, die zweiten Beweisziele und die vierte automatische Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  37. Verfahren nach Anspruch 25, wobei Schritt e.2) die folgenden Schritte aufweist: Erzeugen einer dritten Zufallszahl ∊ Z/qZ, Wandeln der Basen g und h, um unter Verwendung der dritten Zufallszahl zweite Beweisziele zu erzeugen, die jeweiligen der Basen g und h entsprechen, Erzeugen einer dritten automatischen Herausforderung anhand der zweiten Beweisziele, Erzeugen einer zweiten Antwort unter Verwendung der ersten Zufallszahl r und der dritten Zufallszahl, ansprechend auf die dritte automatische Herausforderung, und Erzeugen eines zweiten Beweistexts, der aus der zweiten automatischen Herausforderung und der zweiten Antwort zusammengesetzt ist, wobei der zweite Beweistext zum zweiten Mechanismus gesendet wird, und Schritt g.2) die folgenden Schritte aufweist: Entscheiden, ob die zweite automatische Herausforderung und die in dem zweiten Beweistext enthaltene zweite Antwort einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  38. Verfahren nach Anspruch 26, wobei Schritt e) die folgenden Schritte aufweist: Erzeugen einer zweiten Zufallszahl ∊ Z/qZ, Wandeln der eingegebenen Zahl α, der eingegebenen Zahl β, der Basis g und der Basis h, um unter Verwendung der zweiten Zufallszahl Beweisziele zu erzeugen, die jeweiligen von α, β, g und h entsprechen, und Erzeugen einer Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl, ansprechend auf eine vom zweiten Mechanismus empfangene Herausforderung ∊ Z/qZ, und Schritt g) die folgenden Schritte aufweist: Erzeugen der Herausforderung, nachdem die Beweisziele vom ersten Mechanismus empfangen worden sind, und Entscheiden, ob die Antwort, die Beweisziele und die Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  39. Verfahren nach Anspruch 26, wobei Schritt e) die folgenden Schritte aufweist: Erzeugen einer zweiten Zufallszahl ∊ Z/qZ und einer dritten Zufallszahl ∊ Z/qZ, wenn eine Herausforderungspräparation vom zweiten Mechanismus empfangen wurde, Wandeln der eingegebenen Zahl α, der eingegebenen Zahl β, der Basis g und der Basis h, um unter Verwendung der zweiten Zufallszahl Beweisziele zu erzeugen, die jeweiligen von α, β, g und h entsprechen, wobei die dritte Zufallszahl und die Beweisziele zum zweiten Mechanismus gesendet werden, und Erzeugen einer Antwort unter Verwendung der ersten Zufallszahl r, der zweiten Zufallszahl und der dritten Zufallszahl, ansprechend auf eine vom zweiten Mechanismus empfangene Herausforderung, wenn die Herausforderungspräparation gültig ist, und Schritt g) die folgenden Schritte aufweist: Erzeugen einer vierten Zufallszahl ∊ Z/qZ, Erzeugen der Herausforderungspräparation anhand der Basis g und der eingegebenen Zahl α unter Verwendung der vierten Zufallszahl, Erzeugen der Herausforderung unter Verwendung der vierten Zufallszahl, nachdem die dritte Zufallszahl und die Beweisziele vom ersten Mechanismus empfangen worden sind, und Entscheiden, ob die Antwort, die Beweisziele und die Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  40. Verfahren nach Anspruch 26, wobei Schritt e) die folgenden Schritte aufweist: Erzeugen einer zweiten Zufallszahl ∊ Z/qZ, Wandeln der eingegebenen Zahl α, der eingegebenen Zahl β, der Basis g und der Basis h, um unter Verwendung der zweiten Zufallszahl Beweisziele zu erzeugen, die jeweiligen von α, β, g und h entsprechen, Erzeugen einer ersten automatischen Herausforderung anhand der Beweisziele, Erzeugen einer Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl, ansprechend auf die erste automatische Herausforderung, und Erzeugen eines Beweistexts, der aus den Beweiszielen und der Antwort zusammengesetzt ist, wobei der Beweistext zum zweiten Mechanismus gesendet wird, und Schritt g) die folgenden Schritte aufweist: Erzeugen einer zweiten automatischen Herausforderung ∊ Z/qZ, nachdem die Beweisziele vom ersten Mechanismus empfangen worden sind, und Entscheiden, ob die Antwort, die Beweisziele und die zweite automatische Herausforderung einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  41. Verfahren nach Anspruch 26, wobei Schritt e) die folgenden Schritte aufweist: Erzeugen einer zweiten Zufallszahl ∊ Z/qZ, Wandeln der eingegebenen Zahl α, der eingegebenen Zahl β, der Basis g und der Basis h, um unter Verwendung der zweiten Zufallszahl Beweisziele zu erzeugen, die jeweiligen von α, β, g und h entsprechen, Erzeugen einer automatischen Herausforderung anhand der Beweisziele, Erzeugen einer Antwort unter Verwendung der ersten Zufallszahl r und der zweiten Zufallszahl, ansprechend auf die automatische Herausforderung, und Erzeugen eines Beweistexts, der aus der automatischen Herausforderung und der Antwort zusammengesetzt ist, wobei der Beweistext zu dem zweiten Mechanismus gesendet wird, und Schritt g) die folgenden Schritte aufweist: Entscheiden, ob die Antwort und die automatische Herausforderung, die in dem vom ersten Mechanismus empfangenen Beweistext enthalten ist, einen oder mehrere Verifikationsausdrücke erfüllen, die im zweiten Mechanismus gespeichert sind, wobei das Ergebnis der Entscheidung Schritt i) zugeführt wird.
  42. Computerprogramm zum Anweisen eines Computers, ein Verfahren auszuführen, das einen ersten Mechanismus zum Beweisen der Gleichheit oder Ungleichheit zweier diskreter Logarithmen und einen zweiten Mechanismus zum Verifizieren der Gleichheit oder Ungleichheit implementiert, wobei das Programm die folgenden Schritte aufweist: zum Implementieren des ersten Mechanismus: a) Speichern einer als mod p definierten Operation, zweier nachstehend als α und β bezeichneter eingegebener Zahlen und zweier nachstehend als g und h bezeichneter vorgegebener Basen in einem ersten Speicher für öffentliche Informationen, ∊ Z/qZ, wobei p eine Primzahl ist und eine Beziehung q|(p – 1) aufweist, wobei q eine Primzahl ist und eine Ordnung einer Gruppe (G) ist und α, β, g und h Elemente der Gruppe (G) sind, b) Speichern privater Informationen, die nachstehend als x bezeichnet werden, das ein diskreter Logarithmus von α zur Basis g ist, in einem Speicher für private Informationen, c) Erzeugen einer nachstehend als r ∊ Z/qZ bezeichneten ersten Zufallszahl, d) Wandeln der eingegebenen Zahl α, der eingegebenen Zahl β und der Basis h, um α', β' und γ' unter Verwendung der ersten Zufallszahl r und der privaten Informationen x folgendermaßen zu erzeugen: α' = αr mod p, β' = βr mod p und γ' = hxr mod p, wobei α', β' und γ' zu dem zweiten Mechanismus gesendet werden, und e) Beweisen der Gleichheit eines diskreten Logarithmus von α' zur Basis α und eines diskreten Logarithmus von β' zur Basis β und der Gleichheit eines diskreten Logarithmus von α' zur Basis g und eines diskreten Logarithmus von γ' zur Basis h, und zum Implementieren des zweiten Mechanismus: f) Speichern der Operation, der zwei eingegebenen Zahlen α und β und der zwei vorgegebenen Basen g und h in einem zweiten Speicher für öffentliche Informationen, g) Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis β und der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h, h) Prüfen der empfangenen β' und γ', um ihre Gleichheit oder Ungleichheit zu bestimmen, und i) Entscheiden, ob der Beweis des ersten Mechanismus akzeptabel ist, abhängig von den Ergebnissen des Verifizierungsabschnitts und des Prüfabschnitts.
  43. Computerprogramm nach Anspruch 42, wobei Schritt e) die folgenden Schritte aufweist: e.1) Beweisen der Gleichheit des diskreten Logarithmus von α' zur Basis α und des diskreten Logarithmus von β' zur Basis β und e.2) Beweisen der Gleichheit des diskreten Logarithmus von α' zur Basis g und des diskreten Logarithmus von γ' zur Basis h, und Schritt g) die folgenden Schritte aufweist: g.1) Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis β und g.2) Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h.
  44. Computerprogramm nach Anspruch 42, wobei Schritt e) den folgenden Schritt aufweist: Beweisen der Gleichheit des diskreten Logarithmus von α' zur Basis α und des diskreten Logarithmus von β' zur Basis β und der Gleichheit des diskreten Logarithmus von α' zur Basis g und des diskreten Logarithmus von γ' zur Basis h, und Schritt g) den folgenden Schritt aufweist: Verifizieren der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis α und des diskreten Logarithmus des empfangenen β' zur Basis βund der Gleichheit des diskreten Logarithmus des empfangenen α' zur Basis g und des diskreten Logarithmus des empfangenen γ' zur Basis h.
  45. Computerprogramm nach Anspruch 43 oder 44, wobei Schritt h) den Schritt des Verifizierens der Gleichheit des empfangenen β' und des empfangenen γ' aufweist.
  46. Computerprogramm nach Anspruch 43 oder 44, wobei Schritt h) den Schritt des Verifizierens der Ungleichheit des empfangenen β' und des empfangenen γ' aufweist.
  47. Computerprogramm nach Anspruch 43 oder 44, wobei Schritt h) den Schritt des Vergleichens des empfangenen β' und des empfangenen γ' aufweist.
DE60220600T 2001-08-07 2002-08-07 Zero-Knowledge-Beweissystem und -verfahren Expired - Lifetime DE60220600T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001239615A JP4774650B2 (ja) 2001-08-07 2001-08-07 離散対数の一致または不一致を示すゼロ知識証明システム及び方法
JP2001239615 2001-08-07

Publications (2)

Publication Number Publication Date
DE60220600D1 DE60220600D1 (de) 2007-07-26
DE60220600T2 true DE60220600T2 (de) 2008-02-21

Family

ID=19070338

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60220600T Expired - Lifetime DE60220600T2 (de) 2001-08-07 2002-08-07 Zero-Knowledge-Beweissystem und -verfahren

Country Status (5)

Country Link
US (1) US7003541B2 (de)
EP (1) EP1283616B1 (de)
JP (1) JP4774650B2 (de)
DE (1) DE60220600T2 (de)
SG (1) SG135913A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014010455A1 (de) * 2014-07-14 2016-01-14 Giesecke & Devrient Gmbh Datensparsame Authentisierung

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239917B2 (en) * 2002-10-16 2012-08-07 Enterprise Information Management, Inc. Systems and methods for enterprise security with collaborative peer to peer architecture
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
JP4457651B2 (ja) * 2003-11-27 2010-04-28 日本電気株式会社 証明装置及び証明方法並びにプログラム
WO2006024042A2 (en) * 2004-08-27 2006-03-02 Ntt Docomo, Inc. Provisional signature schemes
JP4771053B2 (ja) * 2005-05-27 2011-09-14 日本電気株式会社 統合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及びミックスネットシステム
JP4940592B2 (ja) * 2005-08-11 2012-05-30 日本電気株式会社 否認可能零知識対話証明に適用される証明装置及び検証装置
US20090327141A1 (en) * 2007-04-18 2009-12-31 Rabin Michael O Highly efficient secrecy-preserving proofs of correctness of computation
DE112010004426B4 (de) * 2010-01-22 2015-11-12 International Business Machines Corporation Nicht verknüpfbare Übertragung ohne Gedächtnis mit Preisangaben und wiederaufladbaren Geldbörsen
KR20120072032A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 모바일 단말의 상호인증 시스템 및 상호인증 방법
US9569176B2 (en) 2014-10-30 2017-02-14 Seagate Technology Llc Deriving entropy from multiple sources having different trust levels
US10536266B2 (en) 2017-05-02 2020-01-14 Seagate Technology Llc Cryptographically securing entropy for later use
US11012435B2 (en) 2017-12-19 2021-05-18 International Business Machines Corporation Multi factor authentication
US11122033B2 (en) * 2017-12-19 2021-09-14 International Business Machines Corporation Multi factor authentication
CN111090842B (zh) * 2019-12-23 2022-04-26 上海源庐加佳信息科技有限公司 一种基于零知识证明的供应链金融客户贷款信息保护方法
US11272363B2 (en) * 2020-03-25 2022-03-08 Nxp B.V. Authentication method in a communication system
CN111738857B (zh) * 2020-06-28 2021-07-06 深圳前海微众银行股份有限公司 应用于区块链的隐匿支付证明的生成与验证方法及装置
JP7116385B1 (ja) 2021-12-22 2022-08-10 三菱地所Itソリューションズ株式会社 情報処理装置、情報処理方法、プログラム、マンション管理組合端末、及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154841A (en) * 1996-04-26 2000-11-28 Canon Kabushiki Kaisha Digital signature method and communication system
US6282295B1 (en) * 1997-10-28 2001-08-28 Adam Lucas Young Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
JP3562262B2 (ja) * 1997-10-17 2004-09-08 富士ゼロックス株式会社 認証方法および装置
US6411715B1 (en) * 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
GB9902687D0 (en) * 1999-02-08 1999-03-31 Hewlett Packard Co Cryptographic protocol
AU3922600A (en) * 1999-03-25 2001-04-24 Votehere, Inc. Electronic voting scheme employing permanent ballot storage
JP4181724B2 (ja) * 2000-03-03 2008-11-19 日本電気株式会社 証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014010455A1 (de) * 2014-07-14 2016-01-14 Giesecke & Devrient Gmbh Datensparsame Authentisierung

Also Published As

Publication number Publication date
EP1283616A3 (de) 2004-05-12
DE60220600D1 (de) 2007-07-26
JP2003050544A (ja) 2003-02-21
US20030065692A1 (en) 2003-04-03
EP1283616B1 (de) 2007-06-13
EP1283616A2 (de) 2003-02-12
JP4774650B2 (ja) 2011-09-14
SG135913A1 (en) 2007-10-29
US7003541B2 (en) 2006-02-21

Similar Documents

Publication Publication Date Title
DE60220600T2 (de) Zero-Knowledge-Beweissystem und -verfahren
DE69520714T2 (de) Verfahren und Vorrichtung zum sicheren elektronischen Abstimmen
DE69224238T2 (de) Geheimübertragungsverfahren zur Identitätsverifizierung
EP0384475B1 (de) Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
DE3856149T2 (de) Systeme mit unbestreitbarer Unterschrift
DE69636886T2 (de) Gesichertes elektronisches Abstimmen ohne Empfangsbestätigung
DE60006147T2 (de) Schlüsselzustimmungsprotokoll mit getrennten Schlüsseln
DE69031185T2 (de) Geheimübertragungsschlüsselverteilungssystem
DE68911935T2 (de) Varianten des Fiat-Shamir-Verfahrens zum Identifizieren und Unterschreiben.
DE60127516T2 (de) Verfahren zur Erzeugung einer digitalen Unterschrift und Verfahren zur Prüfung einer digitalen Unterschrift
DE69938624T2 (de) Robuste und effiziente verteilte erzeugung eines rsa-schlüssels
DE69327238T2 (de) Verfahren zur digitalen Unterschrift und Verfahren zur Schlüsselübereinkunft
DE102012206341B4 (de) Gemeinsame Verschlüsselung von Daten
DE19829643C2 (de) Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist
WO2001059728A1 (de) Verfahren und anordnung zur gegenseitigen authentifizierung zweier datenverarbeitungseinheiten
EP1368929B1 (de) Verfahren zur authentikation
DE102005045733A1 (de) Verfahren zum Übermitteln von Nachrichten
DE60212248T2 (de) Informationssicherheitsvorrichtung, Vorrichtung und Verfahren zur Erzeugung einer Primzahl
DE60001215T2 (de) Überprüfung der privaten teile von einem kryptografiesystem mit öffentlichem schlüssel
DE102004017602B4 (de) Verfahren und Anordnung für ein Kommunikationsnetz mit direkter Fahrzeug-Fahrzeug Kommunikation
DE19720249A1 (de) Digitales Unterschriftenprotokoll mit verringerter Bandbreite
DE60000649T2 (de) Authentifizierungs- oder unterschriftsverfahren mit verringter zahl an berechnungen
DE69505703T2 (de) Verfahren zur digitalen Unterschrift und Authentifizierung von Nachrichten unter Verwendung eines diskreten Logarithmus mit verringerter Anzahl von modularen Multiplikationen
DE102006013515A1 (de) Kryptographisches Verfahren mit elliptischen Kurven
EP3901714B1 (de) Verfahren zur überprüfung der authentizität von elektronischen modulen eines modular aufgebauten feldgeräts der automatisierungstechnik

Legal Events

Date Code Title Description
8364 No opposition during term of opposition