DE112017007971T5 - Digitales signierungsverfahren, zugehörige einrichtung und zugehöriges system - Google Patents

Digitales signierungsverfahren, zugehörige einrichtung und zugehöriges system Download PDF

Info

Publication number
DE112017007971T5
DE112017007971T5 DE112017007971.3T DE112017007971T DE112017007971T5 DE 112017007971 T5 DE112017007971 T5 DE 112017007971T5 DE 112017007971 T DE112017007971 T DE 112017007971T DE 112017007971 T5 DE112017007971 T5 DE 112017007971T5
Authority
DE
Germany
Prior art keywords
signature
key
mod
information
center
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.)
Pending
Application number
DE112017007971.3T
Other languages
English (en)
Inventor
Zhaohui Cheng
Feng Du
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.)
Shenzhen Olym Information Security Technology Co Ltd
Original Assignee
Shenzhen Olym Information Security Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Olym Information Security Technology Co Ltd filed Critical Shenzhen Olym Information Security Technology Co Ltd
Publication of DE112017007971T5 publication Critical patent/DE112017007971T5/de
Pending legal-status Critical Current

Links

Images

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/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
    • 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/3252Cryptographic 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 DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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
    • H04L9/3242Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Abstract

Bei dem erfindungsgemäßen digitalen Signierungsverfahren sowie der zugehörigen Einrichtung und dem zugehörigen System kann unter Verwendung eines beispielsweise auf EC-Schnorr basierten digitalen Signaturalgorithmus als Signaturalgorithmus des Schlüsselerstellungszentrums ein dem Benutzer zugeordneter privater Teil-Signaturschlüssel T erstellt und dann mittels eines digitalen Standard-Signaturalgorithmus wie z.B. ECDSA die Nachricht M signiert werden. Bei der Berechnung des zweiten Teils w des privaten Signaturschlüssels T wird eine Signaturzuordnung R verwendet, bei der es sich um einen Hash-Digest handelt, der mindestens eine Vorsignatur Π und die Identifikations-ID des Unterzeichners enthält..Beim Signieren der Nachricht M wird für eine Operation, bei der M als Eingabe herangezogen werden soll, die Verbindung von R und M als Eingabe verwendet und während der Signaturverifikation wird für eine Operation, bei der ursprünglich M als Eingabe herangezogen werden sollte, ebenfalls die Verbindung von R und M als Eingabe verwendet, womit die Sicherheitsfähigkeit der Signatur erhöht wird. Bei der vorliegenden Erfindung werden zwei Signaturalgorithmen unter Verwendung ein und desselben Mechanismus miteinander verbunden, womit sichergestellt wird, dass ein derart ausgestalteter vollständiger Algorithmus bekannten Angriffen effektiv widerstehen kann.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft das Gebiet der digitalen Signatur, insbesondere ein digitales Signierungsverfahren, eine zugehörige Einrichtung und ein zugehöriges System.
  • STAND DER TECHNIK
  • Bei einem herkömmlichen öffentlichen Schlüsselsystem wird eine Benutzeridentifikation mittels eines Zertifikats an einen Schlüssel, den der Benutzer besitzt, gebunden. Mit einem Zertifikat kann die Beziehung zwischen dem Benutzer und ihre Schlüssel effektiv nachgewiesen werden, wobei jedoch das Zertifikat komplex zu verwalten ist. Bei Identifikations-basierten Kryptoalgorithmen wird ein öffentlicher Identifikationsschlüssel eines Benutzers unter Verwendung der Identifikation des Benutzers und der öffentlichen Information des Systems berechnet und zur Kommunikation zwischen Benutzern muss kein Zertifikat oder öffentliche Schlüssel ausgetauscht werden. Ein derartiges System zeichnet sich vorteilhafterweise durch einfache Verwaltung aus. Der Nachteil besteht jedoch darin, dass ein Schlüssel überlassen wird, wobei also ein Schlüsselerstellungszentrum die Schlüssel aller Benutzer erstellen kann. Ein zertifikatloses öffentliches Schlüsselsystem liegt zwischen den beiden Systemen und dabei wird der Schlüssel eines Benutzers gemeinsam durch den Benutzer und das Schlüsselerstellungszentrum erstellt. Bei einem grundlegenden Verfahren stellt ein Benutzer dem Schlüsselerstellungszentrum einen öffentlichen Schlüssel in einem von ihm selbst erstellten Teilschlüssel 1 und seine Identifikation bereit, um eine Signierung zu ermöglichen und einen Teilschlüssel 2 zu erstellen. Nach Erhalten des Teilschlüssels 2 (Signierungsergebnis) erstellt der Benutzer in Kombination mit dem von ihm selbst erstellten Teilschlüssel 1 ein vollständiges öffentliches und privates Schlüsselpaar. Bei einem derartigen System soll sichergestellt werden, dass ohne privaten Schlüssel des Benutzers die Identifikation des Benutzers beispielsweise u.a. zur digitalen Signierung nicht gefälscht werden kann, auch wenn ein Angreifer einen öffentlichen Schlüssel gefälscht hätte. Die Ausbildung eines derartigen zertifikatlosen digitalen Signiermechanismus erfordert zwei Signaturalgorithmen. Ein erster Signaturalgorithmus wird durch das Schlüsselerstellungszentrum ausgeführt und dabei wird die von dem Benutzer abgeschickte Identifikation signiert. Ein zweiter Signaturalgorithmus wird von dem Benutzer ausgeführt und dabei wird eine zu signierende Nachricht von dem Benutzer mittels des privaten Schlüssels aus einem vollständigen öffentlichen und privaten Schlüsselpaar signiert. Allein durch einfache Kombination eines Standard-Signaturalgorithmus wie z.B. EC-Schnorr mit einem Nachricht-Signaturalgorithmus ECDSA kann jedoch die Sicherheit des derart ausgestalteten zertifikatlosen digitalen Signiermechanismus nicht sichergestellt werden. Sicherheitsprobleme, die bei einfacher Kombinationmethode bestehen, sind u.a. aus der Arbeit „Security of ECQV-Certified ECDSA Against Passive Adversarie“ von Daniel R.L. Brown et al. zu entnehmen.
  • INHALT DER VORLIEGENDEN ERFINDUNG
  • Technisches Problem
  • Der vorliegenden Erfindung liegt vor allem die Aufgabe zugrunde, ein digitales Signierungsverfahren, eine zugehörige Einrichtung und ein zugehöriges System bereitzustellen, um das Problem der Sicherheitslücken im Stand der Technik zu lösen.
  • Lösung
  • Erfindungsgemäß wird die Aufgabe gelöst durch ein digitales Signierungsverfahren, das Folgendes umfasst:
    • - zufällig Erstellen eines Schlüsselpaares n und X durch einen Unterzeichner und Abschicken von ihre Identifikations-ID und X an ein Schlüsselerstellungszentrum,
    • - Empfangen eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π, w), wobei es sich bei (Π, w) um einen Signaturwert handelt, der sich aus Signieren der ID durch das Schlüsselerstellungszentrum mittels eines digitalen Signierungsverfahrens MA ergibt, wobei das Schlüsselerstellungszentrum ein privates und öffentliches Signaturschlüsselpaar (P, ms) zufällig erstellt, eine Vorsignatur Π erzeugt, danach einen Hash-Digest erstellt, der mindestens Π und ID umfasst und als Signaturzuordnung R dient, und schließlich einen zweiten Teil w des Signaturwerts erstellt, wobei das Schlüsselerstellungszentrum P als öffentlicher Parameter des Kryptosystems heranzieht,
    • - Ermitteln eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X,
    • - Signieren einer Nachricht M mittels des digitalen Signierungsverfahrens MB unter Verwendung von S als privater Signaturschlüssel, Erstellen eines Signaturwerts U und Übermitteln von (U, PX) als Signaturwert für die Nachricht M an einen Signaturverifizierer oder Senden von U als Signaturwert für die Nachricht M an den Signaturverifizierer und Veröffentlichen von PX, wobei während der Signierung der Nachricht M bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird,
    • - Verifizieren der Signatur für die Nachricht M über den Signaturverifizierer, wobei der Signaturverifizierer PX erfasst, einen S zugeordneten öffentlichen Schlüssel Q anhand von P, ID und PX berechnet und gemäß dem Signaturverifikationsvorgang des digitalen Signierungsverfahrens MB überprüft, ob es sich bei U um eine dem privaten Schlüsselpaar M zugeordnete gültige Signatur des öffentlichen Schlüssels Q handelt, wobei während der Signaturverifikation bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
  • Ferner ist vorgesehen, dass es sich bei dem digitalen Signierungsverfahren MA um ein Signierungsverfahren handelt, das auf dem diskreten Logarithmus-Problem basiert ist, wobei das Schlüsselerstellungszentrum aufgrund des diskreten Logarithmus-Problems ausgestaltet ist und einen Generator G einer zyklischen Gruppe der Ordnung q und ein Zufallselement in der Gruppe zum Ausführen von [o]G auswählt, wobei [o]G für o-malige Additionsoperation von G in einer Anzahl von o gemäß dem Operationsregel der zyklischen Gruppe steht,
    und dass es sich bei ms in dem öffentlichen und privaten Signaturschlüsselpaar (P, ms) um eine Ganzzahl ms handelt, die durch das Schlüsselerstellungszentrum zufällig erstellt wird, wobei die Bedingung 0<ms<q erfüllt wird und P=<G, H=[ms]G>.
  • Ferner ist vorgesehen, dass das Verfahren vor dem Schritt des Ermittelns eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X Folgendes umfasst:
    • - Entschlüsseln der Nachricht, die w enthält und durch das Schlüsselerstellungszentrum mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus verschlüsselt wird, durch den Unterzeichner unter Verwendung von n, wobei beim Verschlüsseln der Nachricht, die w enthält, mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus X als öffentlicher Verschlüsselungsschlüssel verwendet wird.
  • Ferner ist vorgesehen, dass das Verfahren zum zufälligen Erstellen des Schlüsselpaares n und X durch den Unterzeichner Folgendes umfasst:
    • - Zufälliges Erstellen einer Ganzzahl n durch den Unterzeichner und Berechnen von X=[n]G. wobei die Ganzzahl die Bedingung 0<n<q erfüllt,
  • Ferner ist vorgesehen, dass der Schritt des Empfangens eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π, w) konkret Folgendes umfasst:
    • - Zufälliges Erstellen einer Ganzzahl k ,über das Schlüsselerstellungszentrum oder Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen, wobei die Ganzzahl die Bedingung 0<k<q erfüllt, wobei die andere Information I H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt,
    • - Berechnen einer Vorsignatur II =[k]G ± [n]G über das Schlüsselerstellungszentrum,
    • - Berechnen einer Signaturzuordnung R=HASH(F(ID, andere Information A), Π), über das Schlüsselerstellungszentrum, wobei die andere Information A H umfasst,
    • - Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder (R*k ± ms) mod q des Signaturwerts über das Schlüsselerstellungszentrum,
    • - Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum,
    • - Empfangen des privaten Teil-Signaturschlüssels T=(Π, w).
  • Ferner ist vorgesehen, dass der Schritt des Ermittelns eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X Folgendes umfasst:
    • - Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± [R] H zugeordnet ist, wenn w=k ± R*ms) mod q, sodass S=(w ± n) mod q und PX=Π,
    • - Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q= [R]Π ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=Π.
  • Ferner ist vorgesehen, dass der Schritt des Empfangens eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π, w) konkret Folgendes umfasst:
    • - Zufälliges Erstellen einer Ganzzahl k über das Schlüsselerstellungszentrum oder Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen, wobei die Ganzzahl die Bedingung 0<k<q erfüllt, wobei die andere Information I H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt,
    • - Berechnen einer Vorsignatur Π=[k]G über das Schlüsselerstellungszentrum,
    • - Berechnen einer Signaturzuordnung R=HASH(F(ID, andere InformationA ), Π) mod q über das Schlüsselerstellungszentrum, wobei die andere Information A X und H umfasst,
    • - Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder (R*k ± ms) mod q des Signaturwerts über das Schlüsselerstellungszentrum,
    • - Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum,
    • - Empfangen des privaten Teil-Signaturschlüssels T=(Π, w).
  • Ferner ist vorgesehen, dass der Schritt des Ermittelns eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X Folgendes umfasst:
    • - Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± X ± [R] H zugeordnet ist, wenn w=(k ± R*ms) mod q, sodass S=(w ± n) mod q und PX=(Π, X),
    • - Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=[R](II ± X) ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=(Π, X).
  • Erfindungsgemäß wird ferner eine digitale Signiereinrichtung vorgeschlagen, die Folgendes umfasst:
    • - eine Erstellungs- und Sendeeinheit, die zum Erstellen eines Schlüsselpaares n und X zufällig und zum Abschicken von ihre Identifikations-ID und X an das Schlüsselerstellungszentrum dient,
    • - eine Empfangseinheit, die zum Empfangen eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π, w) dient, wobei es sich bei (Π, w) um einen Signaturwert handelt, der sich aus Signieren der ID durch das Schlüsselerstellungszentrum mittels eines digitalen Signierungsverfahrens MA ergibt, wobei das Schlüsselerstellungszentrum ein privates und öffentliches Signaturschlüsselpaar (P, ms) zufällig erstellt, eine Vorsignatur Π erzeugt, danach einen Hash-Digest erstellt, der mindestens Π und ID umfasst und als Signaturzuordnung R dient, und schließlich einen zweiten Teil w des Signaturwerts erstellt, wobei das Schlüsselerstellungszentrum P als öffentlicher Parameter des Kryptosystems heranzieht,
    • - eine Berechnungs- und Ermittlungseinheit, die zum Ermitteln eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X dient,
    • - eine Signier- und Sendeeinheit, die zum Signieren einer Nachricht M mittels des digitalen Signierungsverfahrens MB unter Verwendung von S als privater Signaturschlüssel, Erstellen eines Signaturwerts U und Übermitteln von (U, PX) als Signaturwert für die Nachricht M an einen Signaturverifizierer oder Senden von U als Signaturwert für die Nachricht M an den Signaturverifizierer und Veröffentlichen von PX dient, wobei während der Signierung der Nachricht M bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird,
    • - eine Verifikationseinheit, die zum Verifizieren der Signatur für die Nachricht M über den Signaturverifizierer dient, wobei der Signaturverifizierer PX erfasst, einen S zugeordneten öffentlichen Schlüssel Q anhand von P, ID und PX berechnet und gemäß dem Signaturverifikationsvorgang des digitalen Signierungsverfahrens MB überprüft, ob es sich bei U um eine dem privaten Schlüsselpaar M zugeordnete gültige Signatur des öffentlichen Schlüssels Q handelt, wobei während der Signaturverifikation bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
  • Ferner ist vorgesehen, dass es sich bei dem digitalen Signierungsverfahren MA um ein Signierungsverfahren handelt, das auf dem diskreten Logarithmus-Problem basiert ist, wobei das Schlüsselerstellungszentrum aufgrund des diskreten Logarithmus-Problems ausgestaltet ist und einen Generator G einer zyklischen Gruppe der Ordnung q und ein Zufallselement in der Gruppe zum Ausführen von [o]G auswählt, wobei [o]G für o-malige Multiplikationsoperation von G in einer Anzahl von o gemäß dem Operationsregel der zyklischen Gruppe steht,
    und dass es sich bei ms in dem öffentlichen und privaten Signaturschlüsselpaar (P, ms) um eine Ganzzahl ms handelt, die durch das Schlüsselerstellungszentrum zufällig erstellt wird, wobei die Bedingung 0<ms<q erfüllt wird und P=<G, H=[ms]G>.
  • Ferner ist vorgesehen, dass die digitale Signiereinrichtung ferner Folgendes umfasst:
    • - eine Entschlüsselungseinheit zum Entschlüsseln der Nachricht, wobei die Nachricht w enthält und durch das Schlüsselerstellungszentrum mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus verschlüsselt wird, durch den Unterzeichner unter Verwendung von n dient, wobei beim Verschlüsseln der Nachricht, die w enthält, mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus X als öffentlicher Verschlüsselungsschlüssel verwendet wird.
  • Ferner ist vorgesehen, dass die Erstellungs- und Sendeeinheit Folgendes umfasst:
    • - ein Erstellungs- und Berechnungsmodul, das zum zufälligen Erstellen einer Ganzzahl n und Berechnen von X=[n]G dient, wobei die Ganzzahl die Bedingung 0<n<q erfüllt,. Ferner ist vorgesehen, dass die Empfangseinheit Folgendes umfasst:
    • - ein erstes k-Erstellungsmodul, das zum zufälligen Erstellen einer Ganzzahl k über das Schlüsselerstellungszentrum oder zum Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen dient, wobei die Ganzzahl die Bedingung 0<k<q erfüllt, wobei die andere Information I die Erstellungsinformation der zyklischen Gruppe, G, H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt,
    • - ein erstes Π-Berechnungsmodul, das zum Berechnen einer Vorsignatur Π =[k]G ± [n]G über das Schlüsselerstellungszentrum dient,
    • - ein erstes R-Berechnungsmodul, das zum Berechnen einer Signaturzuordnung R=HASH(F(ID, andere Information A), Π), über das Schlüsselerstellungszentrum dient, wobei die andere Information A H umfasst,
    • - ein erstes w-Berechnungsmodul, das zum Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder (R*k ± ms) mod q des Signaturwerts über das Schlüsselerstellungszentrum dient,
    • - ein erstes Erstellungsmodul, das zum Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum dient,
    • - ein erstes Empfangsmodul, das zum Empfangen des privaten Teil-Signaturschlüssels T=(Π, w) dient.
  • Ferner ist vorgesehen, dass die Berechnungs- und Ermittlungseinheit Folgendes umfasst:
    • - ein erstes Berechnungs- und Erstellungsmodul, das zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± [R] H zugeordnet ist, wenn w=(k ± R*ms) mod q, sodass S=(w ± n) mod q und PX=Π, und zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q= [R]Π ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=Π, dient. Ferner ist vorgesehen, dass die Empfangseinheit Folgendes umfasst:
    • - ein zweites k-Erstellungsmodul, das zum zufälligen Erstellen der Ganzzahl k,über das Schlüsselerstellungszentrum oder zum Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen dient, wobei die Ganzzahl die Bedingung 0<k<q erfüllt, wobei die andere Information I H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt,
    • - ein zweites Π-Berechnungsmodul, das zum Berechnen einer Vorsignatur Π =[k]G über das Schlüsselerstellungszentrum dient,
    • - ein zweites R-Berechnungsmodul, das zum Berechnen einer Signaturzuordnung R=HASH(F(ID, andere InformationA), Π) mod q über das Schlüsselerstellungszentrum dient, wobei die andere Information A X und H umfasst,
    • - ein zweites w-Berechnungsmodul, das zum Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder (R*k ± ms) mod q des Signaturwerts über das Schlüsselerstellungszentrum dient,
    • - ein zweites Erstellungsmodul, das zum Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum dient,
    • - ein zweites Empfangsmodul, das zum Empfangen des privaten Teil-Signaturschlüssels T=(Π, w) dient.
  • Ferner ist vorgesehen, dass die Berechnungs- und Ermittlungseinheit Folgendes umfasst:
    • - ein zweites Berechnungs- und Erstellungsmodul, das zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± X ± [R] H zugeordnet ist, wenn w=(k ± R*ms) mod q, sodass S=(w ± n) mod q und PX= (Π, X), und zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=[R](Π ± X) ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX= (Π, X), dient.
  • Erfindungsgemäß wird ferner ein digitales Signiersystem bereitgestellt, das einen Unterzeichner, ein Schlüsselerstellungszentrum und einen Signaturverifizierer umfasst,
    wobei der Unterzeichner ein Schlüsselpaar n und X erstellt und die ID und X an das Schlüsselerstellungszentrum abschickt,
    wobei das Schlüsselerstellungszentrum mittels eines voreingestellten digitalen Signierungsverfahrens MA die Identifikations-ID signiert und der Signierungsvorgang Folgendes umfasst: Das Schlüsselerstellungszentrum erstellt ein privates und öffentliches Signaturschlüsselpaar (P, ms) zufällig erstellt, erzeugt eine Vorsignatur Π, erstellt einen Hash-Digest, der mindestens Π und ID umfasst und als Signaturzuordnung R dient, und erstellt schließlich einen zweiten Teil w des Signaturwerts, um einen Signaturwert (Π, w) mit zwei Teilen zu erhalten, wobei der Signaturwert als privater Teil-Signaturschlüssel T= (Π, w) herangezogen und der private Teil-Signaturschlüssel T an den Unterzeichner gesendet wird, und wobei das Schlüsselerstellungszentrum ferner P als öffentlicher Parameter des Kryptosystems heranzieht,
    wobei der Unterzeichner ein Signaturschlüsselpaar (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X ermittelt, eine Nachricht M mittels des digitalen Signierungsverfahrens MB unter Verwendung von S als privater Signaturschlüssel signiert, einen Signaturwert U erstellt und (U, PX) als Identifikations-Signaturwert für die Nachricht M an den Signaturverifizierer übermittelt oder U als Signaturwert für die Nachricht M an den Signaturverifizierer sendet und PX veröffentlicht, wobei während der Signierung der Nachricht M bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird,
    und wobei der Signaturverifizierer die Signatur für die Nachricht M verifiziert und die Signaturverifikationsvorgang Folgendes umfasst: Erfassen von PX, Berechnen eines S zugeordneten öffentlichen Schlüssels Q anhand von P, ID und PX und Überprüfen gemäß dem Signaturverifikationsvorgang des digitalen Signierungsverfahrens MB, ob es sich bei U um eine dem privaten Schlüsselpaar M zugeordnete gültige Signatur des öffentlichen Schlüssels Q handelt, wobei während der Signaturverifikation bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
  • Vorteilhafte Auswirkungen:
  • Bei dem erfindungsgemäßen digitalen Signierungsverfahren sowie der zugehörigen Einrichtung und dem zugehörigen System kann unter Verwendung eines beispielsweise auf EC-Schnorr basierten digitalen Signaturalgorithmus als Signaturalgorithmus des Schlüsselerstellungszentrums ein dem Benutzer zugeordneter privater Teil-Signaturschlüssel T erstellt und dann mittels eines digitalen Standard-Signaturalgorithmus wie z.B. ECDSA die Nachricht M signiert werden. Bei der Berechnung des zweiten Teils w des privaten Signaturschlüssels T wird eine Signaturzuordnung R verwendet, bei der es sich um einen Hash-Digest handelt, der mindestens eine Vorsignatur Π und die Identifikations-ID des Unterzeichners enthält. Beim Signieren der Nachricht M wird für eine Operation, bei der M als Eingabe herangezogen werden soll, die Verbindung von R und M als Eingabe verwendet und während der Signaturverifikation wird für eine Operation, bei der ursprünglich M als Eingabe herangezogen werden sollte, ebenfalls die Verbindung von R und M als Eingabe verwendet, womit die Sicherheitsfähigkeit der Signatur erhöht wird. Bei der vorliegenden Erfindung werden zwei Signaturalgorithmen unter Verwendung ein und desselben Mechanismus miteinander verbunden, womit sichergestellt wird, dass ein derart ausgestalteter vollständiger Algorithmus bekannten Angriffen effektiv widerstehen kann.
  • Figurenliste
    • 1 ein schematisches Ablaufdiagramm eines digitalen Signierungsverfahrens nach einem Ausführungsbeispiel der vorliegenden Erfindung,
    • 2 ein schematisches Ablaufdiagramm des Schritts S2 des digitalen Signierungsverfahrens nach einem Ausführungsbeispiel der vorliegenden Erfindung,
    • 3 ein schematisches Ablaufdiagramm des Schritts S2 eines digitalen Signierungsverfahrens nach einem anderen Ausführungsbeispiel der vorliegenden Erfindung,
    • 4 ein schematisches strukturelles Blockdiagramm einer digitalen Signiereinrichtung nach einem Ausführungsbeispiel der vorliegenden Erfindung,
    • 5 ein schematisches strukturelles Blockdiagramm einer Erstellungs- und Sendeeinheit nach einem Ausführungsbeispiel der vorliegenden Erfindung,
    • 6 ein schematisches strukturelles Blockdiagramm einer Empfangseinheit nach einem Ausführungsbeispiel der vorliegenden Erfindung,
    • 7 ein schematisches strukturelles Blockdiagramm einer Empfangseinrichtung nach einem anderen Ausführungsbeispiel der vorliegenden Erfindung,
    • 8 ein schematisches strukturelles Blockdiagramm eines digitalen Signiersystems nach einem Ausführungsbeispiel der vorliegenden Erfindung,
  • Unter Bezugnahme auf die beiliegenden Zeichnungen und anhand von Ausführungsbeispielen wird auf die Verwirklichung der Aufgabe, die Funktionsmerkmale und die Vorteile der Erfindung näher eingegangen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es versteht sich, dass die hierin beschriebenen spezifischen Ausführungsbeispiele lediglich zur Erklärung der vorliegenden Erfindung dienen, ohne diese einzuschränken.
  • Es wird auf 1 hingewiesen, wobei in einem Ausführungsbeispiel der vorliegenden Erfindung ein digitales Signierungsverfahren bereitgestellt wird, das die folgenden Schritte umfasst:
    • - S1. Erstellen eines Schlüsselpaares n und X zufällig durch einen Unterzeichner und Abschicken von ihre Identifikations-ID und X an ein Schlüsselerstellungszentrum.
  • Im Schritt S1 handelt es sich bei dem Unterzeichner um ein intelligentes Gerät, beispielsweise ein Mobiltelefon, einen Computer und einen PDA. Bei dem vorstehenden Schlüsselerstellungszentrum handelt es sich um ein Schlüsselverwaltungszentrum, das einen wichtigen Bestandteil einer Public-Key-Infrastruktur darstellt und Schlüssel-Dienstleistungen wie Erstellung, Speicherung, Sicherung, Wiederherstellung und Abfrage der Schlüssel anbietet, womit das Problem der Schlüsselverwaltung bei umfangreicher Anwendung kryptografischer Technologie auf verteilte Enterprise-Anwendungen gelöst werden kann. Bei der Identifikations-ID handelt es sich also um eine dem Unterzeichner zugeordnete ID, wobei eine Identifikations-ID einem einzigen Unterzeichner eindeutig zugeordnet ist.
    • - S2. Empfangen eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π, w), wobei es sich bei (Π, w) um einen Signaturwert handelt, der sich aus Signieren der ID durch das Schlüsselerstellungszentrum mittels eines digitalen Signierungsverfahrens MA ergibt, wobei das Schlüsselerstellungszentrum ein privates und öffentliches Signaturschlüsselpaar (P, ms) zufällig erstellt, eine Vorsignatur Π erzeugt, danach einen Hash-Digest erstellt, der mindestens Π und ID umfasst und als Signaturzuordnung R dient, und schließlich einen zweiten Teil w des Signaturwerts erstellt, wobei das Schlüsselerstellungszentrum P als öffentlicher Parameter des Kryptosystems heranzieht. Im Schritt S2 handelt es sich bei dem digitalen Signierungsverfahren MA um ein auf dem diskreten Logarithmus-Problem basiertes Signierungsverfahren. Das Schlüsselerstellungszentrum ist aufgrund des diskreten Logarithmus-Problems ausgestaltet und wählt einen Generator G einer zyklischen Gruppe der Ordnung q und ein Zufallselement in der Gruppe zum Ausführen von [o]G aus, wobei [o]G für o-malige Multiplikationsoperation von G in einer Anzahl von o gemäß dem Operationsregel der zyklischen Gruppe steht. Anhand von der öffentlichen Parameter P, der Identifikations-ID und PX kann der S als privatem Schlüssel zugeordnete öffentliche Schlüssel Q=[S]G berechnet werden. Bei ms in dem öffentlichen und privaten Signaturschlüsselpaar (P, ms) handelt es sich um eine Ganzzahl ms handelt, die durch das Schlüsselerstellungszentrum zufällig erstellt wird, wobei die Bedingung 0<ms<q erfüllt wird und P=<G, H=[ms]G>. In dem vorliegenden Schritt enthält der zweite Teil w des privaten Teil-Signaturschlüssels T eine Signaturzuordnung R (Hash-Digest, der zumindest Π und ID umfasst) und durch Hinzufügen der Signaturzuordnung R bei dem darauf folgenden Signaturvorgang kann die Sicherheitsfähigkeit der Signatur verbessert werden.
    • - S3. Ermitteln eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X.
  • Vor dem Schritt S3 umfasst das Verfahren Entschlüsseln der Nachricht, die w enthält und durch das Schlüsselerstellungszentrum mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus verschlüsselt wird, durch den Unterzeichner unter Verwendung von n, wobei beim Verschlüsseln der Nachricht, die w enthält, mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus X als öffentlicher Verschlüsselungsschlüssel verwendet wird. Mit anderen Worten verschlüsselt das Schlüsselerstellungszentrum den an den Unterzeichner gesendeten privaten Teil-Signaturschlüssel T=(Π, w) und dabei wird vor allem die Information, die w enthält, verschlüsselt. Als Verschlüsselungsverfahren wird ein asymmetrischer Standard-Verschlüsselungsalgorithmus, beispielsweise ECIES-Verschlüsselungsalgorithmus eingesetzt.
    • - S4. Signieren einer Nachricht M mittels des digitalen Signierungsverfahrens MB unter Verwendung von S als privater Signaturschlüssel, Erstellen eines Signaturwerts U und Übermitteln von (U, PX) als Signaturwert für die Nachricht M an einen Signaturverifizierer oder Senden von U als Signaturwert für die Nachricht M an den Signaturverifizierer und Veröffentlichen von PX, wobei während der Signierung der Nachricht M bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
  • Im Schritt S4 kann die Sicherheitsfähigkeit der digitalen Signatur erhöht werden, indem während der Signierung der Nachricht M bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
    • - S5. Verifizieren der Signatur für die Nachricht M über den Signaturverifizierer, wobei der Signaturverifizierer PX erfasst, einen S zugeordneten öffentlichen Schlüssel Q anhand von P, ID und PX berechnet und gemäß dem Signaturverifikationsvorgang des digitalen Signierungsverfahrens MB überprüft, ob es sich bei U um eine dem privaten Schlüsselpaar M zugeordnete gültige Signatur des öffentlichen Schlüssels Q handelt, wobei während der Signaturverifikation bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
  • Im Schritt S5 wird die Sicherheitsfähigkeit der digitalen Signatur erhöht, indem während Signaturverifikation bei einer Operation, bei der M als Eingabe herangezogen werden soll, ebenfalls eine Verbindung von R und M als Eingabe verwendet wird.
  • In dem vorliegenden Ausführungsbeispiel umfasst das zufällige Erstellen eines Schlüsselpaares n und X Folgendes: Zufälliges Erstellen einer Ganzzahl n durch den Unterzeichner und Berechnen von X=[n]G, wobei die Ganzzahl die Bedingung 0<n<q erfüllt.
  • Wie sich aus 2 ergibt, ist in dem vorliegenden Ausführungsbeispiel vorgesehen, dass der Schritt S2 des Empfangens eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π, w) konkret Folgendes umfasst:
    • - S201. Zufälliges Erstellen einer Ganzzahl k über das Schlüsselerstellungszentrum oder Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen, wobei die Ganzzahl die Bedingung 0<k<q erfüllt, wobei die andere Information I H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt,
    • - S202. Berechnen einer Vorsignatur Π =[k]G ± [n]G über das Schlüsselerstellungszentrum,
    • - S203. Berechnen einer Signaturzuordnung R=HASH(F(ID, andere Information A), Π), über das Schlüsselerstellungszentrum, wobei die andere Information A H umfasst,
    • - S204. Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder (R*k ± ms) mod q des Signaturwerts über das Schlüsselerstellungszentrum,
    • - S205. Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum,
    • - S206. Empfangen des privaten Teil-Signaturschlüssels T=(Π, w).
  • In dem vorliegenden Ausführungsbeispiel umfasst der Schritt S3 des Ermittelns eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X Folgendes:
    • - S301. Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± [R] H zugeordnet ist, wenn w=k ± R*ms) mod q, sodass S=(w ± n) mod q und PX=Π,
    • - S302. Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q= [P]Π ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=Π.
  • Wie sich aus 3 ergibt, ist in einem anderen Ausführungsbeispiel vorgesehen, dass der Schritt S2 des Empfangens eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π, w) konkret Folgendes umfasst:
    • - S211. Zufälliges Erstellen einer Ganzzahl k, die die Bedingung 0<k<q erfüllt, über das Schlüsselerstellungszentrum oder Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen, wobei die andere Information I H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt,
    • - S212. Berechnen einer Vorsignatur Π =[k]G über das Schlüsselerstellungszentrum,
    • - S213. Berechnen einer Signaturzuordnung R=HASH(F(ID, andere InformationA), Π) mod q über das Schlüsselerstellungszentrum, wobei die andere Information A X und H umfasst,
    • - S214. Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder (R*k ± ms) mod q des Signaturwerts über das Schlüsselerstellungszentrum,
    • - S215. Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum,
    • - S216. Empfangen des privaten Teil-Signaturschlüssels T=(Π, w).
  • In dem vorliegenden Ausführungsbeispiel umfasst der Schritt S3 des Ermittelns eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X Folgendes:
    • - S311. Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± X ± [R] H zugeordnet ist, wenn w=(k ± R*ms) mod q, sodass S=(w ± n) mod q und PX=(Π, X),
    • - S312. Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=[R](Π ± X) ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=(Π, X).
  • Die vorliegende Erfindung stellt ferner ein erstes konkretes Ausführungsbeispiel bereit, bei dem das Signierungsverfahren auf SM2 basiert ist und konkret wie folgt lautet:
    • - S110. Erstellen einer Ganzzahl n, die die Bedingung 0<n<q erfüllt, durch den Unterzeichner und Berechnen von X=[n]G, wonach X und die eigene Identifikations-ID dem Schlüsselerstellungszentrum bereitgestellt werden.
    • - S120. Wählen des Signaturalgorithmus EC-Schnorr als Signierungsverfahren MA durch das Schlüsselerstellungszentrum. Wählen einer von der SM2-Norm vorgegebenen elliptischen Kurve E: Y^2=X^3+a*X+b, Heranziehen einer Punktgruppe der Ordnung q darauf als zyklische Gruppe, Zufälliges Auswählen eines Generators G, Zufälliges Erstellen einer Ganzzahl ms, die die Bedingung 0<ms<q erfüllt, Berechnen von H=[ms]G und Einstellen eines Systemparameters P=<G, H=[ms]G>.
  • Der Schritt des Erstellens eines der ID zugeordneten privaten Teil-Signaturschlüssels T über das Schlüsselerstellungszentrum lautet wie folgt:
    1. A. Zufälliges Erstellen einer Ganzzahl k, die die Bedingung 0<k<q erfüllt, durch das Schlüsselerstellungszentrum,
    2. B. Berechnen einer Vorsignatur Π =[k]G+[n]G durch das Schlüsselerstellungszentrum,
    3. C. Berechnen von Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ) durch das Schlüsselerstellungszentrum und Berechnen eines Signaturzuordnungswerts R=SM3(Z,xΠ||yΠ) mod q, wobei ID_LEN für die Länge der ID und xG, yG, usw. für den X-Achsenwert bzw. den Y-Achsenwert des Punktes G, usw. stehen,
    4. D. Berechnen eines zweiten Teils w=(k-R*ms) mod q des Signaturwerts durch das Schlüsselerstellungszentrum, wobei Q wie folgt berechnet wird: Q=Π-[R]H;,
    5. E. Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) durch das Schlüsselerstellungszentrum.
    • - S130. Berechnen von S =(w+n) mod q durch den Unterzeichner, Einstellen von PX=Π, Erstellen eines Signaturschlüsselpaares (Π, S) und Signieren der Nachricht M unter Verwendung des SM2-Algorithmus als MB. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ) und R=SM3(Z,xΠ||yΠ) mod q,
      2. B. Berechnen von e=SM3(R||M),
      3. C. Zufälliges Erstellen einer Ganzzahl z, die die Bedingung 0<z<q erfüllt,
      4. D. Berechnen von A=[z]G,
      5. E. Berechnen von r=(e+xA) mod q, w = (z-r*S)/(S+1) mod q und der SM2-Signatur U=(r, w),
      6. F. Erstellen einer Identifikations-Signatur (U=(r, w), Π).
    • - S140. Verifizieren der Korrektheit der durch die ID erstellte Signatur (U=(r, w), Π) für die Nachricht M durch den Signaturverifizierer. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ) und R=SM3(Z,xΠ||yΠ) mod q,
      2. B. Berechnen von e=SM3(R||M),
      3. C. Berechnen von Q=Π-[R]H,
      4. D. Berechnen von t=(r+w) mod q,
      5. E. Berechnen von V=[w]G+[t]Q,
      6. F. Berechnen von h=(e+xV) mod q,
      7. G. Überprüfen, ob h=r, wobei die Signatur korrekt, wenn dies der Fall ist, und ansonsten falsch ist.
  • Die vorliegende Erfindung stellt ferner ein zweites konkretes Ausführungsbeispiel bereit, bei dem das Signierungsverfahren auf ECDSA basiert ist und konkret wie folgt lautet:
    • - S210. Erstellen einer Ganzzahl n durch den Unterzeichner und Berechnen von X=[n]G, wobei die Ganzzahl die Bedingung 0<n<q erfüllt, wonach X und die eigene Identifikations-ID dem Schlüsselerstellungszentrum bereitgestellt werden.
    • - S220. Wählen des Signaturalgorithmus EC-Schnorr als Signierungsverfahren MA durch das Schlüsselerstellungszentrum. Wählen einer von der SM2-Norm vorgegebenen elliptischen Kurve E: Y^2=X^3+a*X+b, Heranziehen einer Punktgruppe der Ordnung q darauf als zyklische Gruppe, Zufälliges Auswählen eines Generators G, Zufälliges Erstellen einer Ganzzahl ms, die die Bedingung 0<ms<q erfüllt, Berechnen von H=[ms]G und Einstellen eines Systemparameters P=<G, H=[ms]G>,
  • Der Schritt des Erstellens eines der ID zugeordneten privaten Teil-Signaturschlüssels T über das Schlüsselerstellungszentrum lautet wie folgt:
    1. A. Zufälliges Erstellen einer Ganzzahl k durch das Schlüsselerstellungszentrum, wobei die Ganzzahl die Bedingung 0<k<q erfüllt,
    2. B. Berechnen einer Vorsignatur Π =[k]G+[n]G durch das Schlüsselerstellungszentrum,
    3. C. Berechnen von Z=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ) durch das Schlüsselerstellungszentrum und Berechnen eines Signaturzuordnungswerts R=SHA256(Z,xΠ||yΠ) mod q, wobei ID_LEN für die Länge der ID und xG, yG, usw. für den X-Achsenwert bzw. den Y-Achsenwert des Punktes G, usw. stehen, und wobei SHA256(A,B) für einen Digest des mittels des SHA256-Algorithmus berechneten verbundenen Werts von A und B steht. Die Verbindung wird wie folgt hergestellt: A||B oder B||A,
    4. D. Berechnen eines zweiten Teils w=(k-R*ms) mod q des Signaturwerts durch das Schlüsselerstellungszentrum, wobei Q wie folgt berechnet wird: Q=Π+[R]H;,
    5. E. Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) durch das Schlüsselerstellungszentrum.
    • - S230. Berechnen von S =(w+n) mod q durch den Unterzeichner, Einstellen von PX=Π, Erstellen eines Signaturschlüsselpaares (Π, S) und Signieren der Nachricht M unter Verwendung des ECDSA-Algorithmus als MB. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ) und R=SHA256(Z,xΠ||yΠ) mod q,
      2. B. Berechnen von e=SHA256(R||M),
      3. C. Zufälliges Erstellen einer Ganzzahl z, die die Bedingung 0<z<q erfüllt,
      4. D. Berechnen von A=[z]G,
      5. E. Berechnen von r=xΛmod q, w = (r*(S+n)+e)/z mod q und der ECDSA-Signatur U=(r, w),
      6. F. Erstellen einer Identifikations-Signatur (U=(r, w), Π).
    • - S240. Verifizieren der Korrektheit der durch die ID erstellte Signatur (U=(r, w), Π) für die Nachricht M durch den Signaturverifizierer. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ) und R=SHA256(Z,xΠ||yΠ) mod q,
      2. B. Berechnen von Q=Π+[R]H,
      3. C. Berechnen von e=SHA256(R||M),
      4. D. Berechnen von u=e/w mod q und v=r/w,
      5. E. Berechnen von V=[u]G+[v]Q,
      6. F. Berechnen von h=xV mod q,
      7. G. Überprüfen, ob h=r, wobei die Signatur korrekt, wenn dies der Fall ist, und ansonsten falsch ist.
  • Die vorliegende Erfindung stellt ferner ein drittes konkretes Ausführungsbeispiel bereit, bei dem das Signierungsverfahren auf ECDSA basiert ist und konkret wie folgt lautet:
    • - S310. Erstellen einer Ganzzahl n, durch den Unterzeichner und Berechnen von X=[n]G, wobei die Ganzzahl die Bedingung 0<n<q erfüllt, wonach X und die eigene Identifikations-ID dem Schlüsselerstellungszentrum bereitgestellt werden.
    • - S320. Wählen einer Variante des Signaturalgorithmus EC-Schnorr als Signierungsverfahren MA durch das Schlüsselerstellungszentrum. Wählen einer von der SM2-Norm vorgegebenen elliptischen Kurve E: Y^2=X^3+a*X+b, Heranziehen einer Punktgruppe der Ordnung q darauf als zyklische Gruppe, Zufälliges Auswählen eines Generators G, Zufälliges Erstellen einer Ganzzahl ms, die die Bedingung 0<ms<q erfüllt, Berechnen von H=[ms]G und Einstellen eines Systemparameters P=<G, H=[ms]G>.
  • Der Schritt des Erstellens eines der ID zugeordneten privaten Teil-Signaturschlüssels T über das Schlüsselerstellungszentrum lautet wie folgt:
    1. A. Berechnen von k= SHA256 (ID||G|| H||[n]G, ms) durch das Schlüsselerstellungszentrum,
    2. B. Berechnen einer Vorsignatur Π =[k]G+[n]G durch das Schlüsselerstellungszentrum,
    3. C. Berechnen von Z=SHA256(xG||yG||xQ||yQ||ID) durch das Schlüsselerstellungszentrum und Berechnen eines Signaturzuordnungswerts R=SHA256(Z,xΠ||yΠ) mod q, wobei xG, yG, usw. für den X-Achsenwert bzw. den Y-Achsenwert des Punktes G, usw. stehen, und wobei SHA256(A,B) für einen Digest des mittels des SHA256-Algorithmus berechneten verbundenen Werts von A und B steht. Die Verbindung wird wie folgt hergestellt: A||B oder B||A,
    4. D. Berechnen eines zweiten Teils w=(R*k+ms) mod q des Signaturwerts durch das Schlüsselerstellungszentrum, wobei Q wie folgt berechnet wird: Q=Π+[R]H;,
    5. E. Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) durch das Schlüsselerstellungszentrum,
    6. F. Verschlüsseln von w durch das Schlüsselerstellungszentrum unter Verwendung von X als öffentlicher Schlüssel mittels von ECIES und Ausgeben eines Geheimtexts C,
    7. G. Entschlüsseln von C durch den Unterzeichner unter Verwendung von n als privater Schlüssel gemäß dem ECIES-Verfahren, um w zu erhalten,
    • - S330. Berechnen von S=(w+R*n) mod q durch den Unterzeichner, Einstellen von PX=Π, Erstellen eines Signaturschlüsselpaares (Π, S) und Signieren der Nachricht M unter Verwendung des ECDSA-Algorithmus als MB. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SHA256(xG||yG||xQ||yQ|| ID) und R= SHA256 (Z,xΠ||yΠ) mod q,
      2. B. Berechnen von e=SHA256(R||M),
      3. C. Zufälliges Erstellen einer Ganzzahl z, die die Bedingung 0<z<q erfüllt,
      4. D. Berechnen von A=[z]G,
      5. E. Berechnen von r=xΛmod q, w = (r*(S+R*n)+e)/z mod q und der ECDSA-Signatur U=(r, w),
      6. F. Erstellen einer Identifikations-Signatur (U=(r, w), Π).
    • - S340. Verifizieren der Korrektheit der durch die ID erstellte Signatur (U=(r, w), Π) für die Nachricht M durch den Signaturverifizierer. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SHA256(xG||yG||xQ||yQ|| ID) und R= SHA256 (Z,xΠ||yΠ) mod q,
      2. B. Berechnen von Q=[R]Π+H,
      3. C. Berechnen von e=SHA256(R||M),
      4. D. Berechnen von u=e/w mod q und v=r/w,
      5. E. Berechnen von V=[u]G+[v]Q,
      6. F. Berechnen von h=xV mod q,
      7. G. Überprüfen, ob h=r, wobei die Signatur korrekt, wenn dies der Fall ist, und ansonsten falsch ist.
  • Die vorliegende Erfindung stellt ferner ein viertes konkretes Ausführungsbeispiel bereit, bei dem das Signierungsverfahren auf EC-SDSA basiert ist und konkret wie folgt lautet:
    • - S410. Erstellen einer Ganzzahl n, durch den Unterzeichner und Berechnen von X=[n]G, wobei die Ganzzahl die Bedingung 0<n<q erfüllt, wonach X und die eigene Identifikations-ID dem Schlüsselerstellungszentrum bereitgestellt werden.
    • - S420. Wählen des Signaturalgorithmus EC-Schnorr als Signierungsverfahren MA durch das Schlüsselerstellungszentrum. Wählen einer von der SM2-Norm vorgegebenen elliptischen Kurve E: Y^2=X^3+a*X+b, Heranziehen einer Punktgruppe der Ordnung q darauf als zyklische Gruppe, Zufälliges Auswählen eines Generators G, Zufälliges Erstellen einer Ganzzahl ms, die die Bedingung 0<ms<q erfüllt, Berechnen von H=[ms]G und Einstellen eines Systemparameters P=<G, H=[ms]G>.
  • Der Schritt des Erstellens eines der ID zugeordneten privaten Teil-Identifikationsschlüssels T über das Schlüsselerstellungszentrum lautet wie folgt:
    1. A. Zufälliges Erstellen einer Ganzzahl k durch das Schlüsselerstellungszentrum, wobei die Ganzzahl die Bedingung 0<k<q erfüllt,
    2. B. Berechnen einer Vorsignatur Π =[k]G+[n]G durch das Schlüsselerstellungszentrum,
    3. C. Berechnen von Z=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ) durch das Schlüsselerstellungszentrum und Berechnen eines Signaturzuordnungswerts R=SHA256(Z,xΠ||yΠ) mod q, wobei ID_LEN für die Länge der ID und xG, yG, usw. für den X-Achsenwert bzw. den Y-Achsenwert des Punktes G, usw. stehen,
    4. D. Berechnen eines zweiten Teils w=(k-R*ms) mod q des Signaturwerts durch das Schlüsselerstellungszentrum, wobei Q wie folgt berechnet wird: Q=Π+[R]H;,
    5. E. Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) durch das Schlüsselerstellungszentrum.
    • - S430. Berechnen von S =(w+n) mod q und PX=Π, durch den Unterzeichner, Erstellen eines Signaturschlüsselpaares (Π, S) und Signieren der Nachricht M unter Verwendung des Algorithmus EC-SDSA als MB. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ) und R=SHA256(Z,xΠ||yΠ) mod q,
      2. B. Zufälliges Erstellen einer Ganzzahl z, die die Bedingung 0<z<q erfüllt,
      3. C. Berechnen von Λ=[z]G,
      4. D. Berechnen von e=SHA256(A||R||M),
      5. E. Berechnen von r=e, w = (z+e*S) mod q und der EC-SDSA-Signatur U=(r, w),
      6. F. Erstellen einer Signatur U=(r, w).
    • - S440. Verifizieren der Korrektheit der durch die ID erstellte Signatur U=(r, w) für die Nachricht M durch den Signaturverifizierer. Der Schritt lautet konkret wie folgt:
      • A. Erfassen eines durch die ID veröffentlichen öffentlichen Signaturschlüssels Π,
      • B. Berechnen von Z=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ) und R=SHA256(Z,xΠ||yΠ) mod q,
      • C. Berechnen von Q=Π+[R]H,
      • D. Berechnen von Λ=[w] G+[r]Q,
      • D. Berechnen von e=SHA256(A||||R||M),
      • G. Überprüfen, ob e=r, wobei die Signatur korrekt, wenn dies der Fall ist, und ansonsten falsch ist.
  • Die vorliegende Erfindung stellt ferner ein fünftes konkretes Ausführungsbeispiel bereit, bei dem das Signierungsverfahren auf SM2 basiert ist und konkret wie folgt lautet:
    • - S510. Erstellen einer Ganzzahl n, die die Bedingung 0<n<q erfüllt, durch den Unterzeichner und Berechnen von X=[n]G, wonach X und die eigene Identifikations-ID dem Schlüsselerstellungszentrum bereitgestellt werden.
    • - S520. Wählen des Signaturalgorithmus EC-Schnorr als Signierungsverfahren MA durch das Schlüsselerstellungszentrum. Wählen einer von der SM2-Norm vorgegebenen elliptischen Kurve E: Y^2=X^3+a*X+b, Heranziehen einer Punktgruppe der Ordnung q darauf als zyklische Gruppe, Zufälliges Auswählen eines Generators G, Zufälliges Erstellen einer Ganzzahl ms, Berechnen von H=[ms]G und Einstellen eines Systemparameters P=<G, H=[ms]G>, wobei die Ganzzahl die Bedingung 0<ms<q erfüllt,.
  • Der Schritt des Erstellens eines der ID zugeordneten privaten Teil-Signaturschlüssels T über das Schlüsselerstellungszentrum lautet wie folgt:
    1. A. Zufälliges Erstellen einer Ganzzahl k durch das Schlüsselerstellungszentrum, wobei die Ganzzahl die Bedingung 0<k<q erfüllt,
    2. B. Berechnen einer Vorsignatur Π =[k]G durch das Schlüsselerstellungszentrum,
    3. C. Berechnen von Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ||xX||yX) durch das Schlüsselerstellungszentrum und Berechnen eines Signaturzuordnungswerts R=SM3(Z,xΠ|Π) mod q,
    4. D. Berechnen eines zweiten Teils w=(k-R*ms) mod q des Signaturwerts durch das Schlüsselerstellungszentrum, wobei Q wie folgt berechnet wird: Q=II+X -[R]H;,
    5. E. Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) durch das Schlüsselerstellungszentrum.
    • - S530. Berechnen von S =(w+n) mod q durch den Unterzeichner, Einstellen von PX=(Π,X), Erstellen eines Signaturschlüsselpaares ((Π,X), S) und Signieren der Nachricht M unter Verwendung des SM2-Algorithmus als MB. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ||xX||yX) und R=SM3(Z,xΠ||yΠ) mod q,
      2. B. Berechnen von e=SM3(R||M),
      3. C. Zufälliges Erstellen einer Ganzzahl z, die die Bedingung 0<z<q erfüllt,
      4. D. Berechnen von A=[z]G,
      5. E. Berechnen von r=(e+xΛ) mod q, w = (z-r*S)/(S+1) mod q und der SM2-Signatur U=(r, w),
      6. F. Erstellen einer Identifikations-Signatur (U=(r, w), (Π,X)).
    • - S540. Verifizieren der Korrektheit der durch die ID erstellte Signatur (U=(r, w), (Π,X)) für die Nachricht M durch den Signaturverifizierer. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ||xX||yX) und R=SM3(Z,xΠ||yΠ) mod q,
      2. B. Berechnen von e=SM3(R||M),
      3. C. Berechnen von Q=n+ X-[R]H,
      4. D. Berechnen von t=(r+w) mod q,
      5. E. Berechnen von V=[w]G+[t]Q,
      6. F. Berechnen von h=(e+xV) mod q,
      7. G. Überprüfen, ob h=r, wobei die Signatur korrekt, wenn dies der Fall ist, und ansonsten falsch ist.
  • Bei dem erfindungsgemäßen digitalen Signierungsverfahren ist vorgesehen, dass während einer durch den Signaturalgorithmus MB vorgegebenen Signaturoperation der Nachricht M als Ersatz für M die mit der Signaturzuordnung R, die während einer durch das Schlüsselerstellungszentrum ausgeführten Operation gemäß dem Signaturalgorithmus MA berechnet wird, verbundene Nachricht M in die einschlägige Operation miteinbezogen wird, wobei während der Signaturverifikation für eine Operation, bei der ursprünglich M als Eingabe herangezogen werden sollte, ebenfalls die Verbindung von R und M als Eingabe verwendet wird. Somit können Angriffen während der Kombination zweier Signaturalgorithmen widerstanden werden, was zu erhöhter Sicherheitsfähigkeit des Signierungsverfahrens beiträgt.
  • Die vorliegende Erfindung stellt ferner ein sechstes konkretes Ausführungsbeispiel bereit, bei dem das Signierungsverfahren auf einer Variante von ECDSA basiert ist und konkret wie folgt lautet:
    • - S610. Erstellen einer Ganzzahl n durch den Unterzeichner und Berechnen von X=[n]G, wobei die Ganzzahl die Bedingung 0<n<q erfüllt, wonach X und die eigene Identifikations-ID dem Schlüsselerstellungszentrum bereitgestellt werden.
    • - S620. Wählen des Signaturalgorithmus EC-Schnorr als Signierungsverfahren MA durch das Schlüsselerstellungszentrum. Wählen einer von der SM2-Norm vorgegebenen elliptischen Kurve E: Y^2=X^3+a*X+b, Heranziehen einer Punktgruppe der Ordnung q darauf als zyklische Gruppe, Zufälliges Auswählen eines Generators G, Zufälliges Erstellen einer Ganzzahl ms, die die Bedingung 0<ms<q erfüllt, Berechnen von H=[ms]G und Einstellen eines Systemparameters P=<G, H=[ms]G>.
  • Der Schritt des Erstellens eines der ID zugeordneten privaten Teil-Signaturschlüssels T über das Schlüsselerstellungszentrum lautet wie folgt:
    1. A. Zufälliges Erstellen einer Ganzzahl k, die die Bedingung 0<k<q erfüllt, durch das Schlüsselerstellungszentrum,
    2. B. Berechnen einer Vorsignatur Π =[k]G+[n]G durch das Schlüsselerstellungszentrum,
    3. C. Berechnen von Z=SHA256(xG||yG||xQ||yQ||ID) durch das Schlüsselerstellungszentrum und Berechnen eines Signaturzuordnungswerts R=SHA256(Z,xΠ||yΠ) mod q, wobei xG, yG, usw. für den X-Achsenwert bzw. den Y-Achsenwert des Punktes G, usw. stehen, und wobei SHA256(A,B) für einen Digest des mittels des SHA256-Algorithmus berechneten verbundenen Werts von A und B steht. Die Verbindung wird wie folgt hergestellt: A||B oder B||A,
    4. D. Berechnen eines zweiten Teils w=(k-R*ms) mod q des Signaturwerts durch das Schlüsselerstellungszentrum, wobei Q wie folgt berechnet wird: Q=Π+[R]H,
    5. E. Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) durch das Schlüsselerstellungszentrum,
    • - S630. Berechnen von S=(w+R*n) mod q durch den Unterzeichner, Einstellen von PX=Π, Erstellen eines Signaturschlüsselpaares (Π, S) und Signieren der Nachricht M unter Verwendung einer Variante des ECDSA-Algorithmus als MB. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SHA256(xG||yG||xQ||yQ|| ID) und R= SHA256 (Z,xΠ||yΠ) mod q,
      2. B. Zufälliges Erstellen einer Ganzzahl z, die die Bedingung 0<z<q erfüllt,
      3. C. Berechnen von A=[z]G,
      4. D. Berechnen von r=xΛ, e= SHA256 (r||||R||M), w = (r*(S+R*n)+e)/z mod q und der ECDSA-Signatur U=(r, w),
      5. E. Erstellen einer Identifikations-Signatur (U=(r, w), Π).
    • - S640. Verifizieren der Korrektheit der durch die ID erstellte Signatur (U=(r, w), Π) für die Nachricht M durch den Signaturverifizierer. Der Schritt lautet konkret wie folgt:
      1. A. Berechnen von Z=SHA256(xG||yG||xQ||yQ|| ID) und R= SHA256 (Z,xΠ||yΠ) mod q,
      2. B. Berechnen von Q=[R]Π+H,
      3. C. Berechnen von e=SHA256(r||R||M),
      4. D. Berechnen von u=e/w mod q und v=r/w,
      5. E. Berechnen von V=[u]G+[v]Q,
      6. F. Berechnen von h=xV,
      7. G. Überprüfen, ob h=r, wobei die Signatur korrekt, wenn dies der Fall ist, und ansonsten falsch ist.
  • Es wird auf 4 hingewiesen, wobei die vorliegende Erfindung ferner eine dem vorstehenden digitalen Signierungsverfahren zugeordnete digitale Signiereinrichtung bereitstellt, die Folgendes umfasst:
    • - eine Erstellungs- und Sendeeinheit 10, die zum Erstellen eines Schlüsselpaares n und X zufällig und zum Abschicken von ihre Identifikations-ID und X an das Schlüsselerstellungszentrum dient,
    • - eine Empfangseinheit 20, die zum Empfangen eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π, w) dient, wobei es sich bei (Π, w) um einen Signaturwert, der sich aus Signieren der ID durch das Schlüsselerstellungszentrum mittels eines digitalen Signierungsverfahrens MA ergibt, handelt, wobei das Schlüsselerstellungszentrum ein privates und öffentliches Signaturschlüsselpaar (P, ms) zufällig erstellt, eine Vorsignatur Π erzeugt, danach einen Hash-Digest erstellt, der mindestens Π und ID umfasst und als Signaturzuordnung R dient, und schließlich einen zweiten Teil w des Signaturwerts erstellt, wobei das Schlüsselerstellungszentrum P als öffentlicher Parameter des Kryptosystems heranzieht,
    • - eine Berechnungs- und Ermittlungseinheit 30, die zum Ermitteln eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X dient,
    • - eine Signier- und Sendeeinheit 40, die zum Signieren einer Nachricht M mittels des digitalen Signierungsverfahrens MB unter Verwendung von S als privater Signaturschlüssel, Erstellen eines Signaturwerts U und Übermitteln von (U, PX) als Signaturwert für die Nachricht M an einen Signaturverifizierer oder Senden von U als Signaturwert für die Nachricht M an den Signaturverifizierer und Veröffentlichen von PX dient, wobei während der Signierung der Nachricht M bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird,
    • - eine Verifikationseinheit 50, die zum Verifizieren der Signatur für die Nachricht M über den Signaturverifizierer dient, wobei der Signaturverifizierer PX erfasst, einen S zugeordneten öffentlichen Schlüssel Q anhand von P, ID und PX berechnet und gemäß dem Signaturverifikationsvorgang des digitalen Signierungsverfahrens MB überprüft, ob es sich bei U um eine dem privaten Schlüsselpaar M zugeordnete gültige Signatur des öffentlichen Schlüssels Q handelt, wobei während der Signaturverifikation bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
  • Bei dem digitalen Signierungsverfahren MA handelt es sich um ein Signierungsverfahren, das auf dem diskreten Logarithmus-Problem basiert ist, wobei das Schlüsselerstellungszentrum aufgrund des diskreten Logarithmus-Problems ausgestaltet ist und einen Generator G einer zyklischen Gruppe der Ordnung q und ein Zufallselement in der Gruppe zum Ausführen von [o]G auswählt, wobei [o]G für o-malige Multiplikationsoperation von G in einer Anzahl von o gemäß dem Operationsregel der zyklischen Gruppe steht. Bei ms in dem öffentlichen und privaten Signaturschlüsselpaar (P, ms) handelt es sich um eine Ganzzahl ms, die durch das Schlüsselerstellungszentrum zufällig erstellt wird, handelt, wobei die Bedingung 0<ms<q erfüllt wird und P=<G, H=[ms]G>.
  • In dem vorliegenden Ausführungsbeispiel umfasst die digitale Signiereinrichtung ferner eine Entschlüsselungseinheit 60 zum Entschlüsseln der Nachricht, wobei die Nachricht w enthält und durch das Schlüsselerstellungszentrum mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus verschlüsselt wird, durch den Unterzeichner unter Verwendung von n dient, wobei beim Verschlüsseln der Nachricht, die w enthält, mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus X als öffentlicher Verschlüsselungsschlüssel verwendet wird.
  • Es wird auf 5 hingewiesen, wobei in dem vorliegenden Ausführungsbeispiel die Erstellungs- und Sendeeinheit 10 Folgendes umfasst:
    • - ein Erstellungs- und Berechnungsmodul 11, das zum zufälligen Erstellen einer Ganzzahl n, die die Bedingung 0<n<q erfüllt, und Berechnen von X=[n]G dient.
  • Es wird auf 6 hingewiesen, wobei in dem vorliegenden Ausführungsbeispiel die Empfangseinheit 20 Folgendes umfasst:
    • - ein erstes k-Erstellungsmodul 201, das zum zufälligen Erstellen einer Ganzzahl k, die die Bedingung 0<k<q erfüllt, über das Schlüsselerstellungszentrum oder zum Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen dient, wobei die andere Information I die Erstellungsinformation der zyklischen Gruppe, G, H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt,
    • - ein erstes II-Berechnungsmodul 202, das zum Berechnen einer Vorsignatur Π =[k]G ± [n]G über das Schlüsselerstellungszentrum dient,
    • - ein erstes R-Berechnungsmodul 203, das zum Berechnen einer Signaturzuordnung R=HASH(F(ID, andere Information A), Π), über das Schlüsselerstellungszentrum dient, wobei die andere Information A H umfasst,
    • - ein erstes w-Berechnungsmodul 204, das zum Berechnen eines zweiten Teils w=k ± R*ms mod q oder R*k ± ms mod q des Signaturwerts über das Schlüsselerstellungszentrum dient,
    • - ein erstes Erstellungsmodul 205, das zum Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum dient,
    • - ein erstes Empfangsmodul 206, das zum Empfangen des privaten Teil-Signaturschlüssels T=(Π, w) dient.
  • Die Berechnungs- und Ermittlungseinheit 30 umfasst ein erstes Berechnungs- und Erstellungsmodul, das zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± [R] H zugeordnet ist, wenn w=(k ± R*ms) mod q, sodass S=(w ± n) mod q und PX=Π, und zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q= [R]II ± H zugeordnet ist, wenn w= (R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=Π, dient.
  • Es wird auf 7 hingewiesen, wobei in einem anderen Ausführungsbeispiel die Empfangseinheit 20 Folgendes umfasst:
    • - ein zweites k-Erstellungsmodul 211, das zum zufälligen Erstellen der Ganzzahl k, die die Bedingung 0<k<q erfüllt, über das Schlüsselerstellungszentrum oder zum Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen dient, wobei die andere Information I H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt,
    • - ein zweites Π-Berechnungsmodul 212, das zum Berechnen einer Vorsignatur Π =[k]G über das Schlüsselerstellungszentrum dient,
    • - ein zweites R-Berechnungsmodul 213, das zum Berechnen einer Signaturzuordnung R=HASH(F(ID, andere InformationA), Π ) mod q über das Schlüsselerstellungszentrum dient, wobei die andere Information A X und H umfasst,
    • - ein zweites w-Berechnungsmodul 204, das zum Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder R*k ± ms mod q des Signaturwerts über das Schlüsselerstellungszentrum dient,
    • - ein zweites Erstellungsmodul 215, das zum Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum dient,
    • - ein zweites Empfangsmodul 216, das zum Empfangen des privaten Teil-Signaturschlüssels T=(Π, w) dient.
  • Die Berechnungs- und Ermittlungseinheit 30 umfasst ein zweites Berechnungs- und Erstellungsmodul, das zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± X ± [R] H zugeordnet ist, wenn w=(k ± R*ms) mod q, sodass S=(w ± n) mod q und PX= (Π, X), und zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=[R](Π ± X) ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=(II, X), dient.
  • Bei der erfindungsgemäßen digitalen Signiereinrichtung ist vorgesehen, dass während einer durch den Signaturalgorithmus MB vorgegebenen Signaturoperation der Nachricht M als Ersatz für M die mit der Signaturzuordnung R, die während einer durch das Schlüsselerstellungszentrum ausgeführten Operation gemäß dem Signaturalgorithmus MA berechnet wird, verbundene Nachricht M in die einschlägige Operation miteinbezogen wird, wobei während der Signaturverifikation für eine Operation, bei der ursprünglich M als Eingabe herangezogen werden sollte, ebenfalls die Verbindung von R und M als Eingabe verwendet wird. Somit können Angriffen während der Kombination zweier Signaturalgorithmen widerstanden werden, was zu erhöhter Sicherheitsfähigkeit des Signierungsverfahrens beiträgt.
  • Es wird auf 8 hingewiesen, wobei in einem Ausführungsbeispiel der vorliegenden Erfindung ferner ein dem vorstehenden digitalen Signierungsverfahren zugeordnetes digitales Signiersystem bereitgestellt wird, das einen Unterzeichner 100, ein Schlüsselerstellungszentrum 200 und einen Signaturverifizierer 300 umfasst,
    wobei der Unterzeichner 100 ein Schlüsselpaar n und X erstellt und die ID und X an das Schlüsselerstellungszentrum 200 abschickt,
    wobei das Schlüsselerstellungszentrum 200 mittels eines voreingestellten digitalen Signierungsverfahrens MA die Identifikations-ID signiert und der Signierungsvorgang Folgendes umfasst: Das Schlüsselerstellungszentrum 200 erstellt ein privates und öffentliches Signaturschlüsselpaar (P, ms) zufällig erstellt, erzeugt eine Vorsignatur II, erstellt einen Hash-Digest, der mindestens Π und ID umfasst und als Signaturzuordnung R dient, und erstellt schließlich einen zweiten Teil w des Signaturwerts, um einen Signaturwert (Π, w) mit zwei Teilen zu erhalten, wobei der Signaturwert als privater Teil-Signaturschlüssel T= (II, w) herangezogen und der private Teil-Signaturschlüssel T an den Unterzeichner 100 gesendet wird, und wobei das Schlüsselerstellungszentrum 200 ferner P als öffentlicher Parameter des Kryptosystems heranzieht,
    wobei der Unterzeichner 100 ein Signaturschlüsselpaar (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X ermittelt, eine Nachricht M mittels des digitalen Signierungsverfahrens MB unter Verwendung von S als privater Signaturschlüssel signiert, einen Signaturwert U erstellt und (U, PX) als Identifikations-Signaturwert für die Nachricht M an den Signaturverifizierer 300 übermittelt oder U als Signaturwert für die Nachricht M an den Signaturverifizierer 300 sendet und PX veröffentlicht, wobei während der Signierung der Nachricht M bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird,
    und wobei der Signaturverifizierer 300 die Signatur für die Nachricht M verifiziert und die Signaturverifikationsvorgang Folgendes umfasst: Erfassen von PX, Berechnen eines S zugeordneten öffentlichen Schlüssels Q anhand von P, ID und PX und Überprüfen gemäß dem Signaturverifikationsvorgang des digitalen Signierungsverfahrens MB, ob es sich bei U um eine dem privaten Schlüsselpaar M zugeordnete gültige Signatur des öffentlichen Schlüssels Q handelt, wobei während der Signaturverifikation bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
    Bei dem erfindungsgemäßen digitalen Signiersystem ist vorgesehen, dass während einer durch den Signaturalgorithmus MB vorgegebenen Signaturoperation der Nachricht M als Ersatz für M die mit der Signaturzuordnung R, die während einer durch das Schlüsselerstellungszentrum 200 ausgeführten Operation gemäß dem Signaturalgorithmus MA berechnet wird, verbundene Nachricht M in die einschlägige Operation miteinbezogen wird, wobei während der Signaturverifikation für eine Operation, bei der ursprünglich M als Eingabe herangezogen werden sollte, ebenfalls die Verbindung von R und M als Eingabe verwendet wird. Somit können Angriffen während der Kombination zweier Signaturalgorithmen widerstanden werden, was zu erhöhter Sicherheitsfähigkeit des Signierungsverfahrens beiträgt.
    Bisher wurden lediglich bevorzugte Ausführungsbeispiele der vorliegenden Erfindung erläutert, ohne den Umfang der Erfindung einzuschränken. Jegliche gleichwertige Struktur- oder Ablaufabänderungen, die anhand der Beschreibung und der beiliegenden Zeichnung der Erfindung vorgenommen oder mittelbar oder unmittelbar bei anderen betroffenen Gebieten verwendet werden, sollen ebenfalls von dem Schutzumfang der Erfindung umfasst sein.

Claims (17)

  1. Digitales Signierungsverfahren, dadurch gekennzeichnet, dass es Folgendes umfasst: - Erstellen eines Schlüsselpaares n und X zufällig durch einen Unterzeichner und Abschicken von ihre Identifikations-ID und X an ein Schlüsselerstellungszentrum, - Empfangen eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(II, w), wobei es sich bei (Π, w) um einen Signaturwert, der sich aus Signieren der ID durch das Schlüsselerstellungszentrum mittels eines digitalen Signierungsverfahrens MA ergibt, handelt, wobei das Schlüsselerstellungszentrum ein privates und öffentliches Signaturschlüsselpaar (P, ms) zufällig erstellt, eine Vorsignatur Π erzeugt, danach einen Hash-Digest erstellt, der mindestens Π und ID umfasst und als Signaturzuordnung R dient, und schließlich einen zweiten Teil w des Signaturwerts erstellt, wobei das Schlüsselerstellungszentrum P als öffentlicher Parameter des Kryptosystems heranzieht, - Ermitteln eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X, - Signieren einer Nachricht M mittels des digitalen Signierungsverfahrens MB unter Verwendung von S als privater Signaturschlüssel, Erstellen eines Signaturwerts U und Übermitteln von (U, PX) als Signaturwert für die Nachricht M an einen Signaturverifizierer oder Senden von U als Signaturwert für die Nachricht M an den Signaturverifizierer und Veröffentlichen von PX, wobei während der Signierung der Nachricht M bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird, - Verifizieren der Signatur für die Nachricht M über den Signaturverifizierer, wobei der Signaturverifizierer PX erfasst, einen S zugeordneten öffentlichen Schlüssel Q anhand von P, ID und PX berechnet und gemäß dem Signaturverifikationsvorgang des digitalen Signierungsverfahrens MB überprüft, ob es sich bei U um eine dem privaten Schlüsselpaar M zugeordnete gültige Signatur des öffentlichen Schlüssels Q handelt, wobei während der Signaturverifikation bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
  2. Digitales Signierungsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass es sich bei dem digitalen Signierungsverfahren MA um ein Signierungsverfahren, das auf dem diskreten Logarithmus-Problem basiert ist, handelt, wobei das Schlüsselerstellungszentrum aufgrund des diskreten Logarithmus-Problems ausgestaltet ist und einen Generator G einer zyklischen Gruppe der Ordnung q und ein Zufallselement in der Gruppe zum Ausführen von [o]G auswählt, wobei [o]G für o-malige Additionsoperation von G in einer Anzahl von o gemäß dem Operationsregel der zyklischen Gruppe steht, und dass es sich bei ms in dem öffentlichen und privaten Signaturschlüsselpaar (P, ms) um eine Ganzzahl ms, die durch das Schlüsselerstellungszentrum zufällig erstellt wird, handelt, wobei die Bedingung 0<ms<q erfüllt wird und P=<G, H=[ms]G>.
  3. Digitales Signierungsverfahren nach Anspruch 2, dadurch gekennzeichnet, dass es vor dem Schritt des Ermittelns eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X Folgendes umfasst: - Entschlüsseln der Nachricht, die w enthält und durch das Schlüsselerstellungszentrum mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus verschlüsselt wird, durch den Unterzeichner unter Verwendung von n, wobei beim Verschlüsseln der Nachricht, die w enthält, mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus X als öffentlicher Verschlüsselungsschlüssel verwendet wird.
  4. Digitales Signierungsverfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Verfahren zum zufälligen Erstellen des Schlüsselpaares n und X durch den Unterzeichner Folgendes umfasst: - Zufälliges Erstellen einer Ganzzahl n durch den Unterzeichner und Berechnen von X=[n]G, wobei die Ganzzahl die Bedingung 0<n<q erfüllt,.
  5. Digitales Signierungsverfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Schritt des Empfangens eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π, w) konkret Folgendes umfasst: - Zufälliges Erstellen einer Ganzzahl k,über das Schlüsselerstellungszentrum oder Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen, wobei die Ganzzahl die Bedingung 0<k<q erfüllt, wobei die andere Information I H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt, - Berechnen einer Vorsignatur Π =[k]G ± [n]G über das Schlüsselerstellungszentrum, - Berechnen einer Signaturzuordnung R=HASH(F(ID, andere Information A), Π), über das Schlüsselerstellungszentrum, wobei die andere Information A H umfasst, - Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder (R*k ± ms ) mod q des Signaturwerts über das Schlüsselerstellungszentrum, - Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum, - Empfangen des privaten Teil-Signaturschlüssels T=(Π, w).
  6. Digitales Signierungsverfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Schritt des Ermittelns eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X Folgendes umfasst: - Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± [R] H zugeordnet ist, wenn w=(k ± R*ms) mod q, sodass S=(w ± n) mod q und PX=Π, - Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q= [P]Π ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=Π.
  7. Digitales Signierungsverfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Schritt des Empfangens eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π,w) konkret Folgendes umfasst: - Zufälliges Erstellen einer Ganzzahl k, die die Bedingung 0<k<q erfüllt, über das Schlüsselerstellungszentrum oder Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen, wobei die andere Information I H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt, - Berechnen einer Vorsignatur Π =[k]G über das Schlüsselerstellungszentrum, - Berechnen einer Signaturzuordnung R=HASH(F(ID, andere Information A), II) mod q über das Schlüsselerstellungszentrum, wobei die andere Information A X und H umfasst, - Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder (R*k ± ms) mod q des Signaturwerts über das Schlüsselerstellungszentrum, - Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum, - Empfangen des privaten Teil-Signaturschlüssels T=(Π, w).
  8. Digitales Signierungsverfahren nach Anspruch 7, dadurch gekennzeichnet, dass der Schritt des Ermittelns eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X Folgendes umfasst: - Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± X ± [R] H zugeordnet ist, wenn w=(k ± R*ms) mod q, sodass S=(w ± n) mod q und PX=(Π, X), - Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=[R](Π ± X) ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=(Π, X).
  9. Digitale Signiereinrichtung, dadurch gekennzeichnet, dass sie Folgendes umfasst: - eine Erstellungs- und Sendeeinheit, die zum Erstellen eines Schlüsselpaares n und X zufällig und zum Abschicken von ihre Identifikations-ID und X an das Schlüsselerstellungszentrum dient, - eine Empfangseinheit, die zum Empfangen eines durch das Schlüsselerstellungszentrum erstellten, der Identifikations-ID des Unterzeichners zugeordneten privaten Teil-Signaturschlüssel T=(Π, w) dient, wobei es sich bei (Π, w) um einen Signaturwert, der sich aus Signieren der ID durch das Schlüsselerstellungszentrum mittels eines digitalen Signierungsverfahrens MA ergibt, handelt, wobei das Schlüsselerstellungszentrum ein privates und öffentliches Signaturschlüsselpaar (P, ms) zufällig erstellt, eine Vorsignatur Π erzeugt, danach einen Hash-Digest erstellt, der mindestens Π und ID umfasst und als Signaturzuordnung R dient, und schließlich einen zweiten Teil w des Signaturwerts erstellt, wobei das Schlüsselerstellungszentrum P als öffentlicher Parameter des Kryptosystems heranzieht, - eine Berechnungs- und Ermittlungseinheit, die zum Ermitteln eines Signaturschlüsselpaares (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X dient, - eine Signier- und Sendeeinheit, die zum Signieren einer Nachricht M mittels des digitalen Signierungsverfahrens MB unter Verwendung von S als privater Signaturschlüssel, Erstellen eines Signaturwerts U und Übermitteln von (U, PX) als Signaturwert für die Nachricht M an einen Signaturverifizierer oder Senden von U als Signaturwert für die Nachricht M an den Signaturverifizierer und Veröffentlichen von PX dient, wobei während der Signierung der Nachricht M bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird, - eine Verifikationseinheit, die zum Verifizieren der Signatur für die Nachricht M über den Signaturverifizierer dient, wobei der Signaturverifizierer PX erfasst, einen S zugeordneten öffentlichen Schlüssel Q anhand von P, ID und PX berechnet und gemäß dem Signaturverifikationsvorgang des digitalen Signierungsverfahrens MB überprüft, ob es sich bei U um eine dem privaten Schlüsselpaar M zugeordnete gültige Signatur des öffentlichen Schlüssels Q handelt, wobei während der Signaturverifikation bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
  10. Digitale Signiereinrichtung nach Anspruch 9, dadurch gekennzeichnet, dass es sich bei dem digitalen Signierungsverfahren MA um ein Signierungsverfahren, das auf dem diskreten Logarithmus-Problem basiert ist, handelt, wobei das Schlüsselerstellungszentrum aufgrund des diskreten Logarithmus-Problems ausgestaltet ist und einen Generator G einer zyklischen Gruppe der Ordnung q und ein Zufallselement in der Gruppe zum Ausführen von [o]G auswählt, wobei [o]G für o-malige Multiplikationsoperation von G in einer Anzahl von o gemäß dem Operationsregel der zyklischen Gruppe steht, und dass es sich bei ms in dem öffentlichen und privaten Signaturschlüsselpaar (P, ms) um eine Ganzzahl ms handelt, die durch das Schlüsselerstellungszentrum zufällig erstellt wird, wobei die Bedingung 0<ms<q erfüllt wird und P=<G, H=[ms]G>.
  11. Digitale Signiereinrichtung nach Anspruch 10, dadurch gekennzeichnet, dass sie ferner Folgendes umfasst: - eine Entschlüsselungseinheit zum Entschlüsseln der Nachricht, wobei die Nachricht w enthält und durch das Schlüsselerstellungszentrum mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus verschlüsselt wird, durch den Unterzeichner unter Verwendung von n dient, wobei beim Verschlüsseln der Nachricht, die w enthält, mittels eines asymmetrischen Standard-Verschlüsselungsalgorithmus X als öffentlicher Verschlüsselungsschlüssel verwendet wird.
  12. Digitale Signiereinrichtung nach Anspruch 10, dadurch gekennzeichnet, dass die Erstellungs- und Sendeeinheit Folgendes umfasst: - ein Erstellungs- und Berechnungsmodul, das zum zufälligen Erstellen einer Ganzzahl n und Berechnen von X=[n]G dient, wobei die Ganzzahl die Bedingung 0<n<q erfüllt,.
  13. Digitale Signiereinrichtung nach Anspruch 12, dadurch gekennzeichnet, dass die Empfangseinheit Folgendes umfasst: - ein erstes k-Erstellungsmodul, das zum zufälligen Erstellen einer Ganzzahl k,über das Schlüsselerstellungszentrum oder zum Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen dient, wobei die Ganzzahl die Bedingung 0<k<q erfüllt, wobei die andere Information I die Erstellungsinformation der zyklischen Gruppe, G, H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt, - ein erstes Π-Berechnungsmodul, das zum Berechnen einer Vorsignatur Π =[k]G ± [n]G über das Schlüsselerstellungszentrum dient, - ein erstes R-Berechnungsmodul, das zum Berechnen einer Signaturzuordnung R=HASH(F(ID, andere Information A), Π), über das Schlüsselerstellungszentrum dient, wobei die andere Information A H umfasst, - ein erstes w-Berechnungsmodul, das zum Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder (R*k ± ms) mod q des Signaturwerts über das Schlüsselerstellungszentrum dient, - ein erstes Erstellungsmodul, das zum Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum dient, - ein erstes Empfangsmodul, das zum Empfangen des privaten Teil-Signaturschlüssels T=(Π, w) dient.
  14. Digitale Signiereinrichtung nach Anspruch 13, dadurch gekennzeichnet, dass die Berechnungs- und Ermittlungseinheit Folgendes umfasst: - ein erstes Berechnungs- und Erstellungsmodul, das zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=Π ± [R] H zugeordnet ist, wenn w=(k ± R*ms) mod q, sodass S=(w ± n) mod q und PX=Π, und zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q= [R]Π ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=Π, dient.
  15. Digitale Signiereinrichtung nach Anspruch 12, dadurch gekennzeichnet, dass die Empfangseinheit Folgendes umfasst: - ein zweites k-Erstellungsmodul, das zum zufälligen Erstellen der Ganzzahl k,über das Schlüsselerstellungszentrum oder zum Ermitteln von k= HASH(F(ID, andere InformationI), ms) mod q durch Berechnen dient, wobei die Ganzzahl die Bedingung 0<k<q erfüllt, wobei die andere Information I H und X enthält und es sich bei F um eine Hash-Operation oder eine String-Verkettung handelt, wobei es sich bei HASH(F(ID, andere Information I), ms) mod q um eine Digest-Berechnung des verknüpften Werts von F(ID, andere Information I) und ms handelt und die Verkettungsreihenfolge F(ID, andere Information I)|| ms oder ms || F(ID, andere Information I) lauten kann, wobei alternativ dazu eine HMAC-Operation an F(ID, andere Information I) unter Verwendung von ms als Schlüssel erfolgt, - ein zweites Π-Berechnungsmodul, das zum Berechnen einer Vorsignatur Π =[k]G über das Schlüsselerstellungszentrum dient, - ein zweites R-Berechnungsmodul, das zum Berechnen einer Signaturzuordnung R=HASH(F(ID, andere Information A), Π) mod q über das Schlüsselerstellungszentrum dient, wobei die andere Information A X und H umfasst, - ein zweites w-Berechnungsmodul, das zum Berechnen eines zweiten Teils w=(k ± R*ms) mod q oder (R*k ± ms) mod q des Signaturwerts über das Schlüsselerstellungszentrum dient, - ein zweites Erstellungsmodul, das zum Erstellen eines privaten Teil-Signaturschlüssels T=(Π, w) über das Schlüsselerstellungszentrum dient, - ein zweites Empfangsmodul, das zum Empfangen des privaten Teil-Signaturschlüssels T=(Π, w) dient.
  16. Digitale Signiereinrichtung nach Anspruch 15, dadurch gekennzeichnet, dass die Berechnungs- und Ermittlungseinheit Folgendes umfasst: - ein zweites Berechnungs- und Erstellungsmodul, das zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=n ± X ± [R] H zugeordnet ist, wenn w=(k ± R*ms) mod q, sodass S=(w ± n) mod q und PX= (II, X), und zum Erstellen eines Signaturschlüsselpaares (PX, S), das dem öffentlichen Schlüssel Q=[R](Π ± X) ± H zugeordnet ist, wenn w=(R*k ± ms) mod q, sodass S=(w ± R*n) mod q und PX=(Π, X), dient.
  17. Digitales Signiersystem, dadurch gekennzeichnet, dass es einen Unterzeichner, ein Schlüsselerstellungszentrum und einen Signaturverifizierer umfasst, wobei der Unterzeichner ein Schlüsselpaar n und X erstellt und die ID und X an das Schlüsselerstellungszentrum abschickt, wobei das Schlüsselerstellungszentrum mittels eines voreingestellten digitalen Signierungsverfahrens MA die Identifikations-ID signiert und der Signierungsvorgang Folgendes umfasst: Das Schlüsselerstellungszentrum erstellt ein privates und öffentliches Signaturschlüsselpaar (P, ms) zufällig erstellt, erzeugt eine Vorsignatur II, erstellt einen Hash-Digest, der mindestens Π und ID umfasst und als Signaturzuordnung R dient, und erstellt schließlich einen zweiten Teil w des Signaturwerts, um einen Signaturwert (Π, w) mit zwei Teilen zu erhalten, wobei der Signaturwert als privater Teil-Signaturschlüssel T= (Π, w) herangezogen und der private Teil-Signaturschlüssel T an den Unterzeichner gesendet wird, und wobei das Schlüsselerstellungszentrum ferner P als öffentlicher Parameter des Kryptosystems heranzieht, wobei der Unterzeichner ein Signaturschlüsselpaar (PX, S) durch Berechnen unter Verwendung von P, ID, T, n und X ermittelt, eine Nachricht M mittels des digitalen Signierungsverfahrens MB unter Verwendung von S als privater Signaturschlüssel signiert, einen Signaturwert U erstellt und (U, PX) als Identifikations-Signaturwert für die Nachricht M an den Signaturverifizierer übermittelt oder U als Signaturwert für die Nachricht M an den Signaturverifizierer sendet und PX veröffentlicht, wobei während der Signierung der Nachricht M bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird, und wobei der Signaturverifizierer die Signatur für die Nachricht M verifiziert und die Signaturverifikationsvorgang Folgendes umfasst: Erfassen von PX, Berechnen eines S zugeordneten öffentlichen Schlüssels Q anhand von P, ID und PX und Überprüfen gemäß dem Signaturverifikationsvorgang des digitalen Signierungsverfahrens MB, ob es sich bei U um eine dem privaten Schlüsselpaar M zugeordnete gültige Signatur des öffentlichen Schlüssels Q handelt, wobei während der Signaturverifikation bei einer Operation, bei der M als Eingabe herangezogen werden soll, eine Verbindung von R und M als Eingabe verwendet wird.
DE112017007971.3T 2017-09-05 2017-12-18 Digitales signierungsverfahren, zugehörige einrichtung und zugehöriges system Pending DE112017007971T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710792638.7A CN107395370B (zh) 2017-09-05 2017-09-05 基于标识的数字签名方法和装置
CN201710792638.7 2017-09-05
PCT/CN2017/117023 WO2019047418A1 (zh) 2017-09-05 2017-12-18 数字签名方法、装置和系统

Publications (1)

Publication Number Publication Date
DE112017007971T5 true DE112017007971T5 (de) 2020-06-18

Family

ID=60351189

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017007971.3T Pending DE112017007971T5 (de) 2017-09-05 2017-12-18 Digitales signierungsverfahren, zugehörige einrichtung und zugehöriges system

Country Status (5)

Country Link
US (1) US11223486B2 (de)
JP (1) JP7105308B2 (de)
CN (1) CN107395370B (de)
DE (1) DE112017007971T5 (de)
WO (1) WO2019047418A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395370B (zh) 2017-09-05 2020-07-14 深圳奥联信息安全技术有限公司 基于标识的数字签名方法和装置
WO2020000254A1 (zh) * 2018-06-27 2020-01-02 深圳大学 一种标准模型下的紧凑环签名方法及系统
JP2020195100A (ja) * 2019-05-29 2020-12-03 株式会社bitFlyer Blockchain 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
CN110351096B (zh) * 2019-07-24 2022-02-01 深圳壹账通智能科技有限公司 多重签名方法、签名中心、程序介质及电子设备
CN111245617B (zh) * 2020-03-11 2022-07-05 杭州泛链科技有限公司 一种基于ecdsa的双重门限签名方法
CN113221130A (zh) * 2021-01-28 2021-08-06 武汉大学 一种面向食品安全物联网的无证书在线离线签名方法及介质
CN115001711B (zh) * 2022-06-10 2024-01-30 成都卫士通信息产业股份有限公司 信息签名方法、装置、电子设备及计算机可读存储介质
CN114760072B (zh) * 2022-06-13 2022-09-02 南京易科腾信息技术有限公司 签名及验签方法、装置及存储介质
CN117240479B (zh) * 2023-11-14 2024-01-19 北京电子科技学院 多方量子签名方法、装置、计算机设备及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497423A (en) * 1993-06-18 1996-03-05 Matsushita Electric Industrial Co., Ltd. Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication
WO2002013445A2 (en) * 2000-08-04 2002-02-14 First Data Corporation Linking public key of device to information during manufacture
CN100401669C (zh) * 2001-11-06 2008-07-09 国际商业机器公司 用于数据供应、交易和电子投票的方法和系统
CN100440776C (zh) * 2002-11-29 2008-12-03 北京华大信安科技有限公司 椭圆曲线签名和验证签名方法和装置
JP3894919B2 (ja) * 2003-12-16 2007-03-22 村田機械株式会社 電子署名方法とそのプログラム及び装置
US8467535B2 (en) * 2005-01-18 2013-06-18 Certicom Corp. Accelerated verification of digital signatures and public keys
WO2007074836A1 (ja) * 2005-12-28 2007-07-05 Matsushita Electric Industrial Co., Ltd. 署名生成装置、署名生成方法及び署名生成プログラム
CN100592684C (zh) * 2008-04-25 2010-02-24 武汉理工大学 一种无需认证中心的高效授权电子签名方法
US20110055585A1 (en) * 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
JP2010272899A (ja) * 2009-05-19 2010-12-02 Mitsubishi Electric Corp 鍵生成システム及び鍵生成方法及びブラインドサーバ装置及びプログラム
JP2011082662A (ja) * 2009-10-05 2011-04-21 Mitsubishi Electric Corp 通信装置及び情報処理方法及びプログラム
JP5428835B2 (ja) * 2009-12-21 2014-02-26 富士通株式会社 署名装置、署名方法、および署名プログラム
CN101873307A (zh) * 2010-03-19 2010-10-27 上海交通大学 基于身份的前向安全的数字签名方法、装置及系统
CN102201920B (zh) 2011-07-12 2013-06-12 北京中兴通数码科技有限公司 一种无证书公钥密码系统的构造方法
US8850199B2 (en) * 2012-04-27 2014-09-30 Certicom Corp. Hashing prefix-free values in a signature scheme
CN102638345B (zh) * 2012-05-09 2015-07-15 四川师范大学 基于椭圆曲线离散对数困难性假设的daa认证方法及系统
CN103023648B (zh) * 2012-11-27 2015-10-07 中国科学技术大学苏州研究院 基于椭圆曲线离散对数问题的无证书签名方法
WO2016049406A1 (en) * 2014-09-26 2016-03-31 Technicolor Usa, Inc. Method and apparatus for secure non-interactive threshold signatures
CN104320259B (zh) * 2014-10-31 2017-10-24 西安电子科技大学 基于Schnorr签名算法的无证书签名方法
TWI553504B (zh) * 2015-09-24 2016-10-11 鴻海精密工業股份有限公司 雲端加密系統及方法
CN106936584B (zh) * 2017-03-08 2020-07-10 平顶山学院 一种无证书公钥密码系统的构造方法
CN107395370B (zh) * 2017-09-05 2020-07-14 深圳奥联信息安全技术有限公司 基于标识的数字签名方法和装置

Also Published As

Publication number Publication date
US20210152370A1 (en) 2021-05-20
WO2019047418A1 (zh) 2019-03-14
JP7105308B2 (ja) 2022-07-22
CN107395370B (zh) 2020-07-14
CN107395370A (zh) 2017-11-24
US11223486B2 (en) 2022-01-11
JP2020532928A (ja) 2020-11-12

Similar Documents

Publication Publication Date Title
DE112017007971T5 (de) Digitales signierungsverfahren, zugehörige einrichtung und zugehöriges system
DE602005002652T2 (de) System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden
DE112011100182B4 (de) Datensicherheitsvorrichtung, Rechenprogramm, Endgerät und System für Transaktionsprüfung
DE102012206341B4 (de) Gemeinsame Verschlüsselung von Daten
DE102013203415B4 (de) Erstellen eines abgeleiteten Schlüssels aus einem kryptographischen Schlüssel mittels einer physikalisch nicht klonbaren Funktion
DE102018216915A1 (de) System und Verfahren für sichere Kommunikationen zwischen Steuereinrichtungen in einem Fahrzeugnetzwerk
DE102012202420B4 (de) Systeme und verfahren für die vorrichtungs- und datenauthentifizierung
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
DE102013215970A1 (de) Einzigartiger Code in einer Nachricht für eine Signaturerzeugung in einem asymetrischen Kryptographiegerät
DE102013022383B3 (de) Verfahren und Vorrichtung zur Zertifikaterzeugung mit Privatsphärenschutz
EP2962439B1 (de) Lesen eines attributs aus einem id-token
EP0383985A1 (de) Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
EP1368929B1 (de) Verfahren zur authentikation
DE102009030019B3 (de) System und Verfahren zur zuverlässigen Authentisierung eines Gerätes
CH711133B1 (de) Protokoll zur Signaturerzeugung
DE102020121533A1 (de) Vertrauenswürdige authentifizierung von automotiven mikrocon-trollern
CN105721153A (zh) 基于认证信息的密钥交换系统及方法
EP3182318A1 (de) Signaturgenerierung durch ein sicherheitstoken
EP1423786A2 (de) Vorrichtung und verfahren zum berechnen eines ergebnisses einer modularen exponentiation
EP3465513B1 (de) Nutzerauthentifizierung mittels eines id-tokens
DE102008055076A1 (de) Vorrichtung und Verfahren zum Schutz von Daten, Computerprogramm, Computerprogrammprodukt
CN111049649A (zh) 一种基于标识密码的零交互密钥协商安全增强协议
EP3525414A1 (de) Verfahren zur verschlüsselten übertragung von daten auf einer kryptographisch geschützten, unverschlüsselten kommunikationsverbindung
EP3050244B1 (de) Bereitstellung und verwendung pseudonymer schlüssel bei hybrider verschlüsselung

Legal Events

Date Code Title Description
R012 Request for examination validly filed