DE19720249A1 - Digitales Unterschriftenprotokoll mit verringerter Bandbreite - Google Patents

Digitales Unterschriftenprotokoll mit verringerter Bandbreite

Info

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
Application number
DE19720249A
Other languages
English (en)
Inventor
Scott A Vanstone
Minghua Qu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Certicom Corp
Original Assignee
Certicom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Certicom Corp filed Critical Certicom Corp
Publication of DE19720249A1 publication Critical patent/DE19720249A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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/3249Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite 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.
1. Verfahren auf der Grundlage der Faktorisierung von ganzen Zahlen
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.
Algorithmus 1. Unterschriftserzeugung
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).
Algorithmus 2. Unterschriftsverifikation
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).
Algorithmus 3. Unterschriftserstellung
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)).
Algorithmus 4. Unterschriftsverifikation
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.
2. Verfahren auf der Grundlage des Rabin-Unterschriftsver­ fahrens
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.
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.
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).
Algorithmus 6. Unterschriftsverifikation für das vorgeschlagene Rabin-Verfahren
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.
3. Verfahren auf der Grundlage des diskreten Log-Problems
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.
Algorithmus 7. Unterschriftserstellung
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)).
Algorithmus 8. Unterschriftsverifikation
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.
Algorithmus 9. Unterschriftserstellung
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)).
Algorithmus 10. Unterschriftsverifikation
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.
DE19720249A 1996-05-15 1997-05-15 Digitales Unterschriftenprotokoll mit verringerter Bandbreite Withdrawn DE19720249A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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