JP6353536B2 - デジタル署名の生成方法及び装置 - Google Patents

デジタル署名の生成方法及び装置 Download PDF

Info

Publication number
JP6353536B2
JP6353536B2 JP2016533807A JP2016533807A JP6353536B2 JP 6353536 B2 JP6353536 B2 JP 6353536B2 JP 2016533807 A JP2016533807 A JP 2016533807A JP 2016533807 A JP2016533807 A JP 2016533807A JP 6353536 B2 JP6353536 B2 JP 6353536B2
Authority
JP
Japan
Prior art keywords
digital signature
parameter
signature parameter
elliptic curve
random number
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.)
Active
Application number
JP2016533807A
Other languages
English (en)
Other versions
JP2016528555A (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.)
China Iwncomm Co Ltd
Original Assignee
China Iwncomm 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 China Iwncomm Co Ltd filed Critical China Iwncomm Co Ltd
Publication of JP2016528555A publication Critical patent/JP2016528555A/ja
Application granted granted Critical
Publication of JP6353536B2 publication Critical patent/JP6353536B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/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

Landscapes

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

Description

本願は、2013年8月16日に中国特許庁に提出された、出願番号が201310363349.7であり、且つ発明名称が「デジタル署名の生成方法及び装置」である中国特許出願の優先権を主張し、その全内容を本願に援用する。
本発明は、情報技術分野に関し、特にデジタル署名の生成方法及び装置に関する。
SM2デジタル署名アルゴリズムはSM2暗号アルゴリズム(Public Key Ceyptographic Algorithm SM2 Based on Elliptic Curves)の1つの構成部分として、ユーザ身元の認証及び情報整合性チェックの機能領域に好適に適用している。SM2デジタル署名アルゴリズムの応用プロセスでは、アルゴリズムの演算効率はアルゴリズムの応用者に常に注目されている重点である。SM2デジタル署名アルゴリズムは、SM2デジタル署名生成アルゴリズム(SM2 digital siganture generation algorithm)及びSM2デジタル署名検証アルゴリズム(SM2 digital siganture verification algorithm)により構成されている。
署名されるメッセージがMであると仮定すると、メッセージMのデジタル署名(r,s)を取得するため、ユーザAがデジタル署名を利用する必要がある場合、以下のSM2デジタル署名生成アルゴリズムにより実現してもよい。
A1:
-M=ZA||M
と設定する。
ここで、
||
はカスケード演算(cascading operation)を表し、Zは暗号ハッシュ関数(cryptographic hash function)により算出された、デジタル署名を生成するユーザAのハッシュ値である。
A2:
e=Hv(-M)
を計算し、eのデータ型をビットストリングから整数に変換する。
ここで、H()は、メッセージダイジェスト長さがvビットの暗号ハッシュ関数、例えばSM3暗号ハッシュアルゴリズムである。
A3:乱数発生器を用いて乱数
k∈[1, n-1]
を生成する。
ここで、nは楕円曲線パラメータである。
A4:楕円曲線点(x,y)=[k]Gを計算し、結果xはフィールド要素であり、xのデータ型を整数に変換する。
ここで、Gは楕円曲線の基点であり、[k]GはkとGのスカラー乗法(ドット積)を表す。
楕円曲線方程式を用い、その類型は素数フィールド方程式y=x+ax+b又は二元フィールド拡張方程式y+xy=x+ax+bを選択してもよい。
A5:
Figure 0006353536
式1
を計算し、即ち(e+x)を用いてnに対してモジュロ演算を行う。
r=0又はr+k=nの場合、A3に戻る。
A6:
Figure 0006353536
式2
を計算する。
S=0の場合、A3に戻る。
ここで、dは上記ユーザAの秘密鍵である。
A7:r、sのデータ型を整数からバイトストリングに変換し、メッセージMのデジタル署名は(r,s)である。
ユーザAはシステム又は装置であってもよく、上記SM2デジタル署名生成アルゴリズムはユーザA内部に設けられたサブシステム、ハードウェアモジュール、ユーザA内で実行可能なソフトウェアモジュール等により実行されてもよいし、ユーザAと通信接続され、ユーザAにより呼び出されたシステム又は装置により実行されてもよい。
ユーザAは長さがentlenビットの識別可能な識別子IDを有し、ENTLは整数entlenから変換された2つのバイトである。上記SM2デジタル署名生成アルゴリズムでは、Gの座標X、YとPの座標X、Yのデータ型をビットストリングに変換し、
Zv= H256(ENTLA||IDA||a||b||xG||yG||xA||yA)
となる。ここで、PはユーザAの公開鍵であり、H256()はメッセージダイジェスト長さが256ビットの暗号ハッシュ関数、例えばSM3暗号ハッシュアルゴリズムである。
また、具体に手順を実現するプロセスでは、通常、当業者は、手順を実現するように、式2を例えば以下の式3及び式3に変形し、式2における(1+d−1の負整数指数冪乗演算を(1+d−1 mod nのモジュロ逆演算に変換する。
Figure 0006353536
式3
Figure 0006353536
式4
SM2デジタル署名生成アルゴリズムはECCアルゴリズムの理論に基づいて実現され、実現されるプロセスでは、大整数(big integer)乗法、大整数モジュラー乗算演算などの大整数演算はアルゴリズムの演算効率に影響を与える最も重要な要素であり、従来のSM2デジタル署名生成アルゴリズムは一定の演算効率の要求を満たすことができるが、従来技術には、演算効率をさらに向上する解決案がまだない。
本願は、SM2デジタル署名生成アルゴリズムに基づくデジタル署名生成の演算効率をさらに向上するデジタル署名の生成方法及び装置を提供することを目的とする。
本願の目的は以下の態様により実現される。
デジタル署名の生成方法であって、装置が、有効性判定条件を満たすデジタル署名パラメータrを生成することと、前記装置が、秘密鍵d、値範囲が[1,n−1]の乱数k、前記デジタル署名パラメータr及び楕円曲線パラメータnを用いて、以下の式

Figure 0006353536
に基づいてデジタル署名パラメータsを生成することと、前記装置が、生成されたデジタル署名パラメータsが0であるか否かを判断し、0の場合、前記デジタル署名パラメータsが0でないものとなるまで、有効性判定条件を満たすデジタル署名パラメータrを生成し直し、前記秘密鍵d、生成し直された値範囲が[1,n−1]の乱数k、前記生成し直されたデジタル署名パラメータr及び前記楕円曲線パラメータnを用いて、デジタル署名パラメータsを生成し直すことと、前記装置が、最終的に取得されたデジタル署名パラメータr及び0でないデジタル署名パラメータsのデータ型をバイトストリングに変換し、デジタル署名(r,s)を取得することと、を含むことを特徴とする方法を提供する。
本願の実施例に係る方法によれば、デジタル署名パラメータsを取得する場合に大整数演算の回数を低減でき、SM2デジタル署名生成アルゴリズムに基づくデジタル署名生成の演算効率を向上できる。
好ましくは、前記装置が
Figure 0006353536
に基づいてデジタル署名パラメータsを生成することは、前記装置が、デジタル署名パラメータrと乱数kに対して大整数加法演算を行って、大整数加法演算の結果を用いて楕円曲線パラメータnに対してモジュロ演算を行うことと、前記装置が、秘密鍵dに1を加算し、楕円曲線パラメータnに対してモジュロ逆演算を行うことと、前記装置が、モジュロ演算の演算結果とモジュロ逆演算の演算結果に対して大整数乗法演算を行うことと、前記装置が、該大整数乗法演算の結果からデジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得することと、を含む。
上記処理プロセスによりデジタル署名パラメータsを生成することで、1回の大整数乗法又は1回の大整数モジュラー乗算演算を低減できる。
上記の任意の実施例では、好ましくは、デジタル署名パラメータsを生成する前に、該方法は、前記装置が、秘密鍵d、rの有効性判定条件の演算結果r+k、前記デジタル署名パラメータr及び楕円曲線パラメータnを用いてデジタル署名パラメータsを生成するように、rの有効性判定条件の演算結果r+kを取得すること、をさらに含んでもよい。
デジタル署名パラメータsを生成する場合、rの有効性判定条件の演算結果(r+k)を直接に用いることができ、演算効率をさらに向上できる。
上記の任意の実施例では、好ましくは、デジタル署名パラメータsを生成する前に、該方法は、前記装置が、秘密鍵d、rの有効性判定条件の演算結果(r+k) mod n、前記デジタル署名パラメータr及び楕円曲線パラメータnを用いてデジタル署名パラメータsを生成するように、rの有効性判定条件の演算結果(r+k) mod nを取得すること、をさらに含んでもよい。
(r・d) mod nの演算を回避することで、1回の大整数モジュラー乗算演算を低減できる。
デジタル署名の生成装置であって、ハッシュ値Z及び署名されるメッセージMを取得するパラメータ入力インターフェース手段と、前記パラメータ入力インターフェース手段により取得されたハッシュ値Z及び署名されるメッセージMに対してカスケード演算を行い、
-M
を生成するカスケード演算手段と、前記カスケード演算手段により生成された
-M
に対して暗号ハッシュ演算を行い、メッセージダイジェスト情報eを生成する暗号ハッシュアルゴリズム演算手段と、値範囲が[1,n−1]の乱数kを生成する乱数発生器と、前記乱数発生器により生成された乱数kに基づいて楕円曲線アルゴリズムスカラー乗法演算(x,y)=kGを行い、楕円曲線点の横座標xを取得するECCアルゴリズム演算手段であって、Gが楕円曲線パラメータである、ECCアルゴリズム演算手段と、前記暗号ハッシュアルゴリズム演算手段により生成されたメッセージダイジェスト情報eのデータ型を整数型に変換し、前記ECCアルゴリズム演算手段により生成された楕円曲線点の横座標xのデータ型を整数型に変換するデータ型変換手段と、前記データ型変換手段によりデータ型が変換されたメッセージダイジェスト情報e及び楕円曲線点の横座標xを用いて、デジタル署名パラメータrを生成する大整数演算手段と、前記大整数演算手段により生成されたデジタル署名パラメータrに対して有効性判定を行う有効性判定手段と、デジタル署名(r,s)を出力するパラメータ出力インターフェース手段と、を含み、前記デジタル署名パラメータrが有効性判定条件を満たしていない場合、前記乱数発生器は値範囲が[1,n−1]の乱数kを生成し直し、前記ECCアルゴリズム演算手段は前記乱数発生器により生成し直された乱数kに基づいて楕円曲線点の横座標xを取得し直し、前記データ型変換手段は取得し直された楕円曲線点の横座標xに対してデータ型の変換を行い、前記大整数演算手段は前記メッセージダイジェスト情報e及び生成し直された楕円曲線点の横座標xに基づいてデジタル署名パラメータrを生成し直し、前記有効性判定手段は生成し直されたデジタル署名パラメータr及び生成し直された乱数kを用いて、生成し直されたデジタル署名パラメータrに対して有効性判定を行い、前記大整数演算手段は、秘密鍵d、前記乱数発生器により生成された前記乱数k、前記デジタル署名パラメータr及び楕円曲線パラメータnを用いて、以下の式
Figure 0006353536
に基づいてデジタル署名パラメータsを生成し、前記有効性判断手段は、前記大整数演算手段により生成されたデジタル署名パラメータsが0であるか否かを判断し、0の場合、前記乱数生成器は値範囲が[1,n−1]の乱数kを生成し直し、前記大整数演算手段は、デジタル署名パラメータrを生成し直し、前記生成し直されたデジタル署名パラメータrが有効性判定条件を満たしているとき、前記秘密鍵d、生成し直された値範囲が[1,n−1]の乱数k、前記生成し直されたデジタル署名パラメータr及び前記楕円曲線パラメータnを用いて、デジタル署名パラメータsを生成し直し、前記データ型変換手段は、前記大整数演算手段により最終的に生成されたデジタル署名パラメータr及び0でないデジタル署名パラメータsのデータ型をバイトストリングに変換し、前記デジタル署名(r,s)を取得する。
本願の実施例に係る装置によれば、デジタル署名パラメータsを取得する場合、大整数演算の回数を低減でき、SM2デジタル署名生成アルゴリズムに基づくデジタル署名生成の演算効率を向上できる。
好ましくは、デジタル署名パラメータsを生成する場合、前記大整数演算手段は、前記デジタル署名パラメータrと前記乱数発生器により生成された乱数kに対して大整数加法演算して、大整数加法演算の結果を用いて楕円曲線パラメータnに対してモジュロ演算を行い、秘密鍵dに1を加算して、楕円曲線パラメータnに対してモジュロ逆演算を行い、前記モジュロ演算の結果と前記モジュロ逆演算の結果に対して大整数乗法演算を行い、前記大整数乗法演算の結果から前記デジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得する。
上記処理プロセスによりデジタル署名パラメータsを生成することで、1回の大整数乗法又は1回の大整数モジュラー乗算演算を低減できる。
上記の任意の装置の実施例では、好ましくは、前記有効性判定手段がデジタル署名パラメータrの有効性判定条件の演算結果r+kを用いてデジタル署名パラメータrの有効性を判定する場合、前記大整数演算手段は、前記デジタル署名パラメータrを生成した後に、生成されたデジタル署名パラメータr及び前記乱数生成器により生成された前記乱数kを用いて、デジタル署名パラメータrの有効性判定条件の演算結果r+kを生成し、デジタル署名パラメータsを生成する場合、前記大整数演算手段は、前記rの有効性判定条件の演算結果r+kを用いて楕円曲線パラメータnに対してモジュロ演算を行い、秘密鍵dに1を加算して、楕円曲線パラメータnに対してモジュロ逆演算を行い、前記モジュロ演算の結果と前記モジュロ逆演算の結果に対して大整数乗法演算を行い、前記大整数乗法演算の結果から前記デジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得する。
デジタル署名パラメータsを生成する場合、rの有効性判定条件の演算結果(r+k)を直接に用いることができ、演算効率をさらに向上できる。
上記の任意の装置の実施例では、好ましくは、前記有効性判定手段がデジタル署名パラメータrの有効性判定条件の演算結果(r+k) mod nを用いてデジタル署名パラメータrの有効性を判定する場合、前記大整数演算手段は、前記デジタル署名パラメータrを生成した後に、生成されたデジタル署名パラメータr、前記乱数生成器により生成された前記乱数k及び楕円曲線パラメータnを用いて、デジタル署名パラメータrの有効性判定条件の演算結果(r+k) mod nを生成し、デジタル署名パラメータsを生成する場合、前記大整数演算手段は、秘密鍵dに1を加算して、楕円曲線パラメータnに対してモジュロ逆演算を行い、前記rの有効性判定条件の演算結果(r+k) mod nと前記モジュロ逆演算の結果に対して大整数乗法演算を行い、前記大整数乗法演算の結果から前記デジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得する。
(r・d) mod nの演算を回避することで、1回の大整数モジュラー乗算演算を低減できる。
上記の任意の実施例では、大整数演算手段に用いられる秘密鍵は、該装置により生成されてもよいし、外部から取得されてもよい。以下は例を参照しながら説明する。
(方式1)
前記装置は、前記秘密鍵dを生成する秘密鍵生成手段と、前記秘密鍵生成手段により生成された前記秘密鍵dを保存する秘密鍵記憶手段と、をさらに含み、前記大整数演算手段は、前記秘密鍵記憶手段から前記秘密鍵dを取得してデジタル署名パラメータsを生成する。
(方式2)
前記パラメータ入力インターフェース手段は前記秘密鍵dを取得し、前記大整数演算手段は前記パラメータ入力インターフェース手段から前記秘密鍵dを取得してデジタル署名パラメータsを生成する。
(方式3)
前記装置は秘密鍵記憶手段をさらに含み、前記パラメータ入力インターフェース手段は前記秘密鍵dを取得し、前記秘密鍵記憶手段は前記パラメータ入力インターフェース手段により取得された前記秘密鍵dを保存し、前記大整数演算手段は前記秘密鍵記憶手段から前記秘密鍵dを取得してデジタル署名パラメータsを生成する。
本発明の実施例に係る第1種の方法のフローチャートである。 本発明の実施例に係る第2種の方法のフローチャートである。 本発明の実施例に係る第3種の方法のフローチャートである。 本発明の実施例に係る装置を示す図である。
本願の実施例に係るデジタル署名を生成する方法、装置では、装置が、有効性判定条件を満たすデジタル署名パラメータrを生成し、秘密鍵d、値範囲が[1,n−1]の乱数k、デジタル署名パラメータr及び楕円曲線パラメータnを用いて、以下の式
Figure 0006353536
に基づいてデジタル署名パラメータsを生成し、生成されたデジタル署名パラメータsが0であるか否かを判断し、0の場合、デジタル署名パラメータsが0でないものとなるまで、有効性判定条件を満たすデジタル署名パラメータrを生成し直し、秘密鍵d、生成し直された値範囲が[1,n−1]の乱数k、生成し直されたデジタル署名パラメータr及び楕円曲線パラメータnを用いて、デジタル署名パラメータsを生成し直し、最終的に取得されたデジタル署名パラメータr及び0でないデジタル署名パラメータsのデータ型をバイトストリングに変換し、デジタル署名(r,s)を取得する。デジタル署名パラメータsを取得する場合、大整数演算の回数を低減でき、SM2デジタル署名生成アルゴリズムに基づくデジタル署名生成の演算効率を向上できる。
以下は図面を参照しながら、本願の実施例に係る態様を詳細に説明する。
図1に示すように、本願の実施例に係るデジタル署名の生成方法は具体的に以下の処理を含む。
ステップ100: 装置は有効性判定条件を満たすデジタル署名パラメータrを生成する。
ここで、有効性判定条件を満たすことは、得られたデジタル署名パラメータrが0ではなく、且つr+kがnではないことを指す。nは楕円曲線パラメータであり、kは値範囲が[1,n−1]の乱数である。
SM2デジタル署名生成アルゴリズムにおけるrの計算方法を用いて有効性判定条件を満たすデジタル署名パラメータを生成してもよいが、これに限定されない。
ステップ110:該装置は、秘密鍵d、乱数k、デジタル署名パラメータr及び楕円曲線パラメータnを用いて、以下の式
Figure 0006353536
式5
に基づいてデジタル署名パラメータsを生成する。
ここで、式5は上記の式2の簡略化された形式である。式5に基づいてデジタル署名パラメータsを生成し、r・d演算を行う必要がなく、1回の大整数演算を低減できる。式の簡略化の原理は以下の通りである。
Figure 0006353536
ここで、秘密鍵dは、デジタル署名の使用者(例えばユーザA)の秘密鍵である。該デジタル署名の使用者は、システム又は装置であってもよく、具体的には、デジタル署名の使用者は、ユーザ装置(UE)であってもよいし、身元認証に関与するネットワークノード、例えば基地局、モビリティ管理エンティティ(MME)などであってもよい。
ステップ120:該装置は、生成されたデジタル署名パラメータsが0であるか否かを判断し、0でない場合、ステップ130を実行し、0の場合、生成されたデジタル署名パラメータsが0でないものとなるまで、有効性判定条件を満たすデジタル署名パラメータrを生成し直し、秘密鍵d、生成し直された値範囲が[1,n−1]の乱数k、生成し直されたデジタル署名パラメータr及び楕円曲線パラメータnを用いて、デジタル署名パラメータsを生成し直す。
ステップ130:該装置は、最終的に取得されたデジタル署名パラメータr及び0でないデジタル署名パラメータsのデータ型をバイトストリングに変換し、デジタル署名(r,s)を取得する。
上記操作を実行してデジタル署名を生成するデジタル署名生成者(即ち上記装置)は、デジタル署名使用者内部に設けられたサブシステム、ハードウェアモジュール、デジタル署名使用者内で実行可能なソフトウェアモジュール等であってもよいし、デジタル署名使用者と通信接続した、デジタル署名使用者により呼び出されたシステム又は装置であってもよい。
デジタル署名使用者の秘密鍵については、デジタル署名生成者がデジタル署名使用者の内部に設けられたサブシステム、ハードウェアモジュール、デジタル署名使用者内で実行可能なソフトウェアモジュール等である場合、デジタル署名生成者は該秘密鍵を生成、保存してもよい。デジタル署名使用者の秘密鍵について、デジタル署名生成者は、デジタル署名使用者側から取得して保存してもよいし、デジタル署名使用者側から取得して応用し、保存しなくてもよい。
実際の応用プロセスでは、式5に基づいて、具体的には、1回の大整数乗法演算又は大整数モジュラー乗算演算を低減するように、異なる実施方法によりデジタル署名パラメータsを取得してもよい。
好ましい態様の1つでは、該装置は、秘密鍵d、乱数k、デジタル署名パラメータr及び楕円曲線パラメータnを用いて、以下の式
Figure 0006353536
式6
に従ってデジタル署名パラメータsを生成する。
式6は
Figure 0006353536
の変形である。
言い換えれば、該装置はデジタル署名パラメータrと乱数kに対して大整数加法演算を行った後に、大整数加法演算の結果を用いて楕円曲線パラメータnに対してモジュロ演算を行い、秘密鍵dに1を加算し、楕円曲線パラメータnに対してモジュロ逆演算を行い、モジュロ演算の演算結果とモジュロ逆演算の演算結果に対して大整数乗法演算を行い、該大整数乗法演算の結果からデジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得する。
式の簡略化の原理は以下の通りである。
Figure 0006353536
該好ましい態様では、デジタル署名パラメータsを計算する際に、式6を用いて実現する。
なお、デジタル署名パラメータsの生成の具体的な方法は該好ましい実施例に限定されない。本願の実施例が簡略化された式5を提出し、式5に基づく具体的な実現方法は当業者にとって容易想到できるものであり、本願の保護範囲内のものに該当する。
上記のいずれかの実施例では、デジタル署名生成の演算効率をさらに向上するため、デジタル署名パラメータsを生成する前に、rの有効性判定条件の演算結果r+kをさらに取得してもよい。該装置は、秘密鍵d、rの有効性判定条件の演算結果r+k、秘密鍵d、デジタル署名パラメータr及び楕円曲線パラメータnを用いて、デジタル署名パラメータsを直接に生成してもよい。
上記の何れかの実施例では、デジタル署名生成の演算効率を向上するため、デジタル署名パラメータsを生成する前に、rの有効性判定条件の演算結果(r+k) mod nをさらに取得してもよい。該装置は、rの有効性判定条件の演算結果(r+k) mod n、秘密鍵d、デジタル署名パラメータr及び楕円曲線パラメータnを用いて、デジタル署名パラメータsを直接に生成してもよい。該好ましい態様では、有効性判定条件の演算結果(r+k) mod nに基づいてrの有効性を判断することは、有効性判定条件の演算結果r+kに基づいてrの有効性を判断することと等価的なものである。その等価原理として、SM2デジタル署名生成アルゴリズムでは、デジタル署名パラメータr及び乱数kの値範囲が共に[1,n−1]にあり、r+kの値範囲が[2,2n−2]にあるため、(r+k) mod n=0はr+k=nと等価的なものである。それに応じて、判定性条件を満たすデジタル署名パラメータrを生成するプロセスでは、r+k=nとなるか否かを判断することの代わりに、(r+k) mod n=0となるか否かを判断してもよい。
署名されるメッセージがMであると仮定すると、以下は、式6を一例として、図2を参照しながら、Mのデジタル署名(r,s)の取得の実現方法を詳細に説明する。該実現方法は具体的に以下の操作を含む。
ステップ200:デジタル署名使用者のハッシュ値及びメッセージMに対してカスケード演算を行い、即ち
-M=ZA||M
と設定する。
ステップ210:メッセージダイジェスト情報eを取得し、即ち
e=Hv(-M)
を計算し、eのデータ型をビットストリングから整数に変換する。
ステップ220:乱数発生器を用いて乱数
k∈[1, n-1]
を生成する。
ステップ230:楕円曲線点(x,y)=[k]Gを計算し、結果xはフィールド要素であり、xのデータ型を整数に変換する。
ステップ240:デジタル署名パラメータrを生成し、即ち
Figure 0006353536
式1
を計算する。
ステップ250:rに対して有効性判定を行う。t=r+kと仮定し、r及びtの値を判断し、r=0又はt=nの場合、rが有効性判定条件を満たさなく、ステップ220に戻り、r≠0且つt≠nの場合、rが有効性判定条件を満たし、ステップ260を実行する。
ステップ260:デジタル署名使用者の秘密鍵d、rの有効性判定条件の演算結果r+k、デジタル署名パラメータr及び楕円曲線パラメータnを用いて、以下の式
Figure 0006353536
式7
に従ってデジタル署名パラメータsを生成する。
なお、式7は上記の式6である。その相違点として、式7は、デジタル署名sを生成する時に、r+kを繰り返し計算する必要がなく、rの有効性判定条件の演算結果r+kを用いることを意味する。
ステップ270:sの値が0であるか否かを判断し、s=0の場合、ステップ220に戻り、そうでない場合、ステップ280を実行する。
ステップ280:取得されたデジタル署名パラメータr、sのデータ型を整数からバイトストリングに変換し、得られたメッセージMのデジタル署名が(r,s)である。
図2に示される実施例では、式7を用いてデジタル署名パラメータsを生成し、1回の大整数乗法又は1回の大整数モジュラー乗算演算を低減でき、式7を用いてデジタル署名パラメータsを生成する時に、rの有効性判定条件の演算結果(r+k)を直接に用いることができ、演算効率をさらに向上できる。
署名されるメッセージがMであると仮定すると、以下は、式6を一例とし、図3を参照しながらMのデジタル署名(r,s)の取得の実施形態を詳細に説明する。該実施形態は具体的に以下の操作を含む。
ステップ300:デジタル署名使用者のハッシュ値及びメッセージMに対してカスケード演算を行い、即ち
-M=ZA||M
と設定する。
ステップ310:メッセージダイジェスト情報eを取得し、即ち
e=Hv(-M)
を計算し、eのデータ型をビットストリングから整数に変換する。
ステップ320:乱数発生器を用いて乱数
k∈[1, n-1]
を生成する。
ステップ330:楕円曲線点(x,y)=[k]Gを計算し、結果xはフィールド要素であり、xのデータ型を整数に変換する。
ステップ340:デジタル署名パラメータrを生成し、即ち
Figure 0006353536
式1
を計算する。
ステップ350:rに対して有効性判定を行う。t=(r+k) mod nと仮定し、r及びtの値を判断し、r=0又はt=0の場合、rが有効性判定条件を満たさなく、ステップ320に戻り、r≠0且つt≠0の場合、rが有効性判定条件を満たし、ステップ360を実行する。
ステップ360:デジタル署名使用者の秘密鍵d、rの有効性判定条件の演算結果(r+k) mod n、デジタル署名パラメータr及び楕円曲線パラメータnを用いて、以下の式
Figure 0006353536
式8
に従ってデジタル署名パラメータsを生成する。
なお、式8は上記の式6である。その相違点として、式7は、デジタル署名sを生成する時に、(r+k) mod nを繰り返し計算する必要がなく、rの有効性判定条件の演算結果(r+k) mod nを用いることを意味する。
ステップ370:sの値が0であるか否かを判断し、s=0の場合、ステップ320に戻り、そうでない場合、ステップ380を実行する。
ステップ380:取得されたデジタル署名パラメータr、sのデータ型を整数からバイトストリングに変換し、得られたメッセージMのデジタル署名が(r,s)である。
図3に示される実施例では、式8を用いてデジタル署名パラメータsを生成し、1回の大整数乗法又は1回の大整数モジュラー乗算演算を低減でき、式8を用いてデジタル署名パラメータsを生成する時に、rの有効性判定条件の演算結果(r+k) mod nを直接に用いることができ、演算効率をさらに向上できる。
また、本願の実施形態を用いてデジタル署名の生成方法を改善する場合、式3に比べて1回の大整数乗法演算を節約し、式4に比べて1回の大整数モジュラー乗算演算を節約することに相当する。
方法と同じ発明の思想に基づいて、本発明の実施例はデジタル署名の生成装置をさらに提供し、その構成は図4に示し、具体的にはパラメータ入力インターフェース部401、カスケード演算部402、暗号ハッシュアルゴリズム演算部403、乱数発生器404、ECCアルゴリズム演算部405、データ型変換部406、大整数演算部407、有効性判定部408及びパラメータ出力インターフェース部409を含む。
パラメータ入力インターフェース部401は、ハッシュ値Z及び署名されるメッセージMを取得する。
パラメータ入力インターフェース部401は、取得されたハッシュ値Z及び署名されるメッセージMをカスケード演算部402に出力する。
カスケード演算部402は、パラメータ入力インターフェース部401により取得されたハッシュ値Z及び署名されるメッセージMに対してカスケード演算を行い、
-M
を生成する。
カスケード演算部402は、生成された
-M
を暗号ハッシュアルゴリズム演算部403に出力する。
暗号ハッシュアルゴリズム演算部403は、カスケード演算部402により生成された
-M
に対して暗号ハッシュ演算を行い、メッセージダイジェスト情報eを生成する。
暗号ハッシュアルゴリズム演算部403は、生成されたメッセージダイジェスト情報eをデータ型変換部406に出力する。
乱数発生器404は、値範囲が[1,n−1]の乱数kを生成する。
乱数発生器404は、生成された乱数をECCアルゴリズム演算部405に送信する。
ECCアルゴリズム演算部405は、乱数発生器404により生成された乱数kに基づいて楕円曲線アルゴリズムスカラー乗法演算(x,y)=kGを行い、楕円曲線点の横座標xを取得し、Gが楕円曲線パラメータである。
ECCアルゴリズム演算部405は、取得された楕円曲線点の横座標xをデータ型変換部406に出力する。
データ型変換部406は、暗号ハッシュアルゴリズム演算部403により生成されたメッセージダイジェスト情報eのデータ型を整数型に変換し、ECCアルゴリズム演算部405により生成された楕円曲線点の横座標xのデータ型を整数型に変換する。
データ型変換部406は、データ型が変換されたメッセージダイジェスト情報e及び楕円曲線点の横座標xを大整数演算部407に出力する。
大整数演算部407は、データ型変換部406によりデータ型が変換されたメッセージダイジェスト情報e及び楕円曲線点の横座標xを用いて、デジタル署名パラメータrを生成する。
大整数演算部407は、デジタル署名パラメータrを有効性判定部408に出力する。
有効性判定部408は、大整数演算部407により生成されたデジタル署名パラメータrに対して有効性判定を行う。
デジタル署名パラメータrが有効性判定条件を満たしていない場合、乱数発生器404は値範囲が[1,n−1]の乱数kを生成し直し、ECCアルゴリズム演算部405は乱数発生器404により生成し直された乱数kに基づいて楕円曲線点の横座標xを取得し直し、データ型変換部406は取得し直された楕円曲線点の横座標xに対してデータ型の変換を行い、大整数演算部407はメッセージダイジェスト情報e及び生成し直された楕円曲線点の横座標xに基づいてデジタル署名パラメータrを生成し直し、有効性判定部408は生成し直されたデジタル署名パラメータr及び生成し直された乱数kを用いて、生成し直されたデジタル署名パラメータrに対して有効性判定を行う。
デジタル署名パラメータrが有効性判定条件を満たさない場合、有効性判定部408が乱数発生器404をトリガして乱数を生成し直してもよいし、他に設定された制御部が乱数発生器404をトリガして乱数を生成し直してもよい。
大整数演算部407は、秘密鍵d、乱数発生器404により生成された乱数k、デジタル署名パラメータr及び楕円曲線パラメータnを用いて、以下の式
Figure 0006353536
に基づいてデジタル署名パラメータsを生成する。
有効性判断部408は、大整数演算部407により生成されたデジタル署名パラメータsが0であるか否かを判断する。
0の場合、乱数生成器404は値範囲が[1,n−1]の乱数kを生成し直し、大整数演算部407は、デジタル署名パラメータrを生成し直し、生成し直されたデジタル署名パラメータrが有効性判定条件を満たしているとき、秘密鍵d、生成し直された値範囲が[1,n−1]の乱数k、生成し直されたデジタル署名パラメータr及び楕円曲線パラメータnを用いて、デジタル署名パラメータsを生成し直す。
データ型変換部406は、大整数演算部407により最終的に生成されたデジタル署名パラメータr及び0でないデジタル署名パラメータsのデータ型をバイトストリングに変換し、デジタル署名(r,s)を取得する。
パラメータ出力インターフェース部409は、デジタル署名(r,s)を出力する。
好ましくは、デジタル署名パラメータsを生成する場合、大整数演算部407は、デジタル署名パラメータrと乱数発生器404により生成された乱数kに対して大整数加法演算して、大整数加法演算の結果を用いて楕円曲線パラメータnに対してモジュロ演算を行い、秘密鍵dに1を加算して、楕円曲線パラメータnに対してモジュロ逆演算を行い、モジュロ演算の結果とモジュロ逆演算の結果に対して大整数乗法演算を行い、大整数乗法演算の結果からデジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得する。
図4に示される実施例では、好ましくは、有効性判定部408がデジタル署名パラメータrの有効性判定条件の演算結果r+kを用いてデジタル署名パラメータrの有効性を判定する場合、大整数演算部407は、デジタル署名パラメータrを生成した後に、生成されたデジタル署名パラメータr及び乱数生成器404により生成された乱数kを用いて、デジタル署名パラメータrの有効性判定条件の演算結果r+kを生成する。
デジタル署名パラメータsを生成する場合、大整数演算部407は、rの有効性判定条件の演算結果r+kを用いて楕円曲線パラメータnに対してモジュロ演算を行い、秘密鍵dに1を加算して、楕円曲線パラメータnに対してモジュロ逆演算を行い、モジュロ演算の結果とモジュロ逆演算の結果に対して大整数乗法演算を行い、大整数乗法演算の結果からデジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得する。
図4に示される実施例では、好ましくは、有効性判定部408がデジタル署名パラメータrの有効性判定条件の演算結果(r+k) mod nを用いてデジタル署名パラメータrの有効性を判定する場合、大整数演算部407は、デジタル署名パラメータrを生成した後に、生成されたデジタル署名パラメータr、乱数生成器404により生成された乱数k及び楕円曲線パラメータnを用いて、デジタル署名パラメータrの有効性判定条件の演算結果(r+k) mod nを生成する。
デジタル署名パラメータsを生成する場合、大整数演算部407は、秘密鍵dに1を加算して、楕円曲線パラメータnに対してモジュロ逆演算を行い、rの有効性判定条件の演算結果(r+k) mod nとモジュロ逆演算の結果に対して大整数乗法演算を行い、大整数乗法演算の結果からデジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得する。
図4に示される任意の実施例では、大整数演算部407に用いられる秘密鍵dは本装置により生成されてもよいし、外部から取得されてもよい。以下は例を挙げて説明する。
(方式1)
本願の実施例に係る装置は秘密鍵生成部及び秘密鍵記憶部をさらに含む。秘密鍵生成部は、秘密鍵dを生成する。秘密鍵記憶部は、秘密鍵生成部により生成された秘密鍵dを保存する。
それに応じて、大整数演算部407は、秘密鍵記憶部から秘密鍵dを取得してデジタル署名パラメータsを生成する。
(方式2)
パラメータ入力インターフェース部401は秘密鍵dを取得する。それに応じて、大整数演算部407はパラメータ入力インターフェース部401から秘密鍵dを取得してデジタル署名パラメータsを生成する。
(方式3)
本願の実施例に係る装置は秘密鍵記憶部をさらに含む。パラメータ入力インターフェース部401は秘密鍵dを取得する。秘密鍵記憶部はパラメータ入力インターフェース部401により取得された秘密鍵dを保存する。それに応じて、大整数演算部407は秘密鍵記憶部から秘密鍵dを取得してデジタル署名パラメータsを生成する。
なお、本発明の実施例に提供されるものは方法、システム又はコンピュータプログラムプロダクトであってもよい。従って、本願は、完全なハードウェア実施例、完全なソフトウェア実施例、又はソフトウェアとハードウェアを組み合わせた実施例の形を採用してもよい。また、本願は、1つ又は複数のコンピュータに利用可能なプログラムコードを含むコンピュータに利用可能な記憶媒体(磁気ディスクメモリ、CD−ROM、光学的メモリ等を含むが、それらに限定されない)に実施されるコンピュータプログラムプロダクトの形を採用してもよい。
本願は、本願の実施例に係る方法、装置(システム)及びコンピュータプログラムプロダクトのフローチャート及び/又はブロック図を参照しながら説明される。なお、コンピュータプログラム指令により、フローチャート及び/又はブロック図の各フロー及び/又はブロック、並びにフローチャート及び/又はブロック図のフロー及び/又はブロックの組み合わせを実現してもよい。これらのコンピュータプログラム指令を汎用コンピュータ、専用コンピュータ、埋め込みプロセッサ又は他のプログラム可能なデータ処理装置の処理器に提供して機器を生成し、コンピュータ又は他のプログラム可能なデータ処理装置の処理器により実行される指令を介して、フローチャートの1つ若しくは複数のフロー、及び/又はブロック図の1つ若しくは複数のブロックにおける指定の機能を実現するための装置を生成する。
これらのコンピュータプログラム指令は、コンピュータ又は他のプログラム可能なデータ処理装置に特定の方式で作動させるコンピュータ読み取り可能な記憶装置に記憶されてもよく、該コンピュータ読み取り可能な記憶装置に記憶された指令に指令装置を含む製造品を生成させ、該指令装置はフローチャートの1つ若しくは複数のフロー及び/又はブロック図の1つ若しくは複数のブロックにおける指定の機能を実現する。
これらのコンピュータプログラム指令は、コンピュータ又は他のプログラム可能なデータ処理装置にセットアップされてもよく、コンピュータ又は他のプログラム可能な装置において一列の操作ステップを実行してコンピュータで実現される処理を生成し、コンピュータ又は他のプログラム可能な装置において実行される指令は、フローチャートの1つ若しくは複数のフロー及び/又はブロック図の1つ若しくは複数のブロックにおける指令の機能を実現するためのステップを提供する。
本願の好ましい実施例を説明しているが、当業者が一旦基本的な進歩性概念を知れば、これらの実施例に対して他の変更及び修正を行うことができる。このため、添付された特許請求の範囲が好ましい実施例並びに本願の範囲に入る全ての変更及び修正を含むと解釈される。
なお、当業者は本願の主旨及び範囲から離脱することなく本願に対して各種の変更及び変形を行ってもよい。これによって、本願のこれらの変更及び変形が本願の特許請求の範囲及びそれと同等な技術的な範囲に属すれば、本願はこれらの変更及び変形をさらに含む。

Claims (10)

  1. デジタル署名の生成方法であって、
    装置が、有効性判定条件を満たすデジタル署名パラメータrを生成することと、
    前記装置が、秘密鍵d、値範囲が[1,n−1]の乱数k、前記デジタル署名パラメータr及び楕円曲線パラメータnを用いて、以下の式
    Figure 0006353536
    に基づいてデジタル署名パラメータsを生成することと、
    前記装置が、生成されたデジタル署名パラメータsが0であるか否かを判断し、0の場合、前記デジタル署名パラメータsが0でないものとなるまで、有効性判定条件を満たすデジタル署名パラメータrを生成し直し、前記秘密鍵d、生成し直された値範囲が[1,n−1]の乱数k、前記生成し直されたデジタル署名パラメータr及び前記楕円曲線パラメータnを用いて、デジタル署名パラメータsを生成し直すことと、
    前記装置が、最終的に取得されたデジタル署名パラメータr及び0でないデジタル署名パラメータsのデータ型をバイトストリングに変換し、デジタル署名(r,s)を取得することと、を含むことを特徴とする方法。
  2. 前記装置が
    Figure 0006353536
    に基づいてデジタル署名パラメータsを生成することは、
    前記装置が、デジタル署名パラメータrと乱数kに対して大整数加法演算を行って、大整数加法演算の結果を用いて楕円曲線パラメータnに対してモジュロ演算を行うことと、
    前記装置が、秘密鍵dに1を加算し、楕円曲線パラメータnに対してモジュロ逆演算を行うことと、
    前記装置が、モジュロ演算の演算結果とモジュロ逆演算の演算結果に対して大整数乗法演算を行うことと、
    前記装置が、該大整数乗法演算の結果からデジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得することと、を含むことを特徴とする請求項1に記載の方法。
  3. デジタル署名パラメータsを生成する前に、
    前記装置が、秘密鍵d、rの有効性判定条件の演算結果r+k、前記デジタル署名パラメータr及び楕円曲線パラメータnを用いてデジタル署名パラメータsを生成するように、rの有効性判定条件の演算結果r+kを取得すること、をさらに含むことを特徴とする請求項1又は2に記載の方法。
  4. デジタル署名パラメータsを生成する前に、
    前記装置が、秘密鍵d、rの有効性判定条件の演算結果(r+k) mod n、前記デジタル署名パラメータr及び楕円曲線パラメータnを用いてデジタル署名パラメータsを生成するように、rの有効性判定条件の演算結果(r+k) mod nを取得すること、をさらに含むことを特徴とする請求項1又は2に記載の方法。
  5. デジタル署名の生成装置であって、
    ハッシュ値Z及び署名されるメッセージMを取得するパラメータ入力インターフェース手段と、
    前記パラメータ入力インターフェース手段により取得されたハッシュ値Z及び署名されるメッセージMに対してカスケード演算を行い、
    -M
    を生成するカスケード演算手段と、
    前記カスケード演算手段により生成された
    -M
    に対して暗号ハッシュ演算を行い、メッセージダイジェスト情報eを生成する暗号ハッシュアルゴリズム演算手段と、
    値範囲が[1,n−1]の乱数kを生成する乱数発生器と、
    前記乱数発生器により生成された乱数kに基づいて楕円曲線アルゴリズムスカラー乗法演算(x,y)=kGを行い、楕円曲線点の横座標xを取得するECCアルゴリズム演算手段であって、Gが楕円曲線パラメータである、ECCアルゴリズム演算手段と、
    前記暗号ハッシュアルゴリズム演算手段により生成されたメッセージダイジェスト情報eのデータ型を整数型に変換し、前記ECCアルゴリズム演算手段により生成された楕円曲線点の横座標xのデータ型を整数型に変換するデータ型変換手段と、
    前記データ型変換手段によりデータ型が変換されたメッセージダイジェスト情報e及び楕円曲線点の横座標xを用いて、デジタル署名パラメータrを生成する大整数演算手段と、
    前記大整数演算手段により生成されたデジタル署名パラメータrに対して有効性判定を行う有効性判定手段と、
    デジタル署名(r,s)を出力するパラメータ出力インターフェース手段と、を含み、
    前記デジタル署名パラメータrが有効性判定条件を満たしていない場合、前記乱数発生器は値範囲が[1,n−1]の乱数kを生成し直し、前記ECCアルゴリズム演算手段は前記乱数発生器により生成し直された乱数kに基づいて楕円曲線点の横座標xを取得し直し、前記データ型変換手段は取得し直された楕円曲線点の横座標xに対してデータ型の変換を行い、前記大整数演算手段は前記メッセージダイジェスト情報e及び生成し直された楕円曲線点の横座標xに基づいてデジタル署名パラメータrを生成し直し、前記有効性判定手段は生成し直されたデジタル署名パラメータr及び生成し直された乱数kを用いて、生成し直されたデジタル署名パラメータrに対して有効性判定を行い、
    前記大整数演算手段は、秘密鍵d、前記乱数発生器により生成された前記乱数k、前記デジタル署名パラメータr及び楕円曲線パラメータnを用いて、以下の式
    Figure 0006353536
    に基づいてデジタル署名パラメータsを生成し、
    前記有効性判断手段は、前記大整数演算手段により生成されたデジタル署名パラメータsが0であるか否かを判断し、
    0の場合、前記乱数生成器は値範囲が[1,n−1]の乱数kを生成し直し、前記大整数演算手段は、デジタル署名パラメータrを生成し直し、前記生成し直されたデジタル署名パラメータrが有効性判定条件を満たしているとき、前記秘密鍵d、生成し直された値範囲が[1,n−1]の乱数k、前記生成し直されたデジタル署名パラメータr及び前記楕円曲線パラメータnを用いて、デジタル署名パラメータsを生成し直し、
    前記データ型変換手段は、前記大整数演算手段により最終的に生成されたデジタル署名パラメータr及び0でないデジタル署名パラメータsのデータ型をバイトストリングに変換し、前記デジタル署名(r,s)を取得することを特徴とする装置。
  6. デジタル署名パラメータsを生成する場合、前記大整数演算手段は、
    前記デジタル署名パラメータrと前記乱数発生器により生成された乱数kに対して大整数加法演算して、大整数加法演算の結果を用いて楕円曲線パラメータnに対してモジュロ演算を行い、
    秘密鍵dに1を加算して、楕円曲線パラメータnに対してモジュロ逆演算を行い、
    前記モジュロ演算の結果と前記モジュロ逆演算の結果に対して大整数乗法演算を行い、
    前記大整数乗法演算の結果から前記デジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得することを特徴とする請求項5に記載の装置。
  7. 前記有効性判定手段がデジタル署名パラメータrの有効性判定条件の演算結果r+kを用いてデジタル署名パラメータrの有効性を判定する場合、前記大整数演算手段は、前記デジタル署名パラメータrを生成した後に、生成されたデジタル署名パラメータr及び前記乱数生成器により生成された前記乱数kを用いて、デジタル署名パラメータrの有効性判定条件の演算結果r+kを生成し、
    デジタル署名パラメータsを生成する場合、前記大整数演算手段は、
    前記rの有効性判定条件の演算結果r+kを用いて楕円曲線パラメータnに対してモジュロ演算を行い、
    秘密鍵dに1を加算して、楕円曲線パラメータnに対してモジュロ逆演算を行い、
    前記モジュロ演算の結果と前記モジュロ逆演算の結果に対して大整数乗法演算を行い、
    前記大整数乗法演算の結果から前記デジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得することを特徴とする請求項5に記載の装置。
  8. 前記有効性判定手段がデジタル署名パラメータrの有効性判定条件の演算結果(r+k) mod nを用いてデジタル署名パラメータrの有効性を判定する場合、前記大整数演算手段は、前記デジタル署名パラメータrを生成した後に、生成されたデジタル署名パラメータr、前記乱数生成器により生成された前記乱数k及び楕円曲線パラメータnを用いて、デジタル署名パラメータrの有効性判定条件の演算結果(r+k) mod nを生成し、
    デジタル署名パラメータsを生成する場合、前記大整数演算手段は、
    秘密鍵dに1を加算して、楕円曲線パラメータnに対してモジュロ逆演算を行い、
    前記rの有効性判定条件の演算結果(r+k) mod nと前記モジュロ逆演算の結果に対して大整数乗法演算を行い、
    前記大整数乗法演算の結果から前記デジタル署名パラメータrを引いて、楕円曲線パラメータnに対してモジュロ演算を行い、デジタル署名パラメータsを取得することを特徴とする請求項5に記載の装置。
  9. 前記秘密鍵dを生成する秘密鍵生成手段と、
    前記秘密鍵生成手段により生成された前記秘密鍵dを保存する秘密鍵記憶手段と、をさらに含み、
    前記大整数演算手段は、前記秘密鍵記憶手段から前記秘密鍵dを取得してデジタル署名パラメータsを生成することを特徴とする請求項5〜8のいずれかに記載の装置。
  10. 前記パラメータ入力インターフェース手段は前記秘密鍵dを取得し、前記大整数演算手段は前記パラメータ入力インターフェース手段から前記秘密鍵dを取得してデジタル署名パラメータsを生成し、或いは
    前記装置は秘密鍵記憶手段をさらに含み、前記パラメータ入力インターフェース手段は前記秘密鍵dを取得し、前記秘密鍵記憶手段は前記パラメータ入力インターフェース手段により取得された前記秘密鍵dを保存し、前記大整数演算手段は前記秘密鍵記憶手段から前記秘密鍵dを取得してデジタル署名パラメータsを生成する、ことを特徴とする請求項5〜8のいずれかに記載の装置。
JP2016533807A 2013-08-16 2014-08-14 デジタル署名の生成方法及び装置 Active JP6353536B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310363349.7 2013-08-16
CN201310363349.7A CN103427997B (zh) 2013-08-16 2013-08-16 一种生成数字签名的方法及装置
PCT/CN2014/084380 WO2015021934A1 (zh) 2013-08-16 2014-08-14 一种生成数字签名的方法及装置

Publications (2)

Publication Number Publication Date
JP2016528555A JP2016528555A (ja) 2016-09-15
JP6353536B2 true JP6353536B2 (ja) 2018-07-04

Family

ID=49652205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016533807A Active JP6353536B2 (ja) 2013-08-16 2014-08-14 デジタル署名の生成方法及び装置

Country Status (6)

Country Link
US (1) US10038561B2 (ja)
EP (1) EP3035590B1 (ja)
JP (1) JP6353536B2 (ja)
KR (1) KR101992270B1 (ja)
CN (1) CN103427997B (ja)
WO (1) WO2015021934A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103427997B (zh) * 2013-08-16 2016-06-22 西安西电捷通无线网络通信股份有限公司 一种生成数字签名的方法及装置
CN104683102A (zh) * 2013-11-29 2015-06-03 上海复旦微电子集团股份有限公司 一种sm2签名计算方法和装置
CN103701598B (zh) * 2013-12-05 2017-07-11 武汉信安珞珈科技有限公司 一种基于sm2签名算法的复核签名方法和数字签名设备
US10503510B2 (en) 2013-12-27 2019-12-10 Intel Corporation SM3 hash function message expansion processors, methods, systems, and instructions
US9317719B2 (en) 2014-09-04 2016-04-19 Intel Corporation SM3 hash algorithm acceleration processors, methods, systems, and instructions
US9658854B2 (en) 2014-09-26 2017-05-23 Intel Corporation Instructions and logic to provide SIMD SM3 cryptographic hashing functionality
FR3035986B1 (fr) * 2015-05-06 2018-07-27 Morpho Procede de generation d'une signature de message a partir d'un jeton de signature chiffre a l'aide d'une fonction de chiffrement homomorphique
CN106856431A (zh) * 2015-12-09 2017-06-16 上海华虹集成电路有限责任公司 改进的椭圆曲线数字签名算法及验签方法
FR3045253A1 (fr) * 2015-12-15 2017-06-16 Oberthur Technologies Procede et dispositif de traitement cryptographique
US10341098B2 (en) * 2017-01-24 2019-07-02 Nxp B.V. Method of generating cryptographic key pairs
GB2560636A (en) * 2017-02-22 2018-09-19 Ctia The Wireless Ass Mobile message source authentication
CN106712968B (zh) * 2017-02-22 2019-08-30 北京智慧云测科技有限公司 密钥获取方法、数字签名方法和装置
CN106899413B (zh) * 2017-04-07 2020-05-08 深圳奥联信息安全技术有限公司 数字签名验证方法及系统
CN107040385B (zh) * 2017-05-23 2020-10-27 广东工业大学 一种基于sm2椭圆曲线的签名验证算法的实现方法及系统
CN107294720A (zh) * 2017-07-07 2017-10-24 广东工业大学 一种素域Fp下的SM2椭圆曲线公钥加密算法的硬件实现系统
CN109936455B (zh) * 2017-12-19 2022-06-07 航天信息股份有限公司 一种数字签名的方法、装置和系统
CN108259184B (zh) * 2018-01-16 2021-06-08 飞天诚信科技股份有限公司 一种基于用户标识的数字签名、验签方法及装置
CN110278073B (zh) * 2018-03-14 2021-11-02 西安西电捷通无线网络通信股份有限公司 一种群组数字签名、验证方法及其设备和装置
CN110278082B (zh) * 2018-03-14 2021-11-16 西安西电捷通无线网络通信股份有限公司 一种群组数字签名的群组成员发布方法和设备
CN108667621A (zh) * 2018-05-14 2018-10-16 河南科技大学 一种椭圆曲线数字签名方法
CN108809658B (zh) * 2018-07-20 2021-06-01 武汉大学 一种基于sm2的身份基的数字签名方法与系统
CN109698751A (zh) * 2018-11-09 2019-04-30 北京中宇万通科技股份有限公司 数字签名生成及验签方法、计算机设备和存储介质
CN109586912B (zh) * 2018-11-09 2020-04-07 天津海泰方圆科技有限公司 一种sm2数字签名的生成方法、系统、设备及介质
CN109872155A (zh) * 2019-02-22 2019-06-11 矩阵元技术(深圳)有限公司 数据处理方法和装置
WO2019170168A2 (en) * 2019-05-31 2019-09-12 Alibaba Group Holding Limited Method for restoring public key based on sm2 signature
CN110493003B (zh) * 2019-06-24 2021-08-17 广东工业大学 一种基于四基二进制底层模运算的快速加密系统
CN110535636B (zh) * 2019-07-19 2022-04-15 北京向芯力科技有限公司 一种轻量级的基于sm2算法的协同签名方法与装置
CN110365487A (zh) * 2019-07-19 2019-10-22 北京向芯力科技有限公司 一种基于sm2算法的协同签名方法与装置
KR102449817B1 (ko) * 2019-09-17 2022-09-30 (주)라닉스 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법
CN110990896B (zh) * 2019-12-03 2023-01-06 成都卫士通信息产业股份有限公司 基于sm2白盒的数字签名装置、方法、存储介质及设备
CN111147250B (zh) * 2019-12-18 2022-08-02 北京江南天安科技有限公司 一种数字签名方法、装置、发送端、接收端及系统
CN111162907B (zh) * 2019-12-28 2023-05-23 飞天诚信科技股份有限公司 一种协商密钥的生成方法及智能卡设备
CN111475856B (zh) * 2020-04-03 2023-12-22 数据通信科学技术研究所 数字签名方法和验证数字签名的方法
CN111861474A (zh) * 2020-08-04 2020-10-30 晋商博创(北京)科技有限公司 基于cpk的转账方法、用户终端及云端服务器
CN112152808B (zh) * 2020-09-27 2022-11-11 成都国泰网信科技有限公司 一种基于sm2算法的多方协同数字签名方法
CN112152807B (zh) * 2020-09-27 2022-11-11 成都国泰网信科技有限公司 一种基于sm2算法的两方协同数字签名方法
CN112100644B (zh) * 2020-11-19 2021-03-16 飞天诚信科技股份有限公司 一种生成数据签名的方法及装置
CN112737778B (zh) * 2020-12-30 2022-08-12 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 数字签名生成、验证方法及装置、电子设备及存储介质
CN114285577B (zh) * 2021-04-27 2024-05-03 博雅中科(北京)信息技术有限公司 多方协同签名方法及系统
CN113190862B (zh) * 2021-05-10 2023-01-06 成都卫士通信息产业股份有限公司 基于sm2的无证书密钥生成方法、装置、电子设备及介质
CN113992329B (zh) * 2021-10-28 2023-04-07 深圳前海微众银行股份有限公司 一种区块链下基于sm2的交易签名方法、装置、设备及介质
CN114205081B (zh) * 2021-12-03 2023-12-19 中国科学院大学 一种保护用户隐私的盲协同签名方法
CN114257380A (zh) * 2021-12-20 2022-03-29 湖南国科微电子股份有限公司 一种数字签名方法、系统及设备
CN114928438A (zh) * 2022-02-10 2022-08-19 中国科学院信息工程研究所 抗内存信息泄露攻击的椭圆曲线数字签名计算方法及装置
CN114338049B (zh) * 2022-03-14 2022-07-05 山东区块链研究院 基于模归约的国密算法sm2的快速实现方法及系统
CN115208615B (zh) * 2022-05-20 2023-12-19 北京科技大学 一种数控系统数据加密传输方法
CN116032490B (zh) * 2023-01-09 2023-10-03 郑州轻工业大学 一种基于改进SM2算法的Fabric区块链构建方法
CN117041961B (zh) * 2023-09-05 2024-06-11 北京电子科技学院 基于sm2无证书的车联网终端认证方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100363253B1 (ko) * 2000-01-07 2002-11-30 삼성전자 주식회사 통신에서 비밀키를 생성하는 방법 및 그 장치
JP4193176B2 (ja) * 2003-11-11 2008-12-10 学校法人金沢工業大学 楕円曲線整数倍演算装置、ならびにその装置を利用可能な鍵生成装置、暗号化装置および復号装置
CA2542556C (en) * 2005-06-03 2014-09-16 Tata Consultancy Services Limited An authentication system executing an elliptic curve digital signature cryptographic process
US8027466B2 (en) * 2007-03-07 2011-09-27 Research In Motion Limited Power analysis attack countermeasure for the ECDSA
US20090016523A1 (en) * 2007-07-12 2009-01-15 Atmel Corporation Masking and Additive Decomposition Techniques for Cryptographic Field Operations
CN101610153A (zh) * 2008-06-20 2009-12-23 航天信息股份有限公司 基于椭圆曲线签名算法的电子签章认证方法
CN102761415B (zh) * 2011-04-27 2015-04-08 航天信息股份有限公司 p元域SM2椭圆曲线的数字签名生成、验证及混合系统
US8971528B2 (en) * 2013-01-29 2015-03-03 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN103427997B (zh) 2013-08-16 2016-06-22 西安西电捷通无线网络通信股份有限公司 一种生成数字签名的方法及装置

Also Published As

Publication number Publication date
US10038561B2 (en) 2018-07-31
EP3035590B1 (en) 2018-11-21
EP3035590A1 (en) 2016-06-22
CN103427997B (zh) 2016-06-22
KR101992270B1 (ko) 2019-06-24
EP3035590A4 (en) 2016-08-17
KR20160042435A (ko) 2016-04-19
CN103427997A (zh) 2013-12-04
WO2015021934A1 (zh) 2015-02-19
JP2016528555A (ja) 2016-09-15
US20160191252A1 (en) 2016-06-30

Similar Documents

Publication Publication Date Title
JP6353536B2 (ja) デジタル署名の生成方法及び装置
CN109246129B (zh) 一种可验证客户端身份的sm2协同签名方法及系统
TW202101432A (zh) 實現隱私保護的數據同態加解密方法及裝置
JP2013524263A5 (ja)
Perrin The xeddsa and vxeddsa signature schemes
JP2007139895A (ja) 暗号装置、復号装置、プログラム及び方法
CN106533699A (zh) 一种标准模型下格上基于身份的盲签名方法
KR20110136787A (ko) 타원 곡선상의 점의 부호화
Ma et al. Authenticated data redaction with fine-grained control
US20210157955A1 (en) Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program
CN107463849B (zh) 基于单服务器的隐私信息恢复方法
TWI444028B (zh) 應用增強型窗口方法和相互交替型式於純量乘法演算法之橢圓形曲線加密方法
KR101523053B1 (ko) 래티스 기반 증명가능암호 서명 시스템 및 방법
CN1885769B (zh) 数字摘要生成装置和方法,以及ca签名系统和方法
JP2011259389A (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
JP6305643B2 (ja) メッセージ認証子生成装置、メッセージ認証子生成方法及びメッセージ認証子生成プログラム
JP4914377B2 (ja) 署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム
de Oliveira et al. An efficient software implementation of the hash-based signature scheme MSS and its variants
Ali New most efficient state recovery attacks on an estream candidate f-fcsr-h v2 and f-fcsr-h stream ciphers
CN111030823A (zh) 超轻量级多次签名的数据处理方法、系统、物联网平台
JP4861369B2 (ja) リカバリ署名システム、署名生成装置、署名検証装置、それらの方法、及びプログラム
JP5528842B2 (ja) ハッシングする方法及び装置
KR101214789B1 (ko) GF(3^m)에서의 메시지 매핑 방법 및 이를 이용한 페어링 암호 시스템
Algehawi et al. Calculation Enhancement of Chebyshev Polynomial over Zp
CN109361504B (zh) 一种基于区块链的多用户通信密钥协商方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180608

R150 Certificate of patent or registration of utility model

Ref document number: 6353536

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250