JP7301039B2 - 閾値デジタル署名方法及びシステム - Google Patents

閾値デジタル署名方法及びシステム Download PDF

Info

Publication number
JP7301039B2
JP7301039B2 JP2020506735A JP2020506735A JP7301039B2 JP 7301039 B2 JP7301039 B2 JP 7301039B2 JP 2020506735 A JP2020506735 A JP 2020506735A JP 2020506735 A JP2020506735 A JP 2020506735A JP 7301039 B2 JP7301039 B2 JP 7301039B2
Authority
JP
Japan
Prior art keywords
shares
share
polynomial function
threshold number
private key
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
JP2020506735A
Other languages
English (en)
Other versions
JP2020531893A (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.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings 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
Priority claimed from GBGB1713064.2A external-priority patent/GB201713064D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of JP2020531893A publication Critical patent/JP2020531893A/ja
Priority to JP2023100467A priority Critical patent/JP2023120347A/ja
Application granted granted Critical
Publication of JP7301039B2 publication Critical patent/JP7301039B2/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/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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/304Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy based on error correction codes, e.g. McEliece
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

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

Description

本発明は、概して、データ及びコンピュータに基づくリソースの安全性に関係がある。より具体的には、本発明は、暗号通貨及び暗号化に、更には、楕円曲線暗号化(Elliptic Curve Cryptography)、楕円曲線デジタル署名アルゴリズム(Elliptic Curve Digital Signature Algorithm)(ECDSA)、及び閾値暗号化(Threshold Cryptography)に関係がある。本発明は、(例えば)ビットコインのような、ブロックチェーンにより実施される暗号通貨に関して利益をもたらすよう使用され得るが、この点において制限されず、より広い適用可能性を有することができる。本発明は、一実施形態では、ディーラーなしの秘密分配のための分配プロトコルを提供するものとして記載され得る。
本文書中、我々は、あらゆる形式の電子的な、コンピュータに基づく分散台帳(distributed ledgers)を含むように語「ブロックチェーン」を使用する。それらは、合意に基づくブロックチェーン及びトランザクションチェーン技術、許可(permissioned)及び無許可(un-permissioned)台帳、共有台帳、並びにこれらの変形を含む。ブロックチェーン技術の最も広く知られた応用は、他のブロックチェーン実施が提案及び開発されているとはいえ、ビットコイン台帳である。ビットコインが、便宜上、単に説明のために本明細書で言及され得るが、本発明は、ビットコインブロックチェーンとともに使用することに限られず、代替のブロックチェーン実施及びプロトコルが本発明の適用範囲内にあることが留意されるべきである。
ブロックチェーンは、ピア・ツー・ピアの電子台帳であり、これは、トランザクションから成るブロックで構成された、コンピュータに基づく非中央集権型システムとして実装される。各トランザクションは、ブロックチェーンシステム内の参加者間のデジタルアセットの制御の移転を符号化するデータ構造であり、少なくとも1つの入力及び少なくとも1つの出力を含む。ブロックチェーンにその始まり以来書き込まれてきた全てのトランザクションの永久的且つ不変な記録を構成するようブロックどうしが連鎖するように、各ブロックは前のブロックのハッシュを含む。
非中央集権化(decentralisation)の概念は、ビットコインメソッドロジにおいて基本的なことである。非中央集権型システムには、分散型又は中央集権型システムとは異なり、単一障害点がないという利点がある。従って、それらは、向上した安全性及び回復力のレベルを提供する。この安全性は、楕円曲線暗号化及びECDSAのような既知の暗号化技術の使用によって更に高められる。
しかし、ビットコインプロトコル自体は、本願の出願時点で、如何なる有意な攻撃に対しても回復力を持つことが証明されている一方で、ビットコインネットワークを補完又は構築するやり取り及びウォレットに対する攻撃も存在している。ビットコインの価値が高まるにつれて、マウントゴックス(Mt Gox)及びビットフィネックス(Bitfinex)に関連するもののような事件が、標準の中央集権型システムでますます起こる可能性がある。
よって、そのようなシステムの安全性を更に高める解決法の必要性が存在する。本発明は、とりわけ、そのような利点を提供する。
本発明は、添付の特許請求の範囲で定義される方法及びシステムを提供する。
本発明の態様によれば、暗号化システムの公開-秘密鍵対の公開鍵を用いて検証することができるデジタル署名を提供するよう、前記公開-秘密鍵対の秘密鍵を用いてデジタルメッセージにデジタル署名する方法であって、
前記デジタルメッセージの少なくとも閾数の部分署名を受け取り、前記部分署名の夫々は、前記メッセージに基づく各々の第1部分と、前記秘密鍵の各々のシェアに基づく各々の第2部分とを含み、前記秘密鍵は、該秘密鍵の前記閾数のシェアに利用可能であり、前記閾数に満たないシェアには利用不可能であり、前記部分署名の夫々は、第1多項式関数が、前記閾数の部分署名に利用可能であり、前記閾数に満たない部分署名には利用不可能であるように、前記第1多項式関数の各々の値に対応する、ことと、
前記部分署名の複数の既知の値から前記第1多項式関数の係数を決定することによって前記第1多項式関数を決定して、前記メッセージのデジタル署名を達成することと
を有する方法が提供される。
前記部分署名の複数の既知の値から前記第1多項式関数の係数を決定することによって前記第1多項式関数を決定することによれば、これは、当該方法の計算効率を改善するという利点をもたらす。
前記第1多項式を決定することは、エラー訂正アルゴリズムを実行することと、ADSLのような電子データ通信で使用される従来の復号器が使用されることを可能にすることとを有してよい。
これは、デジタル署名プロセスの正確さを向上させるという利点をもたらす。
前記第1多項式関数を決定することは、バーレカンプ-ウェルチ(Berlerkamp-Welch)復号化アルゴリズムを実行することを有してよい。
前記第1多項式関数を決定することは、
誤り位置多項式関数、及び前記第1多項式関数と前記誤り位置多項式関数との積である第2多項式関数とを定義することと、
前記部分署名の複数の既知の値から前記第2多項式関数及び前記誤り位置多項式関数の係数を決定することと、
前記メッセージのデジタル署名を達成するよう前記第2多項式関数及び前記誤り位置多項式関数から前記第1多項式関数を決定することと
を有してよい。
本発明の他の態様によれば、暗号化システムの公開-秘密鍵対の公開鍵を用いて検証することができるデジタル署名を提供するよう、前記公開-秘密鍵対の秘密鍵を用いてデジタルメッセージにデジタル署名する方法であって、
前記デジタルメッセージの少なくとも閾数の部分署名を受け取り、前記部分署名の夫々は、前記メッセージに基づく各々の第1部分と、前記秘密鍵の各々のシェアに基づく各々の第2部分と、ゼロ定数項を有する第3多項式関数の各々の値に対応する各々の第3部分とを含み、前記秘密鍵は、該秘密鍵の前記閾数のシェアに利用可能であり、前記閾数に満たないシェアには利用不可能であり、前記第3多項式関数は、該第3多項式関数の前記閾数のシェアに利用可能であり、前記閾数に満たないシェアには利用不可能であり、前記部分署名の夫々は、第4多項式関数が、前記閾数の部分署名に利用可能であり、前記閾数に満たない部分署名には利用不可能であるように、前記第4多項式関数の各々の値に対応する、ことと、
前記メッセージのデジタル署名を達成するよう前記第4多項式関数を決定することと
を有する方法が提供される。
各部分署名が、ゼロ定数項を有する第3多項式関数の各々の値に対応する各々の第3部分を含み、前記第3多項式が、該第3多項式関数の前記閾数のシェアに利用可能であり、前記閾数に満たないシェアには利用不可能である方法を提供することによれば、これは、デジタル署名プロセスで使用される秘密鍵及び/又は任意の一時鍵をマスキングし、それによって、それらの鍵が権限のないパーティによって決定されるリスクを最小限することによって、当該方法の安全性を高めるという利点をもたらす。
少なくとも1つの前記部分署名の前記各々の第3部分は、対応する前記第1部分及び対応する前記第2部分に加えられてよい。
前記部分署名の夫々は、一時鍵の各々のシェアに基づく各々の第4部分を更に含んでよく、前記一時鍵は、前記一時鍵の前記閾数のシェアに利用可能であり、前記閾数に満たないシェアには利用不可能である。
前記暗号化システムは、楕円曲線暗号化システムであってよい。
当該方法は、
第1参加者に知られている第1秘密値の少なくとも1つの各々の第1シェアを複数の第2参加者の夫々に分配し、前記第1シェアは、秘密鍵と、該秘密鍵を乗じられた楕円曲線生成元点である公開鍵とを有する少なくとも1つの秘密-公開鍵対を用いて暗号化され、第1閾数の第1シェアが、前記第1秘密値を決定することを前記第2参加者の夫々に可能にするために必要とされる、ことと、
複数の前記第2参加者の夫々から、当該第2参加者に知られている各々の第2秘密値の少なくとも1つの第2シェアを受け取り、前記第2シェアは、秘密鍵と、該秘密鍵を乗じられた楕円曲線生成元点である公開鍵とを有する少なくとも1つの秘密-公開鍵対を用いて暗号化され、第2閾数の第2シェアが、前記第2秘密値を決定することを当該第2参加者以外の参加者に可能にするために必要とされる、ことと、
複数の前記第2シェアから、第3秘密値の第3シェアを形成し、第3閾数の第3シェアが、前記第3秘密値が決定されることを可能にするために必要とされる、ことと
を更に有してよい。
複数の前記第2シェアから、第3秘密値の第3シェアを形成し、第3閾数の第3シェアが、前記第3秘密値が決定されることを可能にするために必要とされる、ことによれば、第1秘密値及び第2秘密値に対応する秘密鍵がメモリにおいて開示又は記憶されることはもはや不要であるから、これは、第1秘密値及び第2秘密値へのアクセスを最小限し、それによって、当該方法の安全性を改善するという利点をもたらす。
前記第1閾数は、前記第2閾数に等しくてよく、且つ/あるいは、前記第2閾数は、前記第3閾数に等しくてよく、且つ/あるいは、前記第3閾数は、前記第1閾数に等しくてよい。
当該方法は、前記第1参加者と複数の前記第2参加者の夫々との間の暗号化された通信を可能にすることを更に有してよい。
これは、一貫性のない又は不審なシェアを暗号化するために使用された暗号鍵を識別することによって、不正直な参加者がより容易に識別されることを可能にするという利点をもたらす。
前記暗号化された通信は、前記第1参加者と、該第1参加者から独立して前記複数の第2参加者の夫々とによって決定された各々の共通の秘密を用いて可能にされてよい。
これは、システムの安全性を高めるという利点をもたらす。
前記第1参加者は、秘密鍵を更新し、且つ、前記複数の第2参加者の夫々に関連した各々の公開鍵を更新してよく、前記複数の第2参加者の夫々は、各々の秘密鍵と、前記第1参加者に関連した公開鍵とを更新してよい。
前記鍵は、前記第1参加者と対応する前記第2参加者との間で同意されたデータを基に更新されてよい。
これは、システムの安全性を更に高める。
前記第1秘密値の前記第1シェア及び前記第2秘密値の前記第2シェアは、各々のシャミア秘密分散スキームにより生成されてよい。
複数の前記第3シェアは、第5多項式関数の各々の値であってよく、前記第3秘密値は、前記第3閾数の前記値から前記第5多項式関数を導出することによって決定可能である。
当該方法は、複数の前記第2参加者に対して、楕円曲線生成元点を乗じられた各々の前記第1シェアを送ることを更に有してよい。
当該方法は、複数の前記第2参加者から、楕円曲線生成元点を乗じられた少なくとも1つの各々の前記第2シェアを受け取ることを更に有してよい。
当該方法は、少なくとも1の前記第2参加者から直接受け取られた少なくとも1つの前記第2シェアと、少なくとも1の更なる前記第2参加者から受け取られた、前記楕円曲線生成元点を乗じられた少なくとも1つの前記第2シェアとの一貫性を検証することを更に有してよい。
これは、異なる第2参加者から受け取られたシェアの一貫性が、秘密鍵又はシェアを開示せずに、チェックされることを可能にし、それによって、当該方法の安全性を脅かすことなく、疑わしい信用できない参加者が無視されることを可能にするという利点をもたらす。
当該方法は、前記検証することに基づき前記第3秘密値を更新することを更に有してよい。
これは、システムの安全性を改善するという利点をもたらす。
少なくとも1つの前記第2シェアは、各々の第6多項式関数の値であってよく、対応する前記第2秘密値は、対応する第2閾数の前記値から対応する前記第6多項式関数を導出することによって決定可能である。
当該方法は、複数の前記第2参加者の夫々から、楕円曲線生成元点を乗じられた各々の前記第6多項式関数の少なくとも1つの係数を受け取ることを更に有してよい。
これは、第2多項式関数を再構成することによって、当該方法の安全性を脅かすことなく、第1参加者によって分配された第1シェアと、第2参加者から受け取られた、楕円曲線生成元点を乗じられた第1シェアとの一貫性が検証されることを可能にするという利点をもたらす。
前記検証することは、前記楕円曲線生成元点を乗じられた前記係数から、前記楕円曲線生成元点を乗じられた前記第6多項式関数を再構成することを有してよい。
当該方法は、前記第1参加者から直接受け取られた前記第1シェアと、複数の前記第2参加者から受け取られた、前記楕円曲線生成元点を乗じられた前記第1シェアとの一貫性を検証することを更に有してよい。
これは、当該方法の安全性を脅かすことなく、信用できない可能性がある参加者が識別されることを可能にするという利点をもたらす。
当該方法は、前記第1秘密値と、複数の前記第2参加者から受け取られた、前記楕円曲線生成元点を乗じられた複数の前記第1シェアとの一貫性を検証することを更に有してよい。
当該方法は、前記検証することに基づいて前記第3秘密値を更新することを更に有してよい。
前記検証することは、複数の前記第2シェアに適用される場合に前記第2秘密値をもたらす方法を用いて、前記楕円曲線生成元点を乗じられた前記複数の第2シェアから、前記楕円曲線生成元点を乗じられた前記第2秘密値を取得することを有してよい。
当該方法は、1の前記第2参加者から受け取られた、前記楕円曲線生成元点を乗じられた前記第1シェアと、他の前記第2参加者から受け取られた、前記楕円曲線生成元点を乗じられた前記第1シェアとの一貫性を検証することを更に有してよい。
これも、当該方法の安全性を脅かすことなく、信用できない可能性がある参加者が識別されることを可能にするという利点をもたらす。
当該方法は、少なくとも1の前記第2参加者から、値ゼロ有する第4秘密値の少なくとも1つの第4シェアを受け取ることを更に有してよく、前記第4シェアは、秘密鍵と、該秘密鍵を乗じられた楕円曲線生成元点である公開鍵とを有する少なくとも1つの秘密-公開鍵対を用いて暗号化される。
当該方法は、複数の第2参加者に対して、値ゼロを有する第4秘密値の各々の第4シェアを分配することを更に有してよく、前記第4シェアは、秘密鍵と、該秘密鍵を乗じられた楕円曲線生成元点である公開鍵とを有する少なくとも1つの秘密-公開鍵対を用いて暗号化される。
これは、シェア及び/又は秘密鍵が更新されることを可能にし、それによって、安全でない又は一貫性のない参加者が参加から除かれることを可能にするという利点をもたらす。
当該方法は、前記第2参加者又は夫々の前記第2参加者とは異なる少なくとも1の第3参加者から、値ゼロを有する第4秘密値の少なくとも1つの第4シェアを受け取ることを更に有してよく、前記第4シェアは、秘密鍵と、該秘密鍵を乗じられた楕円曲線生成元点である公開鍵とを有する少なくとも1つの秘密-公開鍵対を用いて暗号化される。
これは、ランダムさの導入を可能にするように外部オラクルが導入される可能にし、それによって、システムの安全性を改善するという利点をもたらす。
当該方法は、前記楕円曲線生成元点を乗じられた複数の前記第4シェアと、ゼロ第4秘密値との一貫性を検証することを更に有してよい。
当該方法は、前記検証することに基づいて前記第3秘密値を更新することを更に有してよい。
前記検証することは、複数の前記第4シェアに適用される場合に前記第4秘密値をもたらす方法を用いて、前記楕円曲線生成元点を乗じられた前記複数の第4シェアから、前記楕円曲線生成元点を乗じられた前記第4秘密値を取得することを有してよい。
当該方法は、前記第3シェア及び前記第4シェアから、前記第3秘密値の第5シェアを形成することを更に有してよく、第4閾数の第5シェアが、前記第3秘密値が決定されることを可能にするために必要とされる。
前記メッセージは、ブロックチェーントランザクションであってよい。
本発明の更なる態様によれば、上記の方法を実行するコンピュータ実装システムが提供される。
本発明のこれら及び他の態様は、本明細書で記載される実施形態から明らかであり、それらを参照して説明される。
これより、本発明の実施形態が、単なる例として、添付の図面を参照して記載される。
本発明を具現する楕円曲線デジタル署名プロセスの部分を表す。 楕円曲線デジタル署名プロセスの更なる部分を表す。 本発明を具現する方法によって分配されるシェアの再構成階層を表す。 本発明の方法で使用されるブロックチェーントランザクションのスクリプトの表現を示す。 図4のスクリプトとともに使用される第1署名の詳細を示す。 図4のスクリプトとともに使用される第2署名の第1実施形態の詳細を示す。 図4のスクリプトとともに使用される第2署名の第2実施形態の詳細を示す。 本発明を具現する方法を実行するバーレカンプ-ウェルチ復号器を示す。
<概要>
本発明は、不正アクセスから保護される必要があるコンピュータシステム及びリソースの安全性を高めるために使用され得る新規且つ独創的な技術を提供する。本明細書では、ビットコインを含む暗号通貨に関連したシステムに関係がある実施、使用ケース及び実例が紹介される。しかし、本発明は、より広い適用性を有しており、他のタイプのシステム及びコンピュータに基づくリソースを守ために使用されてよく、本発明はこの点で制限されないことに留意することが重要である。
本発明の実施形態は、ディーラーを伴わない展開のための能力と結合された、グループに基づく閾値暗号化の付加を可能にすることによって、改善された安全性をもたらす。実施形態はまた、メッセージの非インタラクティブな署名をサポートし、且つ、個人及びグループに分配され得るシェアへの秘密鍵の分割を提供する。更に、本発明は、不正行為又は攻撃の如何なる脅威も最小限としながら如何なる中央集権的制御の必要性も排除する分散型鍵生成システムを構築する解決法を提供する。ECDSAに対するDSAの閾値に基づく解決法の適用において、本発明は、如何なる単一障害点も緩和する完全に分配的な署名システムを提供する。
ビットコイン又は代わりとなるものに関して使用される場合に、それは、暗号通貨を展開する無限に拡張可能であって且つ安全な手段にCLTV及びマルチシグウォレット(multisig wallets)を関係させる検索方式と結合可能である。グループ及びリングに基づくシステムによれば、本発明は、発行されたトランザクションに対してブラインド署名を実装するために利用可能である。
本願は、ビットコインと完全互換である、閾値に基づく、ディーラーなしの秘密鍵分配システムを開示する。システムは、ビットコインウォレット内で展開される従来の個別署名システムから離れるグループ署名スキームを足場とする。展開される場合に、システムは、拡張性があり且つ堅牢であって、エラー及び悪意のある敵に耐性がある。システムは、ディーラーあり及びディーラーなし両方のシステム並びに大いに柔軟な分配組み合わせでの展開を支援する。
個々のパーティは、単独の参加者として又は共同して、彼らの保護された鍵スライスのスライスを、安全性及び回復力のためにマシン全体に、又は役割及びアクセス制御リストの投票閾値に基づいた展開のためにグループで分配するディーラーの役割を果たすことができる。
どの程度までスライスが分割可能であるかの深さに制限はない。この複雑性の問題は、個々の展開に対して重み付けされる必要がある。このようにして、署名及びトランザクションの記録は、この方法を用いて、グループ内からのものであっても、その後の書類で提示される拡張子を持った全ての外部の参加者から隠され得るということで、本発明の実施形態は、ユーザに対する偽名を用いた保護(pseudonymous protection)の標準を高めながら、ある程度の匿名性及びもっともらしい否認(plausible deniability)をビットコイントランザクションに導入する。
Ibrahim et al.[2003]は、初期のロバストな閾値ECDSAスキームを開発した。続くプロトコルは、Gennaro et al.[1996]によって紹介された閾値DSSの楕円曲線式を形成するものの更なる拡張である。
Figure 0007301039000001
群数学(group mathematics)の使用は、RSA及びDSAスキームから秘密の隠蔽におけるShamir[1979]の研究並びにFeldman[1987]及びPedersen[1992]の研究を拡張する検証可能秘密分散スキーム(verifiable secret sharing scheme)(VSS)の構築を可能にし、それにより、それは、ビットコイン[Koblitz,1998]のような、ECC及びECDSAに基づく署名システム内で使用され得る。本発明の実施形態は、悪意のある敵に耐性があり、停止し(halting)、傍受に対して堅牢である。
本開示は、どのパーティも秘密鍵を知らない場合にECDSA署名の共同署名を可能にする方法の提示から始まる。更に、それは、秘密鍵を変更する必要なしに、秘密鍵対が更新及びリフレッシュされることを可能にする。これは有意な技術的利点である。
既存の解決法は全て、信頼できるパーティを必要とする。本発明を利用することはまた、代替ブロックチェーン又はサイドチェーンの要件を陳腐化しながら、ビットコインブロックチェーン上で直接解決され得る電子ノード発行の真に分散された方法へと中央集権型システムからChaum[1983]の研究を拡張することを可能にする。
上記の生成元Gに関して、ビットコインはsecp256k1を使用する。これは,ビットコインで使用されるECDSA曲線のパラメータを定義し、Standards for Efficient Cryptography(SEC)(Certicom Research,http://www.secg.org/sec2-v2.pdf)から参照され得る。
<信頼の問題>
全ての既存のシステムは、ある程度の信頼を必要とする。これまで、ビットコインは、世界から隔絶されているセキュアシステムを使用した秘密鍵の保護を必要としてきたが、これは達成するのが困難であることが分かっている。注目すべきは、ビットコインが交換又は保管され得るシステムは、中央当局(centralised authority)に対する信頼を必要とする点である。本発明は、この要件を完全に変えて、プロトコルの中核的要件のいずれも変えることなく、ビットコイン内の鍵生成及びメッセージ署名プロセスを分散化及び分権化する。本明細書で言及される方法は、ビットコインプロトコルを変更せずに実装され得、実際には、署名されたメッセージの解析を通じてこのプロセスが展開されているかどうかを判定する方法はない。
ビットコインのための分散型署名スキームを構築することにおいて、本発明は、人々又はシステムのグループが、個人が自分で署名を生成することができないように鍵を安全に保持することを可能にする。拡張される場合に、このスキームはまた、ビットコインの秘密鍵自体及びシェアの夫々の安全な回復も可能にする。グループにより生成された署名は、既存のプロトコルから生成されたものと区別不可能である。そのようなものとして、署名検証は、それが標準のトランザクションを使用して一人の署名者により成立されたかのようなままである。
n人の参加者のグループ又はm個の参加者グループによって秘密鍵が共有されるということで、信頼性のこのような向上が実現される。トランザクションの署名には閾数の参加者が必要とされ、最小閾値を満足する参加者又は参加者グループの任意の連合が署名動作を実行することができる。重要なことに、このプロトコルは、個人又はグループが参加者の連合を作ろうと試みることができる一括処理として、又は同期して成立され得る。
<背景研究>
最初に、Shamir[1979]が、鍵の分散管理を可能にするディーラーに基づいた秘密分散スキームを紹介した。このスキームに付随する問題は、検証不可能なディーラーを信頼する必然に由来する。このような形式のスキームは、本発明と完全互換であり、本明細書で言及されるプロセスを通じて生成される個々の鍵スライスのグループ分配のために使用され得る。
<ジョイントランダム秘密分散(JRSS)[Pedersen,1992]>
このプロシージャの明言された目的は、どの参加者も秘密を知ることなく参加者グループが協調して秘密を共有し得る方法を構築することである。各参加者は、彼らの局部的秘密としてランダムな値を選択し、このランダムな値から導出される値を、グループによるシャミアの秘密分散スキーム(Shamir’s secret sharing scheme)(SSSS)を用いて分配する。次いで、各参加者は、自身を含む参加者から受け取られた全てのシェアを足し合わせる。この和がジョイントランダム秘密シェア(joint random secret share)である。結合された秘密値の秘密性を保つには、一人の正直な参加者によって提供されるランダムさで十分である。この状態は、たとえ(n-1)人の他の全ての参加者がランダムでない秘密値を意図的に選択するとしても、依然として保たれる。
<ジョイントゼロ秘密分散(JZSS)[Ben-Or,1988]>
ジョイントゼロ秘密分散(Joint Zero Secret Sharing)(JZSS)はジョイントランダム秘密分散(Joint Random Secret Sharing)(JRSS)に似ているが、各参加者がランダムな値に代わるものとして0を共有する点で相違する。この技術により生成されるシェアは、JRSSアルゴリズムにおける如何なる潜在的な弱点も解消することに役立つ。
Desmedt[1987]は、グループ指向の暗号化の概念を紹介した。このプロセスにより、参加者は、参加者の中の選択された一部しかメッセージを暗号解読することができないようにして人々のグループへメッセージを送ることが可能となった。システムにおいて、メンバーは、送信者が公開鍵を使用してメンバーを知る必要がある場合に知られていることを伝えられ、グループは、メンバーから独立して保持されるそのグループのための単一の公開鍵しかない場合に匿名である。本発明は、両方の方法を統合し、既知及び匿名の送信者及び署名者が同時にグループ内に存在することを可能にする。
<本発明>
大きい位数の素数を有する任意の楕円曲線(CURVE)、及び素数体Zにわたって定義される位数nの基底点G∈CURVE(Z)について、如何なる参加者も閾数に満たないシェアから元の秘密鍵を再生することがでないように、鍵シェアへのECC秘密鍵の安全な分配及びその使用を可能にするシステムが構築され得る。
未知の整数dについて、1≦d≦(n-1)の場合に、Q=d×Gを前提として、dを計算することは極めて困難であることが知られている[Kapoor,2008]。
本発明の基本的な技術は、閾値暗号化の適用により得られる。このシステムにおいて、ECDSA秘密鍵は、潜在的なものとしてしか存在せず、どのシステムでも再生される必要がない。それらの複数のシェアの夫々は、拡張可能であって且つグループ及び個人の両方の署名フォーマットの導入を可能にする方法で、複数の参加者[p(i)]に分配される。よって、署名プロセスは、ビットコイン内で展開されるものとは異なる。このプロセスでは、調整参加者p(c)が、グループに分配されるトランザクション及びメッセージ署名を生成する。各参加者は、部分署名を計算するか又はパスするかによって、その秘密鍵シェアの使用に投票することができる。
実際に、パスすることは、反対票(no vote)と同等である。調整参加者p(c)は、応答を照合し、最低限の閾数の部分署名を受け取った場合にそれらを結合して完全な署名を形成する。
調整参加者p(c)は、反対票を受け入れ、他のパーティからのヌル値に基づき計算を行うか、あるいは、パーティに働きかけて、メッセージに署名するように説得するか、いずれかを行うことができる。プロトコルは、設定された調整者(coordinator)により実装され得るか、あるいは、任意の個人又はグループが、この役割を形成し、署名されるべき閾グループへのトランザクションを提案することができる。本発明は、完全に分散されたECDSA秘密鍵生成アルゴリズムを提供するようにIbrahim et al.[2003]の研究を拡張する。本願はまた、ビットコインとともに使用される分散型鍵再分散アルゴリズム及び分散型ECDSA署名アルゴリズムを提示する。鍵再分散アルゴリズムは、新しいものを支持して現在存在する全ての秘密鍵シェアを無効にするために、又は新しい参加者への秘密鍵シェアの再割り当てのために、使用されてよい。このプロトコルは、ECDSA秘密鍵だけでなく秘密鍵シェアの分散にも及ぶ。この結果は、シェアが構成され、グループ処理として採決され得ることを意味する。
本発明は、信頼できるサードパーティが存在するための全ての要件を取り除く。その結果、既存のプロトコルと完全互換であって且つ更なる拡張性を可能にしながら残りの単一障害点を全て解消するビットコイン用の新しいオーバーレイ及びウォレットを構築することが可能である。本発明はまた、ブラインド署名の導入を可能にするように拡張することもできる。
本発明は、秘密鍵をメモリにロードする必要がないので、信頼できるサードパーティの必要性を取り除くだけでなく、更には、広範囲の一般的な攻撃を排除する。プロトコルは、必要とされるシェア数及びシェアの分配が使用ケース、経済シナリオ及びリスク要件によって決定されることを可能にするように拡張可能である。
本発明は、全てのサイドチャネル攻撃、従って、あらゆるキャッシュタイミング攻撃を軽減する。このシステムは、Gennaro et al.[1996]の研究を取り込み、それをDSSから拡張して、如何なるECDSAに基づくアプリケーションでも成功裏に使用され得るようにする。
<ECDSA>
ビットコインは、secp256k1曲線に基づきECDSAを使用する。ECDSAは、最初に、楕円曲線暗号化(elliptic curve Cryptography)(ECC)を使用したDiffie-Hellmanに基づく鍵交換のための要件を変更するように、2003年にNISTによって標準化された[NIST]。ECCの生成は、他の公開/秘密鍵システムと比べた場合に、鍵サイズ及び処理電力の低減により特に重要であった。劣指数的(sub-exponential)時間アルゴリズムはECDLPについて発見されていない。ECDLPは、扱いにくいことが知られており、楕円曲線離散対数問題(elliptic curve discrete logarithm problem)を指す[Johnson,2001]。
本願を通じて使用されるパラメータは、上記の表1で提供されている。
<安全性の懸案事項>
システムは、ビット内の現在の制限であるECDSAの安全性によって制限される。現在、ECDSAは、秘密鍵が安全に展開され得る場合に安全なままである。本発明は、鍵の再生成イベントの前に閾数の参加者が危殆化されていることを要求する閾値まで、サイドチャネル攻撃及びメモリ開示攻撃を軽減する。更に、危殆化されていない閾値の大多数は、危殆化された参加者を閾値未満で識別することができる。
停止性問題(Halting problem)
サービスの中断は、参加者に対してサービス拒否攻撃を仕掛けようと試みる悪意のある敵が加担する可能性がある攻撃の一種である。この攻撃により、参加者は、解析に処理時間を費やすことになる無効な署名、又はその後にドロップされることになる膨大なネットワークメッセージを受け取らざるを得ない。
ECC又は署名暗号化(signcryption)に基づくECCのいずれかを用いて参加者へのメッセージを暗号化する要件は、このような攻撃経路(attack vector)を軽減する。攻撃者が無効な部分的に署名されたメッセージを送るには、参加者を既に危殆化している必要があるので、このような攻撃はもはや不要である。
ランダム(Randomness)
アルゴリズム2は、たとえ(n-1)人の参加者がランダムな値を選ぶことができないとしても、十分なランダムさが導入されるシナリオを提供する。このプロトコルに追加できるものは、署名及び鍵再生成プロセスへのランダムな値の導入のためにもっぱら設計されたグループオラクルの導入である。この任意のシナリオでは、鍵スライスの夫々が同じプロトコルを用いて生成され得る。例えば、m of nのプライマリスライス要件がある場合に、基礎となる鍵スライスの夫々も、m’ of n’閾値条件を用いて生成及び管理され得る。
このシステムを使用する参加者は、ランダムさをプロトコルに注入する以外何もしない外部オラクルを追加することができる。m’個の鍵スライス(なお、m’<n-1)を有するユーザは、彼らが保持する鍵スライスに基づき彼らの署名ソリューションを再現し処理することを選択するか、あるいは、ランダムさの導入のため以外に不要である外部オラクルを導入し得る。
各スライスは、ロバスト性及び安全性のために同様に分割され得る。鍵スライスは、ユーザが携帯電話機又はスマートカードのような外部デバイス及びコンピュータで実行されるソフトウェアプログラムでスライスを有するように分配されてよく、それにより、彼らが部分署名を生成するために、ソースの組み合わせは必要とされることになる。
一意のランダムな一時鍵(ephemeral key)Dが、鍵が使用されるたびに変更されるランダムな値に基づき生成されるか、あるいは、秘密鍵dを再現するために情報を使用することが可能であることが重要である。
<公開署名>
このプロトコルによるトランザクション署名の主たる目的は、ビットコイントランザクションの分散署名を可能にすることである。ブロックチェーンに公開されたことがない如何なるトランザクションも参加者によって非公開で保持され得る。従って、調整参加者p(c)が機会あるごとに、トランザクションに成功裏に署名するために、必要とされる水準の投票を達成することができなかった場合には、新しいビットコイントランザクションを生成することは不要である。鍵スライスがそれ自体閾値に対して安全である場合には、決済された如何なるトランザクションの所有権も安全なままである。
システムが適切に展開される場合に、危殆化される参加者を(k-1)人までとする能力は、システムを、閾値未満の攻撃に対して安全なままとする。周期的な鍵再生成プロトコル(アルゴリズム2)と結合される場合に、本発明の実施形態は、サイドチャネル攻撃及びメモリ開示に耐えることができる。
<本発明の方法及び実施>
本発明の実施形態は、例えば、国際特許公開WO2017/145016で開示されているように、階層的な導出に基づいてECCを使用して参加者間で送られる必要がある秘密情報を暗号化するので、必要に応じて、危殆化されるか又は敵意を持たれる可能性がある参加者に対して妥当性確認が行われ得るように、全てのメッセージを、全ユーザへ送られる単一のパケットにまとめることが可能であり且つ望ましい。
署名生成は、調整参加者p(c)によって提案される。デフォルトで、任意の鍵スライスが、調整参加者として機能することができ、要件は、プロトコルの個々の実施に帰着する。使用されるアルゴリズムは、以下で説明され、後の項目は、それらの展開に関して詳細を提供する。
<アルゴリズム1 鍵生成>
ドメインパラメータ(CURVE,濃度n,生成元G)
入力: NA
出力: 公開鍵Q
秘密鍵シェアdA(1),dA(2),・・・,dA(j)
(j)人の参加者からのk個のスライスの閾値について、構成される鍵セグメントdA(i)は、参加者(i)と、参加者(i)が鍵に(従って、ビットコイントランザクションに)署名するために秘密をやり取りする残りのパーティである、参加者(h)として指名される(j-1)人の参加者とに関連付けて構成される。
・スキームにおいて、jは参加者の総数であり、このとき、k≦j、従って、h=j-1。
・従って、(k,j)-閾値分散スキームが存在する。
アルゴリズム1のための方法は、次の通りである:
1)1≦i≦jとして、(j)の中の各参加者p(i)は、ECC公開鍵(すなわち、この実施では、ビットコインアドレス)を他の全ての参加者とやり取りする。このアドレスは、グループ識別アドレスであり、如何なる他の目的にも使用される必要がない。
これは、国際特許出願WO2017/145016のプロセスから参加者の夫々の間の共有値に基づき導出されたアドレス及び鍵である点が留意されるべきである。
2)各参加者p(i)は、他の全てのパーティから秘密であるようにランダムな係数を用いて次数(k-1)の多項式f(x)を選択する。
この関数は、多項式自由項として選択される参加者の秘密a (i)の形で第1秘密値を条件とする。この値は共有されない。この値は、WO2017/145016で開示されているように、導出された秘密鍵を用いて計算される。
(h)は、点(x=h)での値について参加者p(i)によって選択された関数f(x)の結果であると定義され、参加者p(i)の基本式は、関数:
Figure 0007301039000002
として定義される。
この式で、aは、各参加者p(i)の秘密であり、共有されない。
従って、各参加者p(i)は:
Figure 0007301039000003
であるように、自由項a0(i)がその参加者の秘密として定義されている次数(k-1)の多項式として表される秘密に保たれた関数f(x)を有する。
3)各参加者p(i)は、上記の通りに、P(h)の公開鍵を用いて参加者P(h)∀h={1,・・・,(i-1),(i+1),・・・,j}への第1シェアf(h)を暗号化し[Wright,2016]、P(h)が暗号解読するために値をやり取りする。各参加者p(i)は、例えば、国際特許出願WO2017/145010で開示されている方法によって、各他の参加者p(j)との各々の安全な暗号化された通信チャネルをセットアップする。
素数pの位数nの如何なる基底点G∈E(Z)についてもn×G=φであることが留意されるべきである。ビットコインの場合に、値は:

楕円曲線式: y=x+7
素数モジュロ: 2256-232-2-2-2-2-2-1
=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
基底点=04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8
位数=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141

である。
そのようなものとして、(b,b,b,・・・)として表現可能な整数の任意の組B:{b∈Z}について、bG=[bG+bG+・・・]modpの場合に、b=[b+b+・・・]modn。更に、bG=[b・・・]Gmodpの場合に、b=[b・・・]modn。
が体(field)であり、nを法とするラグランジュ補間がECC秘密鍵として選択された値に対して有効に行われ得るとすれば、シャミアの秘密分散スキーム(SSSS)[5]がZに対して実施され得るという結論に至る条件が存在する。
4)各参加者p(i)は、以下の値
Figure 0007301039000004
を全参加者へブロードキャストする。
上記の式中の変数hに関連した値は、参加者P(h)がスキームにおける第3の参加者に相当する場合にはh=3であるように参加者P(h)のポジションであることができ、あるいは、同様に、整数として参加者によって使用されるECC公開鍵の値を表し得る。使用ケース及びシナリオは、いずれの実施についても存在する。後者の実施では、値h={1,・・・,j}は、個々の参加者の利用される公開鍵にマッピングされた値のアレイによって置換される。
5)各参加者P(h≠i)は、受け取られたシェアと、各他の参加者から受け取られるものとの一貫性を検証する。すなわち:
Figure 0007301039000005
そして、f(h)Gは、参加者のシェアと一致する。
6)各参加者P(h≠i)は、その参加者(P(h≠i))によって所有されている受け取られたシェアが、他の受け取られたシェアと一致することを妥当性確認する:
Figure 0007301039000006
実際に、このステップは、シェアf(h)の楕円曲線暗号化されたバージョン(すなわち、f(h)G)に対して、f(h)の暗号化されていないバージョンに対して実行された場合に秘密値a (i)を回復する動作を実行して、Ga (i)を回復することから成る。従って、シャミアの秘密分散スキームの場合に、係数bは、秘密をその対応するシェアから回復するのに必要なラグランジュ補間係数を表す。
これに一貫性がない場合には、参加者はプロトコルを拒否し、再び開始する。更には、各参加者p(j)はそれ自身の暗号化された通信チャネルによって参加者p(i)と通信するので、どの参加者p(j)がいずれかの一貫性のないシェアに関連するのかを識別することが可能である。
7)このとき、参加者p(i)は各々、彼らのシェアdA(i)を、
Figure 0007301039000007
として計算する。ここで、Σh=1 (i)modnは、各参加者P(h≠i)から受け取られる各々の第2秘密値aの第2シェアであり、そして、

SHARE(p(i))∈Z 且つ dA(j)

このとき、
Figure 0007301039000008
演算Exp-Interpolate()は、楕円曲線暗号化されたシェアから楕円曲線暗号化された秘密を回復する演算として定義される。この演算は、次のように更に詳細に定義され得る。
せいぜい(k-1)個の値がヌル(null)であり、残りの値がG×αの形をとるとして、{ω,・・・,ω}(j≧(2k-1))がセットされ、各αが何らかの(k-1)次の多項式H(・)に存在するならば、その場合に、θ=G×H(0)。
この値は、θ=Σi∈Vω×λ=Σi∈V(G×H(i))×λβによって計算され得る。この場合に、Vは、正しいω値の(k)-サブセットであり、更には、λは、結果として起こるラグランジュ補間係数を表す。多項式は、バーレカンプ-ウェルチ復号器を使用することによって計算され得る。

リターン (dA(i),Q

このとき、dA(i)は、第3秘密値の第3シェアである。
参加者p(i)は、このとき、署名を計算することにおいてシェアを使用する。この役割は、署名を収集するプロセスにおいて調整者となるいずれかの参加者又はパーティp(c)によって行われ得る。参加者p(c)は変化してよく、トランザクションに署名するために十分なシェアを収集しようとする各試みにおいて同じパーティである必要がない。
従って、秘密鍵シェアdA(i)←Z は、他の参加者のシェアを知ることなしに生成された。
<アルゴリズム2 秘密鍵の更新>
入力: dA(i)と表される秘密鍵dの参加者Pのシェア
出力: 参加者Pの新しい秘密鍵シェアdA(i)
アルゴリズム2は、秘密鍵を更新すること及びランダムさをプロトコルに加えることの両方のために使用され得る。
国際特許公開WO2017/145016のフォーマットの鍵を使用すると、このプロセスは、秘密鍵の再構成又は計算された存在さえなしで、階層的なサブキーの再計算をもたらすことができる。このようにして、正確に展開される場合に、過去に起こった如何なる大規模な不正行為又はデータベース窃盗も排除するビットコインアドレス及び秘密鍵スライスのヒエラルキーを構成することが可能である。
1)各参加者は、その自由項としてゼロに従う次数(k-1)のランダム多項式を選択する。これは、アルゴリズム1に類似しているが、参加者は、全ての他の参加者の選択された秘密がゼロであることを妥当性確認しなければならない。
φG=nG=0であることが留意されるべきであり、このとき、0は、楕円曲線上で無限遠にある点である。
この式を用いると、全てのアクティブな参加者は、関数:
Figure 0007301039000009
を妥当性確認する。例えば、Feldman(1987)を参照されたい。
ゼロシェアを生成: z←Z
2)dA(i)′=dA(i)+z
3)リターン: dA(i)
このアルゴリズムの結果は、元の秘密鍵に関連する新しい鍵シェアである。このアルゴリズムの変形は、とり得るビットコインアドレスを変更する必要なしに新しい鍵スライスをもたらす再分散実行に従事するか、あるいは、第1アルゴリズムのランダムさを増大させることができる。このようにして、本発明は、基礎となる秘密鍵を変えずに秘密鍵シェアを追加的にマスキングすることをグループに可能にする。このプロセスは、基礎となるビットコインアドレス及び秘密鍵を変えずに、個々の鍵シェアの継続的な使用及び展開に関連した如何なる潜在的な鍵漏えいも最小限にするために使用され得る。
<アルゴリズム3 署名生成>
ドメインパラメータ: CURVE,濃度n,生成元G
入力: 署名されるメッセージ e=H(m)
秘密鍵シェア dA(i)∈Z
出力: 署名 e=H(m)に対して(r,s)∈Z
A)分散型鍵生成
1)アルゴリズム1により一時鍵シェアを生成する:
k(i)←Z
2)アルゴリズム1によりマスクシェアを生成する:
α←Z
3)アルゴリズム2によりマスクシェアを生成する:
,c←Z
次数2(k-1)の多項式を用いてアルゴリズム2を2度実行することによって、それらのプロトコルで生成されるシェアは、
Figure 0007301039000010
と表される。これらは、加算マスク(additive masks)として使用される。マスキングされる数が次数(k-1)の2つの多項式の積を含むということで、多項式は次数2(k-1)でなければならない。これは、秘密を回復するために必要とされるシェアの必要数を2倍にする。
b及びcのシェアは、次いで、参加者によって秘密に保たれる。
B)署名生成
4)e=H(m) メッセージmのハッシュを妥当性確認する。
5)θ=Dk(i)α+βmodn及びωi=G×αiをブロードキャストする。
6)
Figure 0007301039000011
ここで、演算μ=Interpolate(θ,・・・,θ)modnは、シェアから秘密を回復する演算として定義される。この演算は、次のように更に詳細に定義され得る。
大部分の(k-1)がヌル(null)であり、且つ、全ての残余値が(k-1)次多項式F(.)にあるように、{θ,・・・,θ}(j≧(2k-1))が集合を形成する場合に、μ=F(0)。
7)
Figure 0007301039000012
8)(R,R)を計算する。ここで
Figure 0007301039000013
9)r=r=Rmodn
r=0の場合に、再び(すなわち、初期分布から)開始する。
10)S=Dk(i)(e+DA(i)r)+Cmodn
=Dk(i) -1(e+dA(i)r)+cmodnをブロードキャストする。
11)S=Interpolate(s,・・・,s)modn S=Interpolate(s,・・・,s
s=0の場合に、アルゴリズム3を最初からやり直す(A.1)。
12)(r,s)を返す。
13)ビットコインでは、スタンダードトランザクションを形成するように(r,s)対によりトランザクションを再構成する。
図7は、デジタルメッセージの部分署名を表す多項式関数を取得するための従来のバーレカンプ-ウェルチ復号器70の新規の使用を示す。
伝送データ内のエラーを訂正するためのバーレカンプ-ウェルチアルゴリズムの従来の使用では、メッセージmは、符号器72で連続するk個のバイトに分けられ、各バイトc,c,・・・,ck-1は、整数モジュロpとして符号化される。次いで、メッセージは、多項式関数:
Figure 0007301039000014
によって表される。次いで、多項式関数m(x)の値は、(x、y)対の連続を生成するようにxの多数の既知の値について決定され、次いで、それは、送信器74によって受信器76へ送られる。
受信器76で受信されたデータM(すなわち、受信されたメッセージ)は、元のメッセージを表す多項式関数上の点に対応する対(a,b,・・・,a,b)を有する:
Figure 0007301039000015
送信された(x,y)対のいくつかが送信中に破損したと考えられる場合に、誤り位置多項式関数(error locator polynomial function)が次のように定義され得る:

P(a)≠bの場合に、E(a)=0
他の場合に、E(a)≠0

積多項式関数(product polynomial function)Q(a)がQ(a)=b(a)と定義される場合に、夫々の受信される(a,b)対について、bの値が破損しているかどうかにかかわらず、P(a)≠bの場合にE(a)=0であるから、Q(a)=b(a)=P(a)E(a)。
(a,b)のn個の既知の値について、E(a)は次数eの多項式関数であり、P(a)は次数(k-1)の多項式関数であるから、Q(a)は次数(e+k-1)の多項式関数である。従って、(a,b)の既知の値は、線形系として表され得る:
Figure 0007301039000016
線形系は、2e+k-1個の未知の項(E(x)からe及びQ(x)からe+k-1)を含み、その結果として、Q(a)及びE(a)の係数は、n≧2e+k-1の場合に決定され得る。Q(a)及びE(a)が決定され得る場合に、元のメッセージm(x)を回復するためにP(a)を決定することが可能である。
従って、バーレカンプ-ウェルチ復号器70は、多項式関数上の点を表す対を入力として受け取り、多項式関数を出力する。従って、復号器70は、多項式によって表される閾数のシェアからその多項式を決定するために、本発明ではラグランジュ補間に代わるものとして使用され得る。
<モデル-閾値ECDSA(T,ECDSA)>
本発明の実施形態に従って、参加者として指名されるn個のグループ又は個人のシステムが認められる。各プレイヤーは、単独の参加者若しくはグループ又はそれらの組み合わせとして個人であることができる。参加者p(i)は、一般的に導出された公開鍵計算を用いて識別子(identity)に対してマッピングされてよく、あるいは、参加者p(i)は、個人にマッピングされ直すことなしに、このプロトコルのためにのみ使用される参加者の公開鍵を用いて偽名エンティティ(pseudonymous entity)として残されてもよい。
本発明は、スキームの有効なプレイヤー及びメンバーとしての他の参加者の認識を可能にすると同時に、グループ内のメンバーが識別されないままであることを可能にする専用のブロードキャストチャネルを導入する。メッセージが参加者p(i)からブロードキャストされるとき、グループ内のメンバーは、鍵に関連するエンドユーザ又は個人を識別することが必ずしもできなくても、メッセージを認定されたパーティに由来するものとして認める。また、そのようなシステムが保証されているならば、鍵の識別子を個人とリンクすることも可能である。
プロセスフローは、次のように要約される。
図1中:
ステップ1)
図1を参照されたい。
ステップ2)
Pcが生の(raw)トランザクションをグループへ送る。これが妥当性確認する場合に(すなわち、生のトランザクションが署名されるハッシュと一致する場合に)、参加者は、それに署名することによって投票する。
ステップ3)
肯定判断である場合に、各参加者は、部分署名されたトランザクションを返す。
図2を参照されたい。
ステップ4)
閾数の部分署名されたトランザクションが受け取られる場合に、Pc(又は任意の他の参加者)は完全な署名を再構成する。
ステップ5)
Pcは、署名されたビットコイントランザクションとしてトランザクションをブロードキャストする。
メッセージ署名の計算は、変化しない個人によって、又は一時的なブロードキャストパーティを通じて、開始され得る。プロトコル調整者の役割は、署名を収集するプロセスにおいて調整者となる任意の参加者によって又はパーティp(c)によって果たされ得る。
<鍵生成>
変更されたECDSA鍵生成アルゴリズムは、署名スキームを完全に分散させるために使用される。このスキームでは、秘密鍵は、隠匿されたランダム秘密の組み合わせを用いて分散グループによって共同して選択される。
閾値鍵導出アルゴリズムは、アルゴリズム1で与えられる。
アルゴリズムは拡張可能であり、アルゴリズムの各ステップは、ディーラーなしであらゆる参加者によって同時に、あるいは、グループ又は個人又はディーラーにおいて、実行され得る。この実施は、現在のビットコインプロトコルと完全互換である。如何なる署名者も、あたかも標準の方法で署名されたかのように外部の観測者又は検証者に見える。結果として、標準フォーマットで又は本発明の高度なプロトコルを用いて鍵が生成されたかどうかを伝える方法はない。
<署名生成>
閾値署名生成の概念は、[Shamir,1979]に記載されている。アルゴリズム3は、DHに基づくシステムに基づいており且つECDSAを可能にするように変更されている[Feldman,1987]で報告されたプロシージャに関係がある。
本発明は、ビットコイントランザクションの処理及び署名の両方と完全互換であるようにこのプロセスを拡張する。これはまた、マルチシグトランザクションに及び、必要である複数の署名の夫々に対して、分散される鍵を求めることが可能である。
<秘密鍵の再分散>
このプロセスは、完全分散型鍵再分散スキームを導入するように拡張され得る。この再分散は、現在の参加者がアルゴリズム2を1回実行して、結果として得られたゼロシェアを参加者の秘密鍵シェアに加える場合に、完了される。新しいシェアは、1人の参加者がランダムな値を導入した場合にランダムに分散される。
このプロセスは、実際の秘密鍵を変更せずに、秘密鍵シェアの付加的なマスキング(additive masking)を可能にする。
<閾値ECDSA署名導出>
閾値ECDSA署名生成システムは、[Shamir,1979]で開発されたスキームに従った[Feldman,1987]で見られる閾値DSS署名生成プロトコルに関するアイディアを用いて導出される。
<検証>
本発明は、如何なる値も既知のビットコインアドレスへ転送される前に、メッセージのオフラインの署名及び検証を可能にする。各パーティは、アルゴリズム1で言及されたプロセスを用いて独立してアドレスを計算及び妥当性確認することができる。従って、全ての参加者は、ビットコインアドレスに資金を出すことを求める如何なる実行よりも前に、彼らのシェアが有効であると認識することができる。このプロセスでは、検証スキームが可能であるが、それらは不要である。無効な署名スライスを送ることを選択する如何なる閾値参加者も、実際には、否定的な投票を行っている。すなわち、メッセージに署名せず、従って、ビットコインでトランザクションを完了しないという投票が、無活動から達成される。その影響は、彼らが全くメッセージ署名しなかったかのようである。
アルゴリズム2は、参加者が彼らのシェアの一貫性を検証され得る方法を提供する。閾数の悪意のない参加者が保たれる場合には、鍵再生成時に如何なる既知の悪意のある参加者も除外することが可能である。従って、鍵スライスは、新しいスライスを既知の悪意のある参加者に割り当てずに更新可能であり、スライスの再割り当てを更に可能にする方法で鍵のリフレッシュを可能にする。
信頼性が乏しく、悪意のある敵が標準として予想されるべき環境で、安全なマルチパーティ計算を完了するときに、j/2の受動的な及びj/3の能動的な敵[Ben-Or,1989;Rabin,1988]に対して守る能力を高めながら検証プロセスのロバスト性を更に強化することが可能である。システムのロバスト性は、追加のプロセスを用いて強化され得る:
1.次数(k-1)の多項式A(x)でj人の参加者の間で共有される秘密をDとする。
2.個別に参加者p(i)は、グループに利用可能にされるDのシェアDa(i)及びDa(i)G∀(i∈0,・・・,j)を有する。
3.全ての参加者は、次に、アルゴリズム2を使用することによって秘密bを共有し、それにより、各参加者p(i)は、次数(k-1)の多項式でDの新しい隠匿されたシェアDb(i)を有する。
Figure 0007301039000017
に留意すべきであり、ここで、Db(i) (h)は、参加者p(h≠i)から参加者p(i)にサブミットされたサブシェアである。
4.参加者は、アルゴリズム2を使用し、それにより、各参加者p(i)は、自由項がゼロに等しい次数(2k-1)の多項式で新しい隠匿されたシェアZ(i)を有する。
5.各参加者p(i)は、Da(i)b(i) (h)G∀(h∈0,・・・,j)及びDa(i)b(i)Gをグループへ発行する。
6.各参加者p(h≠i)は、彼らがDb(i) (h)及びDa(i)Gを有するということで、Da(i)b(i) (h)Gの妥当性を検証することができる。
7.また、参加者p(i)は、
Figure 0007301039000018
を更に検証することができる。
如何なる参加者も、このシステムにより、他の参加者が悪意を持って行動しているかどうかを判定することができる。
<分散型鍵生成>
このスキームによれば安全な方法で分散型自律企業(distributed autonomous corporations)(DAC)及び分散型自律社会組織(distributed autonomous social organisations)(DASO)の両方の実施を完了することが可能である。如何なるk人のメンバーも、識別スキームを通じて(認証局によって署名及び発行されたデジタル証明書によることを含む。)そのようなグループを表すことができること、及び如何なるk人のメンバーも、組織に代わってデジタル署名を構成することができることが示されている。このシステムは、如何なる識別機能もなしで検証し、価値の移動を提供するビットコイントランザクションの署名に拡張される。これらの認証スキームは、安全であることが証明されている。
<方法及び実施>
プロトコルは、国際特許出願WO2017/145016で開示されている技術に基づき、ECCを用いて、参加者間で送られる必要がある秘密情報を暗号化するということで、必要に応じて、危殆化されるか又は敵意を持たれる可能性がある参加者に対して妥当性確認が行われ得るように、全てのメッセージを、全ユーザへ送られる単一のパケットにまとめることが可能であり且つ望ましい。
署名生成は、調整参加者p(c)によって提案される。デフォルトで、任意の鍵スライスが、調整参加者として機能することができ、要件は、プロトコルの個々の実施に帰着する。p(c)による有効な生のトランザクションの生成時に、トランザクション及びトランザクションのメッセージハッシュは、暗号化されたチャネルを用いて全参加者p(i≠c)へブロードキャストされる。
A.一時鍵シェアDk(i)を生成する。
参加者は、アルゴリズム1を用いて、次数(k-1)の多項式により、Z において一様分布した一時鍵Dを生成して、シェア
Figure 0007301039000019
を生成する。
のシェアは、各参加者によって個々に保持されながら秘密に保たれる。
B.マスクシェアαを生成する。
各参加者は、シェア
Figure 0007301039000020
を生成するように、アルゴリズム1を用いて、次数(k-1)の多項式により、Z において一様分布したランダムな値αを生成する。これらは、Dk(i)を乗算的にマスキングするために使用される。
αのシェアは秘密であり、対応する参加者によって保持される。
C.マスクシェアβ,cを生成する。
次数2(k-1)の多項式を用いてアルゴリズム2を2度実行する。
これらのプロトコルで生成されるシェアを
Figure 0007301039000021
と表す。これらは、加算マスクとして使用される。マスキングされる数が次数(k-1)の2つの多項式の積を含むということで、多項式は次数2(k-1)でなければならない。これは、秘密を回復するために必要とされるシェアの必要数を2倍にする。
b及びcのシェアは、参加者によって秘密に保たれるべきである。
D.メッセージm:e=H(m)のダイジェストを計算する。
この値は、p(c)から取得されるトランザクションの受け取られたハッシュに対してチェックされる。
E.ν=Dk(i)α+βmodn及びω=G×αをブロードキャストする。
参加者Pは、ν=Dk(i)α+βmodn及びω=G×αをブロードキャストする。
から応答が受け取られない場合に、使用される値はヌル(null)にセットされる。
Figure 0007301039000022
が留意されるべきである。
F.μ=Interpolate(ν,・・・,ν)modnを計算する。
Interpolate()[2]:
ここで、大部分の(k-1)がヌル(null)であり、且つ、全ての残余値が(k-1)次多項式F(.)にあるように、{ν,・・・,ν}(j≧(2k-1))が集合を形成する場合に、μ=F(0)。
多項式は、一般の多項式補間を用いて計算され得る。関数“Interpolate()”は、バーレカンプ-ウェルチ補間[2]であり、BCH及びリード・ソロモン符号のためのエラー訂正アルゴリズムとして定義される。これは、http://mathworld.wolfram.com/LagrangeInterpolatingPolynomial.htmlで及びWhittaker, E. T. and Robinson, G. "Lagrange's Formula of Interpolation." §17 in The Calculus of Observations: A Treatise on Numerical Mathematics, 4th ed. New York: Dover, pp.28-30, 1967, 更に、https://jeremykun.com/2015/09/07/welch-berlekamp/で更に詳細に記載されている。
G.θ=Exp-Interpolate(ω,・・・,ω)を計算する。
Exp-Interpolate()[10]:
せいぜい(k-1)個の値がヌル(null)であり、残りの値がG×αの形をとるとして、{ω,・・・,ω}(j≧(2k-1))がセットされ、各αが何らかの(k-1)次の多項式H(・)に存在するならば、その場合に、θ=G×H(0)。
この値は、θ=Σi∈Vω×λ=Σi∈V(G×H(i))×λβによって計算され得る。この場合に、Vは、正しいω値の(k)-サブセットであり、更には、λは、結果として起こるラグランジュ補間係数を表す。多項式は、バーレカンプ-ウェルチ復号器を使用することによって計算され得る。
H.(R,R)=θ×μ-1を計算する。
I.r=Rmodqを割り当てる。r=0の場合に、ステップAへ進む。
各参加者p(i)は、ステップJでrの彼らのスライスを計算する。調整者p(c)は、閾数の応答を受け取った場合に、sを再構成するためにそれらの値を使用することができる。
J.s=Dk(i) -1(e+dA(i)r)+cmodnをブロードキャストする。
応答がPから懇願/受信されない場合に、使用される値はヌル(null)にセットされる。
Figure 0007301039000023
が留意されるべきである。
K.s=Interpolate(s,・・・,s)modnを計算する。
s=0の場合に、ステップIへ進む。
ここで、関数Interpolate()は、先に定義された通りである。
各参加者p(i)は、ステップJでrの彼らのスライスを計算する。調整者p(c)は、閾数のs個の応答を受け取った場合に、sを再構成するためにそれらの値を使用することができる。
L.(r,s)を返す。
M.生のトランザクションの署名セクションを置換し、これをネットワークへブロードキャストする。
<スライスのディーラー分配>
上記の実施形態は、グループシェアの導入を通じてはるかに柔軟にされ得る。このようにして、シェアの割り当ては、任意のレベルの階層的深さで、ディーラー、複数のディーラー、ディーラーを含まないグループ、又はそれらの任意の可能な組み合わせの間で分割され得る。
値d及びその対応する鍵スライスdA(i)を、同じアルゴリズムを用いて導出された値により置換することによって、投票のヒエラルキーが生成され得る。例えば、スキームは:
1)ディーラーに基づく分配
2)複数のディーラー
3)ディーラーなし
から導出されるシェアを同時に統合して構築され得る。
従って、スキームは拡張可能であり、任意のビジネス構造又は組織システムを組み込むように作られ得る。
スライスの割り当ても拡張可能である。一様でない割り当てプロセスを展開することは、シェアに対する重み付けが加えられることを可能にする。図3に示されるスキームでは、5つの上位メンバーにより仮想組織を構築することが可能である。なお、これには、n=5の均等に重み付けされたシェアの値をセットする必要はない。この仮想組織において、次のように、上位スキーマのための投票構造をセットすることが可能である:
・閾値(0) 61シェア
・DL02 15シェア
・DL1 15シェア
・DL2 15シェア
・D 45シェア
・D 10シェア
ここで、n=100がセットされている。述べられているように、これは、任意の組織構造を反映することができる任意の値である。図3の組織は、否認(veto)シナリオ(D)を可能にし、重層的な割り当ての導入を通じて、想像可能な任意の投票構造を可能にする。
マルチレベル下位層構造でしばしば見落とされるものは、たとえ秘密のスライスが割り当てられているとしても、それらが等しく分配される必要がなく、更には、サブグループの所有権が他のレベルの所有権を反映する必要がないことである。図3には、閾値の75%でシェアの総数の45%を制御する一見強力なブロックが存在する。シェアの下位レベル割り当てがその場合に考えられるならば、シナリオははるかに複雑になる。テーブル上で複数のレベル及び位置で議決権付きシェア(voting shares)を保持する個人との相互所有権(cross-owenership)を生成することが可能である。
表3の分布は、(保持されるシェア,閾値,割り当て{n})と定義される。
表3から、参加者P1及びP2は夫々投票を支配するが、参加者P4との連携は、P1又はP2が投票を拒否しない限り、P1又はP2のどちらか一方に、十分な投票ブロック(voting block)をもたらす。
本発明における投票フォーマットの実施及び構造には制限がないので、これは、安全なバックアップ及び回復方法を確かにしながら、想像され得る如何なる組織的ヒエラルキーも構築するために使用され得る。
Figure 0007301039000024
結果として、より高いレベルの署名シェアに割り当てられる拒否権及び投票権を有することが可能である。本例では、Sにおけるシェアの所有権は、DL02、D1A及びD2Aで保持され得る。
<安全なマルチパーティ計算>
n人の参加者p(1),・・・,p(i),・・・,p(n)による安全なマルチパーティ関数計算は、x(i)を含む関数F(x,・・・,x,・・・,x)を評価する必要性に基づく問題である。x(i)は、p(i)によって供給される秘密値であって、参加者p(j≠i)又は外部のパーティがx(i)を全く知り得ないように秘密に保たれる必要がある。従って、目的は、計算の正確さを保証することが可能でありながら、各参加者の値の秘密性を保つことである。
このシナリオで、信頼できるサードパーティTは、様々な参加者p(i:1・・・n)から全ての値x(i:1・・・n)を収集し、計算を返す。この設計は、暗黙的にTを信頼することができる理想的な世界でのみ機能する。Tが悪意があるか、無法者であるか、あるいは、危殆的であるかのいずれかである何らかの可能性がある場合に、信頼できるサードパーティの使用は実行可能でなくなる。このシナリオは、参加者が投票者であり、信頼できるサードパーティが政府によって行われる既存の選挙を反映する。
信頼できるサードパーティを用いて安全な方法で計算され得る如何なる値も、個々の秘密x(i)の安全性を保ちながら、信頼できるパーティなしでも計算され得ることが証明されている[Bar-Ilan,1989]。ここで提示されるプロトコルは、個人の計算に対して安全であり、危険な参加者の非閾グループが協働することができる場合でさえ安全な計算を提供する。
<単純乗算>
n人の参加者p(i:1・・・n)の間で分配される2つの秘密値x及びyが存在する場合に、両方の入力変数x及びyの秘密性を保ち、同時に、参加者p(i)が秘密性を維持することによって個々の秘密x(i:1・・・n)及びy(i:1・・・n)が保持されることを確かにしながら、積xyを計算することが可能である。
このスキームで、x及びyは、次数(k-1)の多項式を用いて参加者の閾グループの間で夫々共有される。各参加者p(i)は、xの次数(k-1)の多項式上のx(i:1・・・n)及びyに対する次数(k-1)の多項式内のy(i:1・・・n)の彼らの共有を乗算することができる。
アルゴリズム2を導入することは、参加者p(i)に、次数(2k-1)の多項式であるz(i)のシェアを返す。この値により、各参加者p(i)は、値x(i)(i)+z(i)を計算する。
(i)(i)+z(i)の戻り値は、次数(2k-1)の多項式に対するx・yの計算の有効なシェアを表す。閾数のシェアのために行動する任意の参加者又は調整者は、個々のシェアの如何なる知識も得ることなしに、x・yの真の値を計算するために、各参加者によって保持されている戻り値を使用することができる。
<単純加算>
n人の参加者p(i:1・・・n)の間で分配される2つの秘密値x及びyが存在する場合に、両方の入力変数x及びyの秘密性を保ち、同時に、参加者p(i)が秘密性を維持することによって個々の秘密x(i:1・・・n)及びy(i:1・・・n)が保持されることを確かにしながら、和x+yを計算することが可能である。
簡単な乗算のためのプロセスのように、各参加者p(i)は、値x(i)+y(i)+z(i)を計算する。z(i)の計算は不要であるが、プロセスに更なるレベルのランダムさ及び秘密性を加える。
(i)+y(i)+z(i)の戻り値は、次数(2k-1)の多項式に対するx+yの計算の有効なシェアを表す。閾数のシェアのために行動する任意の参加者又は調整者は、個々のシェアの如何なる知識も得ることなしに、x+yの真の値を計算するために、各参加者によって保持されている戻り値を使用することができる。
参加者がそれほど敵対的でない場合に、これは、付加的なステップなしでx(i)+y(i)加算として簡単化され得る。
<逆数(inverse)又は逆数(reciprocal)>
分配された秘密値、すなわち、j人の参加者の間でx(i:1・・・j)として秘密に分配されるxmodnについて、値x(i)、x又はx-1を開示する如何なる情報も公開せずに、x-1modnの値に関連した多項式のシェアを生成することが可能である[Gennaro,1996]。先と同じく、各参加者p(i)は、次数(k-1)の多項式上でx(i)によって表される値xのシェアを保持する。
アルゴリズム1を使用して、各参加者は、次数(k-1)の多項式で未知の秘密x・yのシェアx(i)を生成する。次いで、各参加者は、アルゴリズム2を実行して、次数(2k-1)の多項式でゼロ秘密の(k-1)を計算する。各参加者(2k-1)は、値x(i)(i)+z(i)を計算する計算を行う。
上記のInterpolate()ルーチンを使用して、各参加者は、μ=x(i)(i)+z(i)の値を計算して、μの収集された値から値μを返すことができる。次いで、各参加者は、μ-1modnの値を計算することができる。
これらの値は、任意の参加者p(i)が次数(2k-1)の多項式でζ=γμ-1を用いてx -1の関連するシェアを計算することができるほど十分である。バーレカンプ-ウェルチ復号化スキーム[Berlekamp,1968]は、このプロセスを完了するために使用され得るいくつかの方法のうちの1つを提供する。
<割り当て>
検証可能且つ立証可能な方法でトランザクションに署名する能力は、非公開で所有権を証明し、更には、ブロックチェーン上で何も公に動かさずに、ビットコイン秘密鍵の所有権及び関連するビットコインアドレスを破棄又は交換する機会をもたらす。このようにして、ビットコインアドレスに資金を提供することができ、そのアドレスの内容は、公的な記録を残さずに移転又は販売され得る。このプロセスは閾値システムであるから、鍵スライスの割り当ては、ブロックチェーン上で追加の決済を記録することなしに安全に実現され得る。
このようにして、ブロックチェーン上で既に精算されたノートの所有権を、そのノートを処理するプロセスから分離することが可能である。
<CLTV>
ビットコインメッセージ、又はより一般的な用語では、トランザクションは、CLTV[BIP 65]エントリの包含により生成され得る。この追加により、トランザクションは、全ての鍵スライスの壊滅的な喪失が発生した場合、又はエンティティからの複数のスライスが、最小閾値による署名の安全な再構成を可能にしないように失われるか若しくは信用できないと見なされる場合でさえ、回復可能にされ得る。
これは更に、エンティティがサードパーティサービスを使用しており、サービスが鍵へのアクセスを保持又は拒絶することができないことを確かにすることを望む場合に、可能である。時間に基づくフェイルセーフ(failsafe)でビットコイントランザクションを構成することにおいて、ユーザは、悪意のあるサードパーティ又は危殆化された交換サイト若しくは銀行が彼らの鍵へのアクセスを彼らに強要することができないことを知っている。最悪のシナリオとして、壊滅的なレベルへの危殆化は、CLTV条件に基づき、事前に定義されたアドレスへのトランザクションの時間に基づく逆戻りをもたらすことになる。この事前に定義されたアドレスは、本願で開示されるプロトコルを用いて生成され得る。そのようなものとして、容易に危殆化され得ない一連のトランザクション及び鍵を構成することが可能である。
<安全性の懸案事項>
Benger et. al.(2014)は、フラッシュ(Flash)及びリロード(reload)方法によるECDSA秘密鍵回復の一例を提案している。この出来事は、システムRAM及びキャッシュに対する攻撃の一例にすぎない。これらの方法は、それらが秘密鍵を再構成するということで、シャミアのSSS[1979]のような手順の使用を欠いたままとする。更に、秘密鍵がいつでも再構成される任意のシナリオで、信頼性に対する要件が導入される。このシナリオでは、秘密鍵を保持するエンティティのシステム及びプロセスに依存する必要がある。
信頼できるパーティがたとえ悪意がないとしても、彼らのプロセスに依存する必要がある。最近の多数の妥協案から分かるように、秘密鍵を再構成することへのこの依存は、攻撃の道を残している。
既存のECDSA実装のためのドロップイン置換と、現在のビットコインプロトコルとの完全な透明性及び互換性との両方を備えているために、その実装にはハードフォーク又はソフトフォークが不要であり、実装は、如何なる現在のトランザクションとも区別不可能である。本発明は、回復機能を備えた鍵のグループ署名を可能にする個別の参加者として個人を扱うことができる。一例として、ツー・オブ・ツー(two of two)のスキームが4つの鍵スライスを用いて実装可能であり、このとき、オンラインウォレットプロバイダ又は取引所が2つの鍵スライスを保持し、エンドユーザが2つのスライスを保持する。取引所及びユーザは夫々、彼らの鍵スライスに対するツー・オブ・ツーのプロセスを有し、それらは、必要に応じてメッセージの安全な署名のためにお互いに連結して使用され得る。
図4を参照すると、ビットコイントランザクションのようなブロックチェーントランザクションで使用されるスクリプト(script)400は、トランザクションを実行するために第1署名410及び第2署名420の夫々を必要とする。
これより図5を参照すると、図4のトランザクションの第1署名410が、上記のアルゴリズム1によって、3 of 4の多重署名配置に分けられている。この配置では、4つの鍵シェアのうちのいずれか3つが、図4のトランザクションの第1署名410をもたらすために必要とされる。4つの鍵シェアは、ユーザが鍵シェア510を有し、取引所520の2つの分離したエンティティ(例えば、交換機能及びその精算所機能)が夫々各々の鍵シェア530、540を有し、分離したエスクロー(escrow)動作が鍵シェア550を有するように、分配される。
図6Aに示されるように、図4のトランザクションの第2署名420は、上記のアルゴリズム1、又はWO2017/145010で記載されている方法によって、2 of 3の他住所名配置に分けられている。この配置では、3つの鍵シェアのうちのいずれか2つが、図4のトランザクションの第2署名420をもたらすために必要とされる。3つの鍵シェアは、図4のトランザクションの第1署名410の鍵シェア510を有しているユーザが、携帯電話機で保持される鍵シェア610と、スマートカード上の鍵シェア620とを更に有し、一方、図4のトランザクションの第1署名410の鍵シェア530、540を有している図5の取引所520が、図4のトランザクションの第2署名420の鍵シェア630を更に有するように、分配される。このようにして様々なパーティ間で図4のトランザクションの分離した署名410、420の鍵を分配することによって、これは、安全性のこのような改善を達成するために必要とされるリソースの量を有意に増大させることなく、不正署名をもたらすためのいずれかのパーティ間の協働もより一層難しくすることによって、システムの安全性を改善する。
図6Bは、図6Aの配置の代替実施形態を示し、図中、その実施形態に共通する特徴は、同じ参照番号によって表されている。図6Bの配置では、図6Aの実施形態の鍵シェア630が、一対の鍵シェア640、650によって置換され得る。鍵シェア640は、図5の取引所520に残り、鍵シェア650は、分離したエスクロー動作のような別個のエンティティにより制御される。
<おわりに>
本発明は、グループ署名プロセスの導入により、ビットコインが達成しようとしたものの基礎を形成する。分散型鍵生成システムの結合による耐障害性署名システムの付加は、全ての中央集権化及び信頼要件を除く。
更に、暗黙的に非中央集権型のシステムの導入は、より堅牢であり且つ回復力のあるプロトコルの生成を可能にする。ECDSA[Johnson,2001]とシャミアのSSS[Shamir,1979]との間の互換性により、本発明は、新しい検証可能な秘密分散スキームによりビットコインを拡張するシステムを導入することができた。このシステムは、安全性において何も失うことなく、フェルドマン[Feldman,1987]又はペダーセン[Pedersen,1992]によって導出されたものよりもはるかに有効である。
本願では、基本プロトコルの変更を必要とせずにビットコインの機能性を拡張するシステムが記載されてきた。本発明によれば:
1.信頼できるサードパーティは、鍵秘密の選択又は分散のためにもはや必要とされない。
2.サードパーティの信用に依存しない分散型銀行取引システムが構築され得る。
3.夫々のメンバー又はメンバーのグループは、保持されている秘密鍵のシェアが、公示されているビットコインアドレス及び公開鍵に対応することを独立して検証し得る。
4.傍受及び関連する攻撃の影響を軽減するように秘密鍵スライスをリフレッシュするプロトコルが存在する。
5.信頼できるサードパーティは、トランザクション及びメッセージのグループ署名のために不要である。
本発明は、機密事項を扱うデータが決してメモリに現れないようにするということで、多くの現存している安全性リスクを完全に解決する。
上記の実施形態は、本発明を制限するのではなく説明しているのであって、当業者は、添付の特許請求の範囲によって定義される本発明の適用範囲から外れることなしに、多くの代替の実施形態を設計することが可能である点が留意されるべきである。特許請求の範囲において、かっこ内の如何なる参照符号も、特許請求の範囲を制限するものとして解釈されるべきではない。語「有する」(comprising及びcomprises)などは、いずれかの請求項又は明細書の全文に挙げられているもの以外の要素又はステップの存在を除外しない。本明細書中、「有する」(comprises)は、「~を含むか、又はそれらから成る」(includes or consists of)を意味し、「有する」(comprising)は、「~を含むか、又はそれらから成る」(including or consisting of)を意味する。要素の単一参照は、そのような要素の複数参照を除外せず、逆もまた同じである。本発明は、いくつかの個別要素を有するハードウェアを用いて、且つ、適切にプログラムされたコンピュータを用いて、実施されてよい。いくつかの手段を列挙している装置クレームでは、それらの手段のうちのいくつかが、ハードウェアの同一アイテムによって具現されてもよい。特定の手段が相互に異なる請求項で挙げられているという単なる事実は、それらの手段の組み合わせが有利に使用され得ないことを示すものではない。
<参考文献>
1)Bar-Ilan, J. Beaver, "Non-Cryptographic Fault-Tolerant Computing in a Constant Number of Rounds", Proc. of 8th PODC, pp.201-209, 1989.
2)Berlekamp, Elwyn R. (1968), Algebraic Coding Theory, McGraw‐Hill, New York, NY.
3)Benger, N., van de Pol, J., Smart, N.P., Yarom, Y.: "Ooh Aah... Just a Little Bit": A Small Amount of Side Channel Can Go a Long Way. In: Batina, L., Robshaw, M. (eds.) Cryptographic Hardware and Embedded Systems | CHES 2014, LNCS, vol.8731, pp.75-92. Springer (2014)
4)Ben-Or, M., Goldwasser, S., Wigderson, A.: “Completeness theorems for noncryptographic fault-tolerant distributed computation”. In: Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing. pp.1‐10. STOC ’88, ACM, New York, NY, USA (1988)
5)BIP 65 OP_CHECKLOCKTIMEVERIFY https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
6)Chaum, David (1983). "Blind signatures for untraceable payments" (PDF). Advances in Cryptology Proceedings of Crypto. 82 (3): 199‐203.
7)Dawson, E.; Donovan, D. (1994), "The breadth of Shamir's secret-sharing scheme", Computers & Security, 13: Pp.69‐78
8)Desmedt. You (1987). “Society and Group Oriented Cryptography: A New Concept”. In A Conference on the Theory and Applications of Cryptographic Techniques on Advances in Cryptology (CRYPTO '87), Carl Pomerance (Ed.). Springer-Verlag, London, UK, UK, 120-127.
9)Feldman. P. “A practical scheme for non-interactive verifiable secret sharing”. In Proceedings of the 28th IEEE Annual Symposium on Foundations of Computer Science, pages 427‐437, 1987.
10)Gennaro, R., Jarecki, S., Krawczyk, H., Rabin, T.: “Robust threshold DSS signatures”. In: Proceedings of the 15th Annual International Conference on Theory and Application of Cryptographic Techniques. pp.354‐371. EUROCRYPT’96, SpringerVerlag, Berlin, Heidelberg (1996)
11)Ibrahim, M., Ali, I., Ibrahim, I., El-sawi, A.: “A robust threshold elliptic curve digital signature providing a new verifiable secret sharing scheme”. In: Circuits and Systems, 2003 IEEE 46th Midwest Symposium on. vol.1, pp.276‐280 (2003)
12)Johnson, D., Menezes, A., Vanstone, S.: “The elliptic curve digital signature algorithm (ecdsa)”. International Journal of Information Security 1(1), 36‐63 (2001)
13)Kapoor, Vivek, Vivek Sonny Abraham, and Ramesh Singh. "Elliptic Curve Cryptography." Ubiquity 2008, no. May (2008): 1-8.
14)Knuth, D. E. (1997), “The Art of Computer Programming, II: Seminumerical Algorithms” (3rd ed.), Addison-Wesley, p.505.
15)Koblitz, N. "An Elliptic Curve Implementation of the Finite Field Digital Signature Algorithm" in Advances in Cryptology ‐ Crypto '98. Lecture Notes in Computer Science, vol.1462, pp.327-337, 1998, Springer-Verlag.
16)Liu, C. L. (1968), “Introduction to Combinatorial Mathematics”, New York: McGraw-Hill.
17)National Institute of Standards and Technology: FIPS PUB 186-4: “Digital Signature Standard” (DSS) (2003)
18)Pedersen, T.: “Non-interactive and information-theoretic secure verifiable secret sharing”. In: Feigenbaum, J. (ed.) Advances in Cryptology ‐ CRYPTO ’91, LNCS, vol. 576, pp.129‐140. Springer (1992)
19)Rabin T. & Ben-Or. M. (1989) "Verifiable secret sharing and multiparty protocols with honest majority". In Proc. 21st ACM Symposium on Theory of Computing, pages 73--85, 1989.
20)Shamir, Adi (1979), "How to share a secret", Communications of the ACM, 22 (11): Pp.612‐613
21)Wright, C. & Savanah, S. (2016) “Determining a common secret for two Blockchain nodes for the secure exchange of information” Application Number: WO 2017/145016. 2016: n. pag. UK

Claims (33)

  1. コンピュータが、暗号化システムの公開-秘密鍵対の公開鍵を用いて検証することができるデジタル署名を提供するよう、前記公開-秘密鍵対の秘密鍵を用いてデジタルメッセージにデジタル署名する方法であって、
    前記デジタルメッセージの少なくとも第1閾数の部分署名を受け取ることであり、前記部分署名の夫々は、前記メッセージに基づく各々の第1部分と、前記秘密鍵の各々のシェアに基づく各々の第2部分とを含む第1多項式関数で表される曲線上の点に対応し、前記秘密鍵の少なくとも第2閾数のシェアが、該秘密鍵を決定することを可能にするために必要とされ、前記第1閾数は、前記メッセージの署名を形成するために最低限必要とされる数である、ことと、
    前記受け取られた少なくとも第1閾数の部分署名に対応する、前記第1多項式関数で表される曲線上の点の値に基づき、前記第1多項式関数の係数を決定することによって、前記第1多項式関数を決定して、前記メッセージのデジタル署名を達成することと
    を有し、
    前記第1多項式関数を決定することは、
    誤り位置多項式関数、及び前記第1多項式関数と前記誤り位置多項式関数との積である第2多項式関数を定義することと、
    前記受け取られた少なくとも第1閾数の部分署名に対応する前記値に基づき前記第2多項式関数及び前記誤り位置多項式関数の係数を決定することと、
    前記メッセージのデジタル署名を達成するよう前記第2多項式関数及び前記誤り位置多項式関数から前記第1多項式関数を決定することと
    を有する、方法。
  2. 前記第1多項式関数を決定することは、エラー訂正アルゴリズムを実行することを有する、
    請求項1に記載の方法。
  3. 前記第1多項式関数を決定することは、バーレカンプ-ウェルチ復号化アルゴリズムを実行することを有する、
    請求項1又は2に記載の方法。
  4. コンピュータが、暗号化システムの公開-秘密鍵対の公開鍵を用いて検証することができるデジタル署名を提供するよう、前記公開-秘密鍵対の秘密鍵を用いてデジタルメッセージにデジタル署名する方法であって、
    前記デジタルメッセージの少なくとも第1閾数の部分署名を受け取ることであり、前記部分署名の夫々は、前記メッセージに基づく各々の第1部分と、前記秘密鍵の各々のシェアに基づく各々の第2部分と、ゼロ定数項を有する第3多項式関数で表される曲線上の各々の点の値に対応し、加算マスクとして使用される各々の第3部分とを含む第4多項式関数で表される曲線上の点に対応し、前記秘密鍵の少なくとも第2閾数のシェアが、該秘密鍵を決定することを可能にするために必要とされ、前記第3多項式関数の少なくとも前記第1閾数のシェアが、該第3多項式関数を決定することを可能にするために必要とされ、前記第1閾数は、前記メッセージの署名を形成するために最低限必要とされる数である、ことと、
    前記受け取られた少なくとも第1閾数の部分署名に対応する、前記第4多項式関数で表される曲線上の点の値に基づき、前記第4多項式関数の係数を決定することによって、前記第4多項式関数を決定して、前記メッセージのデジタル署名を達成することと
    を有する方法。
  5. 前記第4多項式関数において、少なくとも1つの前記部分署名の前記各々の第3部分は、対応する前記第1部分及び対応する前記第2部分に加えられる、
    請求項に記載の方法。
  6. 前記第4多項式関数は、一時鍵の各々のシェアに基づく各々の第4部分を更に含み、
    前記一時鍵の少なくとも前記第2閾数のシェアが、前記一時鍵を決定することを可能にするために必要とされる、
    請求項又はのうちいずれか一項に記載の方法。
  7. 前記暗号化システムは、楕円曲線暗号化システムである、
    請求項1乃至のうちいずれか一項に記載の方法。
  8. 第1参加デバイスに知られている第1秘密値の少なくとも1つの各々の第1シェアを複数の第2参加デバイスの夫々に分配することであり、前記第1シェアは、各第2参加デバイスに関連した各々の第1秘密鍵と、該各々の第1秘密鍵を乗じられた楕円曲線生成元点である各々の第1公開鍵とを有する各々の秘密-公開鍵対を用いて暗号化され、前記第1閾数の第1シェアが、前記第1秘密値を決定することを前記第2参加デバイスに可能にするために必要とされる、ことと、
    複数の前記第2参加デバイスの夫々から、当該第2参加デバイスに知られている各々の第2秘密値の少なくとも1つの第2シェアを受け取ることであり、前記第2シェアは、前記第1参加デバイスに関連した第2秘密鍵と、該第2秘密鍵を乗じられた楕円曲線生成元点である第2公開鍵とを有する秘密-公開鍵対を用いて暗号化され、前記第2閾数の第2シェアが、前記第2秘密値を決定することを当該第2参加デバイス以外の参加デバイスに可能にするために必要とされる、ことと、
    複数の前記第2シェアから、第3秘密値の第3シェアを形成することであり、第3閾数の第3シェアが、前記第3秘密値が決定されることを可能にするために必要とされ、前記デジタルメッセージが署名されるための前記秘密鍵は、前記第3秘密値に基づく、ことと
    を更に有する請求項に記載の方法。
  9. 前記第1閾数は、前記第2閾数に等しく、且つ/あるいは、
    前記第2閾数は、前記第3閾数に等しく、且つ/あるいは、
    前記第3閾数は、前記第1閾数に等しい、
    請求項に記載の方法。
  10. 前記第1参加デバイスと複数の前記第2参加デバイスの夫々との間の暗号化された通信を可能にすることを更に有する、
    請求項又はに記載の方法。
  11. 前記暗号化された通信は、前記第1参加デバイスと、該第1参加デバイスから独立して前記複数の第2参加デバイスの夫々とによって決定された各々の共通の秘密を用いて可能にされる、
    請求項10に記載の方法。
  12. 前記第1参加デバイスは、秘密鍵を更新し、前記複数の第2参加デバイスの夫々に関連した各々の公開鍵を更新し、
    前記複数の第2参加デバイスの夫々は、各々の秘密鍵と、前記第1参加デバイスに関連した公開鍵とを更新する、
    請求項11に記載の方法。
  13. 前記鍵は、前記第1参加デバイスと対応する前記第2参加デバイスとの間で同意されたデータを基に更新される、
    請求項12に記載の方法。
  14. 前記第1秘密値の前記第1シェア及び前記第2秘密値の前記第2シェアは、各々のシャミア秘密分散スキームにより生成される、
    請求項乃至13のうちいずれか一項に記載の方法。
  15. 複数の前記第3シェアは、第5多項式関数で表される曲線上の各々の点の値に対応し、
    前記第3秘密値は、前記第5多項式関数で表される曲線上の前記第3閾数の点の値に基づき前記第5多項式関数を導出することによって決定可能である、
    請求項乃至14のうちいずれか一項に記載の方法。
  16. 複数の前記第2参加デバイスに対して、楕円曲線生成元点を乗じられた各々の前記第1シェアを送ることを更に有する、
    請求項乃至15のうちいずれか一項に記載の方法。
  17. 複数の前記第2参加デバイスから、楕円曲線生成元点を乗じられた少なくとも1つの各々の前記第2シェアを受け取ることを更に有する、
    請求項乃至16のうちいずれか一項に記載の方法。
  18. 少なくとも1の前記第2参加デバイスから直接受け取られた少なくとも1つの前記第2シェアと、少なくとも1の更なる前記第2参加デバイスから受け取られた、前記楕円曲線生成元点を乗じられた少なくとも1つの前記第2シェアとの一貫性を検証することを更に有する、
    請求項17に記載の方法。
  19. 前記検証することに基づき前記第3秘密値を更新することを更に有する、
    請求項18に記載の方法。
  20. 少なくとも1つの前記第2シェアは、第6多項式関数で表される曲線上の各々の点の値に対応し、
    前記第2秘密値は、前記第6多項式関数で表される曲線上の前記第2閾数の点の値に基づき前記第6多項式関数を導出することによって決定可能である、
    請求項17乃至19のうちいずれか一項に記載の方法。
  21. 複数の前記第2参加デバイスの夫々から、楕円曲線生成元点を乗じられた各々の前記第6多項式関数の少なくとも1つの係数を受け取ることを更に有する、
    請求項20に記載の方法。
  22. 少なくとも1の前記第2参加デバイスから直接受け取られた少なくとも1つの前記第2シェアと、少なくとも1の更なる前記第2参加デバイスから受け取られた、前記楕円曲線生成元点を乗じられた少なくとも1つの前記第2シェアとの一貫性を検証する場合に、前記検証することは、前記楕円曲線生成元点を乗じられた前記係数から、前記楕円曲線生成元点を乗じられた前記第6多項式関数を再構成することを有する、
    請求項21に記載の方法。
  23. 前記第1秘密値と、複数の前記第2参加デバイスから受け取られた、前記楕円曲線生成元点を乗じられた複数の前記第1シェアとの一貫性を検証することを更に有する、
    請求項17乃至22のうちいずれか一項に記載の方法。
  24. 前記検証することに基づいて前記第3秘密値を更新することを更に有する、
    請求項23に記載の方法。
  25. 前記検証することは、複数の前記第2シェアに適用される場合に前記第2秘密値をもたらす方法を用いて、前記楕円曲線生成元点を乗じられた前記複数の第2シェアから、前記楕円曲線生成元点を乗じられた前記第2秘密値を取得することを有する、
    請求項23又は24に記載の方法。
  26. 少なくとも1の前記第2参加デバイスから、値ゼロを有する第4秘密値の少なくとも1つの第4シェアを受け取ることを更に有し、
    前記第4シェアは、秘密鍵と、該秘密鍵を乗じられた楕円曲線生成元点である公開鍵とを有する少なくとも1つの秘密-公開鍵対を用いて暗号化される、
    請求項乃至25のうちいずれか一項に記載の方法。
  27. 前記第2参加デバイス又は夫々の前記第2参加デバイスとは異なる少なくとも1の第3参加デバイスから、値ゼロを有する第4秘密値の少なくとも1つの第4シェアを受け取ることを更に有し、
    前記第4シェアは、秘密鍵と、該秘密鍵を乗じられた楕円曲線生成元点である公開鍵とを有する少なくとも1つの秘密-公開鍵対を用いて暗号化される、
    請求項乃至26のうちいずれか一項に記載の方法。
  28. 前記楕円曲線生成元点を乗じられた複数の前記第4シェアと、ゼロ第4秘密値との一貫性を検証することを更に有する、
    請求項26又は27に記載の方法。
  29. 前記検証することに基づいて前記第3秘密値を更新することを更に有する、
    請求項28に記載の方法。
  30. 前記検証することは、複数の前記第4シェアに適用される場合に前記第4秘密値をもたらす方法を用いて、前記楕円曲線生成元点を乗じられた前記複数の第4シェアから、前記楕円曲線生成元点を乗じられた前記第4秘密値を取得することを有する、
    請求項28又は29に記載の方法。
  31. 前記第3シェア及び前記第4シェアから、前記第3秘密値の第5シェアを形成することを更に有し、
    第4閾数の第5シェアが、前記第3秘密値が決定されることを可能にするために必要とされる、
    請求項26乃至30のうちいずれか一項に記載の方法。
  32. 前記メッセージは、ブロックチェーントランザクションである、
    請求項1乃至31のうちいずれか一項に記載の方法。
  33. 請求項1乃至32のうちいずれか一項に記載の方法を実行するよう構成されたコンピュータ実装システム。
JP2020506735A 2017-08-15 2018-07-26 閾値デジタル署名方法及びシステム Active JP7301039B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023100467A JP2023120347A (ja) 2017-08-15 2023-06-20 閾値デジタル署名方法及びシステム

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GB1713064.2 2017-08-15
IBPCT/IB2017/054961 2017-08-15
GBGB1713064.2A GB201713064D0 (en) 2017-08-15 2017-08-15 Computer-implemented methods and systems
IB2017054961 2017-08-15
IB2017057782 2017-12-11
IBPCT/IB2017/057782 2017-12-11
PCT/IB2018/055604 WO2019034951A1 (en) 2017-08-15 2018-07-26 METHOD AND SYSTEM FOR DIGITAL THRESHOLD SIGNATURE

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023100467A Division JP2023120347A (ja) 2017-08-15 2023-06-20 閾値デジタル署名方法及びシステム

Publications (2)

Publication Number Publication Date
JP2020531893A JP2020531893A (ja) 2020-11-05
JP7301039B2 true JP7301039B2 (ja) 2023-06-30

Family

ID=63254756

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020506735A Active JP7301039B2 (ja) 2017-08-15 2018-07-26 閾値デジタル署名方法及びシステム
JP2023100467A Pending JP2023120347A (ja) 2017-08-15 2023-06-20 閾値デジタル署名方法及びシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023100467A Pending JP2023120347A (ja) 2017-08-15 2023-06-20 閾値デジタル署名方法及びシステム

Country Status (9)

Country Link
US (2) US11671255B2 (ja)
EP (1) EP3669490A1 (ja)
JP (2) JP7301039B2 (ja)
KR (1) KR102627039B1 (ja)
CN (1) CN110999206A (ja)
SG (1) SG11202000804PA (ja)
TW (1) TWI797147B (ja)
WO (1) WO2019034951A1 (ja)
ZA (1) ZA202000644B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10505723B1 (en) * 2017-04-26 2019-12-10 Wells Fargo Bank, N.A. Secret sharing information management and security system
US11444779B2 (en) 2018-08-02 2022-09-13 Paypal, Inc. Techniques for securing application programming interface requests using multi-party digital signatures
DE102018127529A1 (de) * 2018-11-05 2020-05-07 Infineon Technologies Ag Elektronische Vorrichtung und Verfahren zum Signieren einer Nachricht
EP3696670A1 (en) * 2019-02-13 2020-08-19 UVUE Limited Distributed computation system and method of operation thereof
EP3935779B9 (en) * 2019-03-05 2023-08-02 SEPIOR ApS A method for providing a digital signature to a message
CN110162570B (zh) * 2019-04-17 2021-03-05 创新先进技术有限公司 区块链数据的分次获取方法和装置
GB2584154A (en) 2019-05-24 2020-11-25 Nchain Holdings Ltd Knowledge proof
GB201907397D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Knowledge proof
US11228452B2 (en) * 2019-09-16 2022-01-18 Cisco Technology, Inc. Distributed certificate authority
CN110851859B (zh) * 2019-10-22 2023-09-29 华东师范大学 一种具有(n,t)门限的分布式权威节点区块链系统的认证方法
US11271728B2 (en) * 2019-12-20 2022-03-08 Fujitsu Limited Secure key management
WO2021130748A1 (en) 2019-12-23 2021-07-01 Kzen Networks Ltd. System and method of management of a shared cryptographic account
CN111628863B (zh) * 2020-05-29 2021-02-09 北京海泰方圆科技股份有限公司 一种数据签名的方法、装置、电子设备及存储介质
CN111669275B (zh) * 2020-07-07 2023-04-07 广东工业大学 一种无线网络环境下可选择从节点的主从协作签名方法
US20230016859A1 (en) * 2020-07-13 2023-01-19 Inpher, Inc. Multi-Pivot Partial Quicksort and Oblivious Comparisons of Secret Shared Arithmetic Values in a Multi-Party Computing Setting
CN115152177B (zh) * 2020-07-30 2023-11-21 戴普实验室有限公司 提供机密知识的专门证明的系统和方法
CN112003694B (zh) * 2020-08-10 2023-06-23 杭州溪塔科技有限公司 基于区块链的许可证签发方法、系统、电子设备及介质
EP3955110A1 (en) 2020-08-12 2022-02-16 UVUE Limited Distributed computing system and method of operation thereof
US11777917B2 (en) 2020-10-15 2023-10-03 Cisco Technology, Inc. Multi-party cloud authenticator
CN113259095B (zh) * 2021-04-27 2022-12-20 博雅中科(北京)信息技术有限公司 协同公钥生成方法、多方协同签名方法和系统
CN113438070B (zh) * 2021-05-25 2023-07-21 中国科学院计算技术研究所 基于capss的区块链密钥恢复方法及系统
CN113708924B (zh) * 2021-07-30 2022-09-30 西安邮电大学 基于区块链的椭圆曲线门限签名方法
GB2609906B (en) * 2021-08-09 2023-12-27 Nchain Licensing Ag Generating digital signature shares
SE546023C2 (en) * 2021-10-26 2024-04-16 Assa Abloy Ab Providing biometric access control using threshold cryptography
US20230291579A1 (en) * 2022-03-08 2023-09-14 Western Digital Technologies, Inc. Cryptographic keys for authorization requests from a data storage device
CN115208586B (zh) * 2022-09-13 2022-12-30 中安网脉(北京)技术股份有限公司 一种基于秘密分享的数字签名方法及系统
CN116401715B (zh) * 2023-06-08 2023-08-22 中国移动紫金(江苏)创新研究院有限公司 基于区块链的医疗数据流通隐私计算方法及系统
CN116668024B (zh) * 2023-07-28 2023-10-31 武汉趣链数字科技有限公司 一种分布式密钥的生成方法、装置、电子设备和存储介质
CN117134910B (zh) * 2023-10-24 2024-03-15 深圳市纽创信安科技开发有限公司 一种密钥共享方法、系统及存储介质
CN117439737B (zh) * 2023-12-18 2024-02-27 北京信安世纪科技股份有限公司 协同签名方法和协同签名系统
CN117728959B (zh) * 2024-02-06 2024-05-10 中国信息通信研究院 门限签名方法和装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142397A (ja) 1998-10-30 2001-05-25 Hitachi Ltd ディジタル署名方法、秘密情報の管理方法およびシステム
JP2014116870A (ja) 2012-12-12 2014-06-26 Hitachi Ltd 鍵配送システム
WO2016154001A1 (en) 2015-03-20 2016-09-29 Rivetz Corp. Automated attestation of device integrity using the block chain

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625692A (en) * 1995-01-23 1997-04-29 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
US5764767A (en) 1996-08-21 1998-06-09 Technion Research And Development Foundation Ltd. System for reconstruction of a secret shared by a plurality of participants
US6363481B1 (en) 1998-08-03 2002-03-26 Nortel Networks Limited Method and apparatus for secure data storage using distributed databases
JP3560860B2 (ja) 1999-07-23 2004-09-02 株式会社東芝 秘密分散システム、装置及び記憶媒体
JP3864247B2 (ja) 2001-10-19 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、端末装置、情報の配信方法及び復号方法
TWI248744B (en) * 2003-03-13 2006-02-01 Accton Technology Corp Multisignature scheme with message recovery for group authorization in mobile networks
JP4292835B2 (ja) 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
US8225185B1 (en) * 2007-02-07 2012-07-17 Marvell International, Ltd. RS codec architecture that combines a compact encoder and serial BMA
WO2008106793A1 (en) * 2007-03-06 2008-09-12 Research In Motion Limited Power analysis attack countermeasure for the ecdsa
US20100131752A1 (en) * 2008-11-26 2010-05-27 Ulrich Flegel Method and system for invalidation of cryptographic shares in computer systems
US20110213975A1 (en) 2010-03-01 2011-09-01 Alessandro Sorniotti Secret interest groups in online social networks
CN102340483B (zh) * 2010-07-15 2015-05-06 航天信息股份有限公司 民主群签名的生成、验证、追踪方法和民主群签名系统
US8627091B2 (en) 2011-04-01 2014-01-07 Cleversafe, Inc. Generating a secure signature utilizing a plurality of key shares
US9454312B2 (en) 2012-07-06 2016-09-27 Nec Corporation Method and system for storing and reading data in or from a key value storage
US8745415B2 (en) * 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
US9450938B1 (en) 2013-03-13 2016-09-20 Hrl Laboratories, Llc Information secure proactive multiparty computation (PMPC) protocol with linear bandwidth complexity
US9489522B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security
US9350550B2 (en) 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
US10263770B2 (en) * 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
CN106664205B (zh) * 2014-04-17 2020-06-05 赫尔实验室有限公司 生成数字签名的系统和方法、非瞬时计算机可读存储介质
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9946858B2 (en) * 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
WO2016015141A1 (en) 2014-07-28 2016-02-04 Infosec Global Inc. System and method for cryptographic suite management
US9813234B2 (en) 2015-05-11 2017-11-07 The United States of America, as represented by the Secretery of the Air Force Transferable multiparty computation
US9735958B2 (en) 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
AU2017223129A1 (en) 2016-02-23 2018-07-12 nChain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
SG11201805472RA (en) 2016-02-23 2018-07-30 Nchain Holdings Ltd Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US10046228B2 (en) 2016-05-02 2018-08-14 Bao Tran Smart device
US20170345011A1 (en) 2016-05-26 2017-11-30 Hitfin, Inc. System and method executed on a blockchain network
CN106712942B (zh) * 2017-01-10 2019-08-23 武汉理工大学 基于秘密共享的sm2数字签名生成方法及系统
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
RU2719311C1 (ru) 2018-11-27 2020-04-17 Алибаба Груп Холдинг Лимитед Система и способ защиты информации

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142397A (ja) 1998-10-30 2001-05-25 Hitachi Ltd ディジタル署名方法、秘密情報の管理方法およびシステム
JP2014116870A (ja) 2012-12-12 2014-06-26 Hitachi Ltd 鍵配送システム
WO2016154001A1 (en) 2015-03-20 2016-09-29 Rivetz Corp. Automated attestation of device integrity using the block chain

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DIKSHIT, Pratyush, SINGH, Kunwar,Efficient Weighted Threshold ECDSA for Securing Bitcoin Wallet,Proceedings of the ISEA Asia Security and Privacy (ISEASP) 2017,IEEE,2017年01月,pp. 1-9,[2022年6月22日検索], インターネット<URL:https://ieeexplore.ieee.org/abstract/document/7976994>
IBRAHIM, Maged H. et al.,A Robust Threshold Elliptic Curve Digital Signature Providing A New Verifiable Secret Sharing Scheme,Proceedings of the 46th IEEE International Midwest Symposium on Circuit & Systems,IEEE,Vol. 3,pp. 276-280,[2022年6月22日検索], インターネット<URL:https://ieeexplore.ieee.org/abstract/document/1562272>

Also Published As

Publication number Publication date
US20230421375A1 (en) 2023-12-28
US11671255B2 (en) 2023-06-06
US20200213113A1 (en) 2020-07-02
TWI797147B (zh) 2023-04-01
CN110999206A (zh) 2020-04-10
JP2023120347A (ja) 2023-08-29
ZA202000644B (en) 2023-07-26
TW201911809A (zh) 2019-03-16
WO2019034951A1 (en) 2019-02-21
EP3669490A1 (en) 2020-06-24
JP2020531893A (ja) 2020-11-05
KR102627039B1 (ko) 2024-01-19
KR20200036884A (ko) 2020-04-07
SG11202000804PA (en) 2020-02-27

Similar Documents

Publication Publication Date Title
JP7301039B2 (ja) 閾値デジタル署名方法及びシステム
JP7202358B2 (ja) 閾ボールトを生成する、コンピュータにより実施される方法
TWI821248B (zh) 用以移轉數位資產支配權之電腦實施方法及系統
JP7316283B2 (ja) デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム
CN110999207B (zh) 生成阈值库的计算机实现方法
Wright A distribution protocol for dealerless secret distribution

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230510

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: 20230530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230620

R150 Certificate of patent or registration of utility model

Ref document number: 7301039

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150