JP2020532928A - デジタル署名方法、装置及びシステム - Google Patents

デジタル署名方法、装置及びシステム Download PDF

Info

Publication number
JP2020532928A
JP2020532928A JP2020533330A JP2020533330A JP2020532928A JP 2020532928 A JP2020532928 A JP 2020532928A JP 2020533330 A JP2020533330 A JP 2020533330A JP 2020533330 A JP2020533330 A JP 2020533330A JP 2020532928 A JP2020532928 A JP 2020532928A
Authority
JP
Japan
Prior art keywords
signature
key
information
modq
generation 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.)
Granted
Application number
JP2020533330A
Other languages
English (en)
Other versions
JP7105308B2 (ja
Inventor
朝輝 程
朝輝 程
峰 杜
峰 杜
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 JP2020532928A publication Critical patent/JP2020532928A/ja
Application granted granted Critical
Publication of JP7105308B2 publication Critical patent/JP7105308B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本発明のデジタル署名方法、装置及びシステムは、EC−Schnorrに基づくデジタル署名アルゴリズムを鍵生成センターの署名アルゴリズムとして使用し、ユーザに対応する部分署名秘密鍵Tを生成し、ECDSAなどの標準のデジタル署名アルゴリズムを使用して、メッセージMに署名する。署名秘密鍵Tの第2部分wを生成する計算中に、署名割当Rを使用し、署名割当Rは少なくとも事前署名Πおよび署名端末の識別IDを含むハッシュダイジェストであり、メッセージMに署名する場合、Mを入力とする必要がある演算では、RとMの関連を入力として使用し、署名検証過程中に同様に元々Mを入力とする必要がある演算過程中にRとMの関連を入力とすることにより、署名のセキュリティが向上し、本発明は、1つのメカニズムに関連する2つの署名アルゴリズムにより、構築された完全アルゴリズムが既知の攻撃に効果的に抵抗できるのを保証することができる。

Description

本発明は、デジタル署名の分野に関し、特にデジタル署名方法、装置及びシステムに関する。
従来の公開鍵システムでは、証明書を使用して、ユーザIDとユーザが所有する鍵を結合する。証明書は、ユーザとその鍵の関係を効果的に証明できるが、証明書の管理は複雑である。ID暗号化アルゴリズムは、ユーザのID及びシステムの公開情報を使用して、ユーザのID公開鍵を計算し、ユーザ間の通信では、証明書や公開鍵の交換は必要ではない。このようなシステムの利点は管理が簡単であるが、鍵委托の属性という欠点があり、即ち、すべてのユーザの秘密鍵を生成できる鍵生成センターがある。証明書のない公開鍵システムはこれら2つのシステムの間にあり、ユーザの鍵はユーザと鍵生成センターによって共同で生成される。基本的な方法は、ユーザが生成した部分鍵1中の公開鍵とそのIDを署名操作のために鍵生成センターに提供し、部分鍵2を生成する。ユーザが部分鍵2(署名結果)を取得した後、ユーザが生成した部分鍵1と結合して完全な公開鍵と秘密鍵のペアを生成する。このようなシステムでは、攻撃者がユーザの秘密鍵なしで公開鍵を偽造しても、ユーザのIDを偽造しデジタル署名などの操作が不可能である。このような無証明書のデジタル署名メカニズムの構築には、2つの署名アルゴリズムが含まれる。第1署名アルゴリズムは、ユーザが送信したIDに署名するために、鍵生成センターによって実行される。第2署名アルゴリズムは、完全な公開鍵と秘密鍵のペアの秘密鍵を使用して署名されたメッセージに署名するユーザによって実行される。ただし、EC−Schnorrなどの標準の署名アルゴリズムとメッセージ署名アルゴリズムECDSAを単に組み合わせただけでは、構築された無証明書デジタル署名メカニズムのセキュリティを保証できない。単純な組み合わせ方法のセキュリティ問題は、Daniel R.L.Brown他による論文「Security of ECQV−Certified ECDSA Against Passive Adversarie」に記載されている。
本発明の主な目的は、従来技術におけるセキュリティ脆弱性の問題を解決するデジタル署名方法、装置及びシステムを提供することである。
上記の目的を達成するために、本発明は、署名端末によってnとXのキーペアをランダムに生成し、それらの識別IDとXを鍵生成センターに送信するステップと、
鍵生成センターによって生成され前記署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信し、ただし、前記(Π、w)は鍵生成センターがデジタル署名方法MAを実行し前記IDに署名して得られた署名値であり、前記鍵生成センターは、署名公開鍵と秘密鍵のペア(P、ms)をランダムに生成し、事前署名Πを生成して、少なくともΠ、IDを含むハッシュダイジェストを署名割当Rとして生成し、最後に署名値の第2部分wを生成し、鍵生成センターは、暗号化システムの公開パラメータとしてPを使用するステップと、
前記P、ID、T、nおよびXを使用して署名キーペア(PX、S)を算出するステップと、
Sを署名秘密鍵として使用しデジタル署名方法MBを実行してメッセージMに署名し、署名値Uを生成し、(U、PX)をメッセージMに対する署名値として署名検証端末に送信し、またはUをメッセージMに対する署名値として署名検証端末に送信し、PXを公開し、ただし、メッセージMに対する署名の過程中、Mを入力とする必要がある演算ではRとMの関連を入力として使用するステップと、
前記署名検証端末によってメッセージMの署名を署名検証し、ただし、前記署名検証端末はPXを取得し、前記P、ID、PXからSに対応する公開鍵Qを計算し、前記デジタル署名方法MBによる署名検証過程によって、Uが秘密キーペアMに対応する公開鍵Qの有効な署名であるかどうかを検証し、ただし、署名検証過程中、Mを入力とする必要がある演算では、RとMの関連を入力として使用するステップと、を含むデジタル署名方法を提供している。
さらに、前記デジタル署名方法MAは離散対数問題に基づく署名方法であり、前記鍵生成センターは、離散対数問題に基づいて構築され、その選択次数は、qの巡回グループの生成元Gとグループ中の1つのランダム要素[o]Gであり、ただし、[o]Gは、o個のGが巡回グループの演算ルールに従ってo回加算演算されることを表し、
前記署名公開鍵と秘密鍵のペア(P、ms)中のmsは、鍵生成センターによってランダムに生成された整数msであり、0<ms<qを満たし、前記P=<G、H=[ms]G>である。
さらに、前記の前記P、ID、T、n及びXを使用して署名キーペア(PX、S)を算出するステップの前に、
署名端末は、前記nを使用して前記鍵生成センターによって標準の非対称暗号化アルゴリズムで暗号化されたwを含む情報を復号化し、ただし、前記標準の非対称暗号化アルゴリズムでwを含む情報を暗号化する場合、使用される暗号化公開鍵はXであるステップを含む。
さらに、前記署名端末によってランダムによってnとXのキーペアを生成する方法は、
署名端末はランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算することを含む。
さらに、前記の鍵生成センターによって生成された前記署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信するステップは、具体的に、
鍵生成センターによってランダムに整数kを生成し、0<k<q、またはk=HASH(F(ID、他の情報Ι)、ms)modqを計算し、ただし、他の情報Iには、H、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行すること、
鍵生成センターによって事前署名Π=[k]G±[n]Gを計算すること、
鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)を計算し、他の情報AにはHが含まれること、
鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算すること、
鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成すること、
前記部分署名秘密鍵T=(Π、w)を受信することを含む。
さらに、前記の前記P、ID、T、nおよびXを使用して署名キーペア(PX、S)を算出するステップは、
w=(k±R*ms)modqである場合、S=(w±n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±[R]Hであること、
w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R]Π±Hであることを含む。
さらに、前記の鍵生成センターによって生成された前記署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信するステップは、具体的に、
鍵生成センターによってランダムに整数kを生成し、0<k<q、またはk=HASH(F(ID、他の情報Ι)、ms)modqを算出し、他の情報IにはH、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行すること、
鍵生成センターによって事前署名Π=[k]Gを計算すること、
鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)modqを計算し、他の情報AにはX、Hが含まれること、
鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算すること、
鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成すること、
前記部分署名秘密鍵T=(Π、w)を受信することを含む。
さらに、前記の前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出するステップは、
w=(k±R*ms)modqである場合、S=(w±n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±X±[R]Hであること、
w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R](Π±X)±Hであることを含む。
本発明は、ランダムにnとXのキーペアを生成し、その識別IDおよびXを鍵生成センターに送信するための生成送信ユニットと、
鍵生成センターによって生成された署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信し、ただし、前記(Π、w)は鍵生成センターによってデジタル署名方法MAを実行し前記IDに署名して得られた署名値であり、前記鍵生成センターはランダムに署名公開鍵と秘密鍵のペア(P、ms)を生成し、事前署名Πを生成し、その後少なくともΠ、IDを含むハッシュダイジェストを署名割当Rとして生成し、最後に署名値の第2部分wを生成し、鍵生成センターはPを暗号化システムの公開パラメータとする受信ユニットと、
前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出するための算出ユニットと、
Sを署名秘密鍵としてデジタル署名方法MBを実行しメッセージMに署名して、署名値Uを生成し、(U、PX)をメッセージMに対する署名値として署名検証端末に送信し、またはUをメッセージMに対する署名値として署名検証端末に送信し、PXを公開し、ただし、メッセージMに署名する過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用する署名送信ユニットと、
前記署名検証端末からメッセージMに対する署名を署名検証し、ただし、前記署名検証端末はPXを取得し、前記P、ID、PXからSに対応する公開鍵Qを計算し、前記デジタル署名方法MBの署名検証過程に従いUが公開鍵Qに対応する秘密キーペアMの有効署名であるかどうかを検証し、ただし、署名検証過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用する署名検証ユニットとを含むデジタル署名装置をさらに提供している。
さらに、前記デジタル署名方法MAは離散対数問題に基づく署名方法であり、前記鍵生成センターは離散対数問題に基づいて構築され、その選択次数はqの巡回グループの生成元Gおよびグループ中の1つのランダム要素[o]Gであり、ただし、[o]Gはo個のGが巡回グループの演算ルールに従いo回乗算演算されることを示し、
前記署名公開鍵と秘密鍵のペア(P、ms)中のmsは鍵生成センターによってランダムに生成された整数msであり、0<ms<qを満たし、前記P=<G、H=[ms]G>である。
さらに、前記デジタル署名装置は、復号化ユニットをさらに含み、前記復号化ユニットは、署名端末が前記nを使用し前記鍵生成センターによって標準の非対称暗号化アルゴリズムで暗号化されたwを含む情報を復号化するために用いられ、ただし、前記標準の非対称暗号化アルゴリズムでwを含む情報を暗号化するときに、使用された暗号化公開鍵はXである。
さらに、前記生成送信ユニットは、
ランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算するための生成計算モジュールを含む。
さらに、前記受信ユニットは、
鍵生成センターによってランダムに整数kを生成し、0<k<qを満たし、またはk=HASH(F(ID、他の情報Ι)、ms)modqを算出し、他の情報Iには巡回グループの生成情報、G、H、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行する第1生成kモジュールと、
鍵生成センターによって事前署名Π=[k]G±[n]Gを計算するための第1計算Πモジュールと、
鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)を計算し、他の情報AにはHが含まれる第1計算Rモジュールと、
鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算するための第1計算wモジュールと、
鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成するための第1生成モジュールと、
前記部分署名秘密鍵T=(Π、w)を受信するための第1受信モジュールとを含む。
さらに、前記算出ユニットは、第1計算生成モジュールを含み、
前記第1計算生成モジュールは、w=(k±R*ms)modqである場合、S=(w±n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±[R]Hであり、w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R]Π±Hである。
さらに、前記受信ユニットは、
鍵生成センターによってランダムに整数kを生成し、0<k<qを満たし、またはk=HASH(F(ID、他の情報Ι)、ms)modqを算出し、他の情報IにはH、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行する第2生成kモジュールと、
鍵生成センターによって事前署名Π=[k]Gを計算するための第2計算Πモジュールと、
鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)modqを計算し、他の情報AにはX、Hが含まれる第2計算Rモジュールと、
鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算するための第2計算wモジュールと、
鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成するための第2生成モジュールと、
前記部分署名秘密鍵T=(Π、w)を受信するための第2受信モジュールと、を含む。
さらに、前記算出ユニットは、第2計算生成モジュールを含み、
前記第2計算生成モジュールは、w=(k±R*ms)modqである場合、S=(w±n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±X±[R]Hであり、w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R](Π±X)±Hである。
本発明は、署名端末、鍵生成センターおよび署名検証端末を含み、
前記署名端末によってランダムにnとXのキーペアを生成し、IDおよびXを前記鍵生成センターに送信し、
前記鍵生成センターによって予め設定されたデジタル署名方法MAで識別IDに署名し、識別IDに署名し、その署名過程には、前記鍵生成センターによってランダムに署名公開鍵と秘密鍵のペア(P、ms)を生成し、事前署名Πを生成し、少なくともΠ、IDを含むハッシュダイジェストを署名割当Rとして生成し、最後に署名値の第2部分wを生成し、両部分を含む署名値(Π、w)を得て、前記署名値を部分署名秘密鍵T=(Π、w)とし、前記部分署名秘密鍵Tを前記署名端末に送信し、鍵生成センターはまたPを暗号化システムの公開パラメータとすることが含まれ、
前記署名端末は前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出し、Sを署名秘密鍵としてデジタル署名方法MBでメッセージMに署名し、署名値Uを生成し、(U、PX)をメッセージMに対するID署名値として署名検証端末に送信し、またはUをメッセージMに対する署名値として署名検証端末に送信し、PXを公開し、ただし、メッセージMに対する署名過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用し、
前記署名検証端末はメッセージMに対する署名を署名検証し、その署名検証過程には、PXを取得し、前記P、ID、PXからSに対応する公開鍵Qを計算し、前記デジタル署名方法MBの署名検証過程に従いUが公開鍵Qに対応する秘密キーペアMの有効署名であるかどうかを検証し、ただし、署名検証過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用することが含まれるデジタル署名システムをさらに提供している。
本発明のデジタル署名方法、装置及びシステムは、EC−Schnorrに基づくデジタル署名アルゴリズムを鍵生成センターの署名アルゴリズムとして使用し、ユーザに対応する部分署名秘密鍵Tを生成し、ECDSAなどの標準のデジタル署名アルゴリズムを使用して、メッセージMに署名する。署名秘密鍵Tの第2部分wを生成する計算中に、署名割当Rを使用し、署名割当Rは少なくとも事前署名Πおよび署名端末の識別IDを含むハッシュダイジェストであり、メッセージMに署名する場合、Mを入力とする必要がある演算では、RとMの関連を入力として使用し、署名検証過程中に同様に元々Mを入力とする必要がある演算過程中にRとMの関連を入力とすることにより、署名のセキュリティが向上し、本発明は、1つのメカニズムに関連する2つの署名アルゴリズムにより、構築された完全アルゴリズムが既知の攻撃に効果的に抵抗できるのを保証することができる。
図1は本発明の一実施例のデジタル署名方法の概略フローチャートである。 図2は本発明の一実施例のデジタル署名方法中のステップS2の概略フローチャートである。 図3は本発明の別の実施例のデジタル署名方法中のステップS2の概略フローチャートである。 図4は本発明の一実施例のデジタル署名装置の概略構造のブロック図である。 図5は本発明の一実施例の生成送信ユニットの概略構造ブロック図である。 図6は本発明の一実施例の受信ユニットの概略構造ブロック図である。 図7は本発明の別の実施例の受信ユニットの概略構造ブロック図である。 図8は本発明の一実施例のデジタル署名システムの概略構造ブロック図である。
実施例および図面を参照しながら本発明の目的達成、機能特徴及び利点をさらに説明する。
本明細書に記載される特定の実施例は、本発明を解釈するためにのみ使用され、本発明を限定することを意図するものではないことを留意されたい。
図1を参照すると、本発明の実施例は、以下のステップを含むデジタル署名方法を提供している。
S1、署名端末によってnとXのキーペアをランダムに生成し、それらの識別IDとXを前記鍵生成センターに送信する。
ステップS1では、前記署名端末は携帯電話、コンピューター、PDAなどのスマートデバイスである。前記鍵生成センターは鍵管理センターであり、公開鍵インフラストラクチャ中の1つの重要な構成部分であり、鍵の生成、保存、バックアップ、更新、回復、クエリなどの鍵サービスを提供し、分布式企業応用環境中の大規模暗号化技術の適用によりもたらされる鍵管理問題を解決することができる。前記識別IDは署名端末に対応するIDであり、1つの識別IDは1つの署名端末に一意に対応する。
S2、鍵生成センターによって生成され前記署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信し、ただし、前記(Π、w)は鍵生成センターがデジタル署名方法MAを実行し前記IDに署名して得られた署名値であり、前記鍵生成センターは、署名公開鍵と秘密鍵のペア(P、ms)をランダムに生成し、事前署名Πを生成して、少なくともΠ、IDを含むハッシュダイジェストを署名割当Rとして生成し、最後に署名値の第2部分wを生成し、鍵生成センターは、暗号化システムの公開パラメータとしてPを使用する。
ステップS2では、前記デジタル署名方法MAは離散対数問題に基づく署名方法である。前記鍵生成センターは離散対数問題に基づいて構築され、その選択次数はqの巡回グループの生成元Gとグループ中の1つのランダム要素[o]Gであり、ただし、[o]Gはo個のGが巡回グループの演算ルールに従いk回乗算演算されることを示す。前記公開されたシステムパラメータP、識別ID、PXにより、Sを秘密キーに対応する公開鍵Q=[S]Gとして算出することができる。前記署名公開鍵と秘密鍵のペア(P、ms)中のmsは鍵生成センターによってランダムに生成された整数msであり、0<ms<qを満たし、前記P=<G、H=[ms]G>である。本ステップでは、部分署名秘密鍵Tの第2部分wには署名割当R(少なくともΠ、IDを含むハッシュダイジェスト)が含まれ、後続の署名過程中に、署名割当Rを追加することで署名のセキュリティを向上できる。
S3、前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出する。
ステップS3の前に、署名端末は、前記nを使用して前記鍵生成センターによって標準の非対称暗号化アルゴリズムで暗号化されたwを含む情報を復号化し、ただし、前記標準の非対称暗号化アルゴリズムでwを含む情報を暗号化する場合、使用される暗号化公開鍵はXであるステップを含む。つまり、鍵生成センターは署名端末に送信された部分署名秘密鍵T=(Π、w)を暗号化処理し、主にwを含む情報を暗号化し、その暗号化方法は標準の非対称暗号化アルゴリズム、例えばECIESなどの暗号化アルゴリズムである。
S4、Sを署名秘密鍵として使用しデジタル署名方法MBを実行してメッセージMに署名し、署名値Uを生成し、(U、PX)をメッセージMに対する署名値として署名検証端末に送信し、またはUをメッセージMに対する署名値として署名検証端末に送信し、PXを公開し、ただし、メッセージMに対する署名の過程中、Mを入力とする必要がある演算ではRとMの関連を入力として使用する。
ステップS4では、メッセージMに署名する過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用することで、署名のセキュリティを向上できる。
S5、前記署名検証端末によってメッセージMの署名を署名検証し、ただし、前記署名検証端末はPXを取得し、前記P、ID、PXからSに対応する公開鍵Qを計算し、前記デジタル署名方法MBによる署名検証過程によって、Uが秘密キーペアMに対応する公開鍵Qの有効な署名であるかどうかを検証し、ただし、署名検証過程中、Mを入力とする必要がある演算では、RとMの関連を入力として使用する。
ステップS5では、署名検証中に同様にMを入力とする必要がある演算では、RとMの関連を入力として使用することで、デジタル署名のセキュリティを向上できる。
本実施例では、前記署名端末によってランダムにnとXのキーペアを生成する方法は、署名端末によってランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算することを含む。
図2を参照すると、本実施例では、前記の鍵生成センターによって生成された前記署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信するステップS2は、具体的に、以下のステップを含む。
S201、鍵生成センターによってランダムに整数kを生成し、0<k<qを満たし、またはk=HASH(F(ID、他の情報Ι)、ms)modqを算出し、他の情報IにはH、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行する。
S202、鍵生成センターによって事前署名Π=[k]G±[n]Gを計算する。
S203、鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)を計算し、他の情報AにはHが含まれる。
S204、鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算する。
S205、鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成する。
S206、前記部分署名秘密鍵T=(Π、w)を受信する。
本実施例では、前記の前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出するステップS3は、以下のステップを含む。
S301、w=(k±R*ms)modqである場合、S=(w±n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±[R]Hである。
S302、w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R]Π±Hである。
図3を参照すると、別の実施例では、前記の鍵生成センターによって生成された前記署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信するステップS2は、具体的に、以下のステップを含む。
S211、鍵生成センターによってランダムに整数kを生成し、0<k<qを満たし、またはk=HASH(F(ID、他の情報Ι)、ms)modqを算出し、他の情報IにはH、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行する。
S212、鍵生成センターによって事前署名Π=[k]Gを計算する。
S213、鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)modqを計算し、他の情報AにはX、Hが含まれる。
S214、鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算する。
S215、鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成する。
S216、前記部分署名秘密鍵T=(Π、w)を受信する。
本実施例では、前記の前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出するステップS3は、以下のステップを含む。
S311、w=(k±R*ms)modqである場合、S=(w±n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±X±[R]Hである。
S312、w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R](Π±X)±Hである。
本発明は、さらに第1の具体的な実施例を提供し、その署名方法はSM2に基づく署名方法であり、具体的に以下のステップを含む。
S110、署名端末によってランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算し、その後前記Xおよびその自身の識別IDを鍵生成センターに送信する。
S120、鍵生成センターによってEC−Schnorr署名アルゴリズムを署名方法MAとして選択する。SM2標準で規定された楕円曲線E:Y^2=X^3+a*X+bを選択し、次数qのポイントグループを巡回グループとし、ランダムに生成元Gを選択し、ランダムに整数msを生成し、0<ms<qを満たし、H=[ms]Gを計算し、システムパラメータP=<G、H=[ms]G>とする。
鍵生成センターによってIDに対応する部分署名秘密鍵Tを生成するステップは、以下のとおりである。
A.鍵生成センターによってランダムに整数kを生成し、0<k<qを満たす。
B.鍵生成センターによって事前署名Π=[k]G+[n]Gを計算する。
C.鍵生成センターによってZ=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ)を計算し、署名割当値R=SM3(Z、xΠ||yΠ)modqを計算し、ただし、ID_LENはIDの長さであり、xG、yG等はG点等に対応するx軸、y軸の値である。
D.鍵生成センターによって署名値の第2部分w=(k−R*ms)modqを計算し、Qに対応する計算過程はQ=Π−[R]Hである。
E.鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成する。
S130、署名端末によってS=(w+n)modqを計算し、PX=Πとし、署名キーペア(Π、S)を生成し、SM2アルゴリズムをMBとしてメッセージMに署名するステップは、以下のとおりである。
A.Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ)を計算し、R=SM3(Z、xΠ||yΠ)modqである。
B.e=SM3(R||M)を計算する。
C.ランダムに整数zを生成し、0<z<qを満たす。
D.Λ=[z]Gを計算する。
E.r=(e+xΛ)modq、w=(z−r*S)/(S+1)modq、SM2署名U=(r、w)を計算する。
F.ID署名(U=(r、w)、Π)を生成する。
S140、署名検証端末によってIDから生成されたメッセージMに対する署名(U=(r、w)、Π)の正確性を検証するステップは、以下のとおりである。
A.Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ)、R=SM3(Z、xΠ||yΠ)modqを計算する。
B.e=SM3(R||M)を計算する。
C.Q=Π−[R]Hを計算する。
D.t=(r+w)modqを計算する。
E.V=[w]G+[t]Qを計算する。
F.h=(e+xV)modqを計算する。
G.hがrと等しいかどうかを確認し、等しい場合、署名が正確であり、等しくない場合署名が正確ではない。
本発明は、さらに第2の具体的な実施例を提供し、その署名方法はECDSAに基づく署名方法であり、具体的に以下のステップを含む。
S210、署名端末によってランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算し、その後前記Xおよびその自身の識別IDを鍵生成センターに送信する。
S220、鍵生成センターによってEC−Schnorr署名アルゴリズムを署名方法MAとして選択する。SM2標準で規定された楕円曲線E:Y^2=X^3+a*X+bを選択し、次数qのポイントグループを巡回グループとし、ランダムに生成元Gを選択し、ランダムに整数msを生成し、0<ms<qを満たし、H=[ms]Gを計算し、システムパラメータP=<G、H=[ms]G>とする。
鍵生成センターによってIDに対応する部分署名秘密鍵Tを生成するステップは、以下のとおりである。
A.鍵生成センターによってランダムに整数kを生成し、0<k<qを満たす。
B.鍵生成センターによって事前署名Π=[k]G+[n]Gを計算する。
C.鍵生成センターによってZ=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ)を計算し、署名割当値R=SHA256(Z、xΠ||yΠ)modqを計算し、ただし、ID_LENはIDの長さであり、xG、yG等はG点等に対応するx軸、y軸の値を示し、SHA256(A、B)はSHA256アルゴリズムを使用してAとBの関連値を計算する要約である。関連方式はA||BまたはB||Aである。
D.鍵生成センターによって署名値の第2部分w=(k+R*ms)modqを計算し、Qに対応する計算過程はQ=Π+[R]Hである。
E.鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成する。
S230、署名端末によってS=(w+n)modqを計算し、PX=Πとし、署名キーペア(Π、S)を生成し、ECDSAアルゴリズムをMBとしてメッセージMに署名するステップは、以下のとおりである。
A.Z=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ)、R=SHA256(Z、xΠ||yΠ)modqを計算する。
B.e=SHA256(R||M)を計算する。
C.ランダムに整数zを生成し、0<z<qを満たす。
D.Λ=[z]Gを計算する。
E.r=xΛmodq、w=(r*(S+n)+e)/zmodq、ECDSA署名U=(r、w)を計算する。
F.ID署名(U=(r、w)、Π)を生成する。
S240、署名検証端末によってIDから生成されたメッセージMに対する署名(U=(r、w)、Π)の正確性を検証するステップは、以下のとおりである。
A.Z=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ)、R=SHA256(Z、xΠ||yΠ)modqを計算する。
B.Q=Π+[R]Hを計算する。
C.e=SHA256(R||M)を計算する。
D.u=e/wmodq、v=r/wを計算する。
E.V=[u]G+[v]Qを計算する。
F.h=xVmodqを計算する。
G.hがrと等しいかどうかを確認し、等しい場合、署名が正確であり、等しくない場合、署名が正確ではない。
本発明は、さらに第3の具体的な実施例を提供し、その署名方法はECDSAに基づく署名方法であり、具体的に、以下のステップを含む。
S310、署名端末によってランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算し、その後前記Xおよびその自身の識別IDを鍵生成センターに送信する。
S320、鍵生成センターによってEC−Schnorr変形署名アルゴリズムを署名方法MAとして選択する。SM2標準で規定された楕円曲線E:Y^2=X^3+a*X+bを選択し、次数qのポイントグループを巡回グループとし、ランダムに生成元Gを選択し、ランダムに整数msを生成し、0<ms<qを満たし、H=[ms]Gを計算し、システムパラメータP=<G、H=[ms]G>とする。
鍵生成センターによってIDに対応する部分署名秘密鍵Tを生成するステップは、以下のとおりである。
A.鍵生成センターによってk=SHA256(ID||G||H||[n]G、ms)を計算する。
B.鍵生成センターによって事前署名Π=[k]G+[n]Gを計算する。
C.鍵生成センターによってZ=SHA256(xG||yG||xQ||yQ||ID)を計算し、署名割当値R=SHA256(Z、xΠ||yΠ)modqを計算し、ただし、xG、yG等はG点等に対応するx軸、y軸の値を示し、SHA256(A、B)はSHA256アルゴリズムを使用してAとBの関連値を計算する要約である。関連方式はA||BまたはB||Aである。
D.鍵生成センターによって署名値の第2部分w=(R*k+ms)modqを計算し、Qに対応する計算過程はQ=Π+[R]Hである。
E.鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成する。
F.鍵生成センターによってXを公開鍵とし、ECIESを使用してwを暗号化し暗号文Cを出力する。
G.署名端末によってnを秘密鍵として使用しECIES復号化方法に従ってCを復号化してwを得る。
S330、署名端末によってS=(w+R*n)modqを計算し、PX=Πとし、署名キーペア(Π、S)を生成し、ECDSAアルゴリズムをMBとしてメッセージMに署名するステップは、以下のとおりである。
A.Z=SHA256(xG||yG||xQ||yQ||ID)、R=SHA256(Z、xΠ||yΠ)modqを計算する。
B.e=SHA256(R||M)を計算する。
C.ランダムに整数zを生成し、0<z<qを満たす。
D.Λ=[z]Gを計算する。
E.r=xΛmodq、w=(r*(S+R*n)+e)/zmodq、ECDSA署名U=(r、w)を計算する。
F.ID署名(U=(r、w)、Π)を生成する。
S340、署名検証端末によってIDから生成されたメッセージMに対する署名(U=(r、w)、Π)の正確性を検証するステップは、以下のとおりである。
A.Z=SHA256(xG||yG||xQ||yQ||ID)、R=SHA256(Z、xΠ||yΠ)modqを計算する。
B.Q=[R]Π+Hを計算する。
C.e=SHA256(R||M)を計算する。
D.u=e/wmodq、v=r/wを計算する。
E.V=[u]G+[v]Qを計算する。
F.h=xVmodqを計算する。
G.hがrと等しいかどうかを確認し、等しい場合、署名が正確であり、等しくない場合、署名が正確ではない。
本発明は、さらに第4の具体的な実施例を提供し、その署名方法はEC−SDSAに基づく署名方法であり、具体的には、以下のステップを含む。
S410、署名端末によってランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算し、その後前記Xおよびその自身の識別IDを鍵生成センターに送信する。
S420、鍵生成センターによってEC−Schnorr署名アルゴリズムを署名方法MAとして選択する。SM2標準で規定された楕円曲線E:Y^2=X^3+a*X+bを選択し、次数qのポイントグループを巡回グループとし、ランダムに生成元Gを選択し、ランダムに整数msを生成し、0<ms<qを満たし、H=[ms]Gを計算し、システムパラメータP=<G、H=[ms]G>とする。
鍵生成センターによってIDに対応するID秘密鍵Tを生成するステップは、以下のとおりである。
A.鍵生成センターによってランダムに整数kを生成し、0<k<qを満たす。
B.鍵生成センターによって事前署名Π=[k]G+[n]Gを計算する。
C.鍵生成センターによってZ=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ)を計算し、署名割当値R=SHA256(Z、xΠ||yΠ)modqを計算し、ただし、ID_LENはIDの長さであり、xG、yG等はG点等に対応するx軸、y軸の値を示す。
D.鍵生成センターによって署名値の第2部分w=(k+R*ms)modqを計算し、Qに対応する計算過程はQ=Π+[R]Hである。
E鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成する。
S430、署名端末によってS=(w+n)modq、PX=Πを計算し、署名キーペア(Π、S)を生成し、EC−SDSAアルゴリズムをMBとしてメッセージMに署名するステップは、以下のとおりである。
A.Z=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ)、R=SHA256(Z、xΠ||yΠ)modqを計算する。
B.ランダムに整数zを生成し、0<z<qを満たす。
C.Λ=[z]Gを計算する。
D.e=SHA256(Λ||R||M)を計算する。
E.r=e、w=(z+e*S)modq、EC−SDSA署名U=(r、w)を計算する。
F.署名U=(r、w)を生成する。
S440、署名検証端末によってIDから生成されたメッセージMに対する署名U=(r、w)の正確性を検証するステップは、以下のとおりである。
A.IDが公開された署名公開鍵Πを取得する。
B.Z=SHA256(ID_LEN||ID||a||b||xG||yG||xQ||yQ)、R=SHA256(Z、xΠ||yΠ)modqを計算する。
C.Q=Π+[R]Hを計算する。
D.Λ=[w]G+[r]Qを計算する。
D.e=SHA256(Λ||R||M)を計算する。
G.eがrと等しいかどうかを確認し、等しい場合、署名が正確であり、等しくない場合、署名が正確ではない。
本発明は、さらに第5の具体的な実施例を提供し、その署名方法はSM2に基づく署名方法であり、具体的に、以下のステップを含む。
S510、署名端末によってランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算し、その後前記Xおよびその自身の識別IDを鍵生成センターに送信する。
S520、鍵生成センターによってEC−Schnorr署名アルゴリズムを署名方法MAとして選択する。SM2標準で規定された楕円曲線E:Y^2=X^3+a*X+bを選択し、次数qのポイントグループを巡回グループとし、ランダムに生成元Gを選択し、ランダムに整数msを生成し、0<ms<qを満たし、H=[ms]Gを計算し、システムパラメータP=<G、H=[ms]G>とする。
鍵生成センターによってIDに対応する部分署名秘密鍵Tを生成するステップは、以下のとおりである。
A.鍵生成センターによってランダムに整数kを生成し、0<k<qを満たす。
B.鍵生成センターによって事前署名Π=[k]Gを計算する。
C.鍵生成センターによってZ=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ||xX||yX)を計算し、署名割当値R=SM3(Z、xΠ||yΠ)modqを計算する。
D.鍵生成センターによって署名値の第2部分w=(k−R*ms)modqを計算し、Qに対応する計算過程はQ=Π+X−[R]Hである。
E.鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成する。
S530、署名端末によってS=(w+n)modq、PX=(Π、X)を計算し、署名キーペア((Π、X)、S)を生成し、SM2アルゴリズムをMBとしてメッセージMに署名するステップは、以下のとおりである。
A.Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ||xX||yX)、R=SM3(Z、xΠ||yΠ)modqを計算する。
B.e=SM3(R||M)を計算する。
C.ランダムに整数zを生成し、0<z<qを満たす。
D.Λ=[z]Gを計算する。
E.r=(e+xΛ)modq、w=(z−r*S)/(S+1)modq、SM2署名U=(r、w)を計算する。
F.ID署名(U=(r、w)、(Π、X))を生成する。
S540、署名検証端末によってIDから生成されたメッセージMに対する署名(U=(r、w)、(Π、X))の正確性を検証するステップは、以下のとおりである。
A.Z=SM3(ID_LEN||ID||a||b||xG||yG||xQ||yQ||xX||yX)、R=SM3(Z、xΠ||yΠ)modqを計算する。
B.e=SM3(R||M)を計算する。
C.Q=Π+X−[R]Hを計算する。
D.t=(r+w)modqを計算する。
E.V=[w]G+[t]Qを計算する。
F.h=(e+xV)modqを計算する。
G.hがrと等しいかどうかを確認し、等しい場合、署名が正確であり、等しくない場合、署名が正確ではない。
本発明のデジタル署名方法は、メッセージMに対して署名アルゴリズムMBで規定された署名演算を実行する過程では、元のM関連演算の代わりに、鍵生成センターによって実行された署名アルゴリズムMA演算過程中計算された署名割当RとメッセージMを関連し、署名検証過程では同様に元のMを入力とする必要がある演算過程中でRとMの関連を入力とする。このような方法は、2つの署名アルゴリズムを組み合わせ過程中の攻撃を効果的に抵抗でき、署名方法のセキュリティを向上させる。
本発明は、さらに第6の具体的な実施例を提供し、その署名方法はECDSA変形に基づく署名方法であり、具体的に、以下のステップを含む。
S610、署名端末によってランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算し、その後前記Xおよびその自身の識別IDを鍵生成センターに送信する。
S620、鍵生成センターによってEC−Schnorr署名アルゴリズムを署名方法MAとして選択する。SM2標準で規定された楕円曲線E:Y^2=X^3+a*X+bを選択し、次数qのポイントグループを巡回グループとし、ランダムに生成元Gを選択し、ランダムに整数msを生成し、0<ms<qを満たし、H=[ms]Gを計算し、システムパラメータP=<G、H=[ms]G>とする。
鍵生成センターによってIDに対応する部分署名秘密鍵Tを生成するステップは、以下のとおりである。
A.鍵生成センターによってランダムに整数kを生成し、0<k<qを満たす。
B.鍵生成センターによって事前署名Π=[k]G+[n]Gを計算する。
C.鍵生成センターによってZ=SHA256(xG||yG||xQ||yQ||ID)を計算し、署名割当値R=SHA256(Z、xΠ||yΠ)modqを計算し、ただし、xG、yG等はG点等に対応するx軸、y軸の値を示し、SHA256(A、B)はSHA256アルゴリズムを使用してAとBの関連値を計算する要約である。関連方式はA||BまたはB||Aである。
D.鍵生成センターによって署名値の第2部分w=(k+R*ms)modqを計算し、Qに対応する計算過程はQ=Π+[R]Hである。
E.鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成する。
S630、署名端末によってS=(w+R*n)modqを計算し、PX=Πとし、署名キーペア(Π、S)を生成し、ECDSAの変形アルゴリズムをMBとしてメッセージMに署名するステップは、以下のとおりである。
A.Z=SHA256(xG||yG||xQ||yQ||ID)、R=SHA256(Z、xΠ||yΠ)modqを計算する。
B.ランダムに整数zを生成し、0<z<qを満たす。
C.Λ=[z]Gを計算する。
D.r=xΛ、e=SHA256(r||||R||M)、w=(r*(S+R*n)+e)/zmodq、ECDSA署名U=(r、w)を計算する。
E.ID署名(U=(r、w)、Π)を生成する。
S640、署名検証端末によってIDから生成されたメッセージMに対する署名(U=(r、w)、Π)の正確性を検証するステップは、以下のとおりである。
A.Z=SHA256(xG||yG||xQ||yQ||ID)、R=SHA256(Z、xΠ||yΠ)modqを計算する。
B.Q=[R]Π+Hを計算する。
C.e=SHA256(r||R||M)を計算する。
D.u=e/wmodq、v=r/wを計算する。
E.V=[u]G+[v]Qを計算する。
F.h=xVを計算する。
G.hがrと等しいかどうかを確認し、等しい場合、署名が正確であり、等しくない場合、署名が正確ではない。
図4を参照すると、本発明は、前記デジタル署名方法に対応するデジタル署名装置を提供し、それは、
ランダムにnとXのキーペアを生成し、その識別IDおよびXを前記鍵生成センターに送信するための生成送信ユニット10と、
鍵生成センターによって生成された前記署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信し、ただし、前記(Π、w)は鍵生成センターによってデジタル署名方法MAを実行し前記IDに署名して得られた署名値であり、前記鍵生成センターはランダムに署名公開鍵と秘密鍵のペア(P、ms)を生成し、事前署名Πを生成し、その後少なくともΠ、IDを含むハッシュダイジェストを署名割当Rとして生成し、最後に署名値の第2部分wを生成し、鍵生成センターはPを暗号化システムの公開パラメータとする受信ユニット20と、
前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出するための算出ユニット30と、
Sを署名秘密鍵としてデジタル署名方法MBを実行しメッセージMに署名して、署名値Uを生成し、(U、PX)をメッセージMに対する署名値として署名検証端末に送信し、またはUをメッセージMに対する署名値として署名検証端末に送信し、PXを公開し、ただし、メッセージMに署名する過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用する署名送信ユニット40と、
前記署名検証端末からメッセージMに対する署名を署名検証し、ただし、前記署名検証端末はPXを取得し、前記P、ID、PXからSに対応する公開鍵Qを計算し、前記デジタル署名方法MBの署名検証過程に従いUが公開鍵Qに対応する秘密キーペアMの有効署名であるかどうかを検証し、ただし、署名検証過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用する署名検証ユニット50とを含む。
前記デジタル署名方法MAは離散対数問題に基づく署名方法であり、前記鍵生成センターは離散対数問題に基づいて構築され、その選択次数はqの巡回グループの生成元Gとグループ中の1つのランダム要素[o]Gであり、ただし、[o]Gはo個のGが巡回グループの演算ルールに従いo回乗算演算されることを示し、前記署名公開鍵と秘密鍵のペア(P、ms)中のmsは鍵生成センターによってランダムに生成された整数msであり、0<ms<qを満たし、前記P=<G、H=[ms]G>とする。
本実施例では、前記デジタル署名装置は、復号化ユニット60をさらに含み、前記復号化ユニット60は、署名端末が前記nを使用し前記鍵生成センターによって標準の非対称暗号化アルゴリズムで暗号化されたwを含む情報を復号化するために用いられ、ただし、前記標準の非対称暗号化アルゴリズムでwを含む情報を暗号化するときに、使用された暗号化公開鍵はXである。
図5を参照すると、本実施例では、前記生成送信ユニット10は、
ランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算するためのものを含む。
図6を参照すると、本実施例では、前記受信ユニット20は、
鍵生成センターによってランダムに整数kを生成し、0<k<qを満たし、またはk=HASH(F(ID、他の情報Ι)、ms)modqを算出し、他の情報Iには巡回グループの生成情報、G、H、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行する第1生成kモジュール201と、
鍵生成センターによって事前署名Π=[k]G±[n]Gを計算するための第1計算Πモジュール202と、
鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)を計算し、他の情報AにはHが含まれる第1計算Rモジュール203と、
鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算するための第1計算wモジュール204と、
鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成するための第1生成モジュール205と、
前記部分署名秘密鍵T=(Π、w)を受信するための第1受信モジュール206と、を含む。
前記算出ユニット30は、第1計算生成モジュールを含み、w=(k±R*ms)modqである場合、S=(w±n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±[R]Hであり、w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R]Π±Hである。
図7を参照すると、別の実施例では、前記受信ユニット20は、
鍵生成センターによってランダムに整数kを生成し、0<k<qを満たし、またはk=HASH(F(ID、他の情報Ι)、ms)modqを算出し、他の情報IにはH、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行する第2生成kモジュール211と、
鍵生成センターによって事前署名Π=[k]Gを計算するための第2計算Πモジュール212と、
鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)modqを計算し、他の情報AにはX、Hが含まれる第2計算Rモジュール213と、
鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算するための第2計算wモジュール214と、
鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成するための第2生成モジュール215と、
前記部分署名秘密鍵T=(Π、w)を受信するための第2受信モジュール216と、を含む。
前記算出ユニット30は、第2計算生成モジュールを含み、w=(k±R*ms)modqである場合、S=(w±n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±X±[R]Hであり、w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R](Π±X)±Hである。
本発明のデジタル署名装置は、メッセージMに対して署名アルゴリズムMBで規定された署名演算を実行する過程では、元のM関連演算の代わりに、鍵生成センターによって実行された署名アルゴリズムMA演算過程中計算された署名割当RとメッセージMを関連し、署名検証過程では同様に元のMを入力とする必要がある演算過程中でRとMの関連を入力とする。このような方法は、2つの署名アルゴリズムを組み合わせ過程中の攻撃を効果的に抵抗でき、署名方法のセキュリティを向上させる。
図8を参照すると、本発明の実施例は、さらに前記デジタル署名方法に対応するデジタル署名システムを提供し、それは、署名端末100、鍵生成センター200および署名検証端末300を含み、
前記署名端末100ランダムにnとXのキーペアを生成し、IDおよびXを前記鍵生成センター200に送信し、
前記鍵生成センター200によって予め設定されたデジタル署名方法MAで識別IDに署名し、識別IDに署名し、その署名過程には、前記鍵生成センター200によってランダムに署名公開鍵と秘密鍵のペア(P、ms)を生成し、事前署名Πを生成し、少なくともΠ、IDを含むハッシュダイジェストを署名割当Rとして生成し、最後に署名値の第2部分wを生成し、両部分を含む署名値(Π、w)を得て、前記署名値を部分署名秘密鍵T=(Π、w)とし、前記部分署名秘密鍵Tを前記署名端末100に送信し、鍵生成センター200はまたPを暗号化システムの公開パラメータとすることが含まれ、
前記署名端末100は前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出し、Sを署名秘密鍵としてデジタル署名方法MBでメッセージMに署名し、署名値Uを生成し、(U、PX)をメッセージMに対するID署名値として署名検証端末300に送信し、またはUをメッセージMに対する署名値として署名検証端末300に送信し、PXを公開し、ただし、メッセージMに対する署名の過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用し、
前記署名検証端末300はメッセージMに対する署名を署名検証し、その署名検証過程には、PXを取得し、前記P、ID、PXからSに対応する公開鍵Qを計算し、前記デジタル署名方法MBの署名検証過程に従いUが公開鍵Qに対応する秘密キーペアMの有効署名であるかどうかを検証し、ただし、署名検証過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用する。
本発明のデジタル署名システムは、メッセージMに対して署名アルゴリズムMBで規定された署名演算を実行する過程では、元のM関連演算の代わりに、鍵生成センターによって実行された署名アルゴリズムMA演算過程中計算された署名割当RとメッセージMを関連し、署名検証過程では同様に元のMを入力とする必要がある演算過程中でRとMの関連を入力とする。このような方法は、2つの署名アルゴリズムを組み合わせ過程中の攻撃を効果的に抵抗でき、署名方法のセキュリティを向上させる。
上記の説明は、本発明の好ましい実施例に過ぎず、本発明の範囲を限定するものではなく、本発明の明細書および図面に基づいてなさられた等価構造や等価変更、あるいは他の相関技術分野での直接または間接的な応用は、すべて本発明の保護範囲に含まれることは明らかである。

Claims (17)

  1. 署名端末によってnとXのキーペアをランダムに生成し、それらの識別IDとXを鍵生成センターに送信するステップと、
    鍵生成センターによって生成され前記署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信し、ただし、前記(Π、w)は鍵生成センターがデジタル署名方法MAを実行し前記IDに署名して得られた署名値であり、前記鍵生成センターは、署名公開鍵と秘密鍵のペア(P、ms)をランダムに生成し、事前署名Πを生成して、少なくともΠ、IDを含むハッシュダイジェストを署名割当Rとして生成し、最後に署名値の第2部分wを生成し、鍵生成センターは、暗号化システムの公開パラメータとしてPを使用するステップと、
    前記P、ID、T、nおよびXを使用して署名キーペア(PX、S)を算出するステップと、
    Sを署名秘密鍵として使用しデジタル署名方法MBを実行してメッセージMに署名し、署名値Uを生成し、(U、PX)をメッセージMに対する署名値として署名検証端末に送信し、またはUをメッセージMに対する署名値として署名検証端末に送信し、PXを公開し、ただし、メッセージMに対する署名の過程中、Mを入力とする必要がある演算ではRとMの関連を入力として使用するステップと、
    前記署名検証端末によってメッセージMの署名を署名検証し、ただし、前記署名検証端末はPXを取得し、前記P、ID、PXからSに対応する公開鍵Qを計算し、前記デジタル署名方法MBによる署名検証過程によって、Uが秘密キーペアMに対応する公開鍵Qの有効な署名であるかどうかを検証し、ただし、署名検証過程中、Mを入力とする必要がある演算では、RとMの関連を入力として使用するステップと、を含むことを特徴とするデジタル署名方法。
  2. 前記デジタル署名方法MAは離散対数問題に基づく署名方法であり、前記鍵生成センターは、離散対数問題に基づいて構築され、その選択次数は、qの巡回グループの生成元Gとグループ中の1つのランダム要素[o]Gであり、ただし、[o]Gは、o個のGが巡回グループの演算ルールに従ってo回加算演算されることを表し、
    前記署名公開鍵と秘密鍵のペア(P、ms)中のmsは、鍵生成センターによってランダムに生成された整数msであり、かつ0<ms<q、前記P=<G、H=[ms]G>であることを特徴とする請求項1に記載のデジタル署名方法。
  3. 前記の前記P、ID、T、n及びXを使用して署名キーペア(PX、S)を算出するステップの前に、
    署名端末は、前記nを使用して前記鍵生成センターによって標準の非対称暗号化アルゴリズムで暗号化されたwを含む情報を復号化し、ただし、前記標準の非対称暗号化アルゴリズムでwを含む情報を暗号化する場合、使用される暗号化公開鍵はXであるステップを含むことを特徴とする請求項2に記載のデジタル署名方法。
  4. 前記署名端末によってランダムによってnとXのキーペアを生成する方法は、
    署名端末はランダムに整数nを生成し、0<n<q、X=[n]Gを計算することを含むことを特徴とする請求項2に記載のデジタル署名方法。
  5. 前記の鍵生成センターによって生成された前記署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信するステップは、具体的に、
    鍵生成センターによってランダムに整数kを生成し、0<k<q、またはk=HASH(F(ID、他の情報Ι)、ms)modqを計算し、ただし、他の情報Iには、H、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行すること、
    鍵生成センターによって事前署名Π=[k]G±[n]Gを計算すること、
    鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)を計算し、他の情報AにはHが含まれること、
    鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算すること、
    鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成すること、
    前記部分署名秘密鍵T=(Π、w)を受信することを含むことを特徴とする請求項4に記載のデジタル署名方法。
  6. 前記の前記P、ID、T、nおよびXを使用して署名キーペア(PX、S)を算出するステップは、
    w=(k±R*ms)modqである場合、S=(w±n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±[R]Hであること、
    w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R]Π±Hであることを含むことを特徴とする請求項5に記載のデジタル署名方法。
  7. 前記の鍵生成センターによって生成された前記署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信するステップは、具体的に、
    鍵生成センターによってランダムに整数kを生成し、0<k<q、またはk=HASH(F(ID、他の情報Ι)、ms)modqを算出し、他の情報IにはH、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行すること、
    鍵生成センターによって事前署名Π=[k]Gを計算すること、
    鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)modqを計算し、他の情報AにはX、Hが含まれること、
    鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算すること、
    鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成すること、
    前記部分署名秘密鍵T=(Π、w)を受信することを含むことを特徴とする請求項4に記載のデジタル署名方法。
  8. 前記の前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出するステップは、
    w=(k±R*ms)modqである場合、S=(w±n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±X±[R]Hであること、
    w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R](Π±X)±Hであることを含むことを特徴とする請求項7に記載のデジタル署名方法。
  9. ランダムにnとXのキーペアを生成し、その識別IDおよびXを鍵生成センターに送信するための生成送信ユニットと、
    鍵生成センターによって生成された署名端末の識別IDに対応する部分署名秘密鍵T=(Π、w)を受信し、ただし、前記(Π、w)は鍵生成センターによってデジタル署名方法MAを実行し前記IDに署名して得られた署名値であり、前記鍵生成センターはランダムに署名公開鍵と秘密鍵のペア(P、ms)を生成し、事前署名Πを生成し、その後少なくともΠ、IDを含むハッシュダイジェストを署名割当Rとして生成し、最後に署名値の第2部分wを生成し、鍵生成センターはPを暗号化システムの公開パラメータとする受信ユニットと、
    前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出するための算出ユニットと、
    Sを署名秘密鍵としてデジタル署名方法MBを実行しメッセージMに署名して、署名値Uを生成し、(U、PX)をメッセージMに対する署名値として署名検証端末に送信し、またはUをメッセージMに対する署名値として署名検証端末に送信し、PXを公開し、ただし、メッセージMに署名する過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用する署名送信ユニットと、
    前記署名検証端末からメッセージMに対する署名を署名検証し、ただし、前記署名検証端末はPXを取得し、前記P、ID、PXからSに対応する公開鍵Qを計算し、前記デジタル署名方法MBの署名検証過程に従いUが公開鍵Qに対応する秘密キーペアMの有効署名であるかどうかを検証し、ただし、署名検証過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用する署名検証ユニットとを含むことを特徴とするデジタル署名装置。
  10. 前記デジタル署名方法MAは離散対数問題に基づく署名方法であり、前記鍵生成センターは離散対数問題に基づいて構築され、その選択次数はqの巡回グループの生成元Gおよびグループ中の1つのランダム要素[o]Gであり、ただし、[o]Gはo個のGが巡回グループの演算ルールに従いo回乗算演算されることを示し、
    前記署名公開鍵と秘密鍵のペア(P、ms)中のmsは鍵生成センターによってランダムに生成された整数msであり、0<ms<qを満たし、前記P=<G、H=[ms]G>であることを特徴とする請求項9に記載のデジタル署名装置。
  11. 復号化ユニットをさらに含み、前記復号化ユニットは、署名端末が前記nを使用し前記鍵生成センターによって標準の非対称暗号化アルゴリズムで暗号化されたwを含む情報を復号化するために用いられ、ただし、前記標準の非対称暗号化アルゴリズムでwを含む情報を暗号化するときに、使用された暗号化公開鍵はXであることを特徴とする請求項10に記載のデジタル署名装置。
  12. 前記生成送信ユニットは、
    ランダムに整数nを生成し、0<n<qを満たし、X=[n]Gを計算するための生成計算モジュールを含むことを特徴とする請求項10に記載のデジタル署名装置。
  13. 前記受信ユニットは、
    鍵生成センターによってランダムに整数kを生成し、0<k<qを満たし、またはk=HASH(F(ID、他の情報Ι)、ms)modqを算出し、他の情報Iには巡回グループの生成情報、G、H、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行する第1生成kモジュールと、
    鍵生成センターによって事前署名Π=[k]G±[n]Gを計算するための第1計算Πモジュールと、
    鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)を計算し、他の情報AにはHが含まれる第1計算Rモジュールと、
    鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算するための第1計算wモジュールと、
    鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成するための第1生成モジュールと、
    前記部分署名秘密鍵T=(Π、w)を受信するための第1受信モジュールとを含むことを特徴とする請求項12に記載のデジタル署名装置。
  14. 前記算出ユニットは、第1計算生成モジュールを含み、
    前記第1計算生成モジュールは、w=(k±R*ms)modqである場合、S=(w±n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±[R]Hであり、w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=Π、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R]Π±Hであることを特徴とする請求項13に記載のデジタル署名装置。
  15. 前記受信ユニットは、
    鍵生成センターによってランダムに整数kを生成し、0<k<qを満たし、またはk=HASH(F(ID、他の情報Ι)、ms)modqを算出し、他の情報IにはH、Xが含まれ、F操作はハッシュ演算または文字列連結であり、ただし、HASH(F(ID、他の情報Ι)、ms)modqはF(ID、他の情報Ι)とmsの連結値を要約計算し、連結順序はF(ID、他の情報Ι)||msまたはms||F(ID、他の情報Ι)、またはmsをキーペアF(ID、他の情報Ι)として使用しHMAC演算を実行する第2生成kモジュールと、
    鍵生成センターによって事前署名Π=[k]Gを計算するための第2計算Πモジュールと、
    鍵生成センターによって署名割当R=HASH(F(ID、他の情報Α)、Π)modqを計算し、他の情報AにはX、Hが含まれる第2計算Rモジュールと、
    鍵生成センターによって署名値の第2部分w=(k±R*ms)modqまたは(R*k±ms)modqを計算するための第2計算wモジュールと、
    鍵生成センターによって部分署名秘密鍵T=(Π、w)を生成するための第2生成モジュールと、
    前記部分署名秘密鍵T=(Π、w)を受信するための第2受信モジュールと、を含むことを特徴とする請求項12に記載のデジタル署名装置。
  16. 前記算出ユニットは、第2計算生成モジュールを含み、
    前記第2計算生成モジュールは、w=(k±R*ms)modqである場合、S=(w±n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=Π±X±[R]Hであり、w=(R*k±ms)modqである場合、S=(w±R*n)modq、PX=(Π、X)、署名キーペア(PX、S)を生成し、対応の公開鍵Q=[R](Π±X)±Hであることを特徴とする請求項15に記載のデジタル署名装置。
  17. 署名端末、鍵生成センターおよび署名検証端末を含み、
    前記署名端末によってランダムにnとXのキーペアを生成し、IDおよびXを前記鍵生成センターに送信し、
    前記鍵生成センターによって予め設定されたデジタル署名方法MAで識別IDに署名し、識別IDに署名し、その署名過程には、前記鍵生成センターによってランダムに署名公開鍵と秘密鍵のペア(P、ms)を生成し、事前署名Πを生成し、少なくともΠ、IDを含むハッシュダイジェストを署名割当Rとして生成し、最後に署名値の第2部分wを生成し、両部分を含む署名値(Π、w)を得て、前記署名値を部分署名秘密鍵T=(Π、w)とし、前記部分署名秘密鍵Tを前記署名端末に送信し、鍵生成センターはまたPを暗号化システムの公開パラメータとすることが含まれ、
    前記署名端末は前記P、ID、T、nとXを使用して署名キーペア(PX、S)を算出し、Sを署名秘密鍵としてデジタル署名方法MBでメッセージMに署名し、署名値Uを生成し、(U、PX)をメッセージMに対するID署名値として署名検証端末に送信し、またはUをメッセージMに対する署名値として署名検証端末に送信し、PXを公開し、ただし、メッセージMに対する署名過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用し、
    前記署名検証端末はメッセージMに対する署名を署名検証し、その署名検証過程には、PXを取得し、前記P、ID、PXからSに対応する公開鍵Qを計算し、前記デジタル署名方法MBの署名検証過程に従いUが公開鍵Qに対応する秘密キーペアMの有効署名であるかどうかを検証し、ただし、署名検証過程中にMを入力とする必要がある演算では、RとMの関連を入力として使用することが含まれることを特徴とするデジタル署名システム。
JP2020533330A 2017-09-05 2017-12-18 デジタル署名方法、装置及びシステム Active JP7105308B2 (ja)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JP2020532928A true JP2020532928A (ja) 2020-11-12
JP7105308B2 JP7105308B2 (ja) 2022-07-22

Family

ID=60351189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020533330A Active JP7105308B2 (ja) 2017-09-05 2017-12-18 デジタル署名方法、装置及びシステム

Country Status (5)

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

Families Citing this family (11)

* 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 南京易科腾信息技术有限公司 签名及验签方法、装置及存储介质
CN115174058B (zh) * 2022-06-23 2024-06-11 武汉大学 一种基于sm2算法的两方适配器签名生成方法及系统
CN115314221A (zh) * 2022-08-04 2022-11-08 福建师范大学 基于sm2数字签名算法的双环签名生成方法及系统
CN117240479B (zh) * 2023-11-14 2024-01-19 北京电子科技学院 多方量子签名方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005184134A (ja) * 2003-12-16 2005-07-07 Murata Mach Ltd 電子署名方法とそのプログラム及び装置
JP2010272899A (ja) * 2009-05-19 2010-12-02 Mitsubishi Electric Corp 鍵生成システム及び鍵生成方法及びブラインドサーバ装置及びプログラム
JP2011082662A (ja) * 2009-10-05 2011-04-21 Mitsubishi Electric Corp 通信装置及び情報処理方法及びプログラム
WO2016049406A1 (en) * 2014-09-26 2016-03-31 Technicolor Usa, Inc. Method and apparatus for secure non-interactive threshold signatures

Family Cites Families (18)

* 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
AU2001284721A1 (en) * 2000-08-04 2002-02-18 First Data Corporation Method and apparatus for access authentication entity
CA2465321C (en) * 2001-11-06 2010-05-11 International Business Machines Corporation Method and system for the supply of data, transactions and electronic voting
CN100440776C (zh) * 2002-11-29 2008-12-03 北京华大信安科技有限公司 椭圆曲线签名和验证签名方法和装置
US8467535B2 (en) * 2005-01-18 2013-06-18 Certicom Corp. Accelerated verification of digital signatures and public keys
CN101351988B (zh) * 2005-12-28 2011-06-29 松下电器产业株式会社 签名生成装置、签名生成方法
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
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 中国科学技术大学苏州研究院 基于椭圆曲线离散对数问题的无证书签名方法
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 深圳奥联信息安全技术有限公司 基于标识的数字签名方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005184134A (ja) * 2003-12-16 2005-07-07 Murata Mach Ltd 電子署名方法とそのプログラム及び装置
JP2010272899A (ja) * 2009-05-19 2010-12-02 Mitsubishi Electric Corp 鍵生成システム及び鍵生成方法及びブラインドサーバ装置及びプログラム
JP2011082662A (ja) * 2009-10-05 2011-04-21 Mitsubishi Electric Corp 通信装置及び情報処理方法及びプログラム
WO2016049406A1 (en) * 2014-09-26 2016-03-31 Technicolor Usa, Inc. Method and apparatus for secure non-interactive threshold signatures

Also Published As

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

Similar Documents

Publication Publication Date Title
JP7105308B2 (ja) デジタル署名方法、装置及びシステム
CN109559122B (zh) 区块链数据传输方法及区块链数据传输系统
KR102015201B1 (ko) 보안 접속 및 관련 서비스를 위한 효율적인 개시
US20120023336A1 (en) System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
CN107483191B (zh) 一种sm2算法密钥分割签名系统及方法
JP2008545353A (ja) 未知の通信当事者間における信頼できる関係の確立
JP6950745B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
KR20080004165A (ko) 브로드캐스트 암호화를 이용한 디바이스 인증 방법
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN113630248B (zh) 一种会话密钥协商方法
CN113612610B (zh) 一种会话密钥协商方法
JP2015226132A (ja) 署名検証システム、通信装置、検証装置、署名生成方法、及び署名検証方法
CN111654481B (zh) 一种身份认证方法、装置和存储介质
CN115378587B (zh) 密钥获取方法、装置、设备及可读存储介质
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
WO2022135391A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
US11570008B2 (en) Pseudonym credential configuration method and apparatus
KR101131929B1 (ko) 공개키 기반 인증장치 및 방법
Li et al. Blockchain-based portable authenticated data transmission for mobile edge computing: a universally composable secure solution
Chen et al. Provable secure group key establishment scheme for fog computing
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
TWI761243B (zh) 群組即時通訊的加密系統和加密方法
CN110572788B (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
CN113918971A (zh) 基于区块链的消息传输方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210714

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220418

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220418

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220427

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220711

R150 Certificate of patent or registration of utility model

Ref document number: 7105308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150