DE19829643C2 - Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist - Google Patents
Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert istInfo
- Publication number
- DE19829643C2 DE19829643C2 DE19829643A DE19829643A DE19829643C2 DE 19829643 C2 DE19829643 C2 DE 19829643C2 DE 19829643 A DE19829643 A DE 19829643A DE 19829643 A DE19829643 A DE 19829643A DE 19829643 C2 DE19829643 C2 DE 19829643C2
- Authority
- DE
- Germany
- Prior art keywords
- information
- function
- parameter
- signer
- following equation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic 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
- H04L9/3221—Cryptographic 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 interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Description
Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung, die es einem Verifizierer
ermöglichen, eine Block-Verifikation (Verifikation en-bloc) von Einzelsignaturen, Mehrfachsignatu
ren oder Überlagerungssignaturen durchzuführen, die elektronisch von mehreren Unterzeichnern
einem oder mehreren in elektronischer Form vorliegenden Dokumenten in einem System
hinzugefügt wurden, das zur Entscheidungsfindung dient, indem das Dokument oder die
Dokumente unter den Unterzeichnern umlaufen. Die Erfindung betrifft außerdem ein Speicher
medium, auf dem das Verifikationsverfahren aufgezeichnet ist.
Ein typisches digitales Signaturschema verwendet das RSA-Verschlüsselungssystem (R. L. Rivest,
et al., "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", Communica
tions of the ACM, Band. 21, No. 2, Seiten 120-126 (1978)). Das RSA-Verschlüsselungssystem
wird nachfolgend beschrieben.
Ein Unterzeichner A erzeugt einen Signaturschlüssel (d, N) und einen Verifikationsschlüssel (e,
N), die die nachstehenden Bedingungen erfüllen
N = P × Q
e × d ∼ 1(mod L), wobei L = LCM{(P - 1), (Q - 1)}.
e × d ∼ 1(mod L), wobei L = LCM{(P - 1), (Q - 1)}.
Dann veröffentlicht der Unterzeichner A den Verifikationsschlüssel, während er den Signatur
schlüssel geheimhält. LCM{a, b} drückt dabei das kleinste gemeinsame Vielfache der ganzen
Zahlen a und b aus, wobei angenommen wird, daß P und Q zwei verschiedene große Primzahlen
sind. Weiterhin steht a ∼ b(mod L) dafür, daß a - b ein Vielfaches von L ist.
Das RSA-Verschlüsselungssystem ist ein Verschlüsselungssystem, dessen Sicherheit auf der
Schwierigkeit beruht, eine Zerlegung von N in Primzahlfaktoren durchzuführen, wenn N groß ist
(dies wird später als das "Faktorzerlegungsproblem" bezeichnet). Es ist schwierig, die d-Kompo
nente des geheimen Signaturschlüssels aus dem veröffentlichten Verifikationsschlüssel (e, N) zu
errechnen.
Ein Verifizierer B hält den Verifikationsschlüssel (e, N) des Unterzeichners A in Verbindung mit
dessen Identifikationsinformation (ID). Ein vertrauenswürdiges Zentrum bzw. eine vertrauens
würdige Institution kann in machen Fällen solche Verifikationsschlüssel in der Form eines
öffentlichen Informationsverwaltungsverzeichnisses halten.
Eine Signaturfunktion D und eine Verifikationsfunktion E sind wie folgt definiert:
D(m) = md mod N
E(y) = ye mod N
Man kann zeigen, daß die folgende Gleichung für eine ganze Zahl m erfüllt ist, für die gilt
0 ≦ m < N:
E(D(m)) = m,
wobei a mod N den Rest der Division a durch N darstellt.
Das digitale Signaturschema unter Verwendung des RSA-Verschlüsselungssystems ist wie
nachfolgend beschrieben. Der Unterzeichner A erzeugt f(m) unter Verwendung einer Einweg-
Funktion f aus einem Dokument m, fügt dann unter Verwendung der geheimen Signaturfunktion
D eine Signatur y = D(f(m)) hinzu und sendet die Kombination (ID, m, y) seiner Identifikationsin
formation (ID), des Dokuments m und der Signatur y als unterzeichnete Nachricht an den
Verifizierer B.
Der Verifizierer B holt die Information über den Verifikationsschlüssel (e, N) des Unterzeichners A
von dem öffentlichen Informationsverwaltungsverzeichnis unter Verwendung der Identifikations
information ID des Unterzeichners als Schlüssel, berechnet dann E(y) = ye mod N aus der y-
Komponente der unterzeichneten Nachricht unter Verwendung des erhaltenen Verifikations
schlüssels (e, N) und prüft ob E(y) mit f(m) übereinstimmt, welches mit Hilfe der Einweg-
Funktion f von m abgeleitet wurde. Wenn E(y) = f(m), urteilt der Verifizierer B, daß der Sender
der echte Unterzeichner A ist und die unterzeichnete Nachricht (ID, m, y) nicht verfälscht wurde,
da ausschließlich der wahre Unterzeichner A die Signaturfunktion D(m) = md mod N, d. h. die
vorgenannte d-Komponente kennt.
Die hier erwähnte Einweg-Funktion f ist eine Funktion, mit der f(x) leicht aus x errechnet
werden kann, während es schwierig ist, x aus f(x) zu ermitteln. Die Einweg-Funktion f kann
unter Verwendung eines traditionellen schnellen Verschlüsselungssystems erstellt werden,
beispielsweise eines DES-Verschlüsselungssystem (Data Encryption Standard, Federal Informa
tion Processing Standards Publication 46, 1977). Unter Verwendung schneller Komponenten
wird die Zeit zur Errechnung der Funktion f so gut wie vernachlässigbar. Die nachfolgend
erwähnte Einweg-Funktion ist eine solche, mit der ein Wert für ein x beliebiger Datenlänge
errechnet werden kann.
Die ganze Zahl N zur Verwendung bei dem RSA-Verschlüsselungssystem umfaßt gewöhnlich
eine Länge von 308 Dezimalstellen (1024 Bits) oder so. Die d-Komponente des Signaturschlüs
sels ist ebenfalls etwa 1024 Bits lang. Es ist im Stand der Technik bekannt, daß ein Quadrier-
und-Multiplizier-Algorithmus zur Berechnung der Signaturfunktion d verwendet wird. Die
Berechnung einer ganzen Zahl mit 308 Stellen (einschließlich einer Molulo-N-Rechnung) muß im
Mittel 1536 mal durchgeführt werden, was dem Unterzeichner A zur Signaturerzeugung einen
schweren Rechenaufwand auferlegt.
Der Quadrier-und-Multiplizier-Algorithmus zur Berechnung von xa mod N ist wie nachfolgend
beschrieben.
Schritt S1: z = 1
Schritt S2: Die folgenden Schritte S2-1 und S2-2 werden wiederholt, bis ein numerischer Index ausgehend von 0 |a| - 1 wird (wobei angenommen wird, daß |a| die Anzahl von Bits von a darstellt).
Schritt S2-1: z' = z2 mod N
Schritt S2-2: wenn ai = 1, erneuere z mit z = z'x mod N und kehre zum Schritt S2-1 zurück (ai ist der Wert, 0 oder 1, des i-ten Bits von a); wenn ai = 0, kehre zu Schritt S2-1 zurück, ohne z zu erneuern.
Schritt S3: gib z aus.
Schritt S1: z = 1
Schritt S2: Die folgenden Schritte S2-1 und S2-2 werden wiederholt, bis ein numerischer Index ausgehend von 0 |a| - 1 wird (wobei angenommen wird, daß |a| die Anzahl von Bits von a darstellt).
Schritt S2-1: z' = z2 mod N
Schritt S2-2: wenn ai = 1, erneuere z mit z = z'x mod N und kehre zum Schritt S2-1 zurück (ai ist der Wert, 0 oder 1, des i-ten Bits von a); wenn ai = 0, kehre zu Schritt S2-1 zurück, ohne z zu erneuern.
Schritt S3: gib z aus.
Die Quadrier-und-Multiplizier-Algorithmus ist beispielsweise beschrieben in Douglas R. Stinson,
"CRYPTOGRAPHY, Theory and Practice," CRC, Press p127, 1995.
Mit dem Ziel der Lösung des Problems der zunehmenden Rechenbelastung für den Unterzeichner
zur Signaturerzeugung, sind interaktive Prüfungen vorgeschlagen worden, für die das Fiat-
Shamir-Schema und das Schnorr-Schema typische Beispiele sind (vgl. A. Fiat und A. Shamir,
"How to prove yourself: practical solutions to identification and signature Problems, "Advances
in Cryptology-Crypto 86, Springer-Verlag, Seiten 186-194; C. P. Schnorr, "Efficient Identification
and Signatures for smart Card," Advances in Cryptology-EUROCRYPT7 89, Springer-Verlag,
Seiten 235-251; und M. Tompa and H. Woll, "Random Self-Reducibility and Zero Knowledge
Interactive Proofs of Possession of Information," Proceedings of the 28th IEEE Symposium an
the Foundation of Computer Science, Seiten 472-482 (1987)).
Die Druckschrift JP-07-261663 A offenbart ein digitales Signaturverfahren zwischen einem
einzelnen Unterzeichner und einem Verifizierer und ist darauf gerichtet, die Zeit zu verringern, die
für die Verifikation der Signatur erforderlich ist. Dabei sollen die drei Charakteristika des
Chaum'schen digitalen Signaturschemas erhalten bleiben, nämlich (1) die Korrespondenz (m, s)
zwischen einer Nachricht m und einer Signatur s stellt keinen Beweis der Gültigkeit der Signatur
dar, vielmehr kann die Gültigkeit der Signatur allein interaktiv durch Abfrage- und
Antwortprozeduren verifiziert werden, (2) auf Anforderung durch den Verifizierer kann der
Unterzeichner selbst die Gültigkeit der Korrespondenz zwischen m und s beweisen, und (3) ein
festgelegter Bestätiger kann anstelle des Unterzeichners die interaktiven Prozeduren zur
Verifizierung der Gültigkeit der Signatur s und der Nachricht m ausführen. In jedem Fall erfordert
dieser Stand der Technik zur Verifikation Abfrage- und Antwortprozeduren zwischen dem
Unterzeichner (oder dem Bestätiger) und dem Verifizierer wie in den Fig. 2 und 3 der
Druckschrift veranschaulicht.
Eine digitale Signatur mittels des Schnorr-Schemas wird nachfolgend beschrieben.
Eine vertrauenswürdige Institution veröffentlicht zwei große Primzahlen p und q, die in einer
solchen Beziehung miteinander stehen, daß q ein Maß von p - 1 darstellt. Die Institution veröf
fentlicht außerdem eine ganze Zahl g∈(Z/pZ)* = {1, 2, ..., p - 1} mit dem Grad q.
Schritt S1: Der Unterzeichner A generiert eine Zufallszahl s∈(Z/qZ) = {0, 1, 2, ..., q - 1}, errechnet
dann öffentliche Information I durch
I = gs mod p (1)
und veröffentlicht ein aus Identifikationsinformation (ID) und der Information I beste
hendes Informationspaar.
Der Unterzeichner A durchläuft die folgende Prozedur, um dem Verifizierer B zu beweisen, daß
das Dokument oder die Nachricht m wahr bzw. echt ist.
Schritt S2: Der Unterzeichner A generiert eine Zufallszahl r∈(Z/qZ) und berechnet
X = gr mod p (2)
Schritt S3: Der Unterzeichner A errechnet unter Verwendung der Einweg-Funktion f mittels der
folgenden Gleichung eine ganze Zahl e∈(Z/qZ):
e = f(X, m) (3)
Schritt S4: Der Unterzeichner A erzeugt die Signatur y durch
y = r + er mod q (4)
und sendet {ID, m, X, y} als unterzeichnete Nachricht an den Verifizierer B.
Schritt S5: Der Verifizierer B errechnet unter Verwendung der Einweg-Funktion f die ganze Zahl
e∈(Z/qZ) durch
e = f(X, m) (5)
e = f(X, m) (5)
Schritt S6: Der Verifizierer B prüft, ob die nachfolgende Gleichung erfüllt ist.
gy ∼ XIe(mod p) (6)
wobei I öffentliche Information entsprechend der Identifikationsinformation ID ist.
Aus der Art der Erzeugung der Signatur y ergibt sich gy ∼ gr(gs)e ∼ XIe (mod p); wenn somit Glei
chung (6) erfüllt ist, erkennt der Verifizieren B das Dokument m als von dem Unterzeichner A
ordnungsgemäß unterzeichnet an.
In den oben beschriebenen Schritten S2 bis S4 könnte die Signatur des Unterzeichners gefälscht
werden, falls {ID, X, m, y} als eine unterzeichnete Nachricht gesendet wird, wenn die ganze Zahl
e∈(Z/qZ), für die e = f(X, m) erfüllt ist, durch Berechnung von X∈(Z/pZ)* herausgefunden werden
könnte, welches Gleichung (6) erfüllen, nachdem die ganzen Zahlen e∈(Z/qZ) und y∈(Z/qZ)
geeignet gewählt wurden. Da die Wahrscheinlichkeit, mit der die Verifikationsgleichung e = f(m,
X) erfüllt ist, jedoch 1/q ist, hängt der Komplexitätsgrad der mit der Fälschung der Signatur
verbundenen Berechnung vom Wert q ab. In der folgenden Beschreibung wird die Anzahl von
Bits der Primzahl p durch |p| dargestellt.
Bei dem Schnorr-Schema beinhaltet der Signaturerzeugungsprozeß beim Sender eine Multiplika
tion (einschließlich Modulo-p-Rechnungen) von ganzen Zahlen mit |p| Bits mit einer durch
schnittlichen Häufigkeit von 3/2|q|, eine einzelne Multiplikation (einschließlich Modulo-q-
Rechnungen) von ganzen Zahlen mit |q| Bits sowie eine einzelne Addition (einschließlich
Modulo-q-Rechnungen) der ganzen Zahlen mit |q| Bits.
Während bei dem Voranstehenden die unterzeichnete Nachricht {ID, X, m, y} ist, ist es auch
möglich, e anstelle von X zu verwenden, um {ID, e, m, y} zu liefern. In diesem Fall erfolgt eine
Prüfung daraufhin, ob die Relation e = f(X, m) erfüllt ist, und zwar durch Berechnung von X durch
X = (gy)(Ie)-1 mod p. Wenn |e| < |X|, wird die Nachricht mit letzterem kürzer.
Man betrachte nun den Fall, daß mehrere Unterzeichner verschiedener Dokumente auf der Basis
der überlagerten Signatur oder Überlagerungssignatur unterzeichnen. Ein typisches Beispiel der
Verwendung des Überlagerungssignaturschemas ist folgendes. Eine Zertifikationsinstitution
(Autorität) CA garantiert beispielsweise die Korrespondenz zwischen der öffentlichen Identifika
tionsinformation ID und öffentlicher Information I des Unterzeichners durch eine digitale Signatur
T = DCA(ID, I), die einem Dokument (ID, I) beigefügt ist, und sendet die Signatur T dem Unter
zeichner. Der Unterzeichner generiert eine Signatur DID(m, T), für das aus dem Dokument m und
der Signatur T bestehende Paar, und zwar unter Verwendung der Geheiminformation entspre
chend der öffentlichen Information I, und sendet die Signatur DID(m, T) an den Verifizierer,
wodurch dieser in die Lage versetzt wird, die Signatur DID(m, T) des Unterzeichners und die
Signatur T der Zertifikationsinstitution CA zu verifizieren.
Bei dem Überlagerungssignaturschema ist es wichtig, die von dem Unterzeichner zur Signaturer
zeugung zu verarbeitende Informationsmenge gering zu halten, die von dem Verifizierer zur
Signaturverifikation zu verarbeitende Informationsmenge niedrig zu halten und eine Zunahme der
Signaturkomponenten zu verhindern.
Bei dem von dem RSA-Verschlüsselungssystem Gebrauch machenden digitalen Signatursche
mata, unterzeichnen jeweilige Unterzeichner i Dokumente mi in sequentieller Reihenfolge, um
Information DL(mL, ..., D2(f(m2, D1(f(m1))))...) zu schaffen, wodurch die Überlagerungssignatur
funktion implementiert wird. In diesem Fall stellt der zur Signaturerzeugung erforderlich große
Rechenumfang ein Problem dar.
Bei direkter Anwendung des Schnorr-Schemas auf das Überlagerungssignaturschema wird es für
möglich gehalten, ein Verfahren des Anfügens von Information {IDi, Xi, yi} zu Dokumenten (m1,
..., mi-1, mi) für jeden Unterzeichner i einzusetzen. Die Xi-Komponente ist |p| Bits lang und die yi-
Komponente |q| Bits lang. Wenn L Unterzeichner unterzeichnen, wird schließlich eine Informa
tion mit (|p| + |q| ) . L Bits an eine Nachricht angefügt, d. h. die Identifikationsinformation IB von L
Unterzeichnern und Dokumente (m1, ..., mL). Auch in diesem Fall führt die Vergrößerung der
Signaturkomponente (X-Komponente, y-Komponente) zu einem Problem.
Als nächstes erfolgt eine Beschreibung des Mehrfachsignaturschemas, bei dem mehrere
Unterzeichner ein Dokument in sequentieller Reihenfolge unterzeichnen. Mit dem digitalen
Signaturschema unter Verwendung des RSA-Verschlüsselungssystems ist es möglich, das
Mehrfachsignaturschema zu implementieren, wenn die mehreren Unterzeichner auf einer
Signatur y einer Nachricht {ID, m, y} nacheinander unterzeichnen (d. h. DL ... D1(f(m))). Auch bei
diesem Schema stellt sich das Problem eines hohen Rechenaufwands zur Signaturerzeugung.
Bei direkter Anwendung des Schnorr-Schemas auf das Mehrfachsignaturschema wird es für
machbar gehalten, ein Verfahren einzusetzen, bei dem Information {ID, X, y} einer Nachricht m
für jeden Unterzeichner hinzugefügt wird. Die X-Komponente ist |p| Bits lang und die y-Kompo
nente |q| Bits lang. Wenn L Unterzeichner die Nachricht in sequentieller Reihenfolge unterzeich
nen, wird schließlich Information mit (|p| + |q|) . L Bits einer Nachricht hinzugefügt (der Identifi
kationsinformation von L Unterzeichnern und dem Dokument m). Auch in diesem Fall bewirkt
eine Zunahme der Signaturkomponente (X-Komponente, y-Komponente) ein Problem.
Bezüglich des Mehrfachsignaturschemas ist ein solches vorgeschlagen worden, das die Verringe
rung sowohl der X- als auch der y-Komponente auf eine erlaubt, und zwar durch Akkumulieren
der Werte der X- und der y-Komponenten für jeden Signaturerzeugungsprozeß ( 99999 00070 552 001000280000000200012000285919988800040 0002019829643 00004 99880K. Ohta und T.
Okamoto, "A Digital Multi-Signature Scheme Based an the Fiat-Shamir Scheme," Advances in
Cryptology-ASIACRYPT'91, Springer-Verlag, Seiten 139-148). Da dieses Schema jedoch zwei
Durchläufe einer Zirkulation der Nachricht zu den Unterzeichnern beinhaltet, erfordert die
Mehrfachsignatur durch L Unterzeichner (2L - 1) Kommuniationsdurchläufe. Die Zunahme der
Anzahl von Kommunikationen führt damit zu einem Problem.
Mit dem Mehrfachsignaturschema, das zwei Durchläufe der Zirkulation einer Nachricht zu
Unterzeichnern beinhaltet, ist es unmöglich, das Überlagerungssignaturschema zu realisieren, bei
dem die von den einzelnen Unterzeichnern jeweils zu unterzeichnenden Dokumente verschieden
sind. Der Grund dafür besteht darin, daß, weil alle Dokumente, beispielsweise m1 und m2, im
ersten Zirkulationsdurchlauf bestimmt werden müssen, die Signatur der Dokumente (m1, m2)
nicht nach Erzeugung der Signatur des Dokuments m1 erzeugt werden kann.
Es ist ein Schema zur Modifizierung einer EIGamal-Signatur für die Mehrfachsignatur vorgeschla
gen worden (Atsushi Shimbo, "Multi signature Schemes Based an the EIGamal Scheme", The
1994 Symposium an Cryptography and Information Security SCIS94-2C). Diese Literaturstelle
beinhaltet jedoch nichts über die Überlagerungssignaturverwendung. Bei dem vorgeschlagenen
modifizierten Schema ist es schwierig, die Schnorr-Signatur mit einem Zirkulationsdurchlauf zu
realisieren, und die Sicherheit aller der vorgeschlagenen Schemata wurde nicht strikt bewertet
(siehe "Conclusion" auf Seite 9 der Literaturstelle).
Bei einem das digitale Signaturschema verwendenden System tritt gelegentlich die Situation auf,
wo mehrere Signaturen an einer Stelle zusammenkommen und verifiziert werden. Beispielsweise
kommt elektronisches Geld zum Ausgabeinstitut zurück, wo seine Gültigkeit verifiziert wird. In
einem solchen Fall erlaubt die Verwendung der interaktiven Prüfung eine wesentliche Verringe
rung des zur Signaturerzeugung erforderlichen Rechenaufwands. Jedoch kann die zu verarbei
tende Rechenmenge zur Signaturverifikation manchmal zunehmen. Beispielsweise beinhaltet das
Schnorr-Schema eine Multiplikation von ganzen Zahlen mit |p| Bits (einschließlich Modulo-p-
Rechnungen) mit einer durchschnittlichen Häufigkeit von 3/2|q|, während bei dem RSA-Schema,
da e = 3 ohne Beeinträchtigung der Sicherheit erreichbar ist, die Anzahl von Multiplikationen von
ganzen Zahlen mit |N| Bits (einschließlich Modulo-N-Rechnungen) lediglich zwei beträgt.
Es soll nun eine Block-Verifikation mehrerer Signaturen bei den oben erwähnten digitalen
Signaturschemata beschrieben werden.
Da das von dem RSA-Verschlüsselungssystem Gebrauch machende digitale Signaturschema auf
das Problem des hohen Rechenaufwands zur Signaturerzeugung stößt und für jeden Unterzeich
ner einen anderen Modulowert Ni verwendet, wird es als unmöglich angesehen, Ni und Nj auf
einmal zu verifizieren.
Wenn das Schnorr-Schema ohne Modifikationen verwendet wird, unterzeichnet der Unterzeich
ner i eine Nachricht mi durch Hinzufügen der Information {IDi, Xi, yi}, wobei die Xi-Komponente
|p| Bits lang ist und die yi-Komponente |q| Bits lang ist. In dem Fall, wo L Unterzeichner i
jeweils ein anderes Dokument mi unterzeichnen (mit 1 ≦ i ≦ L) und L unabhängige Verifikations
gleichungen zum Verifizieren der L Signaturen verwendet werden, besteht der zu bearbeitende
Rechenumfang für die Signaturverifikation in L Verifikationsdurchläufen.
Angesichts dessen ist ein Schema vorgeschlagen worden, welches die folgende eine Verifika
tionsgleichung verwendet, indem der Wert der y-Komponente akkumuliert wird:
gy' = X1I1 eL ... XLIL eL(mod p)
wobei
(siehe beispielsweise Ohta and Okamoto, "Multi-Signature
Schemes Using Fiat-Shamir Scheme, "Spring National Convention of the Institute of Electronics.
Information and Communication Engineers of Japan (1989). A-277 (1989), und Harada and
Tatebayashi, "An efficient method for computing a general monomial and its application,"
Technical Report of Institute of Electronics, Information and Communication Engineers of Japan
ISEC91-40 (1991).
Mit diesen Schemata kann jeder Unterzeichner die Signaturen anderer Unterzeichner fälschen,
was zu Sicherheitsproblemen führt. Dieses Problem wird beispielsweise in Shimbo and Kawa
mura, "Consideration an computing vector addition chain and its application, "Technical Report
of the Institute of Electronics, Information and Communication Engineers of Japan ISEC91-59
(1991) erörtert.
In der obigen Literaturstelle sind die Signaturerzeugung, die Signaturverifikation und Angriffe
darauf in der Situation beschrieben, in der mehrere Unterzeichner ein Dokument unterzeichnen.
Selbst wenn jedoch jeder Unterzeichner ein anderes Dokument unterzeichnet, ermöglicht die
Verwendung der oben erwähnten Verifikationsgleichung die direkte Anwendung des Angriffs auf
die mehreren Signaturen, was zu einem entsprechenden Sicherheitsproblem führt.
Eine erste Aufgabe der vorliegenden Erfindung besteht darin, ein Signaturverfahren und eine
Vorrichtung zu schaffen, die eine Block-Verifikation einer Überlagerungssignatur, einer Mehr
fachsignatur oder von Einzelsignaturen gestatten, welche von mehreren Unterzeichnern an
demselben oder verschiedenen Dokumenten angebracht sind, sowie ein Speichermedium zu
schaffen, auf dem das Signaturverfahren gespeichert ist.
Eine zweite Aufgabe der vorliegenden Erfindung ist es, ein sicheres Überlagerungssignaturverfah
ren und eine dafür geeignete Vorrichtung zu schaffen, die eine Zunahme der Datenmenge für
Signaturkomponenten in dem Fall verhindern, wo mehrere Unterzeichner jeweils ein anderes
Dokument unterzeichnen und es erwünscht ist, die Reihenfolge der Unterzeichnung zu bestäti
gen, sowie ein Speichermedium zu schaffen, auf dem das Überlagerungssignaturverfahren
gespeichert ist.
Eine dritte Aufgabe der vorliegenden Erfindung ist es, ein sicheres Mehrfachsignaturverfahren
und eine dazu geeignete Vorrichtung zu schaffen, die die Realisierung einer Mehrfachsignatur
mittels lediglich eines Umlaufs einer Nachricht zu mehreren Unterzeichnern gestatten und eine
Zunahme der Datenmenge für Signaturkomponenten verhindern, sowie ein Aufzeichnungsme
dium zu schaffen, auf dem das Mehrfachsignaturverfahren gespeichert ist.
Eine vierte Aufgabe der vorliegenden Erfindung ist es, ein sicheres Signaturverfahren und eine
dazu geeignete Vorrichtung zu schaffen, die eine Block-Verifikation und damit effiziente
Verifikation von Signaturen erlauben, wenn mehrere Unterzeichner jeweils ein anderes Dokument
unterzeichnen, sowie ein Aufzeichnungsmedium zu schaffen, auf dem das Signaturverfahren
gespeichert ist.
Ein Signaturverifikationsverfahren gemäß einem ersten Aspekt der vorliegenden Erfindung
umfaßt die Schritte:
Jeder Unterzeichner i:
- a) erzeugt eine erste Zufallszahl si als Geheiminformation, erzeugt dann Information Ii = (si, β) mit einer Funktion G2 unter Verwendung eines öffentlichen Parameters β und der ersten Zufallszahl si und veröffentlicht die Information Ii, zwei Einweg-Funktionen fi und hi und Identifi kationsinformation IDi, die von dem Unterzeichner i benutzt werden, als seine öffentliche Information {IDi, Ii, fi, hi};
- b) erzeugt eine zweite Zufallszahl ri, erzeugt dann Xi = Φ(ri, β) durch Einsetzen des Parameters β und der zweiten Zufallszahl ri in eine Funktion Φ und setzt die Information Xi enthaltende Information auf X'i;
- c) erzeugt
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
mit den Einweg-Funktionen fi und hi unter Verwendung von Dokumentinformation m'i, die ein zu unterzeichnendes Dokument mi enthält, und der Information X'i; und - d) erzeugt für Information, die ei, di, si und ri enthält, eine Signatur
yi = Sgi(ei, di, si, ri, y'i-1)
mit einer Signaturfunktion Sgi, die unter Verwendung des Parameters β erzeugt wird, und gibt, wenn Information, die die Information IDi enthält, als Identifikationsinformation ID'i dargestellt wird, {ID'i, X'i, m'i, yi} einzeln oder über die anderen Unterzeichner an einen Verifizierer als letzte Bestimmung aus, wobei im Fall des einzelnen Aussendens y'i-1 eine leere Menge ist und im Fall des Aussendens über die anderen Unterzeichner y'i-1 so eingestellt wird, daß gilt y'i-1 = yi-1; und der Verifizierer: - e) errechnet aus der öffentlichen Information {IDi, Ii, fi, hi} Information Ii, die der Identifikationsinformation IDi entspricht, welche in ID'i in der empfangenen Information {ID'i, X'i, m'i, yi} enthalten ist, und die Einwegfunktionen fi und hi, und berechnet ei und di unter Verwen dung der Einweg-Funktionen fi und hi und der empfangenen Informationen X'i und m'i;
- f) berechnet die Information Xi, die in der Information X'i enthalten ist, und berechnet
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
mit einer Funktion V, die Berechnungen (Xi . di) von di und Xi sowie (Ii . ei) von ei und Ii enthält, für i = 1, ..., L; und - g) berechnet W = Γ(yi . β) mit einer Funktion Γ, die eine Berechnung (yi . β) von yi und β enthält, verifiziert dann die Gültigkeit der Signaturen durch Prüfung, ob W = Z', und entscheidet, falls beide Werte gleich sind, daß die Signaturen alle gültig sind.
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird der Wert der y-Komponente, bei
der es sich um eine der Hauptsignaturkomponenten handelt, für jeden Signaturerzeugungsprozeß
akkumuliert, um eine Zunahme der Datenmenge der Gesamtsignaturkomponente zu
unterdrücken, wodurch ein Überlagerungssignaturschema aufgestellt wird, das bei dem Fiat-
Shamir-Schema und dem Schnorr-Schema anwendbar ist. Obwohl es bekannt ist, daß die
Expontentialkomponente bei der Verifikationsverarbeitung lediglich die e-Komponente ist, die als
eine Expontentialkomponente von I verwendet wird, führt die vorliegende Erfindung die d-
Komponente als zweite Exponentialkomponente für die Potenzierung von X neu ein und erzeugt
unter Berücksichtigung der Reihenfolge der Unterzeichner die e- und die d-Komponente, wodurch
eine Zunahme der Anzahl von Kommunikationen verhindert wird und gleichzeitig Sicherheit
geboten wird.
Gemäß einem dritten Aspekt der vorliegenden Erfindung wird der Wert der y-Komponente, bei
der es sich um eine der Hauptsignaturkomponenten handelt, für jeden Signaturerzeugungsprozeß
akkumuliert, um eine Zunahme der Datenmenge der Gesamtsignaturkomponente zu unter
drücken, wodurch ein Mehrfachsignaturschema erstellt wird, das auf das Fiat-Shamir-Schema
und das Schnorr-Schema anwendbar ist. Während es bekannt ist, daß die Exponentialkompo
nente in der Verifikationsverarbeitung lediglich die e-Komponente ist, die als Exponentialkompo
nente von I verwendet wird, führt die vorliegende Erfindung neu die d-Komponente als eine
zweite Exponentialkomponente für die Potenzierung von X ein, wodurch eine Zunahme der
Anzahl von Kommunikationen verhindert wird, während gleichzeitig Sicherheit geboten wird.
Gemäß einem vierten Aspekt der vorliegenden Erfindung wird, während es bekannt ist, daß die
Exponentialkomponente in der Verifikationsverarbeitung lediglich die e-Komponente ist, die als
eine Exponentialkomponente von I verwendet wird, die d-Komponente neu als zweite Exponen
tialkomponente für die Potenzierung von X eingeführt, wodurch ein Signaturschema erstellt wird,
welches eine Block-Signaturverifikation ermöglicht, die auf das Fiat-Shamir-Schema und das
Schnorr-Schema anwendbar ist. Gleichzeitig wird Sicherheit geboten, selbst wenn der Wert der
y-Komponente, bei der es sich um eine der Hauptsignaturkomponenten handelt zum Zeitpunkt
der Signaturverifikation akkumuliert wird und lediglich eine Verifikationsgleichung verwendet
wird.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnungen näher
erläutert. Es zeigen:
Fig. 1A ein Blockdiagramm, das den Aufbau eines Systems darstellt, bei dem das Überlage
rungs- oder das Mehrfachsignaturschema und die Block-Signaturverifikation dafür
gemäß der vorliegenden Erfindung anwendbar sind,
Fig. 1B ein Blockdiagramm, das den Aufbau eines Systems darstellt, bei dem das Einzelsigna
turschema und die Block-Signaturverifikation dafür gemäß der vorliegenden Erfindung
anwendbar sind,
Fig. 2 ein Blockdiagramm, das den funktionalen, mit einer Verarbeitung zur anfänglichen
Informationseinstellung in Zusammenhang stehenden Aufbau einer Zentralvorrichtung
100 in Fig. 1A oder 1B darstellt,
Fig. 3 ein Blockdiagramm, das den funktionalen, mit einem Prozeß für die Systemeinschrei
bung in Zusammenhang stehenden Aufbau einer Unterzeichnervorrichtung in Fig. 1A
zeigt,
Fig. 4 ein Diagramm, das eine Interaktionsfolge von Information mit überlagerten Signaturen
zeigt,
Fig. 5 ein Blockdiagramm, das den funktionalen, mit einer Verarbeitung zur Signaturerzeu
gung in Zusammenhang stehenden Aufbau einer Unterzeichnervorrichtung in Fig. 1A
zeigt,
Fig. 6 ein Blockdiagramm, das den funktionalen, mit der Verarbeitung zur Signaturverifikation
in Zusammenhang stehenden Aufbau der Verifizierervorrichtung 800 in Fig. 1A zeigt,
Fig. 7 ein Diagramm zeigt, das eine Interaktionsfolge von Information mit Mehrfachsignatu
ren zeigt,
Fig. 8 ein Blockdiagramm, das den funktionalen, mit der Verarbeitung zur Signaturerzeugung
in dem Mehrfachsignaturschema in Zusammenhang stehenden Aufbau der Unter
zeichnervorrichtung in Fig. 1A zeigt,
Fig. 9 ein Blockdiagramm, das den funktionalen, mit der Verarbeitung zur Signaturverifikation
in dem Mehrfachsignaturschema in Zusammenhang stehenden Aufbau der Verifizie
rervorrichtung 800 in Fig. 1A zeigt,
Fig. 10 ein Blockdiagramm, das den funktionalen, mit der Verarbeitung ihrer Systemeinschrei
bung in dem Einzelsignaturschema in Zusammenhang stehenden Aufbau einer Unter
zeichnervorrichtung in Fig. 1B zeigt,
Fig. 11 ein Diagramm, das eine Interaktionsfolge von Information in dem Einzelsignaturschema
zeigt,
Fig. 12 ein Blockdiagramm, das den funktionalen, mit der Verarbeitung zur Signaturerzeugung
in Zusammenhang stehenden Aufbau einer Unterzeichnervorrichtung in Fig. 1B zeigt,
Fig. 13 ein Blockdiagramm, das den funktionalen, mit der Verarbeitung zur Signaturverifikation
in Zusammenhang stehenden Aufbau der Verifizierervorrichtung 800 in Fig. 1B zeigt,
Fig. 14 ein Blockdiagramm, das den funktionalen Aufbau der Zentralvorrichtung 100 in Fig.
1A zeigt, der mit der Verarbeitung zur anfänglichen Informationseinstellung im Fall
eines auf einer elliptischen Kurve beruhenden Verschlüsselungssystems in Zusammen
hang steht,
Fig. 15 ein Blockdiagramm, das den funktionalen Block einer Unterzeichnervorrichtung in dem
System von Fig. 1A zeigt, der mit der Verarbeitung ihrer Systemeinschreibung unter
Verwendung des auf einer elliptischen Kurve beruhenden Verschlüsselungssystems
verbunden ist,
Fig. 16 ein Blockdiagramm, das den funktionalen Block einer Unterzeichnervorrichtung in dem
System von Fig. 1A zeigt, der mit der Verarbeitung zur Signaturerzeugung in dem
Überlagerungssignaturschema unter Verwendung des auf einer elliptischen Kurve
beruhenden Verschlüsselungssystems verbunden ist,
Fig. 17 ein Blockdiagramm, das den funktionalen Block der Verifizierervorrichtung 800 in dem
System von Fig. 1A zeigt, der mit der Verarbeitung zur Signaturverifikation in dem
Überlagerungssignaturschema unter Verwendung des auf einer elliptischen Kurve
beruhenden Verschlüsselungssystems verbunden ist,
Fig. 18 ein Blockdiagramm, das den Aufbau einer Unterzeichnervorrichtung in einem System
von Fig. 1A für das Mehrfachsignaturschema unter Verwendung einer elliptischen
Kurve darstellt,
Fig. 19 ein Blockdiagramm, das den Aufbau der Verifizierervorrichtung 800 in dem System
von Fig. 1A für das Mehrfachsignaturschema unter Verwendung der elliptischen Kurve
zeigt,
Fig. 20 ein Blockdiagramm, das den Aufbau einer Unterzeichnervorrichtung in einem System
gemäß Fig. 1B für das Einzelsignaturschema unter Verwendung der elliptischen Kurve
zeigt,
Fig. 21 ein Blockdiagramm, das den Aufbau der Verifizierervorrichtung 800 in dem System
von Fig. 1B für das Einzelsignaturschema unter Verwendung der elliptischen Kurve
zeigt,
Fig. 22 eine Tabelle, die die grundlegenden Berechnungsgleichungen bei der vorliegenden
Erfindung im Vergleich mit jenen in dem RSA-Schema und dem Schnorr-Schema zur
Bewertung der vorliegenden Erfindung zeigt, und
Fig. 23 eine Tabelle, die den erforderlichen Rechenaufwand bei der vorliegenden Erfindung im
Vergleich mit jenen beim RSA-Schema und beim Schnorr-Schema zeigt.
Das Block-Signatursystem gemäß der vorliegenden Erfindung umfaßt eine Zentralvorrichtung 100
(nachfolgend auch einfach als Zentrale bezeichnet), L Unterzeichnervorrichtungen (nachfolgend
auch einfach als Unterzeichner bezeichnet) 30 1, 30 2, ..., 30 L, wobei L eine ganze Zahl gleich
oder größer als 2 ist, und eine Verifizierervorrichtung 800 (nachfolgend auch einfach als
Verifizierer bezeichnet). Die Unterzeichnervorrichtungen und die Verifizierervorrichtung sind
jeweils über einen Kanal 400 garantierter Sicherheit mit der Zentralvorrichtung 100 verbunden.
Die Unterzeichnervorrichtungen 30 1, 30 2, ..., 30 L sind in einer Kette über Kanäle 500 nicht
garantierter Sicherheit verbunden. Die L-te Unterzeichnervorrichtung 30 L ist mit der Verifizierer
vorrichtung 800 über einen Kanal 700 nicht garantierter Sicherheit verbunden. In diesem System
bringt der Unterzeichner 30 1 seine Signatur an einem Dokument m1 unter Verwendung einer
Signaturfunktion Sg1 an, sendet dann das unterzeichnete Dokument als y1 = Sg1(m1) an den
nächsten Unterzeichner 30 2, der seinerseits unter Verwendung einer Signaturfunktion Sg2 seine
Signatur an einem Dokument m2 und der empfangenen Signaturinformation y1 anbringt und sie
als Signaturinformation y2 = Sg2(m1, y1) an den Unterzeichner 30 3 sendet. Diese Verarbeitung
wiederholt sich für jeden nachfolgenden Unterzeichner. Der letzte Unterzeichner 30 L bringt seine
Signatur an einem Dokument mL und der von ihm empfangenen Signaturinformation yL-1 unter
Verwendung einer Signaturfunktion SgL an und sendet sie als Signaturinformation yL = SgL(mL,
yL-1) an die Verifizierervorrichtung 800. Eine solche Signaturverarbeitung wird als Überlage
rungssignaturschema bezeichnet.
Wenn bei diesem Beispiel lediglich das Dokument m1 des ersten Unterzeichners existiert, die
Dokumente m2, ..., mL der nachfolgenden Unterzeichner also nicht existieren, unterzeichnen die
L Unterzeichner dasselbe Dokument m1 nacheinander. Dies wird als Mehrfachsignaturschema
bezeichnet. In jedem Fall verifiziert der Verifizierer 800 gemäß der vorliegenden Erfindung die
empfangene Signaturinformation yL en-bloc, d. h. alle auf einmal. Wenn alle Signaturen gültig
sind, endet ihre Verifikation in einer Verarbeitungsrunde bzw. einem Verarbeitungsdurchlauf.
Wenn jedoch irgend eine der Signaturen ungültig ist, wird eine Verarbeitung zur Ermittlung des
nicht autorisierten Unterzeichners durchgeführt. Wenn beispielsweise die Anzahl involvierter
Unterzeichner 2M ist, werden diese in eine erste und eine zweite Halbgruppe je bestehend aus
2M-1 Unterzeichnern unterteilt, und die Signaturen von 2M-1 Unterzeichnern einer Gruppe werden
auf einmal, d. h. als Block verifiziert. Wenn eine ungültige Signatur gefunden wird, werden 2M-2
Signaturen der ersten oder der zweiten Halbgruppe auf einmal verifiziert. Wenn keine ungültige
Signatur gefunden wird, werden die Signaturen der verbleibenden 2M-1 oder 2M-2 Unterzeichner
der ersten oder der zweiten Halbgruppe auf einmal verifiziert, wonach der gleiche Vorgang
wiederholt wird. Auf diese Weise kann die unautorisierte Signatur in M + 1 Durchläufen einer
Verifikationsverarbeitung ermittelt werden.
Bei einem anderen System zur Ausführung der vorliegenden Erfindung ist gemäß Darstellung in
Fig. 1B eine Zentralvorrichtung 100 mit L Unterzeichnervorrichtungen 30 1, 30 2, ..., 30 L und einer
Verifizierervorrichtung 800 über Kanäle 400 garantierter Sicherheit verbunden, wie dies auch bei
Fig. 1A der Fall ist. Die Unterzeichnervorrichtungen 30 1, 30 2, ..., 30 L sind hier jedoch je direkt
mit der Verifizierervorrichtung 800 über einen jeweiligen Kanal 500 nicht garantierter Sicherheit
verbunden. Bei diesem System bringt jeder Unterzeichner seine Signatur unter Verwendung einer
Signaturfunktion an einem jeweiligen Dokument an (der i-te Unterzeichner an dem Dokument mi
unter Verwendung einer Signaturfunktion Sgi) und sendet das unterzeichnete Dokument (im Fall
des i-ten Unterzeichners als yi = Sgi(mi)) an den Verifizierer 800, der die empfangene Information
(yi = Sgi(mi) für i = 1, ..., L) en-bloc verifiziert.
Nachfolgend werden der i-te, der (i - 1)-te, der (i + 1)-te, etc. Unterzeichner entsprechend der
Unterzeichnervorrichtung 30 i, 30 i-1, 30 i+1, etc. zur Vereinfachung als Unterzeichner i, Unter
zeichner (i - 1), Unterzeichner (i + 1) etc. bezeichnet. Dabei gilt im Rahmen dieser Beschreibung 1
≦ i ≦ L, soweit nichts anderes ausgeführt ist.
Die Prinzipien der Verfahren zur Durchführung einer Block-Signaturverifikation von Signaturen
mehrerer Unterzeichner bei den obigen beiden Systemen gemäß der vorliegenden Erfindung
werden nachfolgend beschrieben.
Schritt S1: Die Zentrale 100 veröffentlicht (sendet an alle Unterzeichner und an den Verifizierer)
öffentliche Parameterinformation enthaltend einen Parameter q für jeden Unterzeichner
zur Erzeugung der Signaturfunktion Sgi und einen Parameter β = G1(q), der unter Ver
wendung des Parameters q mit einer Funktion G1 erzeugt wird.
Schritt S2: Jeder Unterzeichner i erzeugt eine erste Zufallszahl si als Geheiminformation und
behält sie in einem Speicher. Weiterhin erzeugt der Unterzeichner i Information Ii = G2(si,
β) mit einer Funktion G2 unter Verwendung des öffentlichen Parameters β und der
ersten Zufallszahl si und trägt die Information Ii , zwei Einweg-Funktionen fi und hi zur
Verwendung durch den Unterzeichner i sowie seine Identifikationsinformation IDi als
öffentliche Unterzeichnerinformation {IDi, Ii, fi, hi} bei der Zentrale 100 ein.
Schritt S3: Der Unterzeichner i erzeugt eine zweite Zufallszahl ri und setzt den Parameter β und
die zweite Zufallszahl ri in eine Funktion Φ ein, wodurch Information Xi = Φ(ri, β) erzeugt
wird. Information enthaltend die Information Xi wird als X'i eingestellt.
Schritt S4: Der Unterzeichner i verwendet Dokumentinformation m'i, die ein zu unterzeichnendes
Dokument mi enthält, und die Information X'i zur Erzeugung mittels der beiden Einweg-
Funktionen fi und hi von
ei = fi(X'i, m'i) (8)
di = hi(X'i, m'i) (9)
Schritt S5: Der Unterzeichner i erzeugt die folgende Signatur von Information enthaltend ei, di,
si, ri und y'i-1 mit der Signaturfunktion Sgi
Yi = Sgi(ei, di, si, ri, y'i-1), (10)
setzt dann die Identifikationsinformation IDi enthaltende Information als Identifikations
information ID'i und sendet Information {ID'i, X'i, m'i, yi} einzeln oder über die anderen
Unterzeichner an den Verifizierer 800 als die letzte Bestimmung. Wenn einzeln an den
Verifizierer gesendet wird, ist y'i-1 eine leere Menge, während wenn über die anderen
Unterzeichner gesendet wird, y'i-1 so eingestellt wird, daß y'i-1 = yi-1.
Schritt S6: Der Verifizierer 800 errechnet aus der öffentlichen Information {IDi, Ii, fi, hi} die
Information Ii entsprechend der Identifikationsinformation IDi, die in ID'i in der empfan
genen {ID'i, X'i, m'i, yi} enthalten ist, sowie die beiden Einweg-Funktionen fi und hi,
und berechnet ei und di unter Verwendung der Einweg-Funktionen fi und hi und der
empfangenen Informationen X'i und m'i gemäß Gleichungen (8) und (9). Weiterhin
extrahiert der Verifizierer 800 Xi aus der empfangenen Information X'i und führt dann
eine Berechnung di . Xi zwischen di und Xi sowie eine Berechnung ei . Ii zwischen ei und Ii
aus und berechnet den folgenden Wert anhand der Ergebnisse der obigen Berechnungen
unter Verwendung einer Funktion V:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) (11)
Die mit dem Symbol * bezeichnete Rechenvorschrift kann eine Potenzierung, Multiplikation oder
ähnliches sein.
Schritt S7: Der Verifizierer 800 setzt weiterhin das Rechenergebnis yi . β zwischen yi und β in
eine Funktion Γ zur Errechnung von W = Γ(yi . β) ein und führt eine Signaturverifikation
durch, indem geprüft wird, ob W = Z'. Wenn dies der Fall ist, entscheidet der Verifizie
rer, daß alle Signaturen gültig sind.
Im Fall der Durchführung einer Block-Signaturverifikation mittels des oben beschriebenen
Verfahrens bei dem Überlagerungs- oder dem Mehrfachsignatursystem von Fig. 1A wird die
Information y'i-1 = yi-1 gesetzt und X'i , m'i und ID'i wie folgt eingestellt:
X'i = (X'i-1, Xi) (12)
m'i = (m'i-1, mi) (13)
ID'i = (ID'i, IDi-1) (14)
Der Unterzeichner i empfängt Information {ID'i-1, X'i-1, m'i-1, yi-1} von dem vorhergehenden
Unterzeichner (i - 1), führt dann die Schritte S3 bis S5 aus und sendet Information {ID'i, X'i, m'i,
yi} an den nächsten Unterzeichner (i + 1). Der letzte Unterzeichner führt die Schritte S3 bis S5
aus und sendet Information {ID'L, X'L, m'L, yL} an den Verifizierer 800.
Wenn man bei dem Voranstehenden m'1 = m1 = m und m2 = m3 = ... = mL = "leere Menge"
einstellt, d. h. m'2 = m'3 = ... = m'L = m einstellt, erhält man die oben genannte Mehrfachsignatur.
Im Fall der Block-Verifikation von Signaturen bei dem Einzelsignatursystem von Fig. 1 B dadurch,
daß man den Prozeduren der oben erwähnten Schritte S1 bis S7 folgt, werden y'i-1 = leere
Menge, X'i = Xi, m'i = mi und ID'i = IDi eingestellt, und der Unterzeichner i sendet die Information
{IDi, Xi, mi, yi}, die mittels der Schritte S3, S4 und S5 erzeugt wird, direkt an den Verifizierer
800.
Wie oben in Verbindung mit Schritt S4 beschrieben, erzeugt gemäß der vorliegenden Erfindung
jeder Unterzeichner zwei Informationen oder Komponenten ei und di unter Verwendung der
beiden Einweg-Funktionen fi und hi und erzeugt die Information yi, die diese Komponenten
enthält, während die Signaturverifikation unter Berücksichtigung dieser beiden Informationen ei
und di durchgeführt wird. Somit kann die Verifikation auf der Basis einer Informationsumlauf
runde nach Unterzeichnung durch die Unterzeichner 1 bis L durchgeführt werden. Weiterhin ist
die Sicherheit garantiert. Im Gegensatz dazu, führt, da das oben beschriebene Signaturverifika
tionsverfahren von Schnorr die Signatur y unter Verwendung der mittels einer Einweg-Funktion f
errechneten e-Komponente und der Zufallszahlen r und s gemäß den Gleichungen (3) und (4)
ableitet, die direkte Anwendung dieses Verfahrens auf das Überlagerungssignaturschema zu
einer Vergrößerung der Informationsmenge {IDi, Xi, yi}, die von jedem Unterzeichner an den
nächsten gesandt wird, wodurch unvermeidlich der von dem Verifizierer zur Signaturverifikation
zu bewältigende Rechenaufwand erhöht wird.
Als nächstes folgt eine Beschreibung eines konkreten Verfahrens zur Ausführung des oben
beschriebenen grundsätzlichen Block-Signaturverifikationsschemas bei den Systemen der Fig.
1A und 1B, sowie von Beispielen der einzelnen Unterzeichnungsvorrichtungen und der Verifizie
rervorrichtung zur Verwendung in dem Schema.
Dieses Ausführungsbeispiel betrifft die Anwendung der Überlagerungssignatur und der Block-
Signaturverifikation entsprechend den Prinzipien der vorliegenden Erfindung auf die Schnorr-
Schemata in dem System von Fig. 1A. Die Idee der Verwendung einer zweiten Exponentialkom
ponente, die hier erwähnt wird, ist auch in weitem Umfang anwendbar auf die Fiat-Shamir-
Schemata und auf digitale Signaturschemata, die interaktive Prüfungen einschließlich der Fiat-
Shamir-Schemata verwenden. Beispiele der interaktiven Prüfungen einschließlich Fiat-Shamir-
Schemata oder von ähnlichen sind in der oben erwähnten Literaturstelle M. Tompa und H. Woll
beschrieben.
Zum Zeitpunkt seiner Einschreibung im System erzeugt jede Unterzeichner i Geheiminformation si
und öffentliche Information und trägt öffentliche Information (ID, 1) in einem öffentlichen
Informationsverwaltungsverzeichnis der Zentrale 100 ein. Die Zentrale 100 sendet die öffentliche
Information nach Bedarf an die Unterzeichner (Unterzeichnervorrichtungen 30 1, ..., 30 L) und den
Verifizierer 800.
Als erstes soll die anfängliche Informationseinstellverarbeitung durch die Zentrale 100 zum
Zeitpunkt des Systemstarts beschrieben werden (siehe Fig. 2). Diese Verarbeitung ist dazu
vorgesehen, einen einzigartigen oder eindeutigen Wert {p, q, g} des Systems zu veröffentlichen.
Schritt S1: Die Zentrale 100 erzeugt mittels eines Primzahlgenerators 110 eine Primzahl p und
mittels eines Dividierers 120 eine Primzahl q, die ein Maß von p - 1 ist
Schritt S2: Die Zentrale 100 erzeugt ein Grundelement a von (Z/pZ)* mittels eines Grundele
mentgenerators 130 und eine Ganzzahl g eines Grads oder einer Ordnung q unter Ver
wendung eines Modulo-Exponentiators 140 gemäß der folgenden Gleichung:
g = α(p-1)q mod p (15)
Die rechte Seite der Gleichung (15) stellt die zuvor erwähnte Funktion G1 dar, während
g auf der linken Seite β entspricht.
Schritt S3: Die öffentliche Information {p, q, g} wird an die Unterzeichnervorrichtungen 30 1, ...,
30 L und an die Verifizierervorrichtung 800 über die sicheren Kanäle 400 gesandt.
Als nächstes erfolgt eine Beschreibung der Verarbeitung, die der Unterzeichner i durchführt,
wenn er sich im System einschreibt (siehe Fig. 3, die die Unterzeichnervorrichtung 30 i entspre
chend dem Unterzeichner i zeigt). Im Speicher 33 jeder Unterzeichnervorrichtung 30 i ist die von
der Zentrale 100 empfangene öffentliche Information {p, q, g} gespeichert.
Schritt S4: Der Unterzeichner i erzeugt die Zufallszahl si mittels eines Zufallsgenerators 31 und
gibt sie in einen Modulo-Exponentiator 32 zusammen mit den öffentlichen Informatio
nen g und p ein. Daraufhin wird die öffentliche Information Ii gemäß nachstehender
Gleichung (16) berechnet:
Ii = gsi mod p (16)
Die rechte Seite von Gleichung (16) stellt die oben erwähnte Funktion G2 dar.
Schritt S5: Der Unterzeichner i sendet die Identifikationsinformation IDi, die öffentliche Informa
tion Ii und die Einweg-Funktionen fi und hi über den sichere Kanal 400 an die Zentrale
100, um sie als öffentliche Information {IDi, Ii, fi, hi} registrieren zu lassen. Der Unter
zeichner i hält die Zufallszahl si als geheime Information in dem Speicher 33.
Die anderen Unterzeichner (1 bis (i - 1) und (i + 1) bis L) führen dieselbe Verarbeitung aus, wenn
sie Teilnehmer des Systems werden. Die Zentrale 100 liefert die öffentliche Information {IDi, Ii,
fi, hi} auf irgendeine Weise, beispielsweise in der Form eines öffentlichen Verzeichnisses oder
einer öffentlichen Datei, an den Verifizierer 800.
Bei der folgenden Beschreibung wird die unterzeichnete Version des Dokuments m'i, die von dem
Unterzeichner i geliefert wird, durch {ID'i, X'i, m'i, yi} identifiziert. Es erfolgt nun eine Beschrei
bung des Falls, wo der Unterzeichner (i - 1) die zu unterzeichnende Nachricht sendet und der
Unterzeichner i seine Signatur an der Nachricht anbringt und die unterzeichnete Nachricht an den
nächsten Unterzeichner (i + 1) sendet. Wenn L Unterzeichner eine Überlagerungssignatur
erzeugen, braucht lediglich i schrittweise um eins von 1 auf L erhöht zu werden und die folgende
Prozedur wiederholt zu werden. In diesem Fall wird der Unterzeichner (L + 1) als der Verifizierer
betrachtet, ID'0 = leere Menge, X'0 = leere Menge und y0 = 0.
Fig. 4 zeigt eine Interaktionsfolge einer Nachricht und Fig. 5 den funktionalen Aufbau der
Unterzeichnervorrichtung 30 i. Wenn der Unterzeichner i eine Nachricht {ID'i-1, X'i-1, m'i-1, yi-1}
von dem Unterzeichner (i - 1) erhält, führt er die nachstehend beschriebene Signaturerzeugungs
verarbeitung aus.
Schritt S6: Der Unterzeichner i erzeugt die Zufallszahl ri mittels eines Zufallsgenerators 310 und
gibt sie zusammen mit den öffentlichen Informationen {p, g}, die im Speicher 33 ge
speichert sind, in einen Modulo-Exponentiator 320 ein, der die Funktion Φ berechnet,
und in welchem Xi gemäß Gleichung (17) berechnet wird:
Xi = Φ(ri, g) = gri mod p (17)
Schritt S7: Der Unterzeichner i verwendet einen fi-Funktionsrechner 330 und einen hi-Funktions
rechner 340 zur Errechnung zweier Informationen ei bzw. di gemäß
ei = fi(X'i, m'i) (18)
di = hi(X'i, m'i) (19)
In diesem Fall gilt X'i = (X'i-1, Xi) oder m'i = (m'i-1, mi), wobei mi das vom dem Unter
zeichner i zu unterzeichnende Dokument ist.
Schritt S8: Der Unterzeichner i gibt diese Informationen ei, di und die Zufallszahl ri in einen
Modulo-Exponentiator 350 und dann in einen Modulo-Addierer 360 zusammen mit der
öffentlichen Information q und der geheimen Information si ein, wodurch gemäß Glei
chung (20) die Signatur erzeugt wird:
yi = (yi-1 + diri + eisi) mod q (20)
Die rechte Seite der Gleichung (20) stellt die Signaturfunktion Sgi in Gleichung (10) dar.
Schritt S9: Der Unterzeichner i setzt ID'i = (ID'i-1, IDi) und sendet Information {ID'i, X'i, m'i, yi}
an den nächsten Unterzeichner (i + 1).
Fig. 6 zeigt den funktionalen Aufbau der Verifizierervorrichtung 800. Wenn der Verifizierer die
Nachricht {ID'L, X'L, m'L, yL } von dem Unterzeichner L (i = L) empfängt, verifiziert er die
Gültigkeit der einzelnen Signaturen mittels der nachfolgend beschriebenen Verarbeitung.
Schritt S10: Die Einweg-Funktionen fi und hi, die in der öffentlichen Information {IDi, Ii, fi, hi}
enthalten sind, welche von der Zentrale 100 geliefert wird, werden in Einweg-Funk
tionsrechnern 810 bzw. 820 eingestellt. Die ersten i Komponenten der Information X'L
werden zur Bildung von X'i verwendet, und die ersten i Komponenten der Information
m'L werden zur Bildung von m'i verwendet. Die Informationen X'i und m'i, die auf diese
Weise erhalten werden, werden in dem fi-Funktionsrechner 810 und dem hi-Funktions
rechner 820 eingestellt, mit denen die Komponenten ei bzw. di durch die nachstehen
den Gleichungen errechnet werden:
ei = fi(X'i, m'i) = fi(X1, X2, ..., Xi, {m1, m2, ..., mi}) (21)
di = hi(X'i, m'i) = hi(X1, X2, ..., Xi, {m1, m2, ..., mi }) (22)
Schritt S11: Die Information Ii wird aus der öffentlichen Information {IDi, Ti, fi, hi} abgeleitet,
die von der Zentrale 100 geliefert wird, und außerdem wird die Information Xi aus der
Information X'L abgeleitet. Diese Informationen Ii und Xi werden zusammen mit den
Komponenten ei und di sowie der öffentlichen Information p in einen Multikomponen
ten-Modulo-Exponentiator 830 eingegeben, in welchem gemäß nachstehender Glei
chung Z' errechnet wird:
Z' = X1 d1I1 e1 ... XL dLIL eL mod p. (23)
Die rechte Seite der Gleichung (23) entspricht der Funktion V((Xi . di), (Ii . ei), auf die
zuvor in Verbindung mit den Prinzipien der vorliegenden Erfindung verwiesen wurde.
Schritt S12: Die Information yL und die öffentlichen Informationen p und g, die in dem Speicher
88 gespeichert sind, werden in einen Modulo-Exponentiator 840 eingegeben, um
mittels der nachstehenden Gleichung (24) W zu errechnen:
W = gyL mod p (24)
Schritt S13: Z' und W werden in einen Komparator 850 eingegeben, wo sie miteinander
verglichen werden um sicherzustellen, daß
W = Z' (25)
Wenn sie einander gleich sind, wird davon ausgegangen, daß die Dokumente (m1, ...,
mL) ordnungsgemäß jeweils durch die L autorisierten Unterzeichner unterzeichnet
wurden.
Nachstehend erfolgt eine Beschreibung eines verbesserten Quadrier-und-Multiplizier-Algorithmus
für die Berechnung von Gleichung (23) durch den Multikomponenten-Modulo-Exponentiator 830,
wie etwa eine Multikomponenten-Modulo-Potenzierung wie sie durch xayb mod N ausgedrückt
ist.
Schritt 1: z = 1
Schritt 2: Die folgende Verarbeitung wird für den Index i = 0, 1, ..., |a| - 1 ausgeführt (wobei |a| die Anzahl von Bits von a repräsentiert).
Schritt 1: z = 1
Schritt 2: Die folgende Verarbeitung wird für den Index i = 0, 1, ..., |a| - 1 ausgeführt (wobei |a| die Anzahl von Bits von a repräsentiert).
Schritt 2-1: z = z2 mod N (26)
Schritt 2-2:
wenn (ai, bi) = (1, 0), z = zx mod N (27)
wenn (ai, bi) = (0, 1), z = zy mod N (28)
wenn (ai, bi) = (1, 1), z = z(xy) mod N (29)
wobei ai der Wert, 0 oder 1, eines i-ten Bits ist und dasselbe für bi gilt.
Schritt 3: z wird ausgegeben.
Schritt 3: z wird ausgegeben.
Durch Verwendung des obigen Algorithmus mit x = Xi, a = di, y = Ii, b = ei und N = p, ist es
möglich Z1Z2 mod p zu erhalten (wobei Z1 = Xi diIi ei mod p).
Berücksichtigt man den Weg zur Erzeugung von yL, gilt
gyL ∼ gyL-1(grL)dL(gsL)eL ∼ gyL-1XL dLIL eL ∼ ... ∼ X1 d1I1 e1 ... XL dLIL eL(mod p) (30)
Wenn somit die Dokumente {m1, ..., mL} den obigen Test durch den Komparator 850 bestehen,
akzeptiert der Verifizierer 800 die Dokumente als von den L autorisierten oder gültigen Unter
zeichnern ordnungsgemäß unterzeichnet.
Ein Verfahren zum Implementieren des Multikomponenten-Quadrier-und-Multiplizier-Algorithmus
mit höherer Effizienz ist beispielsweise beschrieben in D. E. Knuth, "The Art of Computer
Programming, Vol. 2, Seminumerical Algorithms," Addison-Wesley Publishing, (1981), P. 456,
Exercises 27 und 35.
Gemäß dem in der voranstehenden Literaturstelle vorgeschlagenen Verfahren wird, wenn s als
Speichereinheit zur Speicherung von Ergebnissen einer Vorberechnung in eine Tabelle eingestellt
wird (s = 2 bei dem oben beschrieben Multikomponenten-Quadrier-und-Multiplizier-Algorithmus),
die Anzahl von Multiplikationen (einschließlich Modulo-p-Rechnungen) wie folgt:
(2s - s - 1)[(2L + 1)/s] + [(2L + 1)/s]|q| - 1 + |q| - 1
dabei ist unter [b/a] die kleinste ganze Zahl zu verstehen, die größer als b/a ist.
Es ist auch möglich, das System so auszugestalten, daß jeder Unterzeichner i vor Erzeugung
seiner Signatur prüft, ob die von ihm empfangene Nachricht {ID'i-1, X'i-1, m'i-1, yi-1} von den
vorhergehenden Unterzeichnern 1 bis (i - 1) ordnungsgemäß unterzeichnet wurde. Wenn dies der
Fall ist, fügt er seine Signatur der verifizierten Nachricht bei. In diesem Fall liefert die Zentrale
100 die öffentliche Information (IDi, Ii, fi, hi) für i = 1, ..., (i - 1) vorab an den Unterzeichner i, und
die Verifikation kann in gleicher Weise wie in den Schritten S10 bis S13 bei dem Verifizierer 800
durchgeführt werden. In diesem Fall wird L in den Schritten S10 bis S13 durch (i - 1) ersetzt.
Die Unterzeichnervorrichtungen und die Verifizierervorrichtungen führen die oben beschriebene
Verarbeitung gewöhnlich mit Hilfe von Computern aus.
Wie zuvor erwähnt, ist die vorliegende Erfindung anwendbar nicht nur auf die Schnorr-Schemata,
sondern auch auf die Fiat-Shamir-Schemata und auf digitale Signatur-Schemata, die interaktive
Prüfungen einschließlich der Fiat-Shamir-Schemata verwenden. Demgemäß kann das Verfahren
der vorliegenden Erfindung allgemein wie folgt zusammengefaßt werden:
Die Systemparameter, die veröffentlicht werden, sind p zur Angabe der Anzahl von Elementen
der Gruppe, ein Element g der Gruppe, mit dem eine Gruppenberechnung beginnt, und eine
positive ganze Zahl q derart, daß, wenn das Element g q-mal berechnet wird, die Rechnung zu
dem Element g zurückkehrt.
Der Unterzeichner i
erzeugt die Zufallszahl si mittels des Zufallsgenerators im Moment seiner Einschreibung in das System und gibt die Zufallszahl si und die öffentlichen Informationen g und p in einen Gruppenrechner ein, in welchem das Element g si-mal gerechnet wird, um die öffentliche Information Ii zu berechnen; und
veröffentlicht die öffentliche Information Ii und die Einweg-Funktionen fi und hi zusam men mit der Identifikationsinformation IDi, behält jedoch die Zufallszahl si als geheime Informa tion.
erzeugt die Zufallszahl si mittels des Zufallsgenerators im Moment seiner Einschreibung in das System und gibt die Zufallszahl si und die öffentlichen Informationen g und p in einen Gruppenrechner ein, in welchem das Element g si-mal gerechnet wird, um die öffentliche Information Ii zu berechnen; und
veröffentlicht die öffentliche Information Ii und die Einweg-Funktionen fi und hi zusam men mit der Identifikationsinformation IDi, behält jedoch die Zufallszahl si als geheime Informa tion.
Bei der Signaturerzeugungsverarbeitung nach Empfang der unterzeichneten Nachricht
{ID'i-1, X'i-1, m'i-1, yi-1} vom Unterzeichner (i - 1) auf der Basis der Nachricht mi-1, macht der
Unterzeichner i folgendes:
er erzeugt die Zufallszahl ri unter Verwendung des Zufallsgenerators, gibt sie dann zusammen mit den öffentlichen Informationen p und g in den Gruppenrechner ein, um das Element g ri-mal zum Erhalt der Information Xi zu rechnen, und setzt X'i = (X'i-1, Xi) und m'i = (m'i, mi);
er berechnet die Komponenten ei und di durch
er erzeugt die Zufallszahl ri unter Verwendung des Zufallsgenerators, gibt sie dann zusammen mit den öffentlichen Informationen p und g in den Gruppenrechner ein, um das Element g ri-mal zum Erhalt der Information Xi zu rechnen, und setzt X'i = (X'i-1, Xi) und m'i = (m'i, mi);
er berechnet die Komponenten ei und di durch
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
di = hi(X'i, m'i)
unter Verwendung des fi-Funktionsrechners und des hi-Funktionsrechners; und
er gibt die Information ei, di und ri zusammen mit der öffentlichen Information q und der geheimen Information si in einen Exponentialkomponenten-Multiplizierer und einen Exponential komponenten-Addierer ein, worin yi mit der Signaturfunktion Sgi errechnet wird, und zwar durch
er gibt die Information ei, di und ri zusammen mit der öffentlichen Information q und der geheimen Information si in einen Exponentialkomponenten-Multiplizierer und einen Exponential komponenten-Addierer ein, worin yi mit der Signaturfunktion Sgi errechnet wird, und zwar durch
yi = (yi-1 + diri + eisi) mod q,
und er setzt dann ID'i = (ID'i-1, IDi) und sendet die Nachricht {ID'i, X'i, m'i, yi} an den nächsten
Unterzeichner (i + 1).
Andererseits bildet der Verifizierer, wenn er die Nachricht {ID'L, X'L, m'L, yL } von dem
Unterzeichner L empfängt, X'i aus den ersten i Komponenten der Information X'L und m'i aus den
ersten i Komponenten der Information m'L und gibt diese Informationen X'i und m'i dann in den
fi-Funktionsrechner und den hi-Funktionsrechner ein, worin
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
di = hi(X'i, m'i)
berechnet werden, um für jedes i(1 ≦ i ≦ L) die Komponenten ei und di zu erhalten. Der Verifizie
rer leitet dann die entsprechende öffentliche Information Ii aus der IDi-Komponente in der
Information ID'L und die Information Xi aus der X'L-Komponente ab und gibt diese Informationen
Ii und Xi sowie die oben erwähnten Komponenten ei und di und die öffentliche Information p in
den Multikomponenten-Gruppenrechner ein, in welchem Z' durch sequentielles di-faches
Rechnen von Xi und ei-faches Rechnen von Ti für die Werte i von 1 bis L erhalten wird;
er gibt yL und die öffentlichen Informationen p und g in den Gruppenrechner zur yL-fachen Berechnung von g ein, um dadurch W zu erhalten; und
er gibt Z' und W in den Komparator ein, um zu prüfen, ob
er gibt yL und die öffentlichen Informationen p und g in den Gruppenrechner zur yL-fachen Berechnung von g ein, um dadurch W zu erhalten; und
er gibt Z' und W in den Komparator ein, um zu prüfen, ob
W ∼ Z'.
Wenn die beiden übereinstimmen, erkennt der Verifizierer, daß das Dokument {m1, ..., mL} von
den L autorisierten Unterzeichnern ordnungsgemäß unterzeichnet wurde.
Auch bei diesem typischen Schema sind jede Unterzeichnervorrichtung, eine Benutzervorrichtung
und ein Aufzeichnungs- oder Speichermedium in ähnlicher Weise aufgebaut.
Während bei dem Voranstehenden gilt ID'i = (ID'i-1, IDi), ist es auch möglich, die Einstellung so
vorzusehen, daß ID'i = (ID'i-1, Ii). Dies erspart der Verifizierervorrichtung die Mühe der Suche
nach der Identifikationsinformation IDi für die öffentliche Information Ii.
Wenn bei dem Überlagerungssignaturschema und der Block-Signaturverifikation dafür, die oben
unter Bezugnahme auf die Fig. 2 bis 6 beschrieben wurden, das von dem (i = 1)-ten Unterzeich
ner entsprechend der Unterzeichnervorrichtung 30 1 zu unterzeichnende Dokument m1 auf m
gesetzt wird und die Dokumente m2, ..., mL in den Unterzeichnervorrichtungen 30 2 bis 30 L alle
leer gemacht werden, werden die Unterzeichner 1 bis L das Dokument m auf Mehrfachsignatur
basis unterzeichnen. Ein Ausführungsbeispiel dieses Falles wird nachfolgend beschrieben. Dabei
geht die Beschreibung von der Verwendung des Schnorr-Schemas aus.
Der Systemaufbau bei diesem Ausführungsbeispiel ist der gleiche wie in Fig. 1A, und die
Zentrale 100 ist ebenfalls identisch mit der in Fig. 2 gezeigten aufgebaut. Außerdem führt die
Zentrale 100 dieselbe Verarbeitung wie bei dem ersten Ausführungsbeispiel aus und erzeugt
öffentliche Information {p, q, g} mittels der anfänglichen Informationseinstellverarbeitung und
liefert sie an die Unterzeichnervorrichtungen 30 1 bis 30 L sowie die Verifizierervorrichtung 800.
Die Verarbeitung für den Unterzeichner i zum Einschreiben in das System ist ebenso die gleiche
wie im Fall des ersten Ausführungsbeispiels, weshalb auch die Unterzeichnervorrichtung 30 i
gleich der in Fig. 3 gezeigten ist. Der Unterzeichner i erzeugt die öffentliche Information Ii mit
dieser Verarbeitung und sendet sie sowie die Einweg-Funktionen fi und hi und die Identifikations
information IDi über den sicheren Kommunikationskanal 400 an die Zentrale 100, damit diese
Information dort als die öffentliche Information {IDi, Ii, fi, hi} registriert wird. Zugleich hält der
Unterzeichner i si als geheime Information im Speicher 33.
Die anderen Unterzeichnervorrichtungen führen die gleiche Verarbeitung aus, wenn sie sich in
das System einschreiben.
Bei diesem Ausführungsbeispiel wird die unterzeichnete Nachricht des Dokuments m, die von
dem Unterzeichner i ausgegeben wird, durch {ID'i, X'i, m, yi} repräsentiert. Der Unterzeichner
(i - 1) sendet die zu unterzeichnende Nachricht, und der Unterzeichner i erzeugt seine Signatur der
Nachricht und fügt sie dieser bei und sendet die unterzeichnete Nachricht an den nächsten
Unterzeichner (i + 1). Wenn L Unterzeichner nacheinander die Nachricht unterzeichnen, wird i
schrittweise um eins von 1 auf L erhöht und die nachfolgende Prozedur wiederholt. Bei diesem
Ausführungsbeispiel wird der Unterzeichner (L + 1) als Verifizierer betrachtet. In diesem Fall gilt
ID'0 = leere Menge, X'0 = leere Menge und y0 = 0.
Fig. 7 zeigt eine Interaktionsfolge einer Nachricht, und Fig. 8 zeigt den funktionalen Aufbau der
Unterzeichnervorrichtung 30 i. Nach Empfang der Nachricht {ID'i-1, X'i-1, m, yi-1} von dem
Unterzeichner (i - 1) führt der Unterzeichners i die folgende Signaturerzeugungsverarbeitung aus.
In dem Speicher 33 sind die öffentliche Information {p, q, g}, die von der Zentrale 100 erhalten
wird, die geheime Zufallszahl si und die Identifikationsinformation IDi gespeichert.
Schritt S1: Der Unterzeichner i erzeugt die Zufallszahl ri mit dem Zufallsgenerator 310 und gibt
sie in den Modulo-Exponentiator 320 zusammen mit den öffentlichen Informationen p
und g ein, so daß Xi unter Verwendung der Funktion Φ gemäß der nachstehenden Glei
chung (31) berechnet wird:
Xi = Φ(ri, g) = gri mod p (31)
Schritt S2: Der Unterzeichner i verwendet den fi-Funktionsrechner 330 und den hi-Funktions
rechner 340 zur Berechnung der beiden Informationen ei bzw. di mittels der nachste
henden Gleichungen
ei = fi(X'i, m) (32)
di = hi(X'i, m) (33)
wobei X'i = (X'i-1, Xi).
Schritt S3: Der Unterzeichner i gibt diese Informationen ei, di und ri in den Modulo-Exponentiator
350 und dann in den Modulo-Addierer 360 zusammen mit der öffentlichen Information
q und der geheimen Information si ein, um dadurch mit der Signaturfunktion Sgi yi wie
folgt zu erzeugen:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod q (34)
Schritt S4: Der Unterzeichner i setzt ID'i = (ID'i-1, IDi) und sendet die Nachricht {ID'i, X'i, m, yi}
an den nächsten Unterzeichner (i + 1).
Fig. 9 zeigt den funktionalen Aufbau der Verifizierervorrichtung 800. Wenn der Verifizierer die
Nachricht {ID'L, X'L, m, yL } von dem Unterzeichner L empfängt, verifiziert er die Gültigkeit jeder
Signatur mittels der nachstehend beschriebenen Verarbeitung.
Schritt S5: Der Verifizierer 800 bildet X'i durch die ersten i Komponenten der Information X'L und
gibt sie und das Dokument m in den fi-Funktionsrechner 810 und den hi-Funktionsrech
ner 820 ein, worin die Komponenten ei bzw. di mittels der nachstehenden Gleichungen
berechnet werden:
ei = fi(X'i, m) = fi(X1, ..., Xi, m) (35)
di = hi(X'i, m) = hi(X1, ..., Xi, m) (36)
Schritt S6: Der Verifizierer 800 leitet Information Ii von der IDi-Komponente in der Information
ID'L ab und extrahiert die Xi-Komponente in der Information X'L und gibt diese Kompo
nenten in den Multikomponenten-Modulo-Exponentiator 830 zusammen mit den Kom
ponenten ei und di und der öffentlichen Information p ein, so daß Z' mit der Verifika
tionsfunktion V gemäß nachstehender Gleichung berechnet wird:
Z' = (Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p (37)
Schritt S7: Der Verifizierer 800 gibt die Information yL zusammen mit der öffentlichen Informa
tion {p, g}, die im Speicher 88 gespeichert ist, in den Modulo-Exponentiator 840 ein,
um W mit der Funktion Γ in folgender Weise zu berechnen:
W = Γ(yL . g) = gyL mod p (38)
Schritt S8: Der Verifizierer 800 gibt Z' und W in einen Komparator 850 ein, wo sie miteinander
verglichen werden um zu sehen, ob
W = Z'.
Wenn diese Bedingung erfüllt ist, wird davon ausgegangen, daß das Dokument m von
den L autorisierten Unterzeichnern ordnungsgemäß unterzeichnet wurde.
Ein verbesserter Quadrier-und-Multiplizier-Algorithmus zur Berechnung von xayb mod N in dem
Multikomponenten-Modulo-Exponentiator kann der gleiche wie der zuvor in Verbindung mit dem
ersten Ausführungsbeispiel beschriebene sein.
Unter Berücksichtigung des Weges der Erzeugung von yL gilt:
gyL ∼ gyL-1(grL)dL(gsL)eL ∼ gyL-1XL dLIL eL ∼ ... ∼ X1 d1I1 e1 ... XL dLIL eL(mod p) (39)
Wenn somit das Dokument m den oben genannten Test durch den Komparator 850 besteht,
akzeptiert die der Verifizierer 800 das Dokument m als ordnungsgemäß von den L autorisierten
Unterzeichnern unterzeichnet.
Es ist auch möglich, das System so auszugestalten, daß der Unterzeichner i vor seiner Signa
turerzeugung prüft, ob die empfangene Nachricht {ID'i-1, X'i-1, m, yi-1} von den vorhergehenden
Unterzeichnern 1 bis (i - 1) ordnungsgemäß unterzeichnet wurde, und, wenn dies der Fall ist,
seine Signatur an der verifizierten Nachricht anbringt. In diesem Fall kann die Verifikation in
gleicher Weise wie in den Schritten S10 bis S13 bei dem Verifizierer 800 ausgeführt werden.
Dabei wird L in den Schritten S10 bis S13 durch (i - 1) ersetzt.
Die Unterzeichnervorrichtungen und die Verifizierervorrichtung führen die oben beschriebene
Verarbeitung in der Regel mit Hilfe von Computern aus.
Wie zuvor erwähnt, ist dieses zweite Ausführungsbeispiel nicht nur auf die Schnorr-Schemata
anwendbar, sondern auch auf die Fiat-Shamir-Schemata und digitale Signaturschemata, die die
interaktiven Prüfungen einschließlich der Fiat-Shamir-Schemata verwenden. Demgemäß kann das
Verfahren gemäß der vorliegenden Erfindung allgemein wie folgt zusammengefaßt werden:
Die Systemparameter, die veröffentlicht werden, sind p zur Angabe der Anzahl von Elementen
der Gruppe, ein Element g der Gruppe, mit dem eine Gruppenberechnung beginnt, und eine
positive ganze Zahl q derart, daß, wenn das Element g q-mal berechnet wird, die Rechnung zu
dem Element g zurückkehrt.
Der Unterzeichner i
erzeugt die Zufallszahl si mittels des Zufallsgenerators bei seiner Einschreibung in das System und gibt die Zufallszahl si und die öffentlichen Informationen g und p in einen Gruppen rechner ein, in welchem das Element g si-mal gerechnet wird, um die öffentliche Information Ii zu berechnen; und
veröffentlicht die öffentliche Information Ii und die Einweg-Funktionen fi und hi zusam men mit der Identifikationsinformation IDi, behält jedoch die Zufallszahl si als geheime Informa tion.
erzeugt die Zufallszahl si mittels des Zufallsgenerators bei seiner Einschreibung in das System und gibt die Zufallszahl si und die öffentlichen Informationen g und p in einen Gruppen rechner ein, in welchem das Element g si-mal gerechnet wird, um die öffentliche Information Ii zu berechnen; und
veröffentlicht die öffentliche Information Ii und die Einweg-Funktionen fi und hi zusam men mit der Identifikationsinformation IDi, behält jedoch die Zufallszahl si als geheime Informa tion.
Bei der Signaturerzeugungsverarbeitung nach Empfang der unterzeichneten Nachricht
{ID'i-1, X'i-1, m, yi-1} von dem Unterzeichner (i - 1) auf der Basis der Nachricht m, macht der
Unterzeichner i folgendes:
er erzeugt die Zufallszahl ri unter Verwendung des Zufallsgenerators, gibt sie dann zusammen mit den öffentlichen Informationen p und g in den Gruppenrechner ein, um das Element g ri-mal zum Erhalt der Information Xi zu rechnen, und setzt X'i = (X'i-1, Xi);
er berechnet die Komponenten ei und di durch
er erzeugt die Zufallszahl ri unter Verwendung des Zufallsgenerators, gibt sie dann zusammen mit den öffentlichen Informationen p und g in den Gruppenrechner ein, um das Element g ri-mal zum Erhalt der Information Xi zu rechnen, und setzt X'i = (X'i-1, Xi);
er berechnet die Komponenten ei und di durch
ei = fi(X'i, m)
di = hi(X'i, m)
di = hi(X'i, m)
unter Verwendung des fi-Funktionsrechners und des hi-Funktionsrechners; und
er gibt die Informationen ei, di und ri zusammen mit der öffentlichen Information q und der geheimen Information si in einen Exponentialkomponenten-Multiplizierer und Exponential komponenten-Addierer ein, worin yi mit der Signaturfunktion Sgi errechnet wird, und zwar durch
er gibt die Informationen ei, di und ri zusammen mit der öffentlichen Information q und der geheimen Information si in einen Exponentialkomponenten-Multiplizierer und Exponential komponenten-Addierer ein, worin yi mit der Signaturfunktion Sgi errechnet wird, und zwar durch
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod q,
und er setzt dann ID'i = (ID'i-1, IDi) und sendet die Nachricht {ID'i, X'i, m, yi} an den nächsten
Unterzeichner (i + 1).
Andererseits bildet der Verifizierer 800, wenn er die Nachricht {ID'L, X'L, m, yL} von
dem Unterzeichner L empfängt, X'i aus den ersten i Komponenten der Information X'L und gibt
die Informationen X'i und m dann in den fi-Funktionsrechner und den hi-Funktionsrechner ein,
worin
ei = fi(X'i, m)
di = hi(X'i, m)
di = hi(X'i, m)
berechnet werden, um für jedes i die Komponenten ei und di zu erhalten. Der Verifizierer leitet
dann die entsprechende öffentliche Information Ii aus der IDi-Komponente in der Information ID'L
und die Information Xi aus der X'L-Komponente ab und gibt diese Informationen Ii und Xi sowie
die oben erwähnten Komponenten ei und di und die öffentliche Information p in den Multikompo
nenten-Gruppenrechner ein, in welchem Z' durch sequentielles di-faches Rechnen von Xi und ei-
faches Rechnen von Ti für die Werte i von 1 bis L erhalten wird;
er gibt yL und die öffentlichen Informationen p und g in den Gruppenrechner zur yL- fachen Berechnung von g ein, um dadurch W zu erhalten; und
er gibt Z' und W in den Komparator ein, um zu prüfen, ob
er gibt yL und die öffentlichen Informationen p und g in den Gruppenrechner zur yL- fachen Berechnung von g ein, um dadurch W zu erhalten; und
er gibt Z' und W in den Komparator ein, um zu prüfen, ob
W = Z'.
Wenn die beiden übereinstimmen, erkennt der Verifizierer, daß das Dokument m von den L
autorisierten Unterzeichnern ordnungsgemäß unterzeichnet wurde.
Auch bei diesem typischen Schema sind die einzelnen Unterzeichnervorrichtungen, eine Benut
zervorrichtung und ein Aufzeichnungs- oder Speichermedium in ähnlicher Weise aufgebaut.
Während bei dem Voranstehenden gilt ID'i = (ID'i-1, IDi), ist es auch möglich, die Einstellung so
vorzusehen, daß ID'i = (ID'i-1, Ii). Dies erspart dem Verifizierer die Mühe der Suche nach der
Identifikationsinformation IDi für die öffentliche Information Ii.
Als nächstes wird in Verbindung mit dem Fall des Einsatzes des Schnorr-Schemas ein Ausfüh
rungsbeispiel beschrieben, bei dem in dem System von Fig. 1B die Unterzeichner entsprechend
den Unterzeichnervorrichtungen 30 1 bis 30 L einzeln ihre Signatur an jeweiligen Dokumenten m1
bis mL anbringen und sie an die Verifizierervorrichtung 800 liefern, damit die unterzeichneten
Dokumente dort en-bloc verifiziert werden. Die Idee der Verwendung der zweiten Exponential
komponente, die unten beschrieben wird, ist ebenso in weitem Umfang auf die Fiat-Shamir-
Schemata und digitale Signaturschemata anwendbar, die diese enthaltende interaktive Prüfungen
verwenden.
Die Zentrale 100 stimmt in ihrer Ausgestaltung mit derjenigen von Fig. 2 hinsichtlich der
anfänglichen Informationseinstellverarbeitung überein, bei der die Werte {p, q, g}, die für das
System einzigartig sind, veröffentlicht werden, weshalb die folgende Verarbeitung auch die
gleiche wie die im Fall von Fig. 2 ist:
Schritt S1: Die Zentrale 100 erzeugt die Primzahl p mittels des Primzahlgenerators 110 und die
Primzahl q, die ein Maß für p - 1 ist, mittels des Dividierers 120.
Schritt S2: Die Zentrale 100 erzeugt das Grundelement α von (Z/pZ)* mittels des Grundelement
generators 130 und die ganze Zahl g der Ordnung bzw. des Grads q als den vorher
erwähnten Parameter β durch die nachfolgende Berechnung unter Verwendung des
Modulo-Exponentiators 140, der die Funktion G1 berechnet, die zuvor in Verbindung mit
den Prinzipien der vorliegenden Erfindung beschrieben wurde:
β= g = G1(q) = α(p-1)/q mod p (40)
Schritt S3: Die öffentliche Information {p, q, g} wird an die Unterzeichnervorrichtungen 30 1, ...,
30 L und die Verifizierervorrichtung 800 über die sicheren Kanäle 400 geschickt.
Als nächstes erfolgt unter Bezugnahme auf Fig. 10 eine Beschreibung der Verarbeitung, die beim
Unterzeichner i für sein Einschreiben bei dem System ausgeführt wird. Es wird angemerkt, daß in
dem Speicher 33 die öffentliche Information {p, q, g} gespeichert ist, die von der Zentrale 100
empfangen wird.
Schritt S4: Der Unterzeichner i erzeugt eine Zufallszahl si mittels des Zufallsgenerators 31 und
gibt sie sowie die öffentlichen Informationen g (= β) und p in den Modulo-Exponentiator
32 ein, der die Funktion G2(si, β) berechnet, auf die zuvor in Verbindung mit den Prinzi
pien der Erfindung verwiesen wurde. Auf diese Weise wird zum Erhalt der öffentlichen
Information Ii die folgende Berechnung ausgeführt:
Ii = G2(si, g) = gsi mod p (41)
Schritt S5: Der Unterzeichner i sendet die Identifikationsinformation IDi, die öffentliche Informa
tion Ii und die Einwegfunktionen fi und hi über den sicheren Kanal 400 an die Zentrale
100, wo sie als öffentliche Information registriert werden. Zugleich behält der Unter
zeichner i die Zufallszahl si als geheime Information im Speicher 33.
Bei den anderen Unterzeichnern wird dieselbe Verarbeitung ausgeführt, wenn sie sich bei dem
System einschreiben.
In der folgenden Beschreibung wird das unterzeichnete Dokument mit {IDi, Xi, mi, yi} identifi
ziert, und zwar in der Annahme, daß der Unterzeichner i das Dokument mi unterzeichnet.
Fig. 11 zeigt Interaktionsfolgen von Nachrichten, und Fig. 12 zeigt den funktionalen Aufbau der
Unterzeichnervorrichtung 30 i.
Schritt S6: Der Unterzeichner i (Unterzeichnervorrichtung 30 i) erzeugt die Zufallszahl ri mittels
des Zufallsgenerators 310 und gibt sie in den Modulo-Exponentiator 320 ein, der die
Funktion Φ berechnet, und zwar zusammen mit den öffentlichen Informationen p und g.
Xi wird auf folgende Weise errechnet:
Xi = Φ(ri, g) = gri mod p (42)
Schritt S7: Der Unterzeichner i verwendet den fi-Funktionsrechner 330 und den hi-Funktions
rechner 340 zur Berechnung der beiden Informationen ei bzw. di aufgrund der nachste
henden Gleichungen
ei = fi(Xi, mi) (43)
di = hi(Xi, mi) (44)
Schritt S8: Der Unterzeichner i gibt diese Informationen ei, di und ri in den Modulo-Exponentiator
350 und dann in den Modulo-Addierer 360 zusammen mit der öffentlichen Information
q und der geheimen Information si ein, um mit der Signaturfunktion Sgi in nachstehen
der Weise yi zu berechnen:
yi = Sgi(ei, di, si, ri, q) = (diri + eisi) mod q (45)
Schritt S9: Der Unterzeichner i sendet die Nachricht {IDi, Xi, mi, yi} an den Verifizierer 800.
Fig. 13 zeigt den funktionalen Aufbau der Verifizierervorrichtung 800. In dem Speicher 88 ist die
öffentliche Information {p, q, g} gespeichert, die von der Zentrale erhalten wird. Wenn er die L
Nachrichten {IDi, Xi, mi, yi} von den L Unterzeichnern empfängt, führt der Verifizierer 800 die
nachfolgende Verarbeitung aus, um die jeweiligen Signaturen en-bloc zu verifizieren.
Schritt S10: Der Verifizierer 800 gibt die Information Xi und das Dokument mi in den fi-Funk
tionsrechner 810 und den hi-Funktionsrechner 820 ein, in denen die Komponenten ei
bzw. di (1 ≦ i ≦ L) jeweils berechnet werden durch
ei = fi (Xi, mi))
di = hi (Xi, mi)
di = hi (Xi, mi)
Schritt S11: Der Verifizierer 800 empfängt von der Zentrale 100 die öffentliche Information Ii
entsprechend der Identifikationsinformation IDi und gibt die öffentliche Information Ii
zusammen mit den Komponenten ei und di, die in oben beschriebener Weise erzeugt
wurden, und der öffentlichen Information p in den Multikomponenten-Modulo-Exponen
tiator 830 ein, wo Z' gemäß nachfolgender Gleichung (46) berechnet wird
Z' = V(Xi × di), (Ii × ei) |i = 1, ..., L) = (X1 d1I1 e1 ... XL dLIL eL) mod p (46)
Schritt S12: Der Verifizierer 800 gibt L Informationen yi(y1 bis yL) und die öffentliche Informa
tion q in den Modulo-Addierer 840 ein, um auf folgende Weise einen akkumulierten
Wert Y zu berechnen
Dann gibt der Verifizierer 800 Y und die öffentliche Information {p, q} in den Modulo-
Exponentiator 845 ein, der die Funktion Γ(Y . g) berechnet. W wird auf folgende Weise
berechnet
W = Γ(Y . g) = gY mod p (48)
Schritt S13: Z' und W werden einem Komparator 850 eingegeben, wo sie verglichen werden um
festzustellen, ob
W = Z'.
Wenn dies der Fall ist, wird davon ausgegangen, daß das Dokument mi von dem
jeweiligen der L autorisierten Unterzeichner ordnungsgemäß unterzeichnet wurde.
Eines der Verfahren der Quadrier-und-Multiplizier-Algorithmen zur Berechnung von xayb mod N in
dem Multikomponenten-Modulo-Exponentiator 830 ist das gleiche wie das voranstehend
beschriebene.
Unter Berücksichtigung der Art der Erzeugung des akkumulierten Werts Y gilt
gY ∼ gyL-1(grL)dL(gsL)eL = gyL-1XL dLIL eL ∼ ... ∼ X1 d1 ... XL dLI1 e1 ... IL eL (mod p) (49)
Wenn somit die Dokumente mi den obigen Test mittels des Komparators 860 passieren,
akzeptiert der Verifizierer 800 die Dokumente als von den L autorisierten oder gültigen Unter
zeichnern ordnungsgemäß unterzeichnet.
Es erfolgt nun eine Beschreibung der Verarbeitung in dem Fall, wo W = Z' in Schritt S13 nicht
erfüllt ist. Beispielsweise werden, wenn L = 100, die Nachrichten {IDi, Xi, mi, yi} in zwei
Gruppen (L/2 = 50) unterteilt, und die Verarbeitung der Schritte S9 bis S13 wird für die Nachrich
ten einer der beiden Gruppen ausgeführt um festzustellen, ob eine Fehlübereinstimmung
zwischen ihnen gefunden wird. Wenn eine Fehlübereinstimmung gefunden wird, werden die
Nachrichten dieser Gruppe weiter in zwei Untergruppen unterteilt. Wird keine Fehlübereinstim
mung gefunden, werden die Nachrichten der anderen Gruppe in zwei Untergruppen unterteilt.
Dann werden die Nachrichten einer der beiden Untergruppen der Verarbeitung der Schritte S9 bis
S13 unterzogen. Durch Wiederholen dieser Verarbeitung ist der Verifizierer in der Lage, den
Unterzeichner zu identifizieren, der das betroffene Dokument nicht ordnungsgemäß unterzeichnet
hat.
Wie zuvor erwähnt, ist die vorliegende Erfindung nicht nur auf die Schnorr-Schemata, sondern
auch auf die Fiat-Shamir-Schemata und digitale Signaturschemata anwendbar, die die interakti
ven Prüfungen unter Einschluß der Fiat-Shamir-Schemata verwenden. Demgemäß kann das
Verfahren der vorliegenden Erfindung allgemein wie folgt zusammengefaßt werden:
Die Systemparameter, die veröffentlicht werden, sind p zur Spezifizierung der Anzahl von
Elementen in der Gruppe, ein Element g der Gruppe, mit der die Gruppenberechnung beginnt,
und eine positive ganze Zahl q derart, daß, wenn das Element g q-mal berechnet wird, die
Rechnung zum Element g zurückkehrt.
Der Unterzeichner i
erzeugt die Zufallszahl si mittels des Zufallsgenerators zum Zeitpunkt des Einschreibens in das System und gibt die Zufallszahl si und die öffentlichen Informationen g und p in einen Gruppenrechner ein, wo das Element g si-mal berechnet wird, um die öffentliche Information Ii zu berechnen, und
veröffentlicht die öffentliche Information Ii, die Funktionen fi und hi zusammen mit der Identifikationsinformation IDi, behält jedoch die Zufallszahl si als geheime Information.
erzeugt die Zufallszahl si mittels des Zufallsgenerators zum Zeitpunkt des Einschreibens in das System und gibt die Zufallszahl si und die öffentlichen Informationen g und p in einen Gruppenrechner ein, wo das Element g si-mal berechnet wird, um die öffentliche Information Ii zu berechnen, und
veröffentlicht die öffentliche Information Ii, die Funktionen fi und hi zusammen mit der Identifikationsinformation IDi, behält jedoch die Zufallszahl si als geheime Information.
Bei der Signaturerzeugungsverarbeitung führt der Unterzeichner i folgendes aus:
er erzeugt die Zufallszahl ri unter Verwendung des Zufallsgenerators und gibt sie dann zusammen mit den öffentlichen Informationen p und g in den Gruppenrechner ein, um das Element g ri-mal zu berechnen und die Information Xi zu erhalten;
er berechnet die Komponenten ei und di gemäß
er erzeugt die Zufallszahl ri unter Verwendung des Zufallsgenerators und gibt sie dann zusammen mit den öffentlichen Informationen p und g in den Gruppenrechner ein, um das Element g ri-mal zu berechnen und die Information Xi zu erhalten;
er berechnet die Komponenten ei und di gemäß
ei = fi(Xi, mi)
di = hi(Xi, mi)
di = hi(Xi, mi)
unter Verwendung des fi-Funktionsrechners und des hi-Funktionsrechners; und
er gibt die Informationen ei, di und ri zusammen mit der öffentlichen Information q und der geheimen Information si in einen Expontentialkomponenten-Multiplizierer und einen Expon tentialkomponenten-Addierer ein, um yi in folgender Weise zu berechnen
er gibt die Informationen ei, di und ri zusammen mit der öffentlichen Information q und der geheimen Information si in einen Expontentialkomponenten-Multiplizierer und einen Expon tentialkomponenten-Addierer ein, um yi in folgender Weise zu berechnen
yi = (diri + eisi) mod q
und erhält auf diese Weise die Nachrichten {IDi, Xi, mi, yi} und sendet sie an den Verifizierer.
Wenn er die Nachrichten {IDi, Xi, mi, yi} (1 ≦ i ≦ L) von den L Unterzeichnern emp
fängt, gibt der Verifizierer die Information Xi und die Nachricht mi in den fi-Funktionsrechner und
den hi-Funktionsrechner ein, in denen
ei = fi(Xi, mi)
di = hi(Xi, mi)
di = hi(Xi, mi)
berechnet werden, um die Komponenten ei und di für alle Werte von i zu erhalten. Der Verifizie
rer leitet dann die öffentliche Information Ii aus der Identifikationsinformation IDi ab und gibt
diese Informationen Ii und Xi sowie die oben erwähnten Komponenten ei und di und die öffentli
che Information p in den Multikomponenten-Gruppenrechner ein, worin Z' durch di-maliges
sequentielles Berechnen von Xi und ei-maliges Berechnen von Ti für die Werte i von 1 bis L
erhalten wird.
Der Verifizierer gibt L Informationen yi und die öffentliche Information p in den Expo
nentialkomponenten-Addierer ein, um Y auf folgende Weise zu berechnen
und gibt dann Y und die öffentlichen Informationen p und g in einen Gruppenrechner ein, wo g
zum Erhalt von W Y-mal berechnet wird.
Z' und W werden in den Komparator eingegeben um zu prüfen, ob
W ∼ Z'
und, wenn beide übereinstimmen erkennt der Verifizierer, daß die L Dokumente mi von den L
autorisierten Unterzeichnern ordnungsgemäß unterzeichnet wurden.
Die Unterzeichnervorrichtungen und die Verifizierervorrichtung führen die Verarbeitung gewöhn
lich mittels eines Computers aus.
Während bei den Ausführungsbeispielen 1 bis 3 die Verwendung von Zq als kommutative
Gruppe des endlichen Feldes beschrieben wurde, das durch den Parameter q definiert ist, kann
eine elliptische Kurve als die kommutative Gruppe verwendet werden. Dies löst das Problem der
Zunahme der von dem Unterzeichner zur Signaturerzeugung zu verarbeitenden Rechenmenge.
Das RSA-Verschlüsselungssystem gründet seine Sicherheit auf der Schwierigkeit des (eingangs
erwähnten) Faktorzerlegungsproblems, während die Sicherheit des sogenannten Ellipsen-
Verschlüsselungssystem auf einem diskreten Logarithmenproblem an einer elliptischen Kurve
buht, dessen Lösung für schwieriger gehalten wird als die des Faktorzerlegungsproblems.
Das Folgende ist eine Definition einer elliptischen Kurve auf dem endlichen Feld GF(q), das durch
die Verwendung der Parameter a, b∈GF(q)(4a3 + 27b2 ≠ 0) gegeben ist:
Ea, b(GF(q)) = {(x, y)∈GF(q)2|y2 = x3 + ax + b}∪{0} (50)
worin GF(q) ein Definitionsfeld der elliptischen Kurve Ea, b(GF(q)) genannt wird und 0 einen
unendlichen Punkt angibt.
Die Addition auf der elliptischen Kurve ist beispielsweise wie folgt:
Wenn man setzt
Pi = (xi, yi)∈Ea, b(GF(q)), (wobei i = 1, 2), kann (x3, y3) = P1 + P2 wie folgt geschrieben werden:
Pi = (xi, yi)∈Ea, b(GF(q)), (wobei i = 1, 2), kann (x3, y3) = P1 + P2 wie folgt geschrieben werden:
- (a): wenn P1 ≠ P2, und λ = (y2 - y1)/(x2 - x1) gesetzt wird,
x3 = λ2 - (x1 + x2),
y3 = -y1 + λ(x1 - x3) (51) - (b): wenn P1 = P2, wenn also (x3, y3) = 2P1, und λ = (3x1 2 + a)/(2y1) gesetzt wird,
x3 = λ2 - 2x1,
y3 = -y1 + λ(x1 - x3) (52)
Die Gruppenberechnung auf der elliptischen Kurve ist beispielsweise beschrieben in D. R.
Stinson, "CRYPTOGRAPHY Theory and Practice," CRC Press. Seiten 187-190. 1995. In der
folgenden Beschreibung wird die Addition von P1 und P2 auf der elliptischen Kurve Ea, b(GF(q))
durch
(P1 + P2) über Ea, b(GF(q))
dargestellt.
Da die gegenwärtig bekannte Lösung des diskreten Logarithmenproblems auf der elliptischen
Kurve weniger effizient und schwieriger als die Lösung des Faktorzerlegungsproblems ist, ist es
möglich, den Parameter q des Definitionsfeldes der elliptischen Kurve klein zu machen und
dementsprechend die beinhaltete Rechenkomplexität zu verringern. Konkret sagt man, daß
dieselbe Sicherheit wie im Fall von |N| = 1024 durch |q| = 160 garantiert werden kann, wobei
|p|, wie schon oben definiert, die Anzahl Bits der Primzahl p repräsentiert (siehe beispielsweise
Bruce Schneicer, "APPLIED CRYPTOGRAPHY (Second Edition)," John Wiley & Sons. Inc., Seiten
480-481, 1996).
Das gewöhnliche diskrete Logarithmenproblem besteht darin, daß, wenn eine ganze Zahl
g∈(Z/pZ)* = {1, 2, ..., p - 1 }, wobei p eine große Primzahl ist und g die Ordnung q hat, als
öffentliche Information geliefert wird, y∈Z/qZ zu berechnen ist, für das gy ∼ x(mod p) bezüglich
einer ganzen Zahl x∈(Z/pZ)* erfüllt ist.
Andererseits besteht das diskrete Logarithmenproblem auf der elliptischen Kurve darin, daß,
wenn das Definitionsfeld GF(q), die Parameter a und b der elliptischen Kurve und ein Punkt
P∈Ea, b(GF(q)) einer Ordnung k auf der elliptischen Kurve als öffentliche Information geliefert
werden, y∈Z/kZ zu berechnen ist, das yP ∼ X über Ea, b(GF(q)) bezüglich eines Punkts X auf der
elliptischen Kurve erfüllt.
Der Punkt P wird Basispunkt genannt. yP ∼ X gibt an, daß der Basispunkt P, wenn er auf der
elliptischen Kurve y-mal addiert wird, mit dem Punkt X∈Ea, b(GF(q)) zusammenfällt. Die y-fache
Addition des Basispunkts P auf der elliptischen Ea, b(GF(q)) ist speziell durch yP über Ea, b(GF(q))
repräsentiert, das zur Definition einer Gruppenrechnung auf der elliptischen Kurve verwendet
wird.
Bei Verwendung der oben definierten Gruppenrechnung auf der elliptischen Kurve, könnten ein
sogenanntes Diffie-Hellman-Key-Sharing-Schema, ein EIGamal-Verschlüsselungssystem und ein
EIGamal-Signaturschema, die die Schwierigkeit des gewöhnlichen diskreten Logarithmenpro
blems nutzen, alle zu Schemata modifiziert werden, die die Schwierigkeit des diskreten
Logarithmus auf der elliptischen Kurve nutzen.
Die Schnorr- und die Fiat-Shamir-Schemata, die interaktive Prüfungen verwenden, könnten
ebenfalls zu Schemata modifiziert werden, die die Schwierigkeit des diskreten Logarithmus auf
der elliptischen Kurve nutzen. Eine Beschreibung erfolgt beispielsweise für eine digitale Signatur
mittels des Schnorr-Schemas unter Einsatz der elliptischen Kurve.
Eine vertrauenswürdige Institution (vertrauenswürdige Zentrale) veröffentlicht den Parameter q
des Definitionsfeldes GF(q), den Parameter a,b,GF(q) der elliptischen Kurve und den Basispunkt
P∈Ea, b(GF)q)) einer Ordnung bzw. eines Grads k auf der elliptischen Kurve.
Schritt 1: Ein Unterzeichner A erzeugt eine Zufallszahl s∈(Z/kZ) und berechnet öffentliche
Information I durch
I = sP über Ea, b(GF(q)) (53)
und veröffentlicht ein Paar aus Identifikationsinformationen (ID) und Information I.
Der Unterzeichner A durchläuft die folgende Prozedur, um einem Verifizierer B zu beweisen, daß
ein Dokument m echt ist.
Schritt 2: Der Unterzeichner A erzeugt eine Zufallszahl r∈(Z/kZ) und berechnet
X = rP über Ea, b(GF(q)) (54)
Schritt 3: Der Unterzeichner A berechnet eine ganze Zahl e∈(Z/kZ) unter Verwendung einer
Einweg-Funktion f durch
e = f(X, m) (55)
Schritt 4: Der Unterzeichner A erzeugt eine Signatur y durch
y = (r + es) mod k (56)
und sendet {ID, m, X, y} als eine unterzeichnete Nachricht an den Verifizierer B.
Schritt 5: Der Verifizierer B berechnet die ganze Zahl e∈(Z/kZ) unter Verwendung der Einweg-
Funktion f durch
e = f(X, m)
Schritt 6: Der Verifizierer B prüft, ob
yP ∼ (X + eI) über Ea, b(GF(q)) (57)
erfüllt ist, wobei I öffentliche Information entsprechend der Identifikationsinformation ID
ist.
Unter Berücksichtigung des Wegs zur Erzeugung von y gilt
yP ∼ (r + es)P ∼ rP + e(sP) ∼ (X + eI) über Ea, b(GF(q)) (58)
Wenn somit Gleichung (57) erfüllt ist, erkennt der Verifizierer B, daß das Dokument m von dem
Unterzeichner A ordnungsgemäß unterzeichnet ist.
Bei dem Voranstehenden könnte die Signatur des Unterzeichners A gefälscht werden, falls {ID,
X, m, y} als unterzeichnete Nachricht gesendet würde, wenn die ganze Zahl e∈(Z/kZ), für die
e = f(X, m) gilt, durch Berechnung von X∈Ea, b(GF(q)) ermittelt werden könnte, welches die
Verifikationsgleichung erfüllt, nachdem die ganzen Zahlen e∈(Z/kZ) und y∈(Z/kZ) geeignet
gewählt wurden. Da die Wahrscheinlichkeit, daß die Verifikationsgleichung e = f(X, m) erfüllt ist,
1/k ist, hängt die Rechenkomplexität, die mit der Fälschung der Signatur verbunden ist, von dem
Wert k ab.
Das elliptische Schnorr-Schema beinhaltet die Berechnung der Gleichungen (51) und (52) für
eine n-fach-Punktberechnung (einschließlich Modulo-q-Rechnungen) auf der elliptischen Kurve in
einer mittleren Häufigkeit von 3|q|/2, eine einzelne Multiplikation (einschließlich Modulo-k-
Rechnungen) von |k| Bit Ganzzahlen und eine einzelne Addition (einschließlich Modulo-k-
Rechnungen) der |k| Bit Ganzzahlen.
Das obige Verfahren mit der elliptischen Kurve wird nachfolgend in Anwendung auf die zuvor
beschriebenen Ausführungsbeispiele 1 bis 3 beschrieben.
Das Ergebnis der Addition P3 (P1 + P2) auf der elliptischen Kurve wird durch die Gleichungen
(51) und (52) unter Verwendung von x- und y-Koordinaten berechnet. Wie aus Gleichung (59)
hervorgeht, die die elliptische Kurve definiert, ist, wenn die x-Koordinate einmal bestimmt ist, der
Punkt auf der elliptischen Kurve eindeutig abhängig davon definiert, ob die y-Koordinate plus
oder minus ist. Da die x-Koordinate der Wert des Definitionsfeldes GF(q) ist, muß hier darauf
hingewiesen werden, daß der Punkt auf der elliptischen Kurve durch (|q| + 1) Bits repräsentiert
werden kann.
Dieses Ausführungsbeispiel entspricht dem ersten Ausführungsbeispiel, das die Überlagerungs
signatur und deren Block-Verifikation durchführt. Nachstehend erfolgt eine Beschreibung eines
Ausführungsbeispiels, bei dem das Schnorr-Schema auf die Überlagerungssignatur und deren
Block-Verifikation angewendet wird und welches das Verfahren der elliptischen Kurve einsetzt.
Die Idee der Verwendung einer zweiten Mehrfachkomponente, die unten beschrieben wird, kann
in weitem Umfang auf die EIGamal-Signatur-Schemata und die digitalen Signatur-Schemata, die
unter deren Einschluß die interaktiven Prüfungen verwenden, angewendet werden.
Die Systemkonfiguration, auf die dieses Ausführungsbeispiel angewendet wird, ist die gleiche
wie die in Fig. 1A gezeigte. Deren Beschreibung soll hier daher nicht wiederholt werden.
Nachfolgend wird unter Bezugnahme auf Fig. 14 die anfängliche Informationseinstellverarbeitung
beschrieben, die ausgeführt wird, wenn die Zentrale 100 das System startet. Diese Verarbeitung
ist dazu gedacht, einen Wert {q, a, b, P, k}, der für das System einzigartig ist, zu veröffentli
chen.
Schritt S1: Die Zentrale 100 erzeugt die Primzahl q mittels des Primzahlgenerators 110 und
a, b∈GF(q) mittels eines Parametergenerators 120.
Schritt S2: Die Zentrale 100 erzeugt einen Punkt P∈Ea, b(GF(q)) auf der elliptischen Kurve mittels
eines Basispunktgenerators 130, und den Grad oder die Ordnung des Basispunkts
mittels eines Ordnungsrechners 140. Die elliptische Kurve Ea, b(GF(q)) entspricht einem
Wert der Funktion G1(q), auf die früher in Verbindung mit den Prinzipien der vorliegen
den Erfindung bezug genommen wurde, und der Punkt P entspricht dem dabei erwähn
ten β.
Schritt S3: Die öffentliche Information {q, a, b, P, k} wird an die Unterzeichner
(Unterzeichnervorrichtungen 30 1, ..., 30 L) und an den Verifizierer 800 über die sicheren
Kommunikationskanäle 400 gesandt und in den Speichern 33 bzw. 88 gespeichert.
Der Ordnungs- oder Gradrechner 140 kann leicht beispielsweise unter Verwendung des Schoof-
Algorithmus zur Berechnung der Ordnung oder des Grades der elliptischen Kurve Ea, b(GF(q)) (der
Anzahl von Punkten auf der Kurve) implementiert werden, (siehe beispielsweise R. Schoof,
"Elliptic Curves Over Finite Fields and the Computation of Square Roots Mod p," Math. Com.,
44, Seiten 483-494, 1985).
Unter Bezugnahme auf Fig. 15 wird nun die Verarbeitung beschrieben, die bei einem Unterzeich
ner i durchgeführt wird, wenn er sich in dem System einschreibt.
Schritt S4: Der Unterzeichner i erzeugt die Zufallszahl si mittels des Zufallsgenerators 31 und
gibt sie sowie die öffentliche Information {q, a, b, P} in einen n-fach-Punktrechner 32
ein, in welchem die öffentliche Information Ii mit der zuvor erwähnten Funktion G2
gemäß nachstehender Gleichung (59) berechnet wird
Ii = G2(si, P) = siP über Ea, b(GF(q)) (59)
Schritt S5: Der Unterzeichner i sendet die Identifikationsinformation IDi, die öffentliche Informa
tion Ii und die Einweg-Funktionen fi und hi über den sicheren Kommunikationskanal 400
an die Zentrale 100, damit diese als öffentliche Information {IDi, Ii, fi, hi} registriert
werden. Der Unterzeichner i behält die Zufallszahl si als geheime Information in dem
Speicher 33.
In der folgenden Beschreibung wird die unterzeichnete Version des Dokuments m'i, die von dem
Unterzeichner i geliefert wird, durch {ID'i, X'i, m'i, yi} identifiziert. Die Interaktionsfolge der
Nachricht ist die gleiche wie die im Fall von Fig. 4. Bei Empfang einer Nachricht {ID'i-1, X'i-1,
m'i-1, yi-1} von dem Unterzeichner (i - 1), führt der Unterzeichner i die Signaturerzeugungsverarbei
tung durch, die nachstehend beschrieben wird. Die Konfiguration der Unterzeichnervorrichtung
30 i des Unterzeichners i ist in Fig. 16 dargestellt. Es erfolgt nun eine Beschreibung des Falles,
wo der Unterzeichner (i - 1) die zu unterzeichnende Nachricht sendet und der Unterzeichner i seine
Signatur an der Nachricht anbringt und die unterzeichnete Nachricht an den nächsten Unter
zeichner (i + 1) sendet. Im Fall der überlagerten Signatur durch L Unterzeichner braucht lediglich i
schrittweise um 1 von 1 bis L erhöht zu werden und die folgende Prozedur wiederholt zu
werden. In diesem Fall wird der Unterzeichner (L + 1) als der Verifizierer angesehen; ID'0 = leere
Menge, X'0 = leere Menge und y0 = 0.
Schritt S6: Der Unterzeichner i erzeugt die Zufallszahl ri mittels des Zufallsgenerators 310 und
gibt sie in einen n-fach-Punktrechner 320 ein, der die Funktion Φ berechnet, und zwar
zusammen mit der öffentlichen Information {q, a, b, P}, die aus dem Speicher 33
ausgelesen wird, wobei Xi durch die nachstehende Gleichung (60) berechnet wird:
Xi = Φ(ri, P) = riP über Ea, b(GF(q)) (60)
Schritt S7: Der Unterzeichner i verwendet den fi-Funktionsrechner 330 und den hi-Funktions
rechner 340 zur Berechnung von ei bzw. di
ei = fi(X'i, m'i) (61)
di = hi(X'i, m'i) (62)
wobei
X'i = (X'i-1, Xi) (63)
m'i = (m'i-1, mi) (64)
Schritt S8: Der Unterzeichner i gibt ei, di und ri in den Modulo-Multiplizierer 350 und dann in den
Modulo-Addierer 360 zusammen mit der öffentlichen Information k und der geheimen
Information si ein, wobei die Signatur mit der Signaturfunktion Sgi berechnet wird durch
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod k (65)
Schritt S9: Der Unterzeichner i setzt ID'i = (ID'i-1, IDi), und sendet die Nachricht {ID'i, X'i, m'i, yi}
an den nächsten Unterzeichner (i + 1).
Fig. 17 zeigt den funktionalen Aufbau der Verifizierervorrichtung 800. We 26263 00070 552 001000280000000200012000285912615200040 0002019829643 00004 26144nn der Verifizierer die
Nachricht {ID'L, X'L, m'L, yL} vom Unterzeichner L erhält, verifiziert er die Gültigkeit der
einzelnen Signaturen mittels der nachstehend beschriebenen Verarbeitung.
Schritt S10: Die ersten i Komponenten der Information X'L werden zur Bildung von X'i verwen
det, und die ersten i Komponenten der Information m'L werden zur Bildung von m'i
verwendet. Die Informationen X'i und m'i, die auf diese Weise erhalten werden, werden
in den fi-Funktionsrechner 810 und den hi-Funktionsrechner 820 eingegeben, wo die
Komponenten ei bzw. di(1 ≦ i ≦ L) berechnet werden durch
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
di = hi(X'i, m'i)
Schritt S11: Die Information Ii wird von der IDi-Komponente in der Information ID'L abgeleitet,
und die Information Xi wird ebenfalls von der Information X'L abgeleitet. Diese Informa
tionen Ii und Xi werden zusammen mit den oben erwähnten Komponenten ei und di und
der aus dem Speicher 88 ausgelesenen öffentlichen Information {q, a, b, P} in einen n-
fach-Rechner 830 eingegeben, der die Funktion V berechnet, und mit dem Z' berechnet
wird durch
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
= (d1X1 + ... + dLXL + e1L1 + ... eLIL) über Ea, b(GF(q)) (66)
wobei
ei = fi(X1, ..., Xi, {m1, ..., mi}) (67)
di = hi(X1, ..., Xi, {m1, ..., mi}) (68)
(1 ≦ i ≦ L)
(1 ≦ i ≦ L)
Schritt S12: Die Information yL und die öffentliche Information {q, a, b, P} werden in den n-fach-
Punktrechner 840 eingegeben, der eine Funktion Γ(yL . P) berechnet und damit W
gemäß folgender Gleichung errechnet:
W = Γ(yL, P) = yLP über Ea, b(GF(q)) (69)
Schritt S13: Z' und W werden in den Komparator 850 eingegeben, wo sie verglichen werden,
um sicherzugehen, daß
W = Z'
Wenn beide übereinstimmen, wird davon ausgegangen, daß die Dokumente (m1, ..., mL)
von den L autorisierten Unterzeichnern i jeweils ordnungsgemäß unterzeichnet wurden.
Dieses Ausführungsbeispiel entspricht dem zweiten Ausführungsbeispiel, welches die Mehrfach
signatur und deren Block-Verifikation durchführt. Nachstehend erfolgt die Beschreibung eines
Ausführungsbeispiels, bei dem das Schnorr-Schema auf die Mehrfachsignatur und deren Block-
Verifikation angewendet wird, die das Verfahren der elliptischen Kurve einsetzen. Auch bei
diesem Ausführungsbeispiel kann die Idee der Verwendung der zweiten Mehrfachkomponente in
weitem Umfang auf die EIGammal-Signatur-Schemata und die digitalen Signatur-Schemata, die
die interaktiven Prüfungen unter Einschluß derselben verwenden, angewendet werden.
Die Systemkonfiguration, auf die dieses Ausführungsbeispiel angewendet wird, ist dieselbe wie
die in Fig. 1A gezeigte, und der Aufbau der Zentrale 100 ist der gleiche wie der in Fig. 14
gezeigte.
Es erfolgt nachstehend unter Bezugnahme auf Fig. 14 eine Beschreibung der anfänglichen
Informationseinstellverarbeitung in dem Moment, wenn die Zentrale 100 das System startet.
Schritt S1: Die Zentrale 100 erzeugt die Primzahl q mittels des Primzahlgenerators 110 und
a, b, GF(q) mittels des Parametergenerators 120.
Schritt S2: Die Zentrale 100 erzeugt den Punkt P∈Ea, b(GF(q)) auf der elliptischen Kurve mittels
des Basispunktgenerators 130, der eine Funktion G1(q) berechnet, und die Ordnung k
des Basispunkts P mittels des Ordnungsrechners 140. Der Punkt P entspricht dem
früher erwähnten Parameter β.
Schritt S3: Die öffentliche Information {q, a, b, P, k} wird an die Unterzeichnervorrichtungen
30 1, ..., 30 L und die Verifizierervorrichtung 800 über die sicheren Kommunikationskanäle
400 gesendet und in deren Speichern 33 bzw. 88 gespeichert.
Wie schon früher erwähnt, kann der Ordnungsrechner 140 leicht unter Verwendung des Schoof-
Algorithmus implementiert werden, der die Ordnung der elliptischen Kurve Ea, b(GF(q)) (d. h. die
Anzahl von Punkten auf der Kurve) berechnet.
Als nächstes erfolgt unter Bezugnahme auf Fig. 18 eine Beschreibung der Verarbeitung, die beim
Unterzeichner i ausgeführt wird, wenn er sich in das System einschreibt.
Schritt S4: Der Unterzeichner i erzeugt die Zufallszahl si mittels des Zufallsgenerators 310 und
gibt sie sowie die öffentliche Information {q, a, b, P} in den n-fach-Punktrechner 320
ein, der eine Funktion G2(si, P) berechnet und in welchem die öffentliche Information Ii
auf folgende Weise errechnet wird
Ii = G2(si, P) = siP über Ea, b(GF(q)) (70)
Schritt S5: Der Unterzeichner i sendet die Identifikationsinformation IDi, die öffentliche Informa
tion Ii und die Einweg-Funktionen fi und hi über den sicheren Kommunikationskanal 400
an die Zentrale 100, um sie dort als öffentliche Information {IDi, Ii, fi, hi} registrieren
zu lassen. Jeder Unterzeichner behält die jeweilige Zufallszahl si als geheime Informa
tion.
In der nachfolgenden Beschreibung wird die unterzeichnete Version des Dokuments mi, die von
dem Unterzeichner i geliefert wird, durch {I'i, X'i, mi, yi} identifiziert. Die Interaktionsfolge der
Nachricht ist die gleiche wie im Fall von Fig. 7. Bei Empfang einer Nachricht {ID'i-1, X'i-1, m, yi-1}
von dem Unterzeichner (i - 1) führt der Unterzeichner i die nachstehend beschriebene Signatur
erzeugungsverarbeitung durch. Die Konfiguration des Unterzeichners i (der Unterzeichnervorrich
tung 30 i) ist in Fig. 18 gezeigt. Es erfolgt nun eine Beschreibung des Falles, wo der Unterzeich
ner (i - 1) die zu unterzeichnende Nachricht sendet und der Unterzeichner i seine Signatur an der
Nachricht anbringt und die unterzeichnete Nachricht an den nächsten Unterzeichner (i + 1)
sendet. Wenn L Unterzeichner eine Mehrfachsignatur erzeugen, braucht lediglich i schrittweise
um eins von 1 bis L erhöht zu werden und die folgende Prozedur wiederholt zu werden. In
diesem Fall wird der Unterzeichner (i + 1) als der Verifizieren betrachtet; ID'0 = leere Menge,
X'0 = leere Menge und y0 = 0.
Schritt S6: Der Unterzeichner i erzeugt die Zufallszahl ri mittels des Zufallsgenerators 310 und
gibt sie in den n-fach-Punktrechner 320 ein, der die Funktion Φ berechnet, und zwar
zusammen mit der öffentlichen Information {q, a, b, P}, die aus dem Speicher 33
ausgelesen wird, wodurch in nachstehender Weise Xi berechnet wird
Xi = Φ(ri, P) = riP über Ea, b(GF(q)) (71)
Schritt S7: Die Unterzeichner i berechnet ei und di unter Verwendung des fi-Funktionsrechners
330 bzw. des hi-Funktionsrechners 340 durch
ei = fi(X'i, m) (72)
di = hi(X'i, m) (73)
wobei X'i = (X'i-1, Xi).
Schritt S8: Der Unterzeichner i gibt ei, di, ri und yi, in den Modulo-Multiplizierer 350 und dann in
den Modulo-Addierer 360 zusammen mit der öffentlichen Information k und der gehei
men Information si ein, wodurch die Signatur mit der Signaturfunktion Sgi durch Glei
chung (74) erzeugt wird:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod k (74)
Schritt S9: Der Unterzeichner i setzt ID'i = (ID'i-1, IDi), und sendet die Nachricht {ID'i, X'i, m, yi}
an den nächsten Unterzeichner (i + 1).
Fig. 19 zeigt den funktionalen Aufbau der Verifizierervorrichtung 800. Wen der Verifizieren die
Nachricht {ID'L, X'L, m, yL} von dem Unterzeichner L empfängt, verifiziert er die Gültigkeit der
einzelnen Signaturen mittels der nachfolgend beschriebenen Verarbeitung.
Schritt S10: Die ersten i Komponenten der Information X'L werden zur Bildung von X'i verwen
det, das zusammen mit der Nachricht m in den fi-Funktionsrechner 810 und den hi-
Funktionsrechner 820 eingegeben wird, worin die Komponenten ei bzw. di(1 ≦ i ≦ L)
berechnet werden durch
ei = fi(X'i, m)
di = hi(X'i, m)
di = hi(X'i, m)
Schritt S11: Die Information Ii wird von der IDi-Komponente in der Information ID'L abgeleitet,
und außerdem wird die Information Xi von der Information X'L abgeleitet. Diese Infor
mationen Ii und Xi werden zusammen mit den oben erwähnten Komponenten ei und di
sowie der öffentlichen Information {q, a, b, P, k}, die aus dem Speicher 88 ausgelesen
wird, in den n-fach-Rechner 830 eingegeben, der die Funktion V berechnet, und von
dem Z' errechnet wird durch
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
= (d1X1 + ... + dLXL + e1L1 + ... + eLIL) über Ea, b(GF(q)) (75)
wobei
ei = fi(X1, ..., Xi, m) (76)
di = hi(X1, ..., Xi, m) (77)
(1 ≦ i ≦ L)
(1 ≦ i ≦ L)
Schritt S12: Die Information yL und die öffentliche Information {q, a, b, P, k} werden in den n-
fach-Punktrechner 840 eingegeben, der die Funktion Γ(yL . P) berechnet und dadurch W
wie folgt errechnet:
W = Γ(yL, . P) = yLP über Ea, b(GF(q)) (78)
Schritt S13: Z' und W werden in den Komparator 850 eingegeben, wo sie miteinander vergli
chen werden, um sicherzugehen, daß
W = Z'.
Wenn beide übereinstimmen, wird davon ausgegangen, daß das Dokument m von den L
autorisierten Unterzeichnern ordnungsgemäß unterzeichnet wurde.
Jede Vorrichtung kann so ausgebildet werden, daß sie ihre Funktionen durch Lesen, Übersetzen
und Ausführen von Programmen unter Verwendung eines Computers durchführt. Bei jeder
Unterzeichnervorrichtung kann ID'i = (ID'i-1, IDi) ersetzt werden durch ID'i = (ID'i-1, Ii). Dies
erfordert die Speicherung der öffentlichen Information Ii in Speichermitteln und entlastet damit
die Verifizierervorrichtung, die dann nicht mehr die Information Ii in der Identifikationsinformation
IDi lokalisieren muß.
Dieses Ausführungsbeispiel entspricht dem dritten Ausführungsbeispiel, bei dem mehrere
Unterzeichner einzeln ihre Signatur an einem jeweiligen Dokument anbringen und die Signaturen
en-bloc verifiziert werden. Dieses Ausführungsbeispiel wird ebenfalls in Verbindung mit dem Fall
der Anwendung des Schnorr-Schemas und des Einsatzes des Verfahrens der elliptischen Kurve
beschrieben. Auch bei diesem Ausführungsbeispiel kann die Idee der Verwendung der zweiten
Mehrfachkomponente in weitem Umfang auf die EIGamal-Signatur-Schemata und die digitalen
Signatur-Schemata angewendet werden, die die interaktiven Prüfungen einsetzen, welche
dieselben enthalten.
Die Systemkonfiguration, auf die dieses Ausführungsbeispiel angewendet wird, ist die gleiche
wie die in Fig. 1B gezeigte, und die Konfiguration der Zentrale 100 ist die gleiche wie die in Fig.
14 gezeigte.
Bei der folgenden Beschreibung wird die unterzeichnete Nachricht durch {IDi, Xi, mi, yi}
repräsentiert, und zwar unter der Annahme, daß der Unterzeichner i das Dokument mi unter
zeichnet.
Die Interaktionsfolge der Nachricht ist die gleiche wie die in Fig. 11 gezeigte. Fig. 20 zeigt in
Blockform die Unterzeichnervorrichtung 30 i.
Schritt S14: Der Unterzeichner i erzeugt die Zufallszahl ri mittels des Zufallsgenerators 310 und
gibt sie zusammen mit der öffentlichen Information {q, a, b, P, k}, die aus dem
Speicher 33 ausgelesen wird, in den n-fach-Punktrechner 320 ein, der die Funktion Φ
berechnet, und in dem Xi berechnet wird durch
Xi = Φ(ri, P) = riP über Ea, b(GF(q)) (79)
Schritt S15: Der Unterzeichner i berechnet ei und di unter Verwendung des fi-Funktionsrechners
330 und des hi-Funktionsrechners 340 mittels
ei = fi (Xi, m) (80)
di = hi (Xi, m) (81)
Schritt S16: Der Unterzeichner i gibt ei, di, und ri in den Modulo-Multiplizierer 350 und dann den
Modulo-Addierer 360 zusammen mit der öffentlichen Information k und der geheimen
Information si ein, wodurch die Signatur mit der Signaturfunktion Sgi erzeugt wird durch
yi = Sgi(ei, di, si, ri, k) = (diri + eisi) mod k (82)
Schritt S17: Der Unterzeichner i sendet die Nachricht {IDi, Xi, m, yi} an den Verifizierer 800.
Fig. 21 zeigt in Blockform die Verifizierervorrichtung 800. Wenn der Verifizierer L Nachrichten
{Ii, Xi, mi, yi} von den L Unterzeichnern empfängt, verifiziert er die Gültigkeit der einzelnen
Signaturen durch die nachstehende Verarbeitung.
Schritt S18: Der Verifizierer 800 gibt die Information Xi und die Nachricht mi in den fi-Funktions
rechner 810 und den hi-Funktionsrechner 820 ein, worin die Komponenten ei bzw. di
(1 ≦ i ≦ L) errechnet werden durch
ei = fi(Xi, mi)
di = hi(Xi, mi)
di = hi(Xi, mi)
Schritt S19: Der Verifizierer 800 leitet die Information Ii von der IDi-Komponente und die
Information Xi von der Information X'L ab und gibt sie zusammen mit den oben erwähn
ten Komponenten ei und di sowie der öffentlichen Information {q, a, b, P, k}, die aus
dem Speicher 88 ausgelesen wird, in den n-fach-Rechner 830 ein, der die Funktion V
berechnet und in dem Z' errechnet wird durch
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
= (d1X1 + ... + dLXL + e1L1 + ... + eLIL) über Ea, b(GF(q)) (83)
wobei
ei = fi (X1, ..., Xi, {m1, ..., mi}) (84)
di = hi (X1, ..., Xi, {m1, ..., mi}) (85)
(1 ≦ i ≦ L)
(1 ≦ i ≦ L)
Schritt S20: Der Verifizierer 800 gibt die L Informationen yi und die öffentliche Information k in
den Modulo-Addierer 840 ein, in welchem ein akkumulierter Wert Y berechnet wird
durch
und gibt diesen in den n-fach-Punktrechner 845 ein, der die Funktion Γ(Y . P) und so
weiter berechnet und dadurch W in folgender Weise errechnet:
W = Γ(Y . P) = YP über Ea, b(GF(q)) (87)
Schritt S21: Z' und W werden in den Komparator 850 eingegeben, wo sie miteinander vergli
chen werden um sicherzustellen, daß
W = Z'.
Wenn beide miteinander übereinstimmen, wird davon ausgegangen, daß die L Doku
mente mi jeweils ordnungsgemäß von den L autorisierten Unterzeichnern i unterzeichnet
wurden.
Unter Berücksichtigung der Art der Erzeugung des akkumulierten Werts Y gilt
YP ∼ (yL-1P) + {dL(rLP)} + {eL(sLP)}
∼ yLP + dLXL + eLIL ∼ ...
∼ (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)) (88)
Wenn also der obige Vergleichstest durch den Komparator 850 bestanden wird, akzeptiert der
Verifizierer 800 die Dokumente mi (i = 1, ..., L) als durch L autorisierte Unterzeichner jeweils
ordnungsgemäß unterzeichnet.
Es erfolgt nun eine Bewertung der vorliegenden Erfindung im Vergleich mit dem RSA-Schema
und dem Schnorr-Schema hinsichtlich der Rechenkomplexität grundlegender Operationen, die in
den Unterzeichnungs- und Verifikations-Prozeduren enthalten sind, sowie der Redundanz
verwendeter Nachrichten und in anderer Hinsicht. Das zu bewertende System ist eines, welches
die Mehrfachsignatur und deren Verifikation ausführt. Dementsprechend werden das zweite und
das fünfte Ausführungsbeispiel der vorliegenden Erfindung bewertet.
Die Tabelle der Fig. 22 zeigt im Vergleich grundlegende Berechnungen für die Mehrfachsignatur
und ihre Verifikation in dem RSA-Schema, dem Schnorr-Schema sowie dem zweiten und dem
fünften Ausführungsbeispiel der Erfindung. Die Tabelle von Fig. 23 zeigt die Anzahl von in den
Unterzeichnungs- und Verifikations-Prozeduren der jeweiligen Schemata enthaltenen Berechnun
gen, wenn die Gleichungen in Fig. 22 verwendet werden. Fig. 23 zeigt außerdem die Redundanz
von Nachrichten, die Anzahl von Kommunikationen, die zur Verifizierung aller Signaturen
erforderlich sind und die Anzahl von Zirkulationsdurchläufen jeder Nachricht.
Bei den Operationen zum Zwecke der Unterzeichnung, die in der Tabelle von Fig. 22 gezeigt
sind, sind die Berechnungen der Einweg-Funktionen f, fi und hi schneller als die Multiplikation
und die n-fach-Punktrechnung. Daher wird der Rechenaufwand jeder Unterzeichnervorrichtung
im Hinblick auf die Anzahl von Modulo-N-Multiplikationen (einschließlich Modulo-N- oder -p-
Rechnungen) und die Anzahl von Berechnungen verglichen, die für den n-fach-Punkt auf der
elliptischen Kurve durchgeführt werden.
Gewöhnlich wird |N| = 1024 und |q| = 160 empfohlen. In diesem Fall ist, da die führenden
Terme jeweils der ersten Berechnung entsprechen, die Verarbeitungsgeschwindigkeit bei dem
zweiten und dem fünften Ausführungsbeispiel mehr als fünfmal so groß wie die im Fall unter
Verwendung des RSA-Verschlüsselungssystems, wie in Fig. 23 gezeigt. Es wurde berichtet, daß
die Berechnung des n-fach-Punkts auf der elliptischen Kurve, wie bei dem fünften Ausführungs
beispiel, etwa zehnmal so schnell wie die Unterzeichnungsprozedur unter Verwendung des RSA-
Verschlüsselungssystems ist (siehe beispielsweise http://www/certicom.com/html/eccqa.html.)
Bei den Berechnungen zur Signaturverifikation, die in Fig. 22 gezeigt sind, sind die Berechnungen
der Einweg-Funktionen f, fi und hi schneller als die Multiplikation und die Berechnung des n-fach-
Punkts auf der elliptischen Kurve. Daher wird der Verarbeitungsumfang beim Verifizierer im
Hinblick auf die Anzahl von Potenzierungen (einschließlich Modulo-N- oder -p-Berechnungen) und
die Anzahl von Berechnungen für den n-fach-Punkt auf der elliptischen Kurve verglichen. Wie in
Fig. 23 gezeigt, ist die Rechenbelastung für die Signaturverifikation durch die vorliegende
Erfindung die gleiche wie im Fall der Verwendung des RSA-Verschlüsselungssystems, aber im
wesentlichen halb so groß wie diejenigen im Fall der Verwendung des Schnorr-Schemas.
Bei jedem Multi-Signaturschema wird die ID-Information der Nachricht für jede einzelne Signatur
(die ID'L-Komponenten) im Hinblick darauf hinzugefügt, daß der Unterzeichner deutlich wird. Im
folgenden wird die Redundanz der Nachricht {ID', X, m, y} unter Verwendung der Anzahl von
Bits jeweils der X- und der y-Komponente bewertet. Die Signaturkomponente (y-Komponente)
bei Verwendung des RSA-Verschlüsselungssystems ist repräsentiert durch DL ... D1(f(m)). Die
Ergebnisse sind in Fig. 23 gezeigt.
Bei dem Verfahren des zweiten und des fünften Ausführungsbeispiels der vorliegenden Erfindung
ergibt sich L × |X| + |y| Bits. Die Anwendung des fünften Ausführungsbeispiels liefert
|p| = |q| = |e| = 160 und |X| = |q| + 1; d. h. 161 L + 160 Bits. Dies zeigt an, daß für den Fall von
2 ≦ L ≦ 6 das Verfahren des fünften Ausführungsbeispiels vorteilhaft ist.
Wie zuvor in Verbindung mit dem Hintergrund der vorliegenden Erfindung erläutert, beinhalten
die Multi-Signaturprozedur und die Verifikationsprozedur mit dem Schnorr-Schema zwei Zirkula
tionsrunden oder Umläufe der Nachricht zu den Unterzeichnern. Daraus ergibt sich, daß die
erforderliche Anzahl von Kommunikationen ebenfalls doppelt so groß wie die bei den anderen
Schemata ist.
Was die Basis der Sicherheit des Signaturschemas und des Block-Verifikationsschemas gemäß
der vorliegenden Erfindung angeht, schließt die Schwierigkeit des diskreten Logarithmusproblems
durch das Modulo-p jede Erfolgsmöglichkeit zur Berechnung der geheimen Information si aus der
öffentlichen Information {p, q, g, Ii} aus. Daß jede Unterzeichnervorrichtung nicht die Mehrfach
signatur einschließlich der Signatur irgendeiner anderen Unterzeichnervorrichtung fälschen kann,
kann garantiert werden durch Kombination der Verfahren der vorliegenden Erfindung mit der
"Exakte Sicherheit"-Eigenschaft unter dem sogenannten "Random-Oracle-Modell", das Ergebnis
der theoretischen Studien der Rechenkomplexität ist.
Hinsichtlich der "Exakte Sicherheit"-Eigenschaft wird beispielsweise verwiesen auf die Fundstelle
M. Bellare and P. Rogaway, "Random Oracles are Practical: A Paradigm for Designing Efficient
Protocols, "Proc. of the First ACM Conference an Computer and Communications Security,
Seiten 62-73, und K. Ohta and T. Okamoto, "The Exact Security of Multi-Signature Schemes,"
Technical Rehort of IEICE ISEC97-27.
Wie oben beschrieben, kann gemäß der vorliegenden Erfindung die Signaturerzeugungsverarbei
tung mehr als fünfmal so schnell wie im Fall der Verwendung des RSA-Schemas ausgeführt
werden. Die Signaturverifikationsverarbeitung stimmt in der Geschwindigkeit mit dem Fall der
Verwendung des RSA-Schemas überein, kann jedoch doppelt so schnell gemacht werden wie im
Fall der wiederholten Verwendung des Schnorr-Schemas. Wenn L gleich 6 oder kleiner ist, ist die
Redundanz der Nachricht bei der vorliegenden Erfindung die gleiche wie im Fall der wiederholten
Verwendung des Schnorr-Schemas und ist vorteilhafter als im Fall der Verwendung des RSA-
Schemas.
Claims (70)
1. Verfahren, mit dem ein Verifizierer en-bloc digitale Signaturen verifiziert, die von
einer Reihe von Unterzeichnern i, i = 1, 2, ... L, wobei L eine ganze Zahl gleich oder größer als
zwei ist, an einem in elektronischer Form vorliegenden Dokument m'i angebracht wurden, wobei
Information enthaltend einen Parameter q für jeden der Unterzeichner i zur Erzeugung einer
Signaturfunktion Sgi und einen Parameter β = G1(q), der mit einer Funktion G1 unter Verwendung
des Parameters q erhalten wird, vorab veröffentlicht wird, umfassend die Schritte:
- 1. jeder Unterzeichner i
- a) erzeugt eine erste Zufallszahl si als geheime Information, erzeugt dann Information Ii = G2(si, β) mit einer Funktion G2 unter Verwendung des öffentlichen Parameters β und der ersten Zufallszahl si und veröffentlicht die Information Ii sowie zwei Einweg-Funktionen fi und hi und Identifikationsinformation IDi, die von dem Unterzeichner i verwendet wird, als seine öffentliche Information {IDi, Ii, fi, hi};
- b) erzeugt eine zweite Zufallszahl ri, erzeugt dann Information Xi = Φ(ri, β), indem der Parameter β und die zweite Zufallszahl ri in eine Funktion Φ eingesetzt werden, und setzt Information, die die Information Xi enthält, auf X'i;
- c) erzeugt
ei = fi(X'i, mi)
di = hi(X'i, m'i)
mit den Einweg-Funktionen fi und hi unter Verwendung von Dokumentinformation m'i, die ein zu unterzeichnendes Dokument mi enthält, sowie der Information X'i; und - d) erzeugt für Information enthaltend ei, di, si und ri eine Signatur
yi = Sgi(ei, di, si, ri, yi-1)
mit der Signaturfunktion Sgi, die unter Verwendung des Parameters q erzeugt wird, und sendet Information {ID'i, X'i, m'i, yi}, die die Identifikationsinformation IDi als Identifikationsinformation ID'i enthält, an den nächsten Unterzeichner (i + 1) in der Reihe von Unterzeichnern i = 1 bis L, wobei der letzte Unterzeichner L die Information {ID'L, X'L, m'L, yL} an den Verifizierer als letzte Bestimmung sendet; und
- 2. der Verifizierer
- a) berechnet, aus der öffentlichen Information {IDi, Ii, fi, hi}, Information Ii entspre chend der Identifikationsinformation IDi, die in der Information ID'i in der empfangenen Informa tion {ID'L, X'L, m'L, yL} enthalten ist, und die Einweg-Funktionen fi und hi und berechnet ei und di unter Verwendung der Einweg-Funktionen fi und hi sowie X'i und m'i in den empfangenen Informationen X'L und m'L;
- b) berechnet die Information Xi, die in der Information X'i enthalten ist, und berechnet
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
mit einer Funktion V, enthaltend Berechnungen von (Xi . di) aus di und Xi und (Ii . ei) aus ei und Ii, für i = 1, ... L; und - c) berechnet W = Γ(yL . β) mit einer Funktion Γ, die eine Berechnung von (yL . β) von yL und β enthält, prüft dann ob W = Z' und entscheidet, falls beide Werte miteinander übereinstim men, daß die Signaturen alle gültig sind.
2. Verfahren, bei dem ein Verifizierer en-bloc digitale Signaturen verifiziert, die von
Unterzeichnern i, i = 1, 2, ... L, wobei L eine ganze Zahl gleich oder größer als zwei ist, an einem
in elektronischer Form vorliegenden Dokument m'i angebracht wurden, wobei Information
enthaltend einen Parameter q für jeden der Unterzeichner i zur Erzeugung einer Signaturfunktion
Sgi und einen Parameter β = G1(q), der unter Verwendung des Parameters q mit einer Funktion G1
erhalten wird, vorab veröffentlicht wird, umfassend die Schritte:
- 1. jeder Unterzeichner i
- a) erzeugt eine erste Zufallszahl si als geheime Information, erzeugt dann Information Ii = G2(si, β) mit einer Funktion G2 unter Verwendung des öffentlichen Parameters β und der ersten Zufallszahl si und veröffentlicht die Information Ii sowie zwei Einweg-Funktionen fi und hi und Identifikationsinformation IDi, die von dem Unterzeichner i verwendet wird, als seine öffentliche Information {IDi, Ii, fi, hi};
- b) erzeugt eine zweite Zufallszahl ri, erzeugt dann Information Xi = Φ(ri, β), indem der Parameter β und die zweite Zufallszahl ri in eine Funktion Φ eingesetzt werden, und setzt Information, die die Information Xi enthält, auf X'i;
- c) erzeugt
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
mit den Einweg-Funktionen fi und hi unter Verwendung von Dokumentinformation, die ein zu unterzeichnendes Dokument mi enthält, sowie der Information X'i; und - d) erzeugt für Information enthaltend ei, di, si und ri eine Signatur
yi = Sgi(ei, di, si, ri)
mit der Signaturfunktion Sgi, die unter Verwendung des Parameters q erzeugt wird, und sendet die Information {ID'i, X'i, m'i, yi}, die die Identifikationsinformation IDi als Identifikationsinforma tion ID'i enthält, an den Verifizierer als letzte Bestimmung; und
- 2. der Verifizierer
- a) berechnet aus der öffentlichen Information {IDi, Ii, fi, hi} Information Ii entsprechend der Identifikationsinformation IDi, die in der Information ID'i in der empfangenen Information {ID'i, X'i, m'i, yi} enthalten ist, und die Einweg-Funktionen fi und hi und berechnet ei und di unter Verwendung der Einweg-Funktionen fi und hi und der empfangenen Informationen X'i und m'i;
- b) berechnet die Information Xi, die in der Information X'i enthalten ist, und berechnet
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
mit einer Funktion V, die Berechnungen von (Xi . di) aus di und Xi sowie von (Ii . ei) aus ei und Ii enthält, für i = 1, ..., L; und - c) berechnet W = Γ(Y . β) mit einer Funktion Γ, die eine Berechnung von (Y . β) unter Verwendung von β und eines akkumulierten Wert Y von y1 bis yL enthält, prüft dann, ob W = Z' und entscheidet, wenn beide Werte miteinander übereinstimmen, daß die Signaturen alle gültig sind.
3. Verfahren nach Anspruch 1, bei dem:
X'i = (X'i-1, Xi), X'0 = leere Menge
m'i = (m'i-1, mi), m'0 = leere Menge
ID'i = (ID'i-1, IDi), ID'0 = leere Menge
y0 = 0; und
der Unterzeichner i von dem Unterzeichner (i - 1) {ID'i-1, X'i-1, m'i-1, yi-1} empfängt und die Schritte (b) bis (d) ausführt, und Information {ID'i, X'i, m'i, yi} an den Unterzeichner (i + 1) sendet, während der letzte Unterzeichner L die Schritte (b) bis (d) mit von dem Unterzeichner (i - 1) erhaltender Information durchläuft und Information {ID'L, X'L, m'L, yL} erzeugt und an den Verifizierer sendet.
X'i = (X'i-1, Xi), X'0 = leere Menge
m'i = (m'i-1, mi), m'0 = leere Menge
ID'i = (ID'i-1, IDi), ID'0 = leere Menge
y0 = 0; und
der Unterzeichner i von dem Unterzeichner (i - 1) {ID'i-1, X'i-1, m'i-1, yi-1} empfängt und die Schritte (b) bis (d) ausführt, und Information {ID'i, X'i, m'i, yi} an den Unterzeichner (i + 1) sendet, während der letzte Unterzeichner L die Schritte (b) bis (d) mit von dem Unterzeichner (i - 1) erhaltender Information durchläuft und Information {ID'L, X'L, m'L, yL} erzeugt und an den Verifizierer sendet.
4. Verfahren nach Anspruch 3, bei dem m'1 = m1 = m; m2 = m3 ... = mL = leere Menge; und
der Unterzeichner i von dem Unterzeichner (i - 1) Information {ID'i-1, X'i-1, m, yi-1} empfängt und
die Schritte (b) bis (d) ausführt und Information {ID'i, X'i, m, yi} an den Unterzeichner (i + 1)
sendet, während der letzte Unterzeichner L die Schritte (b) bis (d) mit von dem Unterzeichner (i -
1) erhaltener Information ausführt, Information {ID'L, X'L, m, yL} erzeugt und diese an den
Verifizierer sendet.
5. Verfahren nach Anspruch 2, bei dem X'i = Xi, m'i = mi, und ID'i = IDi; und jeder Unter
zeichner die Schritte (b) bis (d) ausführt und Information {IDi, Xi, mi, yi} erzeugt und einzeln an
den Verifizierer sendet.
6. Verfahren nach Anspruch 3 oder 4, bei dem ID'i = (ID'i-1, IDi) ersetzt wird durch
ID'i = (ID'i-1, Ii).
7. Verfahren nach Anspruch 3 oder 4, bei dem, wenn die Anzahl von Elementen einer
Gruppe p ist, ein Element g der Gruppe, bei dem eine Gruppenrechnung beginnt, der Parameter β
ist und eine ganze Zahl, mit der, wenn das Element g q-mal gruppenberechnet wird, die
Berechnung zu g zurückkehrt, der Parameter q ist, und diese Parameter {p, q, g} als öffentliche
Systeminformation veröffentlicht werden,
die Berechnung der Information Ii unter Verwendung der Funktion G2(si, g) in Schritt (a) durch eine si-malige Gruppenberechnung des Parameters g unter Verwendung des Parameters p durchgeführt wird,
die Berechnung der Information Xi unter Verwendung der Funktion Φ im Schritt (b) durch ri-malige Gruppenberechnungen des Parameters g unter Verwendung des Parameters p durchgeführt wird,
der Schritt (f) ein Schritt zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jeden Unterzeichner i von 1 bis L ist, und
der Schritt (g) ein Schritt der Berechnung von W mittels y'L-maligen Berechnungen des Parameters g unter Verwendung der empfangenen Information yL und der öffentlichen Informa tionen p und q ist.
die Berechnung der Information Ii unter Verwendung der Funktion G2(si, g) in Schritt (a) durch eine si-malige Gruppenberechnung des Parameters g unter Verwendung des Parameters p durchgeführt wird,
die Berechnung der Information Xi unter Verwendung der Funktion Φ im Schritt (b) durch ri-malige Gruppenberechnungen des Parameters g unter Verwendung des Parameters p durchgeführt wird,
der Schritt (f) ein Schritt zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jeden Unterzeichner i von 1 bis L ist, und
der Schritt (g) ein Schritt der Berechnung von W mittels y'L-maligen Berechnungen des Parameters g unter Verwendung der empfangenen Information yL und der öffentlichen Informa tionen p und q ist.
8. Verfahren nach Anspruch 7, ferner umfassend einen Schritt der Voraberzeugung von
p und q, bei denen es sich um Primzahlen handelt, für die die Beziehung gilt 1 = p mod q, sowie
des Erzeugens eines Grundelements α von (Z/pZ)*, und bei dem
die Funktion G1 zur Berechnung des Parameters β = g durch die folgende Gleichung gegeben ist:
g = G1(q) = α(p-1)q mod p;
die Funktion G2(si, g) im Schritt (a) durch die folgende Gleichung gegeben ist:
Ii = G2(si, g) = gsi mod p,
die Funktion Φ in Schritt (b) durch die folgende Gleichung gegeben ist:
Xi = Φ(ri, g) = gri mod p,
die Signaturfunktion Sgi in Schritt (d) gegeben ist durch die folgende Gleichung unter Verwendung von ei, di, ri, si, q und yi-1:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod q,
die Funktion V im Schritt (f) gegeben ist durch die folgende Gleichung:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p; und
die Funktion Γ in Schritt (g) gegeben ist durch die folgende Gleichung:
W = Γ(yL . g) = gyL mod p.
die Funktion G1 zur Berechnung des Parameters β = g durch die folgende Gleichung gegeben ist:
g = G1(q) = α(p-1)q mod p;
die Funktion G2(si, g) im Schritt (a) durch die folgende Gleichung gegeben ist:
Ii = G2(si, g) = gsi mod p,
die Funktion Φ in Schritt (b) durch die folgende Gleichung gegeben ist:
Xi = Φ(ri, g) = gri mod p,
die Signaturfunktion Sgi in Schritt (d) gegeben ist durch die folgende Gleichung unter Verwendung von ei, di, ri, si, q und yi-1:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod q,
die Funktion V im Schritt (f) gegeben ist durch die folgende Gleichung:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p; und
die Funktion Γ in Schritt (g) gegeben ist durch die folgende Gleichung:
W = Γ(yL . g) = gyL mod p.
9. Verfahren nach Anspruch 5, bei dem, wenn die Anzahl von Elementen einer Gruppe
p ist, ein Element g der Gruppe, bei dem eine Gruppenrechnung beginnt, der Parameter β ist und
eine ganze Zahl mit der, wenn das Element g q-mal gruppenberechnet wird, die Berechnung zu g
zurückkehrt, der Parameter q ist, und diese Parameter {p, q, g} als öffentliche Systeminformation
veröffentlicht werden,
die Berechnung der Information Ii unter Verwendung der Funktion G2(si, g) in Schritt (a) durch eine si-malige Gruppenberechnung des Parameters g unter Verwendung des Parameters p durchgeführt wird,
die Berechnung der Information Xi unter Verwendung der Funktion Φ im Schritt (b) durch ri-malige Gruppenberechnungen des Parameters g unter Verwendung des Parameters p durchgeführt wird,
der Schritt (f) ein Schritt zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jeden Unterzeichner i von 1 bis L ist, und
der Schritt (g) ein Schritt der Berechnung eines akkumulierten Werts Y unter Verwen dung von L Informationen yi und der Erzeugung, als W, eines Werts (g . Y) ist, der erhalten wird durch Y-maliges Operieren oder Berechnen des Parameters g unter Verwendung von Y und den öffentlichen Informationen p und q.
die Berechnung der Information Ii unter Verwendung der Funktion G2(si, g) in Schritt (a) durch eine si-malige Gruppenberechnung des Parameters g unter Verwendung des Parameters p durchgeführt wird,
die Berechnung der Information Xi unter Verwendung der Funktion Φ im Schritt (b) durch ri-malige Gruppenberechnungen des Parameters g unter Verwendung des Parameters p durchgeführt wird,
der Schritt (f) ein Schritt zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jeden Unterzeichner i von 1 bis L ist, und
der Schritt (g) ein Schritt der Berechnung eines akkumulierten Werts Y unter Verwen dung von L Informationen yi und der Erzeugung, als W, eines Werts (g . Y) ist, der erhalten wird durch Y-maliges Operieren oder Berechnen des Parameters g unter Verwendung von Y und den öffentlichen Informationen p und q.
10. Verfahren nach Anspruch 9 ferner umfassend einen Schritt der Voraberzeugung
von p und q, bei denen es sich um Primzahlen handelt, für die die Beziehung gilt 1 = p mod q,
sowie des Erzeugens eines Grundelements α von (Z/pZ)*, und bei dem
die Funktion G1 zur Berechnung des Parameters β = g durch die folgende Gleichung gegeben ist:
g = G1(q) = α(p-1)q mod p;
die Funktion G2(si, g) im Schritt (a) durch die folgende Gleichung gegeben ist:
Ii = G2(si, g) = gsi mod p,
die Funktion Φ in Schritt (b) durch die folgende Gleichung gegeben ist:
Xi = Φ(ri, g) = gri mod p,
die Signaturfunktion Sgi in Schritt (d) durch die folgende Gleichung unter Verwendung von ei, di, ri, si, und q gegeben ist:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod q,
die Funktion V im Schritt (f) gegeben ist durch die folgende Gleichung:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p; und
im Schritt (g) der akkumulierte Wert Y berechnet wird durch
und die Funktion Γ in Schritt (g) gegeben ist durch die folgende Gleichung:
W = Γ(Y . g) = gYmod p.
die Funktion G1 zur Berechnung des Parameters β = g durch die folgende Gleichung gegeben ist:
g = G1(q) = α(p-1)q mod p;
die Funktion G2(si, g) im Schritt (a) durch die folgende Gleichung gegeben ist:
Ii = G2(si, g) = gsi mod p,
die Funktion Φ in Schritt (b) durch die folgende Gleichung gegeben ist:
Xi = Φ(ri, g) = gri mod p,
die Signaturfunktion Sgi in Schritt (d) durch die folgende Gleichung unter Verwendung von ei, di, ri, si, und q gegeben ist:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod q,
die Funktion V im Schritt (f) gegeben ist durch die folgende Gleichung:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p; und
im Schritt (g) der akkumulierte Wert Y berechnet wird durch
und die Funktion Γ in Schritt (g) gegeben ist durch die folgende Gleichung:
W = Γ(Y . g) = gYmod p.
11. Verfahren nach Anspruch 3 oder 4, bei dem der Parameter q ein Parameter eines
Definitionsfeldes GF(q) einer elliptischen Kurve Ea, b(GF(q)) ist, und, wenn ein Basispunkt einer
Ordnung k auf der elliptischen Kurve durch den Parameter β repräsentiert ist und ein Parameter
der elliptischen Kurve durch a, b∈GF(q), diese Parameter {q, a, b, P, k} als öffentliche Systemin
formation veröffentlicht werden, und bei dem
die Berechnung der Information Ii unter Verwendung der Funktion G2(si, P) im Schritt (a) durch si-malige Gruppenberechnungen des Parameters p ausgeführt wird,
die Berechnung der Information Xi unter Verwendung der Funktion Φ in Schritt (b) durch ri-malige Gruppenberechnungen des Parameters P ausgeführt wird,
der Schritt (f) ein Schritt zum Erhalt von Z' ist durch sequentielles Berechnen von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jeden Unterzeichner i von 1 bis L, und
der Schritt (g) ein Schritt der Berechnung von W durch yL-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information p ist.
die Berechnung der Information Ii unter Verwendung der Funktion G2(si, P) im Schritt (a) durch si-malige Gruppenberechnungen des Parameters p ausgeführt wird,
die Berechnung der Information Xi unter Verwendung der Funktion Φ in Schritt (b) durch ri-malige Gruppenberechnungen des Parameters P ausgeführt wird,
der Schritt (f) ein Schritt zum Erhalt von Z' ist durch sequentielles Berechnen von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jeden Unterzeichner i von 1 bis L, und
der Schritt (g) ein Schritt der Berechnung von W durch yL-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information p ist.
12. Verfahren nach Anspruch 11, bei dem
die Funktion Gi zur Berechnung des Parameters β = P gegeben ist durch folgende Gleichung:
G1(q) = P∈Ea, b(GF(q)),
die Funktion G2(si, P) in Schritt (a) gegeben ist durch die folgende Gleichung:
Ii = G2(si, P) = siP über Ea, b(GF(q));
die Funktion Φ in Schritt (b) gegeben ist durch die folgende Gleichung:
Xi = Φ(ri, P) = riP über Ea, b(GF(q));
die Signaturfunktion Sgi in Schritt (d) gegeben ist durch die folgende Gleichung unter Verwendung von ei, di, ei, si und yi-1:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod k,
die Funktion V im Schritt (f) gegeben ist durch die folgende Gleichung:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)); und
die Funktion Γ im Schritt (g) gegeben ist durch die folgende Gleichung:
W = Γ(yL . P) = yLP über Ea, b(GF(q)).
die Funktion Gi zur Berechnung des Parameters β = P gegeben ist durch folgende Gleichung:
G1(q) = P∈Ea, b(GF(q)),
die Funktion G2(si, P) in Schritt (a) gegeben ist durch die folgende Gleichung:
Ii = G2(si, P) = siP über Ea, b(GF(q));
die Funktion Φ in Schritt (b) gegeben ist durch die folgende Gleichung:
Xi = Φ(ri, P) = riP über Ea, b(GF(q));
die Signaturfunktion Sgi in Schritt (d) gegeben ist durch die folgende Gleichung unter Verwendung von ei, di, ei, si und yi-1:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod k,
die Funktion V im Schritt (f) gegeben ist durch die folgende Gleichung:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)); und
die Funktion Γ im Schritt (g) gegeben ist durch die folgende Gleichung:
W = Γ(yL . P) = yLP über Ea, b(GF(q)).
13. Verfahren nach Anspruch 5, bei dem der Parameter q ein Parameter eines Defini
tionsfeldes GF(q) einer elliptischen Kurve Ea, b(GF(q)) ist, und, wenn ein Basispunkt einer Ordnung
k auf der elliptischen Kurve repräsentiert ist durch den Parameter β, ein Parameter der ellipti
schen Kurve durch a, b∈GF(q), diese Parameter {q, a, b, P, k} als öffentliche Systeminformation
veröffentlicht wird, und bei dem
die Berechnung der Information Ii unter Verwendung der Funktion G2(si, P) in Schritt (a) durchgeführt wird durch si-malige Gruppenberechnungen des Parameters p,
die Berechnung der Information Xi unter Verwendung der Funktion Φ in Schritt (b) durchgeführt wird durch ri-malige Gruppenberechnungen des Parameters P,
Schritt (f) ein Schritt ist zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jeden Unterzeichner i von 1 bis L, und
der Schritt (g) ein Schritt der Berechnung von W durch Y-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information p ist.
die Berechnung der Information Ii unter Verwendung der Funktion G2(si, P) in Schritt (a) durchgeführt wird durch si-malige Gruppenberechnungen des Parameters p,
die Berechnung der Information Xi unter Verwendung der Funktion Φ in Schritt (b) durchgeführt wird durch ri-malige Gruppenberechnungen des Parameters P,
Schritt (f) ein Schritt ist zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jeden Unterzeichner i von 1 bis L, und
der Schritt (g) ein Schritt der Berechnung von W durch Y-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information p ist.
14. Verfahren nach Anspruch 13, bei dem
die Funktion G1 zur Berechnung des Parameters β = P gegeben ist durch folgende Gleichung:
G1(q) = P∈Ea, b(GF(q)),
die Funktion G2(si, P) in Schritt (a) gegeben ist durch die folgende Gleichung:
Ii = G2(si, P) = siP über Ea, b(GF(q));
die Funktion Φ in Schritt (b) gegeben ist durch die folgende Gleichung:
Xi = Φ(ri, P) = riP über Ea, b(GF(q)),
die Signaturfunktion Sgi in Schritt (d) gegeben ist durch die folgende Gleichung unter Verwendung von ei, di, ri und si:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod k,
die Funktion V in Schritt (f) gegeben ist durch die folgende Gleichung:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)), und
die Funktion Γ in Schritt (g) gegeben ist durch die folgende Gleichung:
W = Γ(Y . P) = YP über Ea, b(GF(q))
wobei
die Funktion G1 zur Berechnung des Parameters β = P gegeben ist durch folgende Gleichung:
G1(q) = P∈Ea, b(GF(q)),
die Funktion G2(si, P) in Schritt (a) gegeben ist durch die folgende Gleichung:
Ii = G2(si, P) = siP über Ea, b(GF(q));
die Funktion Φ in Schritt (b) gegeben ist durch die folgende Gleichung:
Xi = Φ(ri, P) = riP über Ea, b(GF(q)),
die Signaturfunktion Sgi in Schritt (d) gegeben ist durch die folgende Gleichung unter Verwendung von ei, di, ri und si:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod k,
die Funktion V in Schritt (f) gegeben ist durch die folgende Gleichung:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)), und
die Funktion Γ in Schritt (g) gegeben ist durch die folgende Gleichung:
W = Γ(Y . P) = YP über Ea, b(GF(q))
wobei
15. Unterzeichnervorrichtung für ein System, bei dem jeder einer Reihe von Unterzeich
nern i = 1, ..., L, wobei L eine ganze Zahl gleich oder größer als zwei ist, eine digitale Signatur an
einem in elektronischer Form vorliegenden Dokument m'i anbringt und ein Verifizierer die
digitalen Signaturen en-bloc verifiziert, wobei Information enthaltend einen Parameter q für jeden
der Unterzeichner i zur Erzeugung einer Signaturfunktion Sgi und ein Parameter β = G1(q), der mit
einer Funktion G1 unter Verwendung des Parameters q erhalten wird, vorab veröffentlicht
werden, umfassend:
Speichermittel zur Speicherung der öffentlichen Parameter p und β des Systems, Identi fikationsinformation IDi des jeweiligen Unterzeichners i und einer ersten Zufallszahl si als seiner geheimen Information,
G2-Funktionsmittel zur Erzeugung von Information Ii = G2(si, β) mit einer Funktion G2 unter Verwendung des öffentlichen Parameters β und der ersten Zufallszahl si, wobei die Information Ii als öffentliche Information {IDi, Ii, fi, hi} des Unterzeichners zusammen mit einem Paar von Einweg-Funktionen fi und hi und Identifikationsinformation IDi, die von dem jeweiligen Unterzeichner verwendet wird, veröffentlicht wird,
Zufallsgeneratormittel zur Erzeugung einer zweiten Zufallszahl ri,
Φ-Funktionsmittel zum Einsetzen des Parameters β und der zweiten Zufallszahl ri in eine Funktion Φ zur Erzeugung von Information Xi = Φ(ri, β),
zwei Einweg-Funktionsmittel zur Erzeugung von
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
mit den beiden Einweg-Funktionen fi und hi unter Verwendung von Dokumentinformation m'i enthaltend ein zu unterzeichnendes Dokument mi und Information X'i enthaltend die Information Xi,
Signaturfunktionsmittel zur Erzeugung, für Information enthaltend ei, di, si, ri und yi-1, einer Signatur
yi = Sgi(ei, di, si, ri, yi-1)
mit einer Signaturfunktion Sgi, die unter Verwendung des Parameters q erzeugt wird, und
Mittel zum Senden von Information {ID'i, X'i, m'i, yi}, als Information, welche Identifi kationsinformation IDi enthält, an den nächsten Unterzeichner (i + 1) in der Reihe von Unterzeich nern i von 1 bis L, wobei der letzte Unterzeichner L die Information {ID'L, X'L, m'L, yL} an den Verifizierer als letzter Bestimmung sendet.
Speichermittel zur Speicherung der öffentlichen Parameter p und β des Systems, Identi fikationsinformation IDi des jeweiligen Unterzeichners i und einer ersten Zufallszahl si als seiner geheimen Information,
G2-Funktionsmittel zur Erzeugung von Information Ii = G2(si, β) mit einer Funktion G2 unter Verwendung des öffentlichen Parameters β und der ersten Zufallszahl si, wobei die Information Ii als öffentliche Information {IDi, Ii, fi, hi} des Unterzeichners zusammen mit einem Paar von Einweg-Funktionen fi und hi und Identifikationsinformation IDi, die von dem jeweiligen Unterzeichner verwendet wird, veröffentlicht wird,
Zufallsgeneratormittel zur Erzeugung einer zweiten Zufallszahl ri,
Φ-Funktionsmittel zum Einsetzen des Parameters β und der zweiten Zufallszahl ri in eine Funktion Φ zur Erzeugung von Information Xi = Φ(ri, β),
zwei Einweg-Funktionsmittel zur Erzeugung von
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
mit den beiden Einweg-Funktionen fi und hi unter Verwendung von Dokumentinformation m'i enthaltend ein zu unterzeichnendes Dokument mi und Information X'i enthaltend die Information Xi,
Signaturfunktionsmittel zur Erzeugung, für Information enthaltend ei, di, si, ri und yi-1, einer Signatur
yi = Sgi(ei, di, si, ri, yi-1)
mit einer Signaturfunktion Sgi, die unter Verwendung des Parameters q erzeugt wird, und
Mittel zum Senden von Information {ID'i, X'i, m'i, yi}, als Information, welche Identifi kationsinformation IDi enthält, an den nächsten Unterzeichner (i + 1) in der Reihe von Unterzeich nern i von 1 bis L, wobei der letzte Unterzeichner L die Information {ID'L, X'L, m'L, yL} an den Verifizierer als letzter Bestimmung sendet.
16. Unterzeichnervorrichtung für ein System, bei dem jeder von Unterzeichnern i = 1, ...
L, wobei L eine ganze Zahl gleich oder größer als zwei ist, eine digitale Signatur an einem in
elektronischer Form vorliegenden Dokument m'i anbringt und ein Verifizierer die digitalen
Signaturen en-bloc verifiziert, wobei Information enthaltend einen Parameter q für jeden der
Unterzeichner i zur Erzeugung einer Signaturfunktion Sgi und ein Parameter β = G1(q), der unter
Verwendung des Parameters q mit einer Funktion G1 erhalten wird, im voraus veröffentlicht
werden, umfassend:
Speichermittel zur Speicherung der öffentlichen Parameter q und β des Systems, von Identifikationsinformation IDi des jeweiligen Unterzeichners i und einer ersten Zufallszahl si als seiner geheimen Information,
G2-Funktionsmittel zur Erzeugung von Information Ii = G2(si, β) mit einer Funktion G2 unter Verwendung des öffentlichen Parameters β und der ersten Zufallszahl si, wobei die Information Ii zusammen mit einem Paar von Einweg-Funktionen fi und hi und Identifikationsin formation IDi, die der jeweilige Unterzeichner i benutzt, als öffentliche Information {IDi, Ii, fi, hi} des Unterzeichners veröffentlicht wird,
Zufallsgeneratormittel zur Erzeugung einer zweiten Zufallszahl ri,
Φ-Funktionsmittel zum Einsetzen des Parameters β und der zweiten Zufallszahl ri in eine Funktion Φ zur Erzeugung von Information Xi = Φ(ri, β),
ein Paar von Einweg-Funktionsmitteln zur Erzeugung von
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
mit dem Paar von Einweg-Funktionen fi und hi unter Verwendung der Dokumentinformation m'i enthaltend ein zu unterzeichnendes Dokument mi und Information X'i enthaltend Information Xi,
Signaturfunktionsmittel zur Erzeugung, für Information enthaltend ei, di, si und ri, einer Signatur
yi = Sgi(ei, di, si, ri)
mit der Signaturfunktion Sgi, die unter Verwendung des Parameters q erzeugt wird, und
Mittel zum Senden von Information {ID'i, X'i, m'i, yi}, als die Identifikationsinformation IDi enthaltende Information an den Verifizierer.
Speichermittel zur Speicherung der öffentlichen Parameter q und β des Systems, von Identifikationsinformation IDi des jeweiligen Unterzeichners i und einer ersten Zufallszahl si als seiner geheimen Information,
G2-Funktionsmittel zur Erzeugung von Information Ii = G2(si, β) mit einer Funktion G2 unter Verwendung des öffentlichen Parameters β und der ersten Zufallszahl si, wobei die Information Ii zusammen mit einem Paar von Einweg-Funktionen fi und hi und Identifikationsin formation IDi, die der jeweilige Unterzeichner i benutzt, als öffentliche Information {IDi, Ii, fi, hi} des Unterzeichners veröffentlicht wird,
Zufallsgeneratormittel zur Erzeugung einer zweiten Zufallszahl ri,
Φ-Funktionsmittel zum Einsetzen des Parameters β und der zweiten Zufallszahl ri in eine Funktion Φ zur Erzeugung von Information Xi = Φ(ri, β),
ein Paar von Einweg-Funktionsmitteln zur Erzeugung von
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
mit dem Paar von Einweg-Funktionen fi und hi unter Verwendung der Dokumentinformation m'i enthaltend ein zu unterzeichnendes Dokument mi und Information X'i enthaltend Information Xi,
Signaturfunktionsmittel zur Erzeugung, für Information enthaltend ei, di, si und ri, einer Signatur
yi = Sgi(ei, di, si, ri)
mit der Signaturfunktion Sgi, die unter Verwendung des Parameters q erzeugt wird, und
Mittel zum Senden von Information {ID'i, X'i, m'i, yi}, als die Identifikationsinformation IDi enthaltende Information an den Verifizierer.
17. Unterzeichnervorrichtung nach Anspruch 15, bei der
X'i = (X'i-1, Xi), X'0 = leere Menge
m'i (m'i-1, mi), m'0 = leere Menge
ID'i = (ID'i-1, IDi), ID'0 = leere Menge
y0 = 0, und
bei Empfang von {ID'i-1, X'i-1, m'i-1, yi-1} von dem Unterzeichner (i - 1) die Sendemittel Information {ID'i, X'i, m'i, yi} an den nächsten Unterzeichner (i + 1) aussenden.
X'i = (X'i-1, Xi), X'0 = leere Menge
m'i (m'i-1, mi), m'0 = leere Menge
ID'i = (ID'i-1, IDi), ID'0 = leere Menge
y0 = 0, und
bei Empfang von {ID'i-1, X'i-1, m'i-1, yi-1} von dem Unterzeichner (i - 1) die Sendemittel Information {ID'i, X'i, m'i, yi} an den nächsten Unterzeichner (i + 1) aussenden.
18. Unterzeichnervorrichtung nach Anspruch 17, bei der m'1 = m1 = m,
m2 = m3 ... = mL = leere Menge, die Unterzeichnervorrichtung des Unterzeichners i Information {ID'i-
1, Xi-1, m'i-1, yi-1} von dem Unterzeichner (i - 1) empfängt, und die Sendemittel Information {ID'i,
X'i, m, yi} an den nächsten Unterzeichner (i + 1) aussenden.
19. Unterzeichnervorrichtung nach Anspruch 16, bei der X'i = Xi , m'i = mi, und ID'i = IDi
und die Sendemittel Information {IDi, Xi, mi, yi}, als die Information {ID'i, X'i, m'i, yi}, erzeugen
und an den Verifizierer aussenden.
20. Unterzeichnervorrichtung nach Anspruch 17 oder 18, bei der ID'i = (ID'i-1, IDi)
ersetzt wird durch ID'i = (ID'i-1, Ii).
21. Unterzeichnervorrichtung nach Anspruch 17 oder 18, bei der, wenn p die Anzahl
von Elementen einer Gruppe repräsentiert, ein Element g der Gruppe, bei dem eine Gruppenbe
rechnung beginnt, durch den Parameter p repräsentiert wird und eine ganze Zahl bei der, wenn
das Element g q-mal gruppenberechnet wird, die Berechnung zu g zurückkehrt, durch den
Parameter q repräsentiert wird und diese Parameter {p, q, g} als öffentliche Systeminformation
veröffentlicht werden,
die G2-Funktionsmittel Mittel sind zur Berechnung der Information Ii durch Durchführen von si-maligen Gruppenberechnungen des Parameters g unter Verwendung des Parameters p, und
die Φ-Funktionsmittel Mittel sind zur Berechnung der Information Xi durch Durchführung von ri-maligen Gruppenberechnungen des Parameters g unter Verwendung des Parameters p.
die G2-Funktionsmittel Mittel sind zur Berechnung der Information Ii durch Durchführen von si-maligen Gruppenberechnungen des Parameters g unter Verwendung des Parameters p, und
die Φ-Funktionsmittel Mittel sind zur Berechnung der Information Xi durch Durchführung von ri-maligen Gruppenberechnungen des Parameters g unter Verwendung des Parameters p.
22. Unterzeichnervorrichtung nach Anspruch 21, bei der p und q Primzahlen sind, für
die die Beziehung gilt 1 = p mod q und ein Grundelement von (Z/pZ)* durch α repräsentiert wird,
der Parameter β = g durch folgende Gleichung mit der Funktion G1 gegeben ist:
g = G1(q) = α(p-1)/q mod p,
die G2-Funktionsmittel Mittel sind zur Berechnung der Funktion G2(si, g) durch die folgende Gleichung:
Ii = G2(si, g) = gsi mod p
die Φ-Funktionsmittel Mittel sind zur Berechnung der Funktion Φ durch die folgende Gleichung:
Xi = Φ(ri, g) = gri mod p, und
die Signaturfunktionsmittel Mittel sind zur Berechnung der Signaturfunktion Sgi durch die folgende Gleichung unter Verwendung von ei, di, ri, si, q und yi-1:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod q.
der Parameter β = g durch folgende Gleichung mit der Funktion G1 gegeben ist:
g = G1(q) = α(p-1)/q mod p,
die G2-Funktionsmittel Mittel sind zur Berechnung der Funktion G2(si, g) durch die folgende Gleichung:
Ii = G2(si, g) = gsi mod p
die Φ-Funktionsmittel Mittel sind zur Berechnung der Funktion Φ durch die folgende Gleichung:
Xi = Φ(ri, g) = gri mod p, und
die Signaturfunktionsmittel Mittel sind zur Berechnung der Signaturfunktion Sgi durch die folgende Gleichung unter Verwendung von ei, di, ri, si, q und yi-1:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod q.
23. Unterzeichnervorrichtung nach Anspruch 19, bei der, wenn p die Anzahl von
Elementen einer Gruppe repräsentiert, ein Element g der Gruppe, bei dem eine Gruppenberech
nung beginnt, durch den Parameter β repräsentiert wird und eine ganze Zahl bei der, wenn das
Element g q-mal gruppenberechnet wird, die Berechnung zu g zurückkehrt, durch den Parameter
q repräsentiert wird, diese Parameter {p, q, g} als öffentliche Systeminformation veröffentlicht
werden,
die G2-Funktionsmittel Mittel sind zur Berechnung der Information Ii auf der Basis der Funktion G2(si, g), durch Durchführen von si-maligen Gruppenberechnungen des Parameters g unter Verwendung des Parameters p, und
die Φ-Funktionsmittel Mittel sind zur Berechnung der Information Xi auf der Basis der Funktion Φ durch Durchführen von ri-maligen Gruppenberechnungen des Parameters g unter Verwendung des Parameters p.
die G2-Funktionsmittel Mittel sind zur Berechnung der Information Ii auf der Basis der Funktion G2(si, g), durch Durchführen von si-maligen Gruppenberechnungen des Parameters g unter Verwendung des Parameters p, und
die Φ-Funktionsmittel Mittel sind zur Berechnung der Information Xi auf der Basis der Funktion Φ durch Durchführen von ri-maligen Gruppenberechnungen des Parameters g unter Verwendung des Parameters p.
24. Unterzeichnervorrichtung nach Anspruch 23, bei der p und q Primzahlen sind, für
die die Beziehung gilt 1 = p mod q und ein Grundelement von (Z/pZ)* durch α repräsentiert wird,
die G1-Funktionsmittel zur Berechnung der Parameters β = g Mittel sind zur Berechnung von
g = G1(q) = α(p-1)qmod p;
die G2-Funktionsmittel Mittel sind zur Berechnung der Funktion G2(si, g) durch die folgende Gleichung:
Ii = G2(si, g) = gsi mod p
die Φ-Funktionsmittel Mittel sind zur Berechnung der Funktion Φ durch die folgende Gleichung:
Xi = Φ(ri, g) = gri mod p, und
die Signaturfunktionsmittel Mittel sind zur Berechnung der Signaturfunktion Sgi durch die folgende Gleichung unter Verwendung von ei, di, ri, si und q:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod q.
die G1-Funktionsmittel zur Berechnung der Parameters β = g Mittel sind zur Berechnung von
g = G1(q) = α(p-1)qmod p;
die G2-Funktionsmittel Mittel sind zur Berechnung der Funktion G2(si, g) durch die folgende Gleichung:
Ii = G2(si, g) = gsi mod p
die Φ-Funktionsmittel Mittel sind zur Berechnung der Funktion Φ durch die folgende Gleichung:
Xi = Φ(ri, g) = gri mod p, und
die Signaturfunktionsmittel Mittel sind zur Berechnung der Signaturfunktion Sgi durch die folgende Gleichung unter Verwendung von ei, di, ri, si und q:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod q.
25. Unterzeichnervorrichtung nach Anspruch 17 oder 18, bei der der Parameter q ein
Parameter eines Definitionsfeldes GF(q) einer elliptischen Kurve Ea, b(GF(q)) ist, und, wenn ein
Basispunkt einer Ordnung k auf der elliptischen Kurve durch den Parameter β repräsentiert wird
und ein Parameter der elliptischen Kurve durch a, b∈GF(q), diese Parameter {q, a, b, P, k} als
öffentliche Systeminformation veröffentlicht werden, und bei der
die G2-Funktionsmittel Mittel sind zur Berechnung der Information Ii auf der Basis der Funktion G2(si, P) durch Durchführen von si-maligen Gruppenberechnungen des Parameters p, und
die Φ-Funktionsmittel Mittel sind zur Berechnung der Information Xi auf der Basis der Funktion Φ durch Durchführen von ri-maligen Gruppenberechnungen des Parameters P.
die G2-Funktionsmittel Mittel sind zur Berechnung der Information Ii auf der Basis der Funktion G2(si, P) durch Durchführen von si-maligen Gruppenberechnungen des Parameters p, und
die Φ-Funktionsmittel Mittel sind zur Berechnung der Information Xi auf der Basis der Funktion Φ durch Durchführen von ri-maligen Gruppenberechnungen des Parameters P.
26. Unterzeichnervorrichtung nach Anspruch 25, bei der
der Parameter β = P auf der Basis der Funktion G1 durch die folgende Gleichung gegeben
ist:
G1(q) = P∈Ea, b(GF(q));
die G2-Funktionsmittel Mittel sind zur Berechnung der Funktion G2(si, P) durch die folgende Gleichung:
Ii = G2(si, P) = siP über Ea, b(GF(q));
die Φ-Funktionsmittel Mittel sind zur Berechnung der Funktion Φ durch die folgende Gleichung:
Xi = Φ(ri, P) = riP über Ea, b(GF(q)); und
die Signaturfunktionsmittel Mittel sind zur Berechnung der Signaturfunktion Sgi durch die folgende Gleichung unter Verwendung von ei, di, ri, si und yi-1:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod k.
G1(q) = P∈Ea, b(GF(q));
die G2-Funktionsmittel Mittel sind zur Berechnung der Funktion G2(si, P) durch die folgende Gleichung:
Ii = G2(si, P) = siP über Ea, b(GF(q));
die Φ-Funktionsmittel Mittel sind zur Berechnung der Funktion Φ durch die folgende Gleichung:
Xi = Φ(ri, P) = riP über Ea, b(GF(q)); und
die Signaturfunktionsmittel Mittel sind zur Berechnung der Signaturfunktion Sgi durch die folgende Gleichung unter Verwendung von ei, di, ri, si und yi-1:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod k.
27. Unterzeichnervorrichtung nach Anspruch 19, bei der der Parameter q ein Parameter
eines Definitionsfeldes GF(q) einer elliptischen Kurve Ea, b(GF(q)) ist, und, wenn ein Basispunkt
einer Ordnung k auf der elliptischen Kurve durch den Parameter β repräsentiert wird und ein
Parameter der elliptischen Kurve durch a, b∈GF(q), diese Parameter {q, a, b, P, k} als öffentliche
Systeminformation veröffentlicht werden, und bei der:
die G2-Funktionsmittel Mittel sind zur Berechnung der Information Ii auf der Basis der Funktion G2(si, P) durch Durchführen von si-maligen Gruppenberechnungen des Parameters p, und
die Φ-Funktionsmittel Mittel sind zur Berechnung der Information Xi auf der Basis der Funktion Φ durch Durchführen von ri-maligen Gruppenberechnungen des Parameters P.
die G2-Funktionsmittel Mittel sind zur Berechnung der Information Ii auf der Basis der Funktion G2(si, P) durch Durchführen von si-maligen Gruppenberechnungen des Parameters p, und
die Φ-Funktionsmittel Mittel sind zur Berechnung der Information Xi auf der Basis der Funktion Φ durch Durchführen von ri-maligen Gruppenberechnungen des Parameters P.
28. Unterzeichnervorrichtung nach Anspruch 27, bei der:
der Parameter β = P auf der Basis der Funktion G1 gegeben ist durch die folgenden Gleichung:
G1(q) = P∈Ea, b(GF(q));
die G2-Funktionsmittel Mittel sind zur Berechnung der Funktion G2(si, P) durch die folgende Gleichung:
Ii = G2(si, P) = siP über Ea, b(GF(q));
die Φ-Funktionsmittel Mittel sind zur Berechnung der Funktion Φ durch die folgende Gleichung;
Xi = Φ(ri, P) = riP über Ea, b(GF(q)), und
die Signaturfunktionsmittel Mittel sind zur Berechnung der Signaturfunktion Sgi durch die folgende Gleichung unter Verwendung von ei, di, ri und si:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod k.
der Parameter β = P auf der Basis der Funktion G1 gegeben ist durch die folgenden Gleichung:
G1(q) = P∈Ea, b(GF(q));
die G2-Funktionsmittel Mittel sind zur Berechnung der Funktion G2(si, P) durch die folgende Gleichung:
Ii = G2(si, P) = siP über Ea, b(GF(q));
die Φ-Funktionsmittel Mittel sind zur Berechnung der Funktion Φ durch die folgende Gleichung;
Xi = Φ(ri, P) = riP über Ea, b(GF(q)), und
die Signaturfunktionsmittel Mittel sind zur Berechnung der Signaturfunktion Sgi durch die folgende Gleichung unter Verwendung von ei, di, ri und si:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod k.
29. Verifizierervorrichtung für ein System, bei dem jeder einer Reihe von Unterzeichnern
i = 1 bis L, wobei L eine ganze Zahl gleich oder größer als zwei ist, eine digitale Signatur an
einem in elektronischer Form vorliegenden Dokument m'i anbringt und ein Verifizierer die digitale
Signaturen der Unterzeichner en-bloc verifiziert, wobei Information enthaltend einen Parameter q
für jeden der Unterzeichner i zur Erzeugung einer Signaturfunktion Sgi und ein Parameter
β= G1(q), der unter Verwendung des Parameters q mit einer Funktion G1 erhalten wird, im voraus
veröffentlicht werden, umfassend
ein Paar Einweg-Funktionsmittel zum Erhalt, aus öffentlicher Information {IDi, Ii, fi, hi}, von Information Ii entsprechend Identifikationsinformation IDi, die in ID'L in Information {ID'L, X'L, m'L, yL} enthalten ist, welche von dem letzten der Reihe von Unterzeichnern empfangen wird, sowie zum Erhalt von Einweg-Funktionen fi und hi und zur Berechnung von
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
unter Verwendung der Einweg-Funktionen fi und hi und Information X'i und m'i, die in den empfangenen Informationen X'L und m'L enthalten ist,
V-Funktionsmittel zum Erhalt von Xi in der Information X'i und zur Berechnung von
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
unter Verwendung der Funktion V, die eine Berechnung (Xi . di) von di und Xi sowie eine Berechnung (Ii . ei) von ei und Ii enthält,
Γ-Funktionsmittel zum Erhalt von W = Γ(yi . β) durch eine Funktion Γ, die eine Berech nung (yi . β) von yi und β enthält, und
Vergleichsmittel, die mit Z' und W beliefert werden für einen Vergleich, ob diese mit einander übereinstimmen, und, wenn sie miteinander übereinstimmen, zur Lieferung einer Ausgabe, die anzeigt, daß das empfangene Dokument (m1, ..., mL) von den L Unterzeichnervor richtungen ordnungsgemäß unterzeichnet wurde.
ein Paar Einweg-Funktionsmittel zum Erhalt, aus öffentlicher Information {IDi, Ii, fi, hi}, von Information Ii entsprechend Identifikationsinformation IDi, die in ID'L in Information {ID'L, X'L, m'L, yL} enthalten ist, welche von dem letzten der Reihe von Unterzeichnern empfangen wird, sowie zum Erhalt von Einweg-Funktionen fi und hi und zur Berechnung von
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
unter Verwendung der Einweg-Funktionen fi und hi und Information X'i und m'i, die in den empfangenen Informationen X'L und m'L enthalten ist,
V-Funktionsmittel zum Erhalt von Xi in der Information X'i und zur Berechnung von
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
unter Verwendung der Funktion V, die eine Berechnung (Xi . di) von di und Xi sowie eine Berechnung (Ii . ei) von ei und Ii enthält,
Γ-Funktionsmittel zum Erhalt von W = Γ(yi . β) durch eine Funktion Γ, die eine Berech nung (yi . β) von yi und β enthält, und
Vergleichsmittel, die mit Z' und W beliefert werden für einen Vergleich, ob diese mit einander übereinstimmen, und, wenn sie miteinander übereinstimmen, zur Lieferung einer Ausgabe, die anzeigt, daß das empfangene Dokument (m1, ..., mL) von den L Unterzeichnervor richtungen ordnungsgemäß unterzeichnet wurde.
30. Verifizierervorrichtung für ein System, bei dem jeder von Unterzeichnern i = 1 bis L,
wobei L eine ganze Zahl gleich oder größer als zwei ist, eine digitale Signatur an einem in
elektronischer Form vorliegenden Dokument m'i anbringt und ein Verifizierer die digitalen
Signaturen der Unterzeichner en-bloc verifiziert, wobei Information enthaltend einen Parameter q
für jeden der Unterzeichner i zur Erzeugung einer Signaturfunktion Sgi und ein Parameter
β = G1(q), der unter Verwendung des Parameters q mit einer Funktion G1 erhalten wird, im voraus
veröffentlicht werden, umfassend
ein Paar Einweg-Funktionsmittel zum Erhalt, aus öffentlicher Information {IDi, Ii, fi, hi}, von Information Ii entsprechend Identifikationsinformation IDi, die in ID'i in Information {ID'i, X'i, m'i, yi} enthalten ist, welche von den einzelnen Unterzeichnern i empfangen wird, sowie von Einweg-Funktionen fi und hi und zur Berechnung von
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
unter Verwendung der Einweg-Funktionen fi und hi und der empfangenen Informationen X'i und m'i;
V-Funktionsmittel zum Erhalt von Xi in der Information X'i und zur Berechnung von
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
unter Verwendung einer Funktion, die eine Berechnung (Xi . di) von di und Xi sowie eine Berech nung (Ii . ei) von ei und Ii enthält,
Γ-Funktionsmittel zum Erhalt von W = Γ(Y . β) mittels einer Funktion Γ, die eine Berech nung (Y . β) unter Verwendung von β und eines akkumulierten Werts Y von y1 bis yL enthält, und
Vergleichsmittel, die mit Z' und W beliefert werden, um zu prüfen, ob diese beiden übereinstimmen, und, wenn sie miteinander übereinstimmen, zur Lieferung einer Ausgabe, die anzeigt, daß das empfangene Dokument (m1, ..., mL) von L Unterzeichnern ordnungsgemäß unterzeichnet wurde.
ein Paar Einweg-Funktionsmittel zum Erhalt, aus öffentlicher Information {IDi, Ii, fi, hi}, von Information Ii entsprechend Identifikationsinformation IDi, die in ID'i in Information {ID'i, X'i, m'i, yi} enthalten ist, welche von den einzelnen Unterzeichnern i empfangen wird, sowie von Einweg-Funktionen fi und hi und zur Berechnung von
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
unter Verwendung der Einweg-Funktionen fi und hi und der empfangenen Informationen X'i und m'i;
V-Funktionsmittel zum Erhalt von Xi in der Information X'i und zur Berechnung von
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
unter Verwendung einer Funktion, die eine Berechnung (Xi . di) von di und Xi sowie eine Berech nung (Ii . ei) von ei und Ii enthält,
Γ-Funktionsmittel zum Erhalt von W = Γ(Y . β) mittels einer Funktion Γ, die eine Berech nung (Y . β) unter Verwendung von β und eines akkumulierten Werts Y von y1 bis yL enthält, und
Vergleichsmittel, die mit Z' und W beliefert werden, um zu prüfen, ob diese beiden übereinstimmen, und, wenn sie miteinander übereinstimmen, zur Lieferung einer Ausgabe, die anzeigt, daß das empfangene Dokument (m1, ..., mL) von L Unterzeichnern ordnungsgemäß unterzeichnet wurde.
31. Verifizierervorrichtung nach Anspruch 29, bei der
X'i = (X'i-1, Xi), X'0 = leere Menge
m'i = (m'i-1, mi), m'0 = leere Menge
ID'i = (ID'i-1, IDi), ID'0 = leere Menge
y0 = leere Menge.
X'i = (X'i-1, Xi), X'0 = leere Menge
m'i = (m'i-1, mi), m'0 = leere Menge
ID'i = (ID'i-1, IDi), ID'0 = leere Menge
y0 = leere Menge.
32. Verifizierervorrichtung nach Anspruch 31, bei der m'1 = m1 = m;
m2 = m3 ... = mL = leere Menge und die Verifizierervorrichtung unterzeichnete Information {IDL, XL,
mL, yL} direkt von dem letzten Unterzeichner L empfängt.
33. Verifizierervorrichtung nach Anspruch 30, bei der X'i = Xi, m'i = mi, und ID'i = IDi.
34. Verifizierervorrichtung nach Anspruch 31 oder 32, bei der ID'i = (ID'i-1, IDi) ersetzt
ist durch ID'i = (ID'i-1, Ii).
35. Verifizierervorrichtung nach Anspruch 31 oder 32, bei der, wenn p die Anzahl von
Elementen einer Gruppe repräsentiert, ein Element g der Gruppe, bei dem eine Gruppenberech
nung beginnt, durch den Parameter β repräsentiert wird und eine ganze Zahl, bei der, wenn das
Element g q-mal gruppenberechnet wird, die Berechnung zu g zurückkehrt, durch den Parameter
q repräsentiert wird und diese Parameter {p, q, g} als öffentliche Systeminformation veröffent
licht werden,
die V-Funktionsmittel Mittel sind zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
die Γ-Funktionsmittel Mittel sind zum Erhalt von W durch Durchführen von yL-maligen Gruppenberechnungen des Parameters g unter Verwendung der empfangenen Information yL und der öffentlichen Informationen p und q.
die V-Funktionsmittel Mittel sind zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
die Γ-Funktionsmittel Mittel sind zum Erhalt von W durch Durchführen von yL-maligen Gruppenberechnungen des Parameters g unter Verwendung der empfangenen Information yL und der öffentlichen Informationen p und q.
36. Verifizierervorrichtung nach Anspruch 35, bei der p und q Primzahlen sind, für die
die Beziehung gilt 1 = p mod q, und, wenn a ein Grundelement von (Z/pZ)* repräsentiert,
der Parameter β = g durch folgende Gleichung mit der Funktion G1 gegeben ist:
g = G1(g) = α(p-1)qmod p;
die V-Funktionsmittel Mittel sind zur Berechnung der Funktion V durch die folgende Gleichung:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p, und
die Γ-Funktionsmittel Mittel sind zur Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(yi . g) = gyL mod p.
der Parameter β = g durch folgende Gleichung mit der Funktion G1 gegeben ist:
g = G1(g) = α(p-1)qmod p;
die V-Funktionsmittel Mittel sind zur Berechnung der Funktion V durch die folgende Gleichung:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p, und
die Γ-Funktionsmittel Mittel sind zur Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(yi . g) = gyL mod p.
37. Verifizierervorrichtung nach Anspruch 33, bei der, wenn p die Anzahl von Elemen
ten einer Gruppe repräsentiert, ein Element g der Gruppe, bei dem eine Gruppenberechnung
beginnt, durch den Parameter β repräsentiert wird und eine ganze Zahl, bei der, wenn das
Element g q-mal gruppenberechnet wird, die Berechnung zu g zurückkehrt, durch den Parameter
q repräsentiert wird und diese Parameter {p, q, g} als öffentliche Systeminformation veröffent
licht werden,
die V-Funktionsmittel Mittel sind zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
die Γ-Funktionsmittel Mittel sind zum Berechnen eines akkumulierten Werts Y unter Verwendung von L empfangenen Informationen yi und zur Erzeugung, als W, eines Wertes (g . Y), erhalten durch Y-maliges Berechnen des Parameters g unter Verwendung von Y und der öffentlichen Informationen p und q.
die V-Funktionsmittel Mittel sind zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
die Γ-Funktionsmittel Mittel sind zum Berechnen eines akkumulierten Werts Y unter Verwendung von L empfangenen Informationen yi und zur Erzeugung, als W, eines Wertes (g . Y), erhalten durch Y-maliges Berechnen des Parameters g unter Verwendung von Y und der öffentlichen Informationen p und q.
38. Verifizierervorrichtung nach Anspruch 37, bei der p und q Primzahlen sind, für die
die Beziehung gilt 1 = p mod q, und, wenn a ein Grundelement von (Z/pZ)* repräsentiert,
der Parameter β = g durch folgende Gleichung mit der Funktion G1 gegeben ist:
g = G1(g) = α(p-1)/q mod p;
die V-Funktionsmittel Mittel sind zur Berechnung der Funktion V durch die folgende Gleichung:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p, und
die Γ-Funktionsmittel Mittel sind zur Berechnung des akkumulierten Werts Y durch folgende Gleichung:
und zur Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(Y . g) = gYmod p.
g = G1(g) = α(p-1)/q mod p;
die V-Funktionsmittel Mittel sind zur Berechnung der Funktion V durch die folgende Gleichung:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p, und
die Γ-Funktionsmittel Mittel sind zur Berechnung des akkumulierten Werts Y durch folgende Gleichung:
und zur Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(Y . g) = gYmod p.
39. Verifizierervorrichtung nach Anspruch 31 oder 32, bei der der Parameter q ein
Parameter eines Definitionsfelds GF(q) einer elliptischen Kurve Ea, b(GF(q)) ist, und, wenn ein
Basispunkt einer Ordnung k der elliptischen Kurve durch den Parameter β repräsentiert wird und
ein Parameter der elliptischen Kurve durch a, b∈GF(q), diese Parameter {q, a, b, P, k} als
öffentliche Systeminformation veröffentlicht werden, und bei der
die V-Funktionsmittel Mittel sind zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnung von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnung von Ii, für jedes i von 1 bis L, und
die Γ-Funktionsmittel Mittel sind zur Berechnung von W durch yL-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information P.
die V-Funktionsmittel Mittel sind zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnung von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnung von Ii, für jedes i von 1 bis L, und
die Γ-Funktionsmittel Mittel sind zur Berechnung von W durch yL-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information P.
40. Verifizierervorrichtung nach Anspruch 39, bei der:
die Funktion G1 zur Berechnung des Parameters β = P gegeben ist durch folgende Gleichung:
G1(q) = P∈Ea, b(GF(q));
die V-Funktionsmittel Mittel sind zur Berechnung der Funktion V durch die folgende Gleichung:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)), und
die Γ-Funktionsmittel Mittel sind zur Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(yL . P) = yLP über Ea, b(GF(q)).
die Funktion G1 zur Berechnung des Parameters β = P gegeben ist durch folgende Gleichung:
G1(q) = P∈Ea, b(GF(q));
die V-Funktionsmittel Mittel sind zur Berechnung der Funktion V durch die folgende Gleichung:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)), und
die Γ-Funktionsmittel Mittel sind zur Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(yL . P) = yLP über Ea, b(GF(q)).
41. Verifizierervorrichtung nach Anspruch 33, bei der der Parameter q ein Parameter
eines Definitionsfelds GF(q) einer elliptischen Kurve Ea, b(GF(q)) ist, und, wenn ein Basispunkt
einer Ordnung k auf der elliptischen Kurve durch den Parameter β repräsentiert wird und ein
Parameter der elliptischen Kurve durch a, b∈GF(q), diese Parameter {q, a, b, P, k} als öffentliche
Systeminformation veröffentlicht werden, und
die V-Funktionsmittel Mittel sind zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
die Γ-Funktionsmittel Mittel sind zur Berechnung von W durch yL-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information P.
die V-Funktionsmittel Mittel sind zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
die Γ-Funktionsmittel Mittel sind zur Berechnung von W durch yL-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information P.
42. Verifizierervorrichtung nach Anspruch 41, bei der
die Funktion G1 zur Berechnung des Parameters β = P gegeben ist durch folgende
Gleichung:
G1(q) = P∈Ea, b(GF(q));
die V-Funktionsmittel Mittel sind zur Berechnung der Funktion V durch die folgende Gleichung:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)), und
die Γ-Funktionsmittel Mittel sind zur Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(Y . P) = YP über Ea, b(GF(q)),
wobei
G1(q) = P∈Ea, b(GF(q));
die V-Funktionsmittel Mittel sind zur Berechnung der Funktion V durch die folgende Gleichung:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)), und
die Γ-Funktionsmittel Mittel sind zur Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(Y . P) = YP über Ea, b(GF(q)),
wobei
43. Speichermedium für eine Unterzeichnervorrichtung, auf dem ein Programm gespei
chert ist, welches in der Unterzeichnervorrichtung in einem System verwendet wird, bei dem:
jeder einer Reihe von Unterzeichnern i eine digitale Signatur an einem in elektronischer Form
vorliegenden Dokument m'i anbringt und ein Verifizierer die digitalen Signaturen en-bloc
verifiziert, wobei i = 1, ..., L und L eine ganze Zahl gleich oder größer als zwei ist, Information
enthaltend einen Parameter q für jeden Unterzeichner i zur Erzeugung einer Signaturfunktion Sgi
und einen Parameter β = G1(q), der unter Verwendung des Parameters q mit einer Funktion G1
erhalten wird, vorab veröffentlicht wird, und Information Ii = G2(si, β), vorab erzeugt von jedem
Unterzeichner i unter Verwendung des öffentlichen Parameters β und einer geheimen Zufallszahl
si, ein Paar von Einweg-Funktionen fi und hi zur Verwendung durch den jeweiligen Unterzeichner
i und Identifikationsinformation IDi vorab als öffentliche Unterzeichnerinformation {IDi, Ii, fi, hi}
veröffentlicht werden,
wobei das Programm die Schritte enthält:
wobei das Programm die Schritte enthält:
- a) Erzeugen einer zweiten Zufallszahl ri,
- b) Einsetzen des Parameters β und der zweiten Zufallszahl ri in eine Funktion Φ zum Erzeugen von Information Xi = Φ(ri, β),
- c) Erzeugen von
ei = fi(X'i, mi)
di = hi(X'i, m'i)
mit den Einweg-Funktionen fi und hi unter Verwendung von Dokumentinformation m'i enthaltend das zu unterzeichnende Dokument mi und der Information X'i enthaltend die Information Xi, - d) Erzeugen, für Information enthaltend ei, di, si, ri und yi-1, einer Signatur
yi = Sgi(ei, di, si, ri, yi-1)
mit einer Signaturfunktion Sgi, die unter Verwendung des Parameters q erzeugt wird, und - e) Senden von Information {ID'i, X'i, m'i, yi}, enthaltend die Identifikationsinformation IDi als Identifikationsinformation ID'i, an den nächsten Unterzeichner (i + 1), wobei der letzte Unterzeichner L die Information {ID'L, X'L, m'L, yL} an den Verifizierer als letzte Bestimmung sendet.
44. Speichermedium für eine Unterzeichnervorrichtung, auf dem ein Programm gespei
chert ist, das in der Unterzeichnervorrichtung in einem System verwendet wird, bei dem: jeder
von Unterzeichnern i eine digitale Signatur an einem in elektronischer Form vorliegenden
Dokument m'i anbringt und ein Verifizierer die digitalen Signaturen en-bloc verifiziert, wobei i =
1, ..., L und L eine ganze Zahl gleich oder größer als zwei ist, wobei Information enthaltend
einen Parameter q für jeden Unterzeichner i zur Erzeugung einer Signaturfunktion Sgi und ein
Parameter β = G1(q), der mit einer Funktion G1 unter Verwendung des Parameters q erhalten
wird, vorab veröffentlicht werden, und Information Ii = G2(si, β), vorab erzeugt durch den
jeweiligen Unterzeichner i unter Verwendung des öffentlichen Parameters β und einer geheimen
Zufallszahl si, ein Paar von Einweg-Funktionen fi und hi zur Verwendung durch den jeweiligen
Unterzeichner i und Identifikationsinformation IDi als öffentliche Unterzeichnerinformation {IDi, Ii,
fi, hi} vorab veröffentlicht werden,
wobei das Programm die Schritte umfaßt:
- a) Erzeugen einer zweiten Zufallszahl ri,
- b) Einsetzen des Parameters β und der zweiten Zufallszahl ri in eine Funktion Φ zum Erzeugen von Information Xi = Φ(ri, β),
- c) Erzeugen von
ei = fi(X'i, m'i)
di = hi(X'i, m'i) mit den Einweg-Funktionen fi und hi unter Verwendung von Dokumentinformation m'i enthaltend das zu unterzeichnende Dokument mi und der Information X'i, - d) Erzeugen, für Information enthaltend ei, di, si, und ri, einer Signatur
yi = Sgi(ei, di, si, ri)
mit einer Signaturfunktion Sgi, die unter Verwendung des Parameters q erzeugt wird, und - e) Senden von Information {ID'i, X'i, m'i, yi}, enthaltend die Identifikationsinformation IDi als Identifikationsinformation ID'i, an den Verifizierer.
45. Verfahren nach Anspruch 43, bei dem in dem Programm:
X'i = (X'i-1, Xi), X'0 = leere Menge
m'i = (m'i-1, mi), m'0 = leere Menge
ID'i = (ID'i-1, IDi), ID'0 = leere Menge
y0 = 0, und
der Unterzeichner i von dem Unterzeichner (i - 1) unterzeichnete Information {ID'i-1, X'i-1, m'i-1, yi-1} empfängt und dann die Schritte (a) bis (d) auf der Basis der empfangenen Information ausführt.
X'i = (X'i-1, Xi), X'0 = leere Menge
m'i = (m'i-1, mi), m'0 = leere Menge
ID'i = (ID'i-1, IDi), ID'0 = leere Menge
y0 = 0, und
der Unterzeichner i von dem Unterzeichner (i - 1) unterzeichnete Information {ID'i-1, X'i-1, m'i-1, yi-1} empfängt und dann die Schritte (a) bis (d) auf der Basis der empfangenen Information ausführt.
46. Speichermedium nach Anspruch 45, bei dem in dem Programm: m'1 = m1 = m;
m2 = m3 ... = mL = leere Menge, und der Unterzeichner i von dem Unterzeichner (i - 1) Information
{ID'i-1, X'i-1, m, yi-1} empfängt und dann auf der Basis der empfangenen Information im Schritt (e)
Information {ID'i, X'i, m, yi} an den nächsten Unterzeichner (i + 1) aussendet.
47. Speichermedium nach Anspruch 44, bei dem in dem Programm: X'i = Xi, m'i = mi,
und ID'i = IDi; und der Unterzeichner i die Schritte (a) bis (e) ausführt und dadurch Information
{IDi, Xi, mi, yi} als die Information {ID'i, X'i, m'i, yi} erzeugt und einzeln an den Verifizieren
sendet.
48. Speichermedium nach Anspruch 45 oder 46, bei dem in dem Programm ID'i = (ID'i-1,
IDi) ersetzt wird durch ID'i = (ID'i-1, Ii).
49. Speichermedium nach Anspruch 45 oder 46, bei dem in dem Programm: wenn die
Anzahl von Elementen einer Gruppe mit p bezeichnet wird, ein Element g der Gruppe, bei dem
eine Gruppenberechnung beginnt, durch den Parameter β repräsentiert ist und eine ganze Zahl,
bei der, wenn das Element g q-mal gruppenberechnet wird, die Rechnung zu g zurückkehrt,
durch den Parameter q repräsentiert wird, diese Parameter {p, q, g} als öffentliche Systeminfor
mation veröffentlicht werden,
die Information Ii vorab durch si-malige Gruppenberechnung des Parameters g unter Verwendung des Parameters p durchgeführt wird, und
der Schritt (b) ein Schritt ist zum Erhalt von Xi durch ri-malige Gruppenberechnungen des Parameters g unter Verwendung des Parameters p.
die Information Ii vorab durch si-malige Gruppenberechnung des Parameters g unter Verwendung des Parameters p durchgeführt wird, und
der Schritt (b) ein Schritt ist zum Erhalt von Xi durch ri-malige Gruppenberechnungen des Parameters g unter Verwendung des Parameters p.
50. Speichermedium nach Anspruch 49, bei dem in dem Programm: p und q Primzahlen
sind, zwischen denen die Beziehung 1 = p mod q gilt, und, wenn ein Grundelement von (Z/pZ)*
durch α repräsentiert wird,
der Parameter β = g vorab mit der Funktion G1 durch folgende Gleichung gegeben ist:
g = G1(q) = α(p-1)/q mod p;
die Information Ii vorab mit der Funktion G2 durch folgende Gleichung gegeben ist:
Ii = G2(si, g) = gsi mod p;
Schritt (d) ein Schritt der Berechnung der Information Xi mit der Funktion Φ durch folgende Gleichung ist:
Xi = Φ(ri, g) = gri mod p, und
Schritt (d) ein Schritt der Berechnung der Signaturfunktion Sgi durch folgende Gleichung unter Verwendung von ei, di, ri, si, q und yi-1 , ist:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod q.
der Parameter β = g vorab mit der Funktion G1 durch folgende Gleichung gegeben ist:
g = G1(q) = α(p-1)/q mod p;
die Information Ii vorab mit der Funktion G2 durch folgende Gleichung gegeben ist:
Ii = G2(si, g) = gsi mod p;
Schritt (d) ein Schritt der Berechnung der Information Xi mit der Funktion Φ durch folgende Gleichung ist:
Xi = Φ(ri, g) = gri mod p, und
Schritt (d) ein Schritt der Berechnung der Signaturfunktion Sgi durch folgende Gleichung unter Verwendung von ei, di, ri, si, q und yi-1 , ist:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod q.
51. Speichermedium nach Anspruch 47, bei dem in dem Programm: wenn man die
Anzahl von Elementen einer Gruppe mit p bezeichnet, ein Element g der Gruppe, bei dem eine
Gruppenberechnung beginnt, durch den Parameter β repräsentiert wird und eine ganze Zahl, bei
der, wenn das Element g q-mal gruppenberechnet wird, die Rechnung zu g zurückkehrt, durch
den Parameter q repräsentiert wird, diese Parameter {p, q, g} als öffentliche Systeminformation
veröffentlicht werden,
die Information Ii vorab mit der Funktion G2(si, g) durch si-malige Gruppenberechnungen von g unter Verwendung von p erhalten wird, und
Schritt (b) ein Schritt zum Erhalt der Information Xi mit der Funktion Φ(ri, g) durch ri- malige Gruppenberechnungen von g unter Verwendung von p ist.
die Information Ii vorab mit der Funktion G2(si, g) durch si-malige Gruppenberechnungen von g unter Verwendung von p erhalten wird, und
Schritt (b) ein Schritt zum Erhalt der Information Xi mit der Funktion Φ(ri, g) durch ri- malige Gruppenberechnungen von g unter Verwendung von p ist.
52. Speichermedium nach Anspruch 51, bei dem in dem Programm: p und q Primzahlen
sind, zwischen denen die Beziehung gilt 1 = p mod q, und, wenn ein Grundelement von (Z/pZ)*
durch α repräsentiert wird,
der Parameter β = g vorab mit der Funktion G1 durch folgende Gleichung gegeben ist:
g = G1(q) = α(p-1)/q mod p,
die Information Ii vorab mit der Funktion G2 durch folgende Gleichung gegeben ist:
Ii = G2(si, g) = gsi mod p,
Schritt (b) ein Schritt der Berechnung der Information Xi mit der Funktion Φ durch folgende Gleichung ist:
Xi = Φ(ri, g) = gri mod p, und
Schritt (d) ein Schritt der Berechnung der Signaturfunktion Sgi durch folgende Gleichung unter Verwendung von ei, di, ri, si und q ist:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod q.
der Parameter β = g vorab mit der Funktion G1 durch folgende Gleichung gegeben ist:
g = G1(q) = α(p-1)/q mod p,
die Information Ii vorab mit der Funktion G2 durch folgende Gleichung gegeben ist:
Ii = G2(si, g) = gsi mod p,
Schritt (b) ein Schritt der Berechnung der Information Xi mit der Funktion Φ durch folgende Gleichung ist:
Xi = Φ(ri, g) = gri mod p, und
Schritt (d) ein Schritt der Berechnung der Signaturfunktion Sgi durch folgende Gleichung unter Verwendung von ei, di, ri, si und q ist:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod q.
53. Speichermedium nach Anspruch 45 oder 46, bei dem in dem Programm: der Para
meter q ein Parameter eines Definitionsfeldes GF(q) einer elliptischen Kurve Ea, b(GF(q)) ist, und,
wenn ein Basispunkt einer Ordnung k auf der elliptischen Kurve durch den Parameter β repräsen
tiert ist und ein Parameter der elliptischen Kurve durch a, b∈GF(q), diese Parameter {q, a, b, P,
k} als öffentliche Systeminformation veröffentlicht werden, und bei dem
die Information Ii vorab mit der Funktion G2(si, P) durch Durchführen von si-maligen Gruppenberechnungen des Parameters P erhalten wird, und
Schritt (b) ein Schritt zum Erhalt der Information Xi mit der Funktion Φ durch Durchfüh ren von ri-maligen Gruppenberechnungen des Parameters P ist.
die Information Ii vorab mit der Funktion G2(si, P) durch Durchführen von si-maligen Gruppenberechnungen des Parameters P erhalten wird, und
Schritt (b) ein Schritt zum Erhalt der Information Xi mit der Funktion Φ durch Durchfüh ren von ri-maligen Gruppenberechnungen des Parameters P ist.
54. Speichermedium nach Anspruch 53, bei dem in dem Programm: der Parameter β = P
auf der Basis der Funktion G1 durch folgende Gleichung gegeben ist:
G1(q) = P∈Ea, b(GF(q)),
die Information Ii mit der Funktion G2 durch folgende Gleichung errechnet wird:
Ii = G2(si, P) = siP über Ea, b(GF(q)),
Schritt (b) ein Schritt der Berechnung der Information Xi mit der Funktion Φ durch folgende Gleichung ist:
Xi = Φ(ri, P) = riP über Ea, b(GF(q)), und
Schritt (d) ein Schritt der Berechnung der Signaturfunktion Sgi durch die folgende Gleichung unter Verwendung von ei, di, ri, si und yi-1 ist:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod k.
G1(q) = P∈Ea, b(GF(q)),
die Information Ii mit der Funktion G2 durch folgende Gleichung errechnet wird:
Ii = G2(si, P) = siP über Ea, b(GF(q)),
Schritt (b) ein Schritt der Berechnung der Information Xi mit der Funktion Φ durch folgende Gleichung ist:
Xi = Φ(ri, P) = riP über Ea, b(GF(q)), und
Schritt (d) ein Schritt der Berechnung der Signaturfunktion Sgi durch die folgende Gleichung unter Verwendung von ei, di, ri, si und yi-1 ist:
yi = Sgi(ei, di, si, ri, yi-1) = (yi-1 + diri + eisi) mod k.
55. Speichermedium nach Anspruch 47, bei dem in dem Programm: der Parameter q ein
Parameter eines Definitionsfeldes GF(q) einer elliptischen Kurve Ea, b(GF(q)) ist, und, wenn ein
Basispunkt einer Ordnung k auf der elliptischen Kurve durch den Parameter β repräsentiert ist
und ein Parameter der elliptischen Kurve durch a, b∈GF(q), diese Parameter {q, a, b, P, k} als
öffentliche Systeminformation veröffentlicht werden, und bei dem
die Information Ii vorab mit der Funktion G2(si, P) erhalten wird durch Durchführen von si-malige Gruppenberechnungen des Parameters P, und
Schritt (b) ein Schritt zum Erhalt der Information Xi mit der Funktion Φ durch Durchfüh ren von ri-maligen Gruppenberechnungen des Parameters P ist.
die Information Ii vorab mit der Funktion G2(si, P) erhalten wird durch Durchführen von si-malige Gruppenberechnungen des Parameters P, und
Schritt (b) ein Schritt zum Erhalt der Information Xi mit der Funktion Φ durch Durchfüh ren von ri-maligen Gruppenberechnungen des Parameters P ist.
56. Speichermedium nach Anspruch 55, bei dem in dem Programm: der Parameter β = P
gegeben ist auf der Basis der Funktion G1 durch die folgende Gleichung:
G1(q) = P∈Ea, b(GF(q)),
die Information Ii mit der Funktion G2 durch die folgende Gleichung berechnet wird:
Ii = G2(si, P) = siP über Ea, b(GF(q)),
Schritt (b) ein Schritt der Berechnung der Information Xi mit der Funktion Φ durch folgende Gleichung ist:
Xi = Φ(ri, P) = riP über Ea, b(GF(q)), und
Schritt (d) ein Schritt der Berechnung der Signaturfunktion Sgi unter Verwendung von ei, di, ri und si unter Verwendung der folgenden Gleichung ist:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod k.
G1(q) = P∈Ea, b(GF(q)),
die Information Ii mit der Funktion G2 durch die folgende Gleichung berechnet wird:
Ii = G2(si, P) = siP über Ea, b(GF(q)),
Schritt (b) ein Schritt der Berechnung der Information Xi mit der Funktion Φ durch folgende Gleichung ist:
Xi = Φ(ri, P) = riP über Ea, b(GF(q)), und
Schritt (d) ein Schritt der Berechnung der Signaturfunktion Sgi unter Verwendung von ei, di, ri und si unter Verwendung der folgenden Gleichung ist:
yi = Sgi(ei, di, si, ri) = (diri + eisi) mod k.
57. Speichermedium für eine Verifizierervorrichtung, auf dem ein Programm gespeichert
ist, das in der Verifizierervorrichtung in einem System verwendet wird, bei dem: jeder einer Reihe
von Unterzeichnern i eine digitale Signatur an einem in elektronischer Form vorliegenden
Dokument m'i anbringt und ein Verifizierer die digitalen Signaturen en-bloc verifiziert, wobei i =
1, ..., L und L eine ganze Zahl gleich oder größer als zwei ist, und Information enthaltend einen
Parameter q für jeden Unterzeichner i zur Erzeugung einer Signaturfunktion Sgi und einen
Parameter β = G1(q), der mit einer Funktion G1 unter Verwendung des Parameters q erhalten
wird, vorab veröffentlicht wird,
wobei das Programm die Schritte umfaßt:
- a) Gewinnen, aus öffentlicher Information {IDi, Ii, fi, hi}, von Information Ii entspre
chend Identifikationsinformation IDi, die in Information ID'i in Information {ID'L, X'L, m'L, yL}
enthalten ist, welche von dem letzten Unterzeichner L der Reihe von Unterzeichnern empfangen
wird, sowie von Einweg-Funktionen fi und hi, und Berechnen von
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
unter Verwendung der Einweg-Funktionen fi und hi sowie von Information X'i und m'i, die in den empfangenen Informationen X'L und m'L enthalten sind, - b) Gewinnen von Xi aus der Information X'i und Berechnen von
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
durch eine Funktion V, enthaltend eine Berechnung von (Xi . di) aus di und Xi sowie eine Berech nung von (Ii . ei) aus ei und Ii; - c) Gewinnen von W = Γ((yi . β)) durch eine Funktion Γ, enthaltend eine Berechnung von (yi . β) aus yi und β; und
- d) Empfangen der Werte Z' und W und anschließendes Prüfen, ob sie übereinstimmen, und, wenn sie übereinstimmen, Liefern einer Ausgabe, die anzeigt, daß die empfangenen Dokumente (m1, ..., mL) von den L Unterzeichnern ordnungsgemäß unterzeichnet wurden.
58. Speichermedium für eine Verifizierervorrichtung, auf dem ein Programm gespeichert
ist, welches in der Verifizierervorrichtung in einem System verwendet wird, bei dem: jeder von
Unterzeichnern i eine digitale Signatur an einem in elektronischer Form vorliegenden Dokument
m'i anbringt und ein Verifizieren die digitalen Signaturen en-bloc verifiziert, wobei i = 1, ..., L
und L eine ganze Zahl gleich oder größer als zwei ist, und wobei Information enthaltend einen
Parameter q für jeden Unterzeichner i zur Erzeugung einer Signaturfunktion Sgi und ein Parameter
β = G1(q), der unter Verwendung des Parameters q mit einer Funktion G1 erhalten wird, vorab
veröffentlicht werden,
wobei das Programm die Schritte umfaßt:
- a) Gewinnen, aus öffentlicher Information {IDi, Ii, fi, hi}, von Information Ii entspre
chend Identifikationsinformation IDi, die in ID'i in der Information {ID'i, X'i, m'i, yi} enthalten ist,
die von jedem der Unterzeichner i empfangen wird, sowie von Einweg-Funktionen fi und hi und
Berechnen von
ei = fi(X'i, m'i)
di = hi(X'i, m'i)
unter Verwendung der Einweg-Funktionen fi und hi und den empfangenen Informationen X'i und m'i: - b) Gewinnen von Xi in der Information X'i und Berechnen von
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L)
durch eine Funktion V, enthaltend eine Berechnung von (Xi . di) aus di und Xi und eine Berech nung von (Ii . ei) aus ei und Ii; - c) Gewinnen von W = Γ(Y . β) durch eine Funktion Γ, enthaltend eine Berechnung von (Y . β) unter Verwendung von β und eines akkumulierten Werts Y aus y1 bis yL, und
- d) Empfangen der Werte Z' und W und anschließendes Prüfen, ob sie übereinstimmen, und, falls sie übereinstimmen, Liefern einer Ausgabe, die anzeigt, daß die empfangenen Doku mente (m1, ..., mL) von L Unterzeichnern ordnungsgemäß unterzeichnet wurden.
59. Speichermedium nach Anspruch 57, bei dem in dem Programm:
X'i = (X'i-1, Xi) , X'0 = leere Menge
m'i = (m'i-1, mi), m'0 = leere Menge
ID'i = (ID'i-1, IDi), ID'0 = leere Menge
y0 = 0, und,
wenn der Verifizierer unterzeichnete Information {ID'L, X'L, m'L, yL} von dem letzten Unterzeichner L empfängt, der Verifizierer die Schritte (a) bis (d) auf der Basis der empfangenen Information ausführt.
X'i = (X'i-1, Xi) , X'0 = leere Menge
m'i = (m'i-1, mi), m'0 = leere Menge
ID'i = (ID'i-1, IDi), ID'0 = leere Menge
y0 = 0, und,
wenn der Verifizierer unterzeichnete Information {ID'L, X'L, m'L, yL} von dem letzten Unterzeichner L empfängt, der Verifizierer die Schritte (a) bis (d) auf der Basis der empfangenen Information ausführt.
60. Speichermedium nach Anspruch 59, bei dem in dem Programm: m'1 = m1 = m;
m2 = m3 ... = mL = leere Menge, und der Verifizierer unterzeichnete Information {ID'L, X'L, m, yL}
von dem Unterzeichner L empfängt und die Schritte (a) bis (d) auf der Basis der empfangenen
Information ausführt.
61. Speichermedium nach Anspruch 58, bei dem in dem Programm: X'i = Xi, m'i = mi,
und ID'i = IDi; und der Verifizierer unterzeichnete Information {IDi, Xi, mi, yi} gesondert von jedem
einzelnen Unterzeichner i empfängt und die Schritte (a) bis (d) ausführt.
62. Speichermedium nach Anspruch 59 oder 60, bei dem in dem Programm ID'i = (ID'i-1,
IDi) ersetzt ist durch ID'i = (ID'i-1, Ii).
63. Speichermedium nach Anspruch 59 oder 60, bei dem in dem Programm, wenn die
Anzahl von Elementen einer Gruppe mit p bezeichnet wird, ein Element g der Gruppe, bei dem
eine Gruppenberechnung beginnt, durch den Parameter β repräsentiert wird und, eine ganze
Zahl, bei der, wenn das Element g q-mal gruppenberechnet wird, die Rechnung zu g zurückkehrt,
durch den Parameter q repräsentiert wird und diese Parameter {p, q, g} als öffentliche Systemin
formation veröffentlicht werden,
der Schritt (b) ein Schritt zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L ist, und
der Schritt (c) ein Schritt ist zum Erhalt von W durch Durchführen von yL-maligen Grup penberechnungen des Parameters g unter Verwendung des empfangenen yL und der öffentlichen Informationen p und q.
der Schritt (b) ein Schritt zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L ist, und
der Schritt (c) ein Schritt ist zum Erhalt von W durch Durchführen von yL-maligen Grup penberechnungen des Parameters g unter Verwendung des empfangenen yL und der öffentlichen Informationen p und q.
64. Speichermedium nach Anspruch 63, bei dem in dem Programm: p und q Primzahlen
sind, für die die Beziehung gilt 1 = p mod q, und, wenn ein Grundelement von (Z/pZ)* durch α
repräsentiert wird,
der Parameter β = g im voraus gegeben ist durch die folgende Gleichung mit der Funk tion G1:
g = G1(q) = α(p-1)/q mod p,
Schritt (b) ein Schritt ist zur Berechnung der Funktion V durch die Gleichung:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p, und
Schritt (c) ein Schritt ist der Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(yi . g) = gyL mod p.
der Parameter β = g im voraus gegeben ist durch die folgende Gleichung mit der Funk tion G1:
g = G1(q) = α(p-1)/q mod p,
Schritt (b) ein Schritt ist zur Berechnung der Funktion V durch die Gleichung:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p, und
Schritt (c) ein Schritt ist der Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(yi . g) = gyL mod p.
65. Speichermedium nach Anspruch 61, bei dem in dem Programm, wenn die Anzahl
von Elementen einer Gruppe mit p bezeichnet wird, ein Element g der Gruppe, bei dem eine
Gruppenberechnung beginnt, durch den Parameter β repräsentiert wird und eine ganze Zahl, bei
der, wenn das Element g q-mal gruppenberechnet wird, die Rechnung zu g zurückkehrt, durch
den Parameter q repräsentiert wird, diese Parameter {p, q, g} als öffentliche Systeminformation
veröffentlicht werden,
Schritt (b) ein Schritt ist zum Erhalt von Z' durch sequentielles Berechnen von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
Schritt (c) ein Schritt ist der Berechnung eines akkumulierten Werts Y unter Verwen dung von L empfangenen Informationen yi und der öffentlichen Information q, sowie der Berechnung, als W, eines Werts (g . Y), der erhalten wird durch Y-maliges Operieren oder Berechnen des Parameters g unter Verwendung der öffentlichen Informationen p und q.
Schritt (b) ein Schritt ist zum Erhalt von Z' durch sequentielles Berechnen von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
Schritt (c) ein Schritt ist der Berechnung eines akkumulierten Werts Y unter Verwen dung von L empfangenen Informationen yi und der öffentlichen Information q, sowie der Berechnung, als W, eines Werts (g . Y), der erhalten wird durch Y-maliges Operieren oder Berechnen des Parameters g unter Verwendung der öffentlichen Informationen p und q.
66. Speichermedium nach Anspruch 65, bei dem in dem Programm: p und q Primzahlen
sind, für die die Beziehung gilt 1 = p mod q, und, wenn ein Grundelement von (Z/pZ)* durch α
repräsentiert wird,
der Parameter β = g gegeben ist durch die folgende Gleichung mit der Funktion G1:
g = G1(q) = α(p-1)/q mod p,
Schritt (b) ein Schritt der Berechnung der Funktion V durch die folgende Gleichung ist:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p, und
Schritt (c) ein Schritt ist zur Berechnung des akkumulierten Werts Y durch
und Berechnen der Funktion Γ durch die folgende Gleichung:
W = Γ(Y . g) = gYmod p.
der Parameter β = g gegeben ist durch die folgende Gleichung mit der Funktion G1:
g = G1(q) = α(p-1)/q mod p,
Schritt (b) ein Schritt der Berechnung der Funktion V durch die folgende Gleichung ist:
Z' = V((Xi × di), (Ii × ei) |i = 1, ..., L) = X1 d1I1 e1 ... XL dLIL eL mod p, und
Schritt (c) ein Schritt ist zur Berechnung des akkumulierten Werts Y durch
und Berechnen der Funktion Γ durch die folgende Gleichung:
W = Γ(Y . g) = gYmod p.
67. Speichermedium nach Anspruch 59 oder 60, bei dem in dem Programm: der Para
meter q ein Parameter eines Definitionsfeldes GF(q) einer elliptischen Kurve Ea, b(GF(q)) ist, und,
wenn ein Basispunkt einer Ordnung k auf der elliptischen Kurve durch den Parameter β repräsen
tiert wird und ein Parameter der elliptischen Kurve durch a, b∈GF(q), diese Parameter {q, a, b, P,
k} als öffentliche Systeminformation veröffentlicht werden, und wobei:
Schritt (b) ein Schritt ist zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
Schritt (c) ein Schritt ist zur Berechnung von W durch yL-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information P.
Schritt (b) ein Schritt ist zum Erhalt von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
Schritt (c) ein Schritt ist zur Berechnung von W durch yL-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information P.
68. Speichermedium nach Anspruch 67, bei dem in dem Programm: die Funktion G1 zur
Berechnung des Parameters β = P im voraus gegeben ist durch die folgende Gleichung:
G1(q) = P∈Ea, b(GF(q)),
Schritt (b) ein Schritt ist der Berechnung der Funktion V durch die folgende Gleichung:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)), und
Schritt (c) ein Schritt ist der Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(yL . P) = yLP über Ea, b(GF(q)).
G1(q) = P∈Ea, b(GF(q)),
Schritt (b) ein Schritt ist der Berechnung der Funktion V durch die folgende Gleichung:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)), und
Schritt (c) ein Schritt ist der Berechnung der Funktion Γ durch die folgende Gleichung:
W = Γ(yL . P) = yLP über Ea, b(GF(q)).
69. Speichermedium nach Anspruch 61, bei dem in dem Programm: der Parameter q ein
Parameter eines Definitionsfeldes GF(q) einer elliptischen Kurve Ea, b(GF(q)) ist, und, wenn ein
Basispunkt einer Ordnung k auf der elliptischen Kurve durch den Parameter β repräsentiert wird
und ein Parameter der elliptischen Kurve durch a, b∈GF(q), diese Parameter {q, a, b, P, k} als
öffentliche Systeminformation veröffentlicht werden, und bei dem:
Schritt (b) ein Schritt ist zum Erhalten von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
Schritt (c) ein Schritt der Berechnung von W ist durch yL-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information P.
Schritt (b) ein Schritt ist zum Erhalten von Z' durch sequentielle Berechnung von Werten (Xi . di), erhalten durch di-malige Multikomponenten-Gruppenberechnungen von Xi, und Werten (Ii . ei), erhalten durch ei-malige Multikomponenten-Gruppenberechnungen von Ii, für jedes i von 1 bis L, und
Schritt (c) ein Schritt der Berechnung von W ist durch yL-malige Berechnungen des Parameters P auf der elliptischen Kurve unter Verwendung der empfangenen Information yL und der öffentlichen Information P.
70. Speichermedium nach Anspruch 69, bei dem in dem Programm: die Funktion G1 zur
Berechnung des Parameters β = P im voraus gegeben ist durch die folgende Gleichung:
G1(q) = P∈Ea, b(GF(q)),
Schritt (b) ein Schritt der Berechnung der Funktion V durch die folgende Gleichung ist:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)), und
Schritt (c) ein Schritt der Berechnung der Funktion Γ durch die folgende Gleichung ist:
W = Γ(Y . P) = YP über Ea, b(GF(q))
wobei
G1(q) = P∈Ea, b(GF(q)),
Schritt (b) ein Schritt der Berechnung der Funktion V durch die folgende Gleichung ist:
Z' = V((Xi . di), (Ii . ei) |i = 1, ..., L) = (d1X1 + ... + dLXL + e1I1 + ... + eLIL) über Ea, b(GF(q)), und
Schritt (c) ein Schritt der Berechnung der Funktion Γ durch die folgende Gleichung ist:
W = Γ(Y . P) = YP über Ea, b(GF(q))
wobei
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17987397 | 1997-07-04 | ||
JP17987297 | 1997-07-04 | ||
JP18272497 | 1997-07-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19829643A1 DE19829643A1 (de) | 1999-01-07 |
DE19829643C2 true DE19829643C2 (de) | 2000-05-04 |
Family
ID=27324775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19829643A Expired - Fee Related DE19829643C2 (de) | 1997-07-04 | 1998-07-02 | Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist |
Country Status (2)
Country | Link |
---|---|
US (1) | US6212637B1 (de) |
DE (1) | DE19829643C2 (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249259B1 (en) * | 1999-09-07 | 2007-07-24 | Certicom Corp. | Hybrid signature scheme |
FR2809894B1 (fr) * | 2000-05-31 | 2002-10-25 | France Telecom | Procede de cryptographie, microcircuit pour carte a puce et cartes a puce incluant un tel microcircuit |
US20030050981A1 (en) * | 2001-09-13 | 2003-03-13 | International Business Machines Corporation | Method, apparatus, and program to forward and verify multiple digital signatures in electronic mail |
US7007040B1 (en) | 2001-12-04 | 2006-02-28 | General Dynamics C4 Systems, Inc. | Method and apparatus for storing and updating information in a multi-cast system |
JP2003244138A (ja) * | 2002-02-18 | 2003-08-29 | Fujitsu Ltd | 原本作成装置及び原本性保証装置 |
US7349538B2 (en) * | 2002-03-21 | 2008-03-25 | Ntt Docomo Inc. | Hierarchical identity-based encryption and signature schemes |
WO2003090429A1 (en) | 2002-04-15 | 2003-10-30 | Docomo Communications Laboratories Usa, Inc. | Signature schemes using bilinear mappings |
US20030221105A1 (en) * | 2002-05-20 | 2003-11-27 | Autodesk, Inc. | Extensible mechanism for attaching digital signatures to different file types |
CN1679271A (zh) * | 2002-08-28 | 2005-10-05 | 美国多科摩通讯研究所股份有限公司 | 基于认证的加密和公共密钥基础结构 |
KR20060013333A (ko) * | 2003-04-30 | 2006-02-09 | 소니 가부시끼 가이샤 | 데이터 처리 방법, 그 프로그램, 그 장치 및 기록 매체 |
JP4390570B2 (ja) * | 2004-01-21 | 2009-12-24 | 株式会社エヌ・ティ・ティ・ドコモ | 多段署名検証システム、電子署名付与装置、データ追加装置及び電子署名検証装置 |
US7664957B2 (en) * | 2004-05-20 | 2010-02-16 | Ntt Docomo, Inc. | Digital signatures including identity-based aggregate signatures |
US20060078790A1 (en) * | 2004-10-05 | 2006-04-13 | Polyplus Battery Company | Solid electrolytes based on lithium hafnium phosphate for active metal anode protection |
US8285996B2 (en) * | 2005-03-30 | 2012-10-09 | Dublin City University | Verification of identity based signatures |
US7584362B2 (en) * | 2005-04-22 | 2009-09-01 | Microsoft Corporation | Systems and methods for providing signatures |
US20080077592A1 (en) * | 2006-09-27 | 2008-03-27 | Shane Brodie | method and apparatus for device authentication |
KR101273465B1 (ko) * | 2007-03-16 | 2013-06-14 | 재단법인서울대학교산학협력재단 | 집합 검증 장치 및 그 방법 |
US20110208972A1 (en) * | 2008-05-29 | 2011-08-25 | Agency For Science, Technology And Research | Method of signing a message |
ES2400894B1 (es) | 2011-05-13 | 2014-03-11 | Telefónica, S.A. | Procedimiento para una firma digital múltiple |
US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
US11956370B2 (en) * | 2021-06-23 | 2024-04-09 | Blackberry Limited | Method and system for digital signatures utilizing multiplicative semigroups |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07261663A (ja) * | 1994-03-23 | 1995-10-13 | Nippon Telegr & Teleph Corp <Ntt> | ディジタル署名方式 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5140634A (en) * | 1987-09-07 | 1992-08-18 | U.S Philips Corporation | Method and apparatus for authenticating accreditations and for authenticating and signing messages |
US4926479A (en) * | 1988-04-29 | 1990-05-15 | Massachusetts Institute Of Technology | Multiprover interactive verification system |
JP3456993B2 (ja) * | 1991-02-07 | 2003-10-14 | トムソン マルチメデイア ソシエテ アノニム | 識別および/またはディジタル署名を行うための方法および識別装置並びに検証装置 |
JP2671649B2 (ja) * | 1991-07-08 | 1997-10-29 | 三菱電機株式会社 | 認証方式 |
US5231668A (en) * | 1991-07-26 | 1993-07-27 | The United States Of America, As Represented By The Secretary Of Commerce | Digital signature algorithm |
US5297206A (en) * | 1992-03-19 | 1994-03-22 | Orton Glenn A | Cryptographic method for communication and electronic signatures |
IL106796A (en) * | 1993-08-25 | 1997-11-20 | Algorithmic Res Ltd | Broadcast encryption |
US5347581A (en) * | 1993-09-15 | 1994-09-13 | Gemplus Developpement | Verification process for a communication system |
US5434919A (en) * | 1994-01-11 | 1995-07-18 | Chaum; David | Compact endorsement signature systems |
KR0146437B1 (ko) * | 1995-05-26 | 1998-09-15 | 조백제 | 인증교환 방법, 복원형 전자서명 방법, 부가형 전자서명 방법, 키교환 방법, 복원형 다중전자서명 방법, 부가형 다중전자서명 방법 및 블라인드 전자서명 방법 |
FR2747257B1 (fr) * | 1996-04-09 | 1998-09-11 | Gilbert Henri | Procede d'identification et/ou de signature |
JPH10198272A (ja) * | 1996-12-27 | 1998-07-31 | Canon Inc | 階層を有する鍵管理方法及び暗号システム、分散デジタル署名システム |
IT1299847B1 (it) * | 1998-02-17 | 2000-04-04 | Gd Spa | Metodo e dispositivo per l'alimentazione di bobine. |
-
1998
- 1998-06-25 US US09/104,281 patent/US6212637B1/en not_active Expired - Fee Related
- 1998-07-02 DE DE19829643A patent/DE19829643C2/de not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07261663A (ja) * | 1994-03-23 | 1995-10-13 | Nippon Telegr & Teleph Corp <Ntt> | ディジタル署名方式 |
Also Published As
Publication number | Publication date |
---|---|
US6212637B1 (en) | 2001-04-03 |
DE19829643A1 (de) | 1999-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19829643C2 (de) | Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist | |
EP0384475B1 (de) | Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem | |
DE69633217T2 (de) | Verfahren zum Implentieren von elektronischem Geld mit Hilfe einer Lizenz eines anonymen öffentlichen Schlüssels | |
DE19804054B4 (de) | System zur Verifizierung von Datenkarten | |
DE102012206341B4 (de) | Gemeinsame Verschlüsselung von Daten | |
DE69938624T2 (de) | Robuste und effiziente verteilte erzeugung eines rsa-schlüssels | |
DE69434703T2 (de) | Verfahren zur Erzeugung von DSA-Unterschriften mit preisgünstigen tragbaren Einheiten | |
DE69630738T2 (de) | Verfahren und Einrichtung für ein elektronisches Geldsystem mit Ursprungserkennung | |
DE60127516T2 (de) | Verfahren zur Erzeugung einer digitalen Unterschrift und Verfahren zur Prüfung einer digitalen Unterschrift | |
DE102012005427A1 (de) | Verfahren und System zur gesicherten Kommunikation zwischen einen RFID-Tag und einem Lesegerät | |
CH711133B1 (de) | Protokoll zur Signaturerzeugung | |
DE69838258T2 (de) | Public-Key-Datenübertragungssysteme | |
WO1996037064A1 (de) | Verfahren zum rechnergestützten austausch kryptographischer schlüssel zwischen einer ersten computereinheit und einer zweiten computereinheit | |
EP1368929B1 (de) | Verfahren zur authentikation | |
DE102019002732A1 (de) | Verfahren zum direkten Übertragen von elektronischen Münzdatensätzen zwischen Endgeräten sowie Bezahlsystem | |
DE69833352T2 (de) | Vorrichtung zur Verarbeitung von Bivektoren und Verschlüsselungssystem unter Verwendung desselben | |
DE10143728A1 (de) | Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation | |
EP3899844A1 (de) | Verfahren zum erzeugen einer blinden signatur | |
DE69735290T2 (de) | Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand | |
EP1346509B1 (de) | Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Sclüsseln | |
DE602004006373T2 (de) | Verfahren und Vorrichtungen zur Erstellung fairer Blindunterschriften | |
DE19720249A1 (de) | Digitales Unterschriftenprotokoll mit verringerter Bandbreite | |
EP2730050B1 (de) | Verfahren zur erstellung und überprüfung einer elektronischen pseudonymen signatur | |
EP3832950A1 (de) | Kryptographisches signatursystem | |
DE102006013515A1 (de) | Kryptographisches Verfahren mit elliptischen Kurven |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |