DE19720249A1 - Digitales Unterschriftenprotokoll mit verringerter Bandbreite - Google Patents
Digitales Unterschriftenprotokoll mit verringerter BandbreiteInfo
- Publication number
- DE19720249A1 DE19720249A1 DE19720249A DE19720249A DE19720249A1 DE 19720249 A1 DE19720249 A1 DE 19720249A1 DE 19720249 A DE19720249 A DE 19720249A DE 19720249 A DE19720249 A DE 19720249A DE 19720249 A1 DE19720249 A1 DE 19720249A1
- Authority
- DE
- Germany
- Prior art keywords
- signature
- message
- component
- calculating
- function
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims description 46
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000012795 verification Methods 0.000 description 15
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000011084 recovery Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 1
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/3236—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 cryptographic hash functions
-
- 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
- H04L9/3249—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 using RSA or related signature schemes, e.g. Rabin scheme
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Description
Eine digitale Unterschrift ist eine Information, die
eine Nachricht mit dem Ersteller verbindet. Bei digitalen Un
terschriftsalgorithmen (bzw. der Unterschriftserstellung) han
delt es sich um Verfahren zum Bilden einer Unterschrift.
Verifikationsalgorithmen sind Verfahren zum Prüfen oder Veri
fizieren der Echtheit einer Unterschrift. Ein digitales Unter
schriftsverfahren bzw. ein digitaler Unterschriftsmechanismus
besteht aus einem Unterschriftserstellungsalgorithmus und einem
Unterschriftsverifikationsalgorithmus. Wenn der Verifi
kationsalgorithmus die Nachricht als Eingangssignal erfordert,
wird die digitale Unterschrift als digitale Unterschrift mit
Anhang bezeichnet. Falls er die Nachricht nicht erfordert, wird
sie als digitale Unterschrift mit Nachrichtenwiedergewinnung
bezeichnet.
Das am besten bekannte Beispiel für ein digitales Un
terschriftsverfahren findet sich in dem RSA-public-key-Krypto
system. Dies liefert eine digitale Unterschrift mit
Nachrichtenwiedergewinnung. In jüngster Zeit haben Nyberg und
Rueppel gezeigt, daß die Klasse digitaler Unterschriften, die
gemeinhin als El-Gamal-ähnliches Verfahren bezeichnet wird, so
modifiziert werden kann, daß sie die Eigenschaft der
Nachrichtenwiedergewinnung erhält.
Einer der Nachteile aller bekannten digitalen Unter
schriftenverfahren mit Nachrichtenwiedergewinnung besteht darin,
daß die Nachricht ausreichend Redundanz aufweisen muß, um einen
existentiellen Fälschungsangriff zu vermeiden. So handelt es
sich beispielsweise bei ISO/IEC 9796 um eine internationale
Norm, deren Zweck darin besteht, vorzuschreiben, wie Nachrichten
gebildet werden müssen, bevor sie durch das RSA-Verfahren
unterzeichnet werden. Dabei kann es sich bei höchstens der
Hälfte der Bit in den Nachrichten um Informationsbit handeln,
der Rest ist für die Redundanz reserviert. Zur Verarbeitung der
Nachrichten ist infolgedessen eine gesteigerte Bandbreite
erforderlich.
Eine Aufgabe der vorliegenden Erfindung besteht darin,
ein Unterschriftsverfahren bereitzustellen, bei dem die erfor
derliche Redundanz reduziert ist.
Allgemein ausgedrückt liefert die vorliegende Erfindung
eine Unterschriftskomponente für eine Nachricht, die eine
Mischsumme der Nachricht verwendet. Die Nachricht wird
mathematisch mit dem privaten Schlüssel des Unterzeichners
verknüpft und kann so unter Verwendung des öffentlichen
Schlüssels (public key) des Unterzeichners wiedergewonnen wer
den. Der Empfänger empfängt die Mischsumme der Nachricht und
kann sie mit der entsprechenden Mischsumme der wiedergewonnenen
Nachricht vergleichen, um die Unterschrift auf ihre Echtheit hin
zu überprüfen.
Die vorliegende Erfindung liefert insbesondere ein
Verfahren zur Authentifizierung einer Unterschrift einer
Nachricht m, das folgende Schritte umfaßt:
- (i) Bestimmen einer Mischsumme h(m) der Nachricht durch Anwendung einer Haschfunktion und Ableiten einer ersten Unterschriftskomponente daraus,
- (ii) Berechnen einer mathematisch mit der Mischsumme der Nachricht verwandten Funktion;
- (iii) Anwenden der Funktion auf die Nachricht, um eine an den Unterzeichner gebundene zweite Un terschrift zu erhalten;
- (iv) Übermitteln der Unterschriftskomponenten an einen Empfänger;
- (v) Wiedergewinnen einer Nachricht m′ aus der zweiten Komponente;
- (vi) Berechnen eines Mischsummenwerts von m′ durch Anwenden der Haschfunktion; und
- (vii) Bestimmen, ob der Mischsummenwert von m′ und die in der ersten Unterschriftskomponente ent haltene Mischsumme h(m) identisch sind, wobei die Identität eine echte Unterschrift der Nachricht anzeigt.
Derartige neue Klassen von digitalen Unterschriften
stellen Nachrichtenwiedergewinnung bereit und weisen das
neuartige Merkmal auf, daß in der zu unterzeichnenden Nachricht
nur minimale Redundanz erforderlich ist. In einigen Situationen
könnte die Einsparung an Bandbreite sehr nützlich sein. Bei
einer verläßlichen dritten Partei (TTP - trusted third party)
beispielsweise, die Bescheinigungen für Instanzen in einem Netz
erstellt, sind die Anforderungen hinsichtlich Bandbreite ein
richtiger Gesichtspunkt. Eine TTP, die ein RSA-Verfahren mit
einer Modulgröße von 1024 Bit verwendet, um Nachrichten in der
Größenordnung von 1000 Bit zu unterzeichnen, erfordert eine
Bandbreite von mehr als 2000 Bit. Eine unten beschriebene
Ausführungsform liefert ein Verfahren, das über diese
Nachrichtengröße hinaus lediglich eine kleine Anzahl von Bit
erfordern würde.
Ausführungsformen der Erfindung werden nun lediglich
beispielhaft und unter Bezugnahme auf die beigefügten
Zeichnungen beschrieben. Es zeigen:
Fig. 1 eine schematische Darstellung eines Datenkom
munikationssystems.
Nunmehr unter Bezugnahme auf Fig. 1 tauscht ein Paar
von Korrespondenten 10, 12, die als Korrespondent A und Kor
respondent B bezeichnet sind, über einen Kommunikationskanal 14
Informationen aus. Zwischen jedem der Korrespondenten 10, 12 und
dem Kanal 14 ist eine kryptographische Einheit 16, 18
angeordnet. Jede der kryptographischen Einheiten 16, 18 kann
eine zwischen jeder Einheit 16, 18 und ihrem jeweiligen Kor
respondenten 10, 12 geführte Nachricht aufnehmen und eine Un
terschrift erzeugen, die mit der Nachricht und dem Korrespon
denten verbunden ist und auf dem Kanal 14 geführt wird. Je nach
den zu Grunde liegenden eingesetzten kryptographischen
Grundlagen kann die Unterschrift auf vielfältige Weise erzeugt
werden.
Es seien p und q Primzahlen und n = pq derart, daß sas
Problem der Faktorisierung ganzer Zahlen für n schwer zu lösen
ist. Das zu beschreibende Verfahren erfordert eine
kryptographische Einweg-Haschfunktion h, die Bitketten
willkürlicher Länge auf die Bitkette der Länge t abbildet. In
der Regel beträgt t 64 oder 128 Bit. Die zu unterzeichnende
Nachricht kann man sich als ganze Zahlen in Zn vorstellen.
Die Instanz A besitzt den öffentlichen Schlüssel n und
den privaten Schlüssel (private key) 1(n) = kgV(p-1, q-1). Um eine
Nachricht m ∈ Z*n zu unterzeichnen, führt die Instanz A
folgendes aus:
- a) Behandeln von m als Bitkette und Berechnen des Misch summenwerts em = h(m).
- b) Verwenden des erweiterten euklidschen Algorithmus, um eine ganze Zahl dm derart zu berechnen, daß dmem = ein = 1 (modλ(n) ist, wobei die Bitkette em nunmehr als die binäre Darstellung einer ganzen Zahl betrachtet wird.
- c) Berechnen von sm = mdm (mod n).
- d) Die Unterschrift für die Nachricht m ist (sm, em).
Eine Instanz B kann die Unterschrift (sm, em) veri
fizieren, indem sie folgendes ausführt:
- a) Nachschlagen des öffentlichen Schlüssels n der Instanz A.
- b) Berechnen von m′ = S (mod) n
- c) Verifizieren, daß h(m′) = em.
- d) Falls der Verifikationsprozeß in (c) erfolgreich ver laufen ist, so ist m′ die wiedergewonnene Nachricht.
Damit der Unterschriftsalgorithmus funktioniert, muß
gelten, daß das ggT (em,λ(n)) = 1. Dies kann durch die folgende
einfache Modifizierung gewährleistet werden. Es sei c eine Kette
aus 1 Bit. Anstatt h(m) zu verwenden, wird em = h(m) | | c
verwendet, wobei | | eine Verkettung bedeutet und c so gewählt
wird, daß die durch em dargestellte ganze Zahl bezüglich λ(n)
unzerlegbar ist (d. h., ggT (em,λ(n)) = 1). Eine bevorzugte Art
und Weise, wie dies geschehen kann, würde darin bestehen, die
Primzahlen p und q so zu wählen, daß p-1 und q-1 keine kleinen
ungeraden Primfaktoren aufweisen und c als Bit 1 gewählt ist
(d. h. l = 1). Es folgt dann daraus, daß em = h(m) | | c ungerade
ist und daß die Wahrscheinlichkeit dafür, daß ggT (em,λ(n)) = 1
ist, mehr hoch liegt. Bei dem Verifikationsalgorithmus in
Schritt (c), anstatt zu verifizieren, daß falls h(m′) = em ist,
verifiziert B, daß h(m′) gleich den ersten t Bit von em ist.
Die Unterschrift für die Nachricht in enthält
(t + log₂ n) Bit, bzw. (t + 1 + log₂ n) Bit, falls die oben
beschriebene Modifikation verwendet wird.
Der Unterschriftsmechanismus weist nicht die Homomor
phismuseigenschaft der RSA-Unterschrift auf, da, wenn zwei
Nachrichten m und m′ den gleichen Mischsummenwert aufweisen, das
Produkt aus in und m′ möglicherweise nicht den gleichen
Mischsummenwert aufweist. Existentielle Fälschung durch Multi
plizieren von Unterschriften wird somit im allgemeinen nicht
funktionieren, da die Wahrscheinlichkeit für h(m) = h(m′) =
h(mm′) gering ist.
Die Wahrscheinlichkeit, daß ein Unterschriftsfälscher
ein Paar (sm, em), was eine Unterschrift für einen beliebigen
Wert von m ist, erraten kann, liegt bei 1/2t. Die
Unterschriftserstellung bei dem neuen Verfahren erfordert
lediglich geringfügig mehr Arbeit (Anwendung des euklidschen
Algorithmus und der Haschfunktion) als bei einer RSA-
Unterschriftserstellung am gleichen Modul. Die
Unterschriftsverifikation erfordert mehr Arbeit (aber nicht
signifikant mehr) als eine RSA-Verifikation, vorausgesetzt, der
öffentliche Exponent von RSA ist klein, ansonsten ist das neue
Verfahren überlegen.
Eine weitere Modifikation des Verfahrens der Fak
torisierung ganzer Zahlen ist eine Modifikation des RSA-Unter
schriftsverfahrens. Die Instanz A habe den öffentlichen
Schlüssel n, e und den privaten Schlüssel d, wobei ed≡1 (mod n).
Um eine Nachricht m zu unterzeichnen, muß die Instanz A
folgendes ausführen:
- (a) Behandeln von m als eine Bitkette und Berechnen des Mischsummenwertes h(m), wobei es sich bei h(m) um eine Einweg funktion handeln kann.
- (b) Berechnen von sm = (mh(m))d (mod n).
- (c) Die Unterschrift für die Nachricht m lautet (sm)h(m)).
Eine Instanz B kann die Unterschrift (sm, h(m)) veri
fizieren, indem sie folgendes ausführt:
- (a) Nachschlagen des öffentlichen Schlüssels e, n der In stanz A.
- (b) Berechnen von m′ = S (h(m))-1(mod n)
- (c) Verifizieren, daß h(m′) = h(m).
- (d) Wenn der Verifikationsprozeß in (c) erfolgreich aus fällt, so ist m′ die wiedergewonnene Nachricht.
Ein alternatives Unterschriftsverfahren ist das als
Rabin bekannte, das seine Sicherheit aus der Schwierigkeit
ableitet, Quadratwurzeln modulo einer zerlegbaren Zahl zu finden.
Es sei n = pq ein Produkt zweier Primzahlen, wobei p≡3
(mod 8) und Q ≡ 7 (mod 8) ist. Es sei
Es kann leicht gezeigt werden, daß mt = 1 (mod n)
ist, vorausgesetzt, m ist ein quadratischer Rest modulo n und m¹
= -1 (mod n), vorausgesetzt, m ist ein quadratischer Nichtrest
modulo p bzw. Modulo q. Es sei Jm = (. .) das Jacobi-Symbol, Qn
die Menge quadratischer Rest modulo n und m ist umkehrbar mod n,
und wir haben die folgenden Tatsachen:
Tatsache 1. Bei Jm = 1 ist mt ≡ 1 (mod n), wenn m ∈ Qn
-1 (mod n), wenn m ∉ Qn.
Tatsache 2. Bei Jm = -1 ist Jm/2 = 1.
Tatsache 3. Es sei e gerade und d genüge der Bedingung, daß ed≡1(mod t). Bei Jm = 1 ist
med ≡ m(mod n), wenn m ∈ Qn,
-m(mod n) bei m ∉ Qn.
-1 (mod n), wenn m ∉ Qn.
Tatsache 2. Bei Jm = -1 ist Jm/2 = 1.
Tatsache 3. Es sei e gerade und d genüge der Bedingung, daß ed≡1(mod t). Bei Jm = 1 ist
med ≡ m(mod n), wenn m ∈ Qn,
-m(mod n) bei m ∉ Qn.
Tatsache 1 und Tatsache 2 sind trivial. Für Tatsache 3
können wir eine ungerade ganze Zahl x derart finden, daß ed = 1
+ xt ist. Folglich ist
Algorithmus 5. Unterschriftserstellung für das modifizierte Rabin-Verfahren.
Algorithmus 5. Unterschriftserstellung für das modifizierte Rabin-Verfahren.
Die Instanz A besitze den öffentlichen Schlüssel n und
den privaten Schlüssel t. Um eine Nachricht
zu unterzeichnen, muß die Instanz A folgendes ausführen:
- (a) Behandeln von m als Bitkette und Berechnen des Mischsum menwertes h(m), danach Setzen von em = 4h(m)+2.
- (b) Verwenden des erweiterten euklidschen Algorithmus, um eine ganze Zahl dm derart zu berechnen, daß dmem = 1(mod t), wobei die Bitkette em nunmehr als die binäre Darstellung einer ganzen Zahl betrachtet wird.
- (c) Berechnen von
und Setzen einer ganzen Zahl M durch folgende Regel:M = 8m + 2 bei J8m+2 ≡ 1.
M = 4m + 1 bei J8m+1 ≡ -1. - (d) Berechnen von sm = Mdn (mod n).
- (e) Die Unterschrift der Nachricht m lautet (sm,em).
Eine Instanz B kann die Unterschrift (sm,em) veri
fizieren, indem sie folgendes ausführt:
- (a) Nachschlagen des öffentlichen Schlüssels n der Instanz A.
- (b) Berechnen von M′ = S (mod n), wobei 0 < M′ < n.
- (c) Nehmen von m′ durch folgende Regel:
- (d) Berechnen von h(m′) und Verifizieren, daß 4h(m′) +2 = em.
- (e) Wenn der Verifikationsprozeß in (d) erfolgreich ver läuft, so ist in′ die wiedergewonnene Nachricht.
Eine weitere Klasse von Unterschriftsverfahren basiert
auf der schwierigen Lösbarkeit des diskreten Log-Problems, für
das das Nyberg-Rueppel-Verfahren ein Beispiel ist.
Wie bei dem RSA-Verfahren ist das digitale Unter
schriftsverfahren nach Nyberg-Rueppel mit dem Nachteil behaftet,
daß eine Nachrichtenredundanz erforderlich ist. Das unten
beschriebene Verfahren meistert dieses Problem.
Lediglich für den Zweck der Vereinfachung wird eine der
vielen Möglichkeiten ausführlicher erörtert, und obwohl das
Verfahren auf jede beliebige finite Gruppe angewendet werden
kann, wird es nur in Z*p beschrieben.
Es seien p und q Primzahlen derart, daß p|q-1, und das
diskrete Logarithmus-Problem ist in Z*p schwierig zu lösen. Es
sei α ein Generator für die zyklische Untergruppe G der Ordnung
q in Z*p und h sei eine kryptographische Haschfunktion, wie
oben beschrieben.
Die Instanz A wählt einen privaten Schlüssel α aus, bei
dem es sich um eine ganze Zahl handelt, die nach dem Zu
fallsprinzip aus {1, 2, . . ., q-1} ausgewählt ist, und berechnet den
öffentlichen Schlüssel β = αa.
Um eine Nachricht in ∈ Zp zu unterzeichnen, muß die
Instanz A folgendes ausführen:
- (a) Berechnen von h(m).
- (b) Auswählen einer zufälligen ganzen Zahl k ∈ (1, 2, . . ., q-1).
- (c) Berechnen von r = mαk (mod p).
- (d) Berechnen von sm = arh(m) + k mod q.
- (e) Die Unterschrift für die Nachricht m lautet (sm,r,h(m)).
Die Instanz B kann die Unterschrift (sm,r,h(m)) an in
verifizieren, indem sie folgendes ausführt:
- (a) Nachschlagen des öffentlichen Schlüssels b von A.
- (b) Berechnen von v₁ = αSm (mod p).
- (c) Berechnen von v₂ = β-rh(m) (mod p).
- (d) Berechnen von w = v₁v₂ (mod p).
- (e) Berechnen von m′ = rw-1 (mod p).
- (f) Berechnen von h(m′) und Verifizieren, daß h(m′) = h(m).
- (g) Die wiedergewonnene Nachricht lautet m′.
Die Unterschriftserzeugung unter Verwendung des Ver
fahrens von Algorithmus 7 und Algorithmus 8 ist beinahe genauso
wirksam wie das ursprüngliche Nyberg-Rueppel-Verfahren, mit
Ausnahme der Berechnung der Haschfunktion.
Analog dazu ist die Unterschriftsverifikation beinahe
so wirksam wie das ursprüngliche Nyberg-Rueppel-Verfahren, mit
Ausnahme der Berechnung des Produktes rh(m) mod q und der
Berechnung des Mischsummenwertes h(m′).
Das Nyberg-Rueppel-Verfahren kann nicht einfach modi
fiziert werden, um die gleichen Ergebnisse zu erhalten.
Beispielsweise schließt das Senden der Mischsumme der Nachricht
einen existentiellen Fälscherangriff nicht aus. Andere, dem
Nyberg-Rueppel-Verfahren ähnliche Verfahren können analog gemäß
den erfindungsgemaßen Verfahren modifiziert werden. Die
Verfahren gemaß der vorliegenden Erfindung können zum Beispiel
aber auch auf elliptische Kurven angewendet werden; ein Nyberg-
Rueppel-Verfahren, das auf elliptische Kurven angewandt werden
kann, ist unten beschrieben.
Die Kurve sei y² + xy = x³ + αx² + b mit einer großen
Primzahlordnung n und P sei ein Punkt auf der Kurve mit einer x-
und einer y-Koordinate. Weiterhin sei h eine kryptographische
Haschfunktion, wie sie weiter oben beschrieben ist.
Die Instanz A wählt einen privaten Schlüssel d aus, bei
dem es sich um eine ganze Zahl handelt, die nach dem
Zufallsprinzip über {1, 2, . . ., n-1} ausgewählt ist, und
berechnet den öffentlichen Schlüssel Q = dP. Um eine Nachricht m
zu unterzeichnen, wobei 1 < m < n ist, muß die Instanz A
folgendes ausführen:
- (a) Berechnen von h(m).
- (b) Auswählen einer zufälligen ganzen Zahl k ∈ (1, 2, . . ., n-1).
- (c) Berechnen von kP, wobei x die x-Ordinate des Punktes kP ist.
- (d) Berechnen von r = m + x (mod n).
- (e) Berechnen von sm = drh(m) + k mod n.
- (f) Die Unterschrift für die Nachricht lautet (sm,r,h(m)).
Die Instanz B kann die Unterschrift (sm,r,h(m)) an m
verifizieren, indem sie folgendes ausführt:
- (a) Nachschlagen des öffentlichen Schlüssels Q von A.
- (b) Berechnen von smP.
- (c) Berechnen von (-rh(m))Q.
- (d) Berechnen von T = smP + (-rh(m))Q, wobei x die x- Ordinate des Punktes ist.
- (e) Berechnen von m′= r - x′ (mod n).
- (f) Berechnen von h(m′) und Verifizieren, daß h(m′) = h(m).
- (g) Die wiedergewonnene Nachricht lautet m′.
Obwohl die Erfindung im Zusammenhang mit einer
speziellen Ausführungsform davon und mit einer speziellen
Verwendung beschrieben worden ist, werden dem Fachmann
verschiedene Modifikationen offensichtlich sein, ohne vom
Erfindungsgedanken abzuweichen.
Die Termini und Ausdrücke, die in der Patentschrift
verwendet worden sind, werden als beschreibende und nicht als
einschränkende Termini verwendet; wenn derartige Termini und
Ausdrücke verwendet werden, so ist damit nicht beabsichtigt,
jegliche Äquivalente der gezeigten und beschriebenen Merkmale
oder von Teilen davon auszuschließen, sondern es ist klar, daß
innerhalb des Schutzbereiches der Ansprüche verschiedene
Modifikationen möglich sind.
Claims (9)
1. Verfahren zur Authentifizierung einer Unterschrift
einer Nachricht in, das folgende Schritte umfaßt:
- a) Bestimmen einer Darstellung h(m) der Nachricht durch Anwendung einer Einwegfunktion und Ableiten einer ersten Unterschriftskomponente daraus,
- b) Berechnen einer mathematisch mit der Darstellung h(m) der Nachricht verwandten Funktion;
- c) Anwenden der Funktion auf die Nachricht, um eine an den Unterzeichner gebundene zweite Unterschrifts komponenten zu erhalten;
- d) Übermitteln der Unterschriftskomponenten an einen Empfänger;
- e) Wiedergewinnen einer Nachricht m′ aus der zweiten Komponente;
- f) Berechnen eines Werts von m′ durch Anwenden der Einwegfunktion; und
- g) Bestimmen, ob der Wert von m′ und die in der ersten Unterschriftskomponente enthaltene Darstellung h(m) identisch sind, wobei die Identität eine echte Unterschrift der Nachricht anzeigt.
2. Verfahren nach Anspruch 1, wobei die Einwegfunktion
eine kryptographische Haschfunktion ist.
3. Verfahren nach Anspruch 2, wobei es sich bei der
Haschfunktion um eine SHA-1-Haschfunktion handelt.
4. Verfahren zur Authentifizierung einer Unterschrift
einer Nachricht m, das folgende Schritte umfaßt:
- a) Bestimmen einer Mischsumme h(m) der Nachricht durch Anwendung einer Haschfunktion und Ableiten einer ersten Unterschriftskomponente e= daraus,
- b) Berechnen einer mathematisch mit der Mischsumme der Nachricht verwandten Funktion dm, so daß emdm = 1 mod (l(n));
- c) Anwenden der Funktion dm auf die Nachricht, um eine an den Unterzeichner gebundene zweite Unterschrifts komponente Sm zu erhalten, so daß Sm = mdm mod (λ(n));
- d) Übermitteln der Unterschriftskomponenten (em, Sm) an einen Empfänger;
- e) Wiedergewinnen einer Nachricht m′ aus der zweiten Komponente Sm, wobei S = m′;
- f) Berechnen eines Mischsummenwerts von m′ durch Anwenden der Haschfunktion; und
- g) Bestimmen, ob der Haschwert von m′ und die in der ersten Unterschriftskomponente enthaltene Mischsumme h(m) identisch sind, wobei die Identität eine echte Unterschrift der Nachricht anzeigt.
5. Verfahren zur Authentifizierung einer Unterschrift
einer Nachricht m, das folgende Schritte umfaßt:
- a) Bestimmen einer Mischsumme h(m) der Nachricht durch Anwendung einer Haschfunktion und Ableiten einer ersten Unterschriftskomponente daraus,
- b) Auswählen einer zufälligen ganzen Zahl k ∈ {1, 2, . . ., q-1},
- c) Berechnen einer dritten Unterschriftskomponente r derart, daß r = mαk (mod p), wobei a ein Generator für eine zyklische Gruppe G der Ordnung q in Z*p ist und wobei p-1 durch q teilbar ist,
- d) Berechnen einer mathematisch mit der Mischsumme h(m) der Nachricht verwandten zweiten Unterschrifts komponente sm, so daß sm = arh(m) + k mod q, wobei a ein privater Schlüssel des Unterzeichners ist,
- e) Übermitteln der Unterschriftskomponenten an einen Empfänger;
- f) Wiedergewinnen einer Nachricht m′ aus der zweiten und dritten Unterschriftskomponente;
- g) Berechnen eines Werts von m′ durch Anwenden der Haschfunktion; und
- h) Bestimmen, ob der Wert von m′ und die in der ersten Unterschriftskomponente enthaltene Darstellung h(m) identisch sind, wobei die Identität eine echte Unterschrift der Nachricht anzeigt.
6. Verfahren zur Authentifizierung einer Unterschrift
einer Nachricht m, das folgende Schritte umfaßt:
- a) Bestimmen einer Mischsumme h(m) der Nachricht durch Anwendung einer Haschfunktion und Ableiten einer ersten Unterschriftskomponente daraus,
- b) Auswählen einer zufälligen ganzen Zahl k ∈ {1, 2, . . ., q-1},
- c) Berechnen einer dritten Unterschriftskomponente r derart, daß r = m + x(mod n), wobei x eine Koordinate eines Punktes kP auf einer elliptischen Kurve definiert durch y² + xy = x³ + αx² + b der Ordnung n ist,
- i) Berechnen einer mathematisch mit der Mischsumme h(m) der Nachricht verwandten zweiten Unterschrifts komponente sm, so daß sm = drh(m) + k mod q, wobei d ein privater Schlüssel des Unterzeichners ist,
- j) Übermitteln der Unterschriftskomponenten an einen Empfänger;
- k) Wiedergewinnen einer Nachricht m′ aus der zweiten und dritten Unterschriftskomponente;
- l) Berechnen eines Werts von m′ durch Anwenden der Haschfunktion; und
- m) Bestimmen, ob der Wert von m′ und die in der ersten Unterschriftskomponente enthaltene Darstellung h(m) identisch sind, wobei die Identität eine echte Unterschrift der Nachricht anzeigt.
7. Rechnerlesbares Medium, dessen Inhalt bewirkt, daß ein
Rechnersystem eine Unterschrift einer Nachricht m erzeugt, wobei
das Rechnersystem ein Unterschriftserzeugungsprogramm aufweist,
durch Ausführen der folgenden Schritte:
- a) Bestimmen einer Darstellung h(m) der Nachricht durch Anwendung einer Einwegfunktion und Ableiten einer ersten Unterschriftskomponente daraus,
- b) Berechnen einer mathematisch mit der Darstellung h(m) der Nachricht verwandten Funktion;
- c) Anwenden der Funktion auf die Nachricht, um eine an den Unterzeichner gebundene zweite Unterschrifts komponente zu erhalten;
- d) Übermitteln der Unterschriftskomponenten an einen Empfänger, wobei die Unterschriftskomponenten die Nachricht und eine von der Nachricht abhängige Komponente enthalten.
8. Rechnerlesbares Medium nach Anspruch 7, mit einem
Unterschriftsverifikationsprogramm.
9. Rechnerlesbares Medium nach Anspruch 8, wobei das
Unterschriftsverifikationsprogramm folgende Schritte umfaßt:
- a) Wiedergewinnen einer Nachricht m′ aus der zweiten Komponente;
- b) Berechnen eines Werts von m′ durch Anwenden der Einwegfunktion; und
- c) Bestimmen, ob der Wert von m′ und die in der ersten Unterschriftskomponente enthaltene Darstellung h(m) identisch sind, wobei die Identität eine echte Unterschrift der Nachricht anzeigt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9610154.8A GB9610154D0 (en) | 1996-05-15 | 1996-05-15 | Tool kit protocol |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19720249A1 true DE19720249A1 (de) | 1997-11-20 |
Family
ID=10793743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19720249A Withdrawn DE19720249A1 (de) | 1996-05-15 | 1997-05-15 | Digitales Unterschriftenprotokoll mit verringerter Bandbreite |
Country Status (5)
Country | Link |
---|---|
US (1) | US6097813A (de) |
CA (1) | CA2205310C (de) |
DE (1) | DE19720249A1 (de) |
FR (2) | FR2748877B1 (de) |
GB (2) | GB9610154D0 (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100397601B1 (ko) * | 1996-07-31 | 2003-10-23 | 삼성전자주식회사 | 메시지 부가형 디지털서명 방법 및 그에 대한 검증 방법 |
US6279110B1 (en) * | 1997-11-10 | 2001-08-21 | Certicom Corporation | Masked digital signatures |
US6453416B1 (en) * | 1997-12-19 | 2002-09-17 | Koninklijke Philips Electronics N.V. | Secure proxy signing device and method of use |
US7249259B1 (en) * | 1999-09-07 | 2007-07-24 | Certicom Corp. | Hybrid signature scheme |
SE517460C2 (sv) * | 2000-03-24 | 2002-06-11 | Imp Internat Ab | Metod och system för kryptering och autentisiering |
JP4284867B2 (ja) * | 2001-01-18 | 2009-06-24 | 株式会社日立製作所 | 標準モデル上で適応的選択暗号文攻撃に対して安全な公開鍵暗号方法 |
GB2367986B (en) * | 2001-03-16 | 2002-10-09 | Ericsson Telefon Ab L M | Address mechanisms in internet protocol |
FR2850502B1 (fr) * | 2003-01-24 | 2005-04-01 | Cryptolog | Procedes d'authentification numerique et de signature numerique a faible cout calculatoire et systeme signataire |
KR20060013333A (ko) * | 2003-04-30 | 2006-02-09 | 소니 가부시끼 가이샤 | 데이터 처리 방법, 그 프로그램, 그 장치 및 기록 매체 |
JPWO2006030496A1 (ja) * | 2004-09-15 | 2008-05-08 | 三菱電機株式会社 | 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム |
US7543147B2 (en) * | 2004-10-28 | 2009-06-02 | International Business Machines Corporation | Method, system, and storage medium for creating a proof of possession confirmation for inclusion into an attribute certificate |
US20060291700A1 (en) * | 2005-06-08 | 2006-12-28 | Ogram Mark E | Internet signature verification system |
US7760873B2 (en) * | 2006-06-30 | 2010-07-20 | Intel Corporation | Method and a system for a quick verification rabin signature scheme |
US10909228B2 (en) * | 2017-07-19 | 2021-02-02 | Box, Inc. | Server-side authentication policy determination for mobile applications |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6256043A (ja) * | 1985-09-04 | 1987-03-11 | Hitachi Ltd | 電子取引方式 |
US4868877A (en) * | 1988-02-12 | 1989-09-19 | Fischer Addison M | Public key/signature cryptosystem with enhanced digital signature certification |
US5282249A (en) * | 1989-11-14 | 1994-01-25 | Michael Cohen | System for controlling access to broadcast transmissions |
DE4003386C1 (de) * | 1990-02-05 | 1991-05-23 | Siemens Ag, 1000 Berlin Und 8000 Muenchen, De | |
DE69327238T2 (de) * | 1993-08-17 | 2000-09-07 | Entrust Technologies ( Switzerland) Ltd. Liab. Co., Glattzentrum | Verfahren zur digitalen Unterschrift und Verfahren zur Schlüsselübereinkunft |
EP0734556B1 (de) * | 1993-12-16 | 2002-09-04 | Open Market, Inc. | Datennetzgestütztes zahlungssystem und verfahren zum gebrauch eines derartigen systems |
US5790677A (en) * | 1995-06-29 | 1998-08-04 | Microsoft Corporation | System and method for secure electronic commerce transactions |
US5754659A (en) * | 1995-12-22 | 1998-05-19 | General Instrument Corporation Of Delaware | Generation of cryptographic signatures using hash keys |
US5999626A (en) * | 1996-04-16 | 1999-12-07 | Certicom Corp. | Digital signatures on a smartcard |
-
1996
- 1996-05-15 GB GBGB9610154.8A patent/GB9610154D0/en active Pending
-
1997
- 1997-05-14 CA CA002205310A patent/CA2205310C/en not_active Expired - Lifetime
- 1997-05-14 GB GB9709816A patent/GB2313272B/en not_active Expired - Lifetime
- 1997-05-15 US US08/856,591 patent/US6097813A/en not_active Expired - Lifetime
- 1997-05-15 DE DE19720249A patent/DE19720249A1/de not_active Withdrawn
- 1997-05-15 FR FR9705976A patent/FR2748877B1/fr not_active Expired - Lifetime
-
2000
- 2000-06-06 FR FR0007200A patent/FR2793366B1/fr not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2793366A1 (fr) | 2000-11-10 |
FR2748877B1 (fr) | 2000-09-08 |
FR2748877A1 (fr) | 1997-11-21 |
GB9610154D0 (en) | 1996-07-24 |
FR2793366B1 (fr) | 2005-05-20 |
GB2313272B (en) | 2000-12-13 |
CA2205310C (en) | 2007-01-30 |
US6097813A (en) | 2000-08-01 |
CA2205310A1 (en) | 1997-11-15 |
GB2313272A (en) | 1997-11-19 |
GB9709816D0 (en) | 1997-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69224238T2 (de) | Geheimübertragungsverfahren zur Identitätsverifizierung | |
EP0384475B1 (de) | Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem | |
DE19804054B4 (de) | System zur Verifizierung von Datenkarten | |
DE4008971C2 (de) | ||
DE69327238T2 (de) | Verfahren zur digitalen Unterschrift und Verfahren zur Schlüsselübereinkunft | |
DE68919923T2 (de) | Verfahren und Vorrichtung zur Authentifizierung. | |
DE19803939B4 (de) | Verfahren zur Identifizierung von Zugangsbefugten | |
DE3856149T2 (de) | Systeme mit unbestreitbarer Unterschrift | |
DE19720249A1 (de) | Digitales Unterschriftenprotokoll mit verringerter Bandbreite | |
CH660822A5 (de) | Zufallsprimzahlen-erzeugungsmittel in einer mit oeffentlichem schluessel arbeitenden daten-verschluesselungsanlage. | |
CH693320A5 (de) | Verfahren zum Beglaubigen digitaler Informationen | |
DE69838258T2 (de) | Public-Key-Datenübertragungssysteme | |
WO2001059728A1 (de) | Verfahren und anordnung zur gegenseitigen authentifizierung zweier datenverarbeitungseinheiten | |
DE19829643C2 (de) | Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist | |
WO1996037064A1 (de) | Verfahren zum rechnergestützten austausch kryptographischer schlüssel zwischen einer ersten computereinheit und einer zweiten computereinheit | |
CH711133B1 (de) | Protokoll zur Signaturerzeugung | |
EP1368929B1 (de) | Verfahren zur authentikation | |
EP1105998A1 (de) | Verfahren und anordnung zur bildung eines geheimen kommunikationsschlüssels zu einem zuvor ermittelten asymmetrischen kryptographischen schlüsselpaar | |
DE112012000971B4 (de) | Datenverschlüsselung | |
DE10143728A1 (de) | Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation | |
DE69735290T2 (de) | Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand | |
DE60202149T2 (de) | Verfahren zur kryptographischen authentifizierung | |
DE69108786T2 (de) | Geheimnisübertragungsverfahren, durch Zertifikataustausch zwischen zwei sich gegenseitig authentifizierenden Mikrorechnern. | |
DE69505703T2 (de) | Verfahren zur digitalen Unterschrift und Authentifizierung von Nachrichten unter Verwendung eines diskreten Logarithmus mit verringerter Anzahl von modularen Multiplikationen | |
DE68929263T2 (de) | Blindunterschriftensysteme mit einer einzigen vorlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |