JP7328237B2 - コンピュータにより実施される投票処理およびシステム - Google Patents

コンピュータにより実施される投票処理およびシステム Download PDF

Info

Publication number
JP7328237B2
JP7328237B2 JP2020544956A JP2020544956A JP7328237B2 JP 7328237 B2 JP7328237 B2 JP 7328237B2 JP 2020544956 A JP2020544956 A JP 2020544956A JP 2020544956 A JP2020544956 A JP 2020544956A JP 7328237 B2 JP7328237 B2 JP 7328237B2
Authority
JP
Japan
Prior art keywords
shares
participants
computer
held
threshold 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
JP2020544956A
Other languages
English (en)
Other versions
JP2021515271A (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 GBGB1803396.9A external-priority patent/GB201803396D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of JP2021515271A publication Critical patent/JP2021515271A/ja
Priority to JP2023127140A priority Critical patent/JP2023133560A/ja
Application granted granted Critical
Publication of JP7328237B2 publication Critical patent/JP7328237B2/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic 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 group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2230/00Voting or election arrangements
    • 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/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • 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)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、概して、自動投票処理に関し、特に閾値署名方式に関する。本発明は、特に、ブロックチェーントランザクションのために閾値署名方式で使用することに適するが、これに限定されない。
本願明細書では、私たちは、全ての形式の電子的、コンピュータに基づく、分散型台帳を包含するために用語「ブロックチェーン」を使用する。これらは、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、並びにこれらの変形を含む。他のブロックチェーン実装が提案され開発されているが、ブロックチェーン技術の最も広く知られているアプリケーションは、Bitcoin台帳である。Bitcoinは、ここでは、便宜上及び説明の目的で参照されることがあるが、本発明はBitcoinブロックチェーンと共に使用することに限定されず、代替のブロックチェーン実装及びプロトコルが本発明の範囲に包含されることに留意すべきである。用語「ユーザ」は、ここでは、人間またはプロセッサに基づくリソースを表してよい。
ブロックチェーンは、コンピュータに基づく非集中型の分散型システムとして実装されるピアツーピアの電子台帳であり、ブロックにより構成され、ブロックはまたトランザクションにより構成される。各トランザクションは、ブロックチェーンシステムの中の参加者間でデジタルアセットの制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、これらのブロックは一緒に繋げられて、起源以来ブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能な記録を生成する。トランザクションは、スクリプトとして知られている小さなプログラムを含む。スクリプトは、それらのインプット及びアウトプットを埋め込まれ、トランザクションのアウトプットがどのように及び誰によりアクセス可能であるかを指定する。Bitcoinプラットフォームでは、これらのスクリプトはスタックに基づくスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるためには、検証されなければならない。ネットワークノード(マイナー)は、無効なトランザクションがネットワークから拒否され、各トランザクションが有効であることを保証するために作業を実行する。ノードにインストールされたソフトウェアクライアントは、未使用トランザクション(unspent transaction, UTXO)のロック及びアンロックスクリプトを実行することにより、UTXOに対してこの検証作業を実行する。ロック及びアンロックスクリプトの実行が真(TRUE)と評価する場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、(i)トランザクションを受信した第1ノードにより検証され、トランザクションが有効な場合には、ノードが該トランザクションをネットワーク内の他のノードに中継する、(ii)マイナーにより構築された新しいブロックに追加される、(iii)マイニングされる、つまり過去のトランザクションのパブリック台帳に追加される、ことが必要である。
ブロックチェーン技術は、暗号通貨の実装の使用のために最も広く知られているが、デジタル事業家が、Bitcoinの基づく暗号セキュリティシステム及び新しいシステムを実装するためにブロックチェーンに格納できるデータの両方の使用を開発し始めている。ブロックチェーンが、暗号通貨の分野に限定されない自動化タスク及びプロセスのために使用できれば、非常に有利になる。このようなソリューションは、ブロックチェーンの利益(例えば、永久性、イベントの記録の耐タンパ性、分散型処理、等)を利用しながら、それらの用途をより多様化し得る。
自動投票処理は、例えば複数の参加者により投じられた投票に基づき多数決を利用して、または複数の署名を要求する閾値署名方式を利用して、ブロックチェーントランザクションを実行するために使用できる。既存の自動投票処理は、多数のパーティが変化する数の投票を有し、動議を通過させるために、またはブロックチェーントランザクションのようなトランザクションに署名させるために、その部分集合がサポートまたは同意を提供する必要があるとき、欠点を有する。
したがって、パーティの最適な組み合わせを見付ける計算要求が増大するので、これを達成するための構成を提供することが望ましい。
このような改良されたソリューションがここで考案される。
したがって、本発明によると、添付の請求項において定められる処理が提供される。
本発明によると、コンピュータにより実施される投票処理であって、
複数の参加者の間に、第1共通シークレットの複数のシェアを分配するステップであって、前記第1共通シークレットは、前記参加者による自動投票処理を実施し、第1閾数の前記シェアにアクセス可能であり、前記第1閾数より少ないシェアによりアクセス不可能である、ステップと、
前記第1閾数のシェアを提供するために、複数の前記参加者により保持される前記第1共通シークレットの前記シェアの異なる数に基づき、複数の前記参加者により保持さえる前記シェアの少なくとも1つの組み合わせを決定するステップと、
を含む処理が提供され得る。
複数の前記参加者により保持される前記第1共通シークレットの異なる数のシェアに基づき、少なくとも1つの組み合わせを決定して、前記第1閾数のシェアを提供することにより、これは、第1閾数のシェアが、種々の参加者により保持されるシェアの数が変化するとき、動的に決定できるという利点を提供し、それにより、投票処理の効率を向上する。
本発明の文脈で、用語「投票」は、参加者の大多数により行われる共同決定の意味における投票だけでなく、例えばコンピュータまたは他のマシンを制御するための、またはブロックチェーントランザクションを実行可能にするためのブロックチェーントランザクションの署名を可能にするために、これらの投じられた投票の大多数に基づき、自動決定が行われることを可能にする投票処理も含む。
少なくとも1つの前記組み合わせを決定する前記ステップは、複数の前記参加者により保持されるそれぞれのシェアの数を表す情報を含むデータに、ナップサックアルゴリズムを適用するステップを含んでよい。
これは、処理の計算効率を向上するという利点を提供する。
前記データは、複数の前記参加者の推定投票動作を表す情報を更に含んでよい。
これは、参加者の期待投票動作を考慮できるという利点を提供し、それにより投票処理の効率を向上する。
推定投票動作を表す前記情報は、係数を含んでよく、該係数により、複数の前記参加者により保持されるそれぞれのシェアの数を表す前記情報が乗算される。
前記ナップサックアルゴリズムは、第1の複数の前記参加者により保持されるシェアの少なくとも1つの第1の前記組み合わせを、第2の複数の前記参加者により保持されるシェアの少なくとも1つの第2の前記組み合わせに基づき、決定してよく、前記第2の複数は前記第1の複数と異なる。
これは、前記組み合わせを繰り返し決定できるという利点を提供し、それにより、処理の計算効率を向上する。
複数の参加者により保持されるシェアの数は、前記データを複数の所定の値と比較することにより、推定されてよい。
これは、適切な数のシェアの一層迅速な決定を可能にするという利点を提供する。
前記所定の値は、少なくとも1つのSternシリーズに基づいてよい。
これは、所定の値の繰り返し決定を可能にすることにより、所定の値が計算的に効率のよい方法で生成できるという利点を提供する。
複数の前記所定の値は、他の前記所定の値に基づき決定されてよい。
これは、所定の値の繰り返し決定を可能にすることにより計算効率を向上するという利点を提供する。
第1共通シークレットはデジタル署名であってよい。
各々の前記シェアは、秘密鍵のそれぞれのシェアおよび一時的な鍵のそれぞれのシェアにより署名された部分署名であってよく、前記方法は、
前記複数の参加者の間に前記秘密鍵の複数のシェアを分配するステップであって、前記第1秘密鍵は、第2閾数のシェアにアクセス可能であり、前記第2閾数より少ないシェアにアクセス不可能である、ステップと、
前記複数の参加者の間に前記一時的な鍵の複数のシェアを分配するステップであって、前記一時的な鍵は、第3閾数のシェアにアクセス可能であり、前記第3閾数より少ないシェアにアクセス不可能である、ステップと、を更に含んでよい。
前記デジタル署名はブロックチェーントランザクションに適用されてよい。
本発明は、プロセッサと、プロセッサによる実行の結果として、システムに本願明細書に記載のコンピュータにより実施される処理のいずれかの実施形態を実行させる実行可能命令を含むメモリと、 を含むシステムも提供する。
本発明は、実行可能命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、少なくとも、前記コンピュータシステムに、本願明細書に記載のコンピュータにより実施される処理を実行させる、非一時的コンピュータ可読記憶媒体も提供する。
本発明の上述の及び他の態様は、本願明細書に記載の実施形態から明らかであり、及びそれを参照して教示される。本発明の実施形態は、単なる例を用いて及び添付の図面を参照して以下に説明される。
本発明を実施する自動投票処理の概略表現を示す。 種々の実施形態が実装できるコンピューティング環境を示す概略図である。
署名済みブロックチェーントランザクションのシェアを生成するメカニズムを先ず説明する。
最初に、セキュア通信チャネルが、国際特許出願WO2017/145016に詳細に記載された方法で、参加者間に確立される。その結果、データは、他の参加者に利用可能にされることなく、参加者間で交換できる。
セキュア通信チャネルが参加者間に確立されると、第1秘密鍵dAのシェアdA(i)は、以下に記載する方法を用いて第1参加者のグループの間に分配される。
アルゴリズム1:鍵生成
ドメインパラメータ(CURVE, Cardinality n, Generator G)
インプット: N/A
アウトプット: 鍵シェアdA1、dA2、...、dAN
アルゴリズム1の方法は以下の通りである。
1) (N)のうちの各参加者p(i)は、ECC公開鍵(または本実装ではBitcoinアドレス)を全ての他の参加者と交換し、ここで1≦i≦Nである。このアドレスは、グループアイデンティティアドレスであり、任意の他の目的で使用される必要がない。
留意すべきことに、これは、例えば国際特許出願WO2017/145016に開示されるように導出されたアドレス、および該出願に開示された処理から参加者の各々の間の共有された値に基づく鍵である。
2) 各参加者p(i)は、全ての他のパーティから秘密である方法で、ランダムな係数を有する次数(k-1)の多項式fi(x)を選択する。
この関数は、多項式の自由項として選択された参加者のシークレットa0 (i)の影響を受ける。この値は共有されない。この値は、導出された秘密鍵を用いて計算される。
fi(h)は、参加者p(i)により選択された関数f(x)の点(x=h)における値の結果として定められ、参加者p(i)の基本式は、以下の関数として定められる:
i(h)は、参加者p(i)により選択された関数f(x)の点(x=h)における値の結果として定められ、参加者p(i)の基本式は、以下の関数として定められる:
f(x)=Σp=0 (k-1) apxp mod n
この式で、a0は各参加者p(i)のシークレットであり、共有されない。
したがって、各参加者p(i)は、該参加者のシークレットとして定義される自由項a0 (i)を有する次数(k-1)の多項式として表される秘密に保たれた以下の関数fi(x)を有する:
fi(x)=Σγ=0 (k-1) aγxγ mod n
3) 各参加者p(i)は、上述のようにP(h)の公開鍵を用いて参加者P(h)∀h={1,...,(i-1),(i+1),...,N}へのfi(h)を暗号化し、復号するためにP(h)の値を交換する。
Znがフィールド(field)であり、ECC秘密鍵として選択された値に対してnを法としてラグランジュ補間を有効に実行できる場合、シャミアのシークレット共有方式SSSS(Shamir’s Secret Sharing Scheme)[5]がZnに対して実施できるという結論に至る条件が存在する。
4) 各参加者P(i)は、全ての参加者に以下の値をブロードキャストする。
a) ak (i)G∀k={0,...,(k-1)}
b) fi(h)G∀h={1,...,N}
上式の変数hに関連付けられた値は、参加者P(h)の位置であり得る。その結果、参加者P(h)が方式の中で第3参加者を表す場合、h=3、または等価に、参加者により使用されるECC公開鍵の値を整数として表してよい。いずれの実装についても使用例およびシナリオが存在する。後者の実装では、値h={1,…,N}は、個々の参加者の利用した公開鍵にマッピングされた値の配列により置き換えられ得る。
5) 各参加者P(h≠i)は、各他の参加者から受信したシェアとの、受信したシェアの一貫性を検証する。つまり:
Σk=o (k-1)hk ak (i) G = fi(h)G
そして、fi(h)Gは、参加者のシェアと一致する。
6) 各参加者P(h≠i)は、該参加者(P(h≠i))により所有され且つ受信されたシェアが他の受信されたシェアと一致するかを検証する:
a0 (i)G=Σh∈Bβjfi(h)G ∀P(h≠i)
実際に、これは、参加者が、受信したシェアから共有シークレットを復元し得るが、代わりに、Gにより乗算されたシェアから、基準点Gにより乗算された共有シークレットを復元する処理を実行することを意味する。これが一致しない場合、参加者はプロトコルを拒否し、再び開始する。
7) 参加者p(i)は彼らのシェアdA(i)を次のように計算する:
SHARE(p(i))=dA(i)h=1 jfh(i) mod n
ここで、SHARE(p(i))∈Zn
及び
ここで、
Figure 0007328237000001
ここで、演算「Exp-Interpolate(f1,...,fN)」は、シェアf1,...,fNから共有シークレットdAを復元するために通常使用される方法で、例えばシャミア秘密共有方式の場合にはラグランジュ係数を用いる補間により、シェアf1×G,...,fN×Gから共有シークレット値G×dAを復元する演算を実行することを意味する。
戻り値: (dA(i),QA)
参加者p(i)は、署名を計算する際にシェアを使用する。この役割は、任意の参加者により、または署名を集める処理において調整者(coordinator)として機能するパーティp(c)により、行うことができる。参加者p(c)は、変化し、トランザクションに署名するために十分なシェアを集めようとする度に同じパーティである必要はない。
したがって、秘密鍵シェアdA(i)∈Zn *は、他の参加者のシェアを知らずに、生成される。
アルゴリズム2:秘密鍵を更新する
インプット: 秘密鍵dAの参加者Piのシェアを示すdA(i)
アウトプット: 参加者Piの、新しい秘密鍵シェアdA(i)
アルゴリズム2は、秘密鍵を更新するため、およびプロトコルにランダム性を追加するために使用できる。
1) 各参加者は、ゼロ(0)を自由項とする次数(k-1)のランダム多項式を選択する。これは、アルゴリズム1と類似するが、参加者は全ての他の参加者の選択されたシークレットがゼロであることを検証しなければならない。
以下に留意すべきである。
Figure 0007328237000002
ここで、0は楕円曲線上の無限遠における点である。
この式を用いて、全てのアクティブな参加者は以下の関数を検証する:
Figure 0007328237000003
ゼロシェアを生成する: zi∈Zn *
2) dA(i)’=dA(i)+zi
3) 戻り値: dA(i)
参加者の集合は、アルゴリズム1に従い秘密鍵シェアdA1,dA2,...,dANを構成する。新しい鍵シェアDk1,Dk2,...,DkNは、集合の中の各参加者に導入される。これらのシェアは、上述のアルゴリズム1を用いて構成されてよい。アルゴリズム1では、参加者の閾シェアが、予め知られていない共有シークレットDkを構成可能であってよい。代替として、Dkは予め知られていてよく(例えば決定性鍵)、シェアは、アルゴリズムと同様の方法で構成されてよいが、予め知られているDkは多項式の中の自由項として選択される。いずれの場合にも、集合の中の各参加者にはスライスDk1,Dk2,...,DkNだけが知られているが、以下は全員に知られている:
Figure 0007328237000004
全ての参加者は以下の第1公開鍵を知っているので:
Figure 0007328237000005
彼らは以下を計算できる:
Figure 0007328237000006
ここで、第1V1Sおよび第2V2S秘密鍵はV2S=V1S+Dkにより関連付けられるので、彼らはdAの彼らのスライスまたはDkをブロードキャストしない。個々のシェアdA1,...,dAN、およびDk1,...,DkNは、各々の個々の参加者にだけに知られたままである。
新しいアドレスP2Sが生成され、誰が主な資金を制御するかを変更するトランザクションtxがこれに署名する。つまり、P1SからP2Sへの支払いは、アドレスP1Sを用いて署名できる。
Dk集合は、P1S集合からのグループとして(または閾数または全メンバのいずれかとして)、または新しいグループ、のいずれかとして設定できる。Dkの各閾スライスは、別個に割り当てることができるが、P1SおよびDkが別個に制御される場合、これは二重署名構造を作り出し、P1SおよびDkの両方がトランザクションtxに署名するためにそれぞれの閾レートで要求されることに留意すべきである。更に、P1SおよびDkは同じメンバまたは同じ割合を必要としないことに留意すべきである。
アルゴリズム3:署名生成
インプット:
署名されるべきメッセージ: e=H(m)
秘密鍵シェア: dA1,...,dAN、ここで、dA(i)∈Zn *
決定性鍵: Dk1,...,DkN、ここで、Dki∈Zn *
秘密鍵シェアdA1,dA2,...,dANは、アルゴリズム1を用いて生成される。決定性鍵シェアDk1,Dk2,...,DkNは、アルゴリズム1を用いて、多項式の中の自由項としてランダムな定数を用いて、または、自由項として予め知られている決定性鍵Dkを用いて、生成される。
アウトプット:
署名: (r,s) ここで、r,s∈Zn *
署名は、秘密鍵のシェアdAおよび決定性鍵のシェアDkの両方を署名に組み込む方法を用いて生成される。これは以下のように詳細に説明される。
先ず、各参加者は、アルゴリズム1を用いて一時的な(emphemeral)鍵シェアを生成する:
ki∈Zn *
新しいマスクシェアが上述のアルゴリズム1を用いて生成される:
αi∈Zn *
ゼロマスクシェアが上述のアルゴリズム2を用いて生成される:
βi∈Zn、 ci∈Zn
各参加者はαi、βi、 ciを知っており、それらは他のだれにも知られていない。
1) e=H(m)メッセージ(署名されるべきトランザクション)を分配する。
以下をブロードキャストする:
Figure 0007328237000007
2) 以下を計算する:
Figure 0007328237000008
ここで、αはマスクシェアαiに対応する秘密鍵であり、演算「Interpolate(ν1,...,νN)」は、例えばラグランジュ補間係数を用いて、シェアν1,...,νNから共有シークレットμを取得することを意味する。
3) 以下を計算する:
Figure 0007328237000009
4) (Rx,Ry)を計算する。ここで、
Figure 0007328237000010
5) r:=rx=Rx mod nを定める。
r=0ならば、やり直す。
6) 以下をブロードキャストする:
Si:=ki(e+[dAi+Dki]r)+ci mod n
dAiおよびDkiが参加者の異なる集合を表す場合、各集合からの2人の参加者は各々の個々のSiをブロードキャストするために通信しなければならないことに留意する。
7)
Figure 0007328237000011
S=0ならば、やり直す。
8) 戻り値: (r,s)
9) 次式に由来するトランザクションを構成する:
Figure 0007328237000012
これは、(r,s)署名を有する標準的なBitcoinトランザクションである。どの点もdAを有しない、または、(Dkが既存の知られている値と分離されてない限り)Dkが再構成される。
<投票の最適化のためのメカニズム - ソリューションの実施形態>
図1を参照すると、本発明を実施する、複数の参加者4のための、コンピュータにより実施される投票処理2が開示される。各参加者4は、署名済みブロックチェーントランザクションのシェアの形式で、投票の多数のシェア6を保持する。その結果、ブロックチェーントランザクションに署名するため、したがって実行14するためには閾数のシェア6が要求される。参加者4は、変化する数のシェア6を保持できる。したがって、参加者4は、それぞれ、シェア6の合計数のうちの変化する割合を保持できる。信頼性8の確率は、各参加者4に割り当てることができる。信頼性8の確率は、参加者4が所与の投票決定に対して期待されたように(または要求されたように)投票する推定確率を指定する。投票者の信頼性reliability値は、以下の詳述するナップサックアルゴリズム10の中の項(item)のコストの指標として使用できる。例えば、cost=1-reliabilityである。
トランザクションに署名させるために、閾数のシェアが達成される必要がある。シェアの割合は、昇順に収集できる。閾値には、必要な投票数の安全なマージンを含むことができる。つまり、組み合わせが計算される。これは、信頼性8の確率が低すぎると推定される場合に、閾数より多くのシェアを提供する。次に、計算「ビン(bin)」の集合が構成され、以下に詳述するStern-Brocot木に従い順序付けられた有理数に従いサイズを決定される。Stern-Brocot木は、有理数を生成するために、Sternの近隣項を分割することにより、構成できる。代替として、Stern-Brocot木は、後述する行列乗算手順に従うことにより計算できる。この構成では各有理数は1回だけ生じるので、無限深さまでの木は、有理数の完全な集合をリストする。明らかに、この集合は無限集合である。実装では、Stern-Brocot木の深さは、計算ビンの粒度を調整するために較正できる。必要なビンの数が増加するにつれ、並べ替え手順の計算コストが増大する。
値が0と1との間にある有理数のみが考慮され、これらの値は、計算ビンの上側境界値および下側境界値として、値12により順序づけられる。これらのビンは、投票者が問題となっている「動議」、例えばブロックチェーントランザクションを実行するための提案、に賛成を投じる、合計投票の比率を保つ。
彼らの信頼性(上述した)により乗算されたシェア比率は、値の単位数量未満の順序、および値の最も近い(しかし大きい)有理数ビンの中にあるシェア比率と比較される。これは、シェア6の比率の順序づけ、並べ替えを提供する。シェア比率が有理数と値において正確に一致しないので、必然的に差が生じるが、それらは、上述のような側境界および下側境界を有する計算ビンに含まれる。
これを説明するために、以下の表に一例が示される。
Figure 0007328237000013
貢献は、投票者の有する合計シェア比率とそれらの投票の信頼性との積である。貢献は、投票者の貢献する「期待」投票数として考えられる。
投票者の最適な集合は、次に、ナップサックアルゴリズム(例えば、動的計画法、または汎用アルゴリズム)に対する解法を用いて計算できる。これは、「Different Approaches to Solve the 0/1 Knapsack Problem」、Maya Hristakeva Computer Science Department, Simpson College, Indianola, IA 50125に詳細に記載されている。
更なる利点は、投票者の投票プロファイルが変化した場合、または投票者の信頼性プロファイルが変化した場合に、順序および最適化が、同じ計算を再実行することにより、再計算できることである。これは、非常に動的に変化する環境で本技術の使用を可能にする。これは、また、本技術を、膨大な数の投票者が存在するシナリオへと拡大できる。
<大規模な投票方式へのアルゴリズム的アプローチ>
<アルゴリズム1>
ステップ1。投票者および投票者の有するシェア数に関する情報を収集する。
ステップ2。各投票者の有する合計シェアの比率を計算する。投票習慣における投票者の信頼性度を評価する。上述のように、投票されている課題について、投票者に「コスト」を割り当てる。Stern-Brocot木により記述される、単位数量未満の値の有理数に従いサイズの決められた計算「ビン」のシリーズを生成する。
ステップ3。シェアの比率を、Stern-Brocot木により列挙されるような単位数未満の有理数の値と比較する。これは、1未満の値の有理分数に基づき値を並べ替える効率的な方法である。この手順は、計算ビンの上側境界および加減境界の両方を定める。関連付けられたビンに、シェアの期待比率を置く。各ビンの中の各エントリを追跡する。各ビンの中に何個のエントリが存在するかを追跡する。これは、ナップサック最適化処理のために、シェアの比率に関する情報を準備する。
ステップ4。ナップサックアルゴリズムの標準的な解法を実行する。これは、例えば「Different Approaches to Solve the 0/1 Knapsack Problem」、Maya Hristakeva Computer Science Department, Simpson College, Indianola, IA 50125に記載されており、定数としての閾値を有する。ナップサックに対する「動的計画法」アプローチの一例を以下に詳述する。
ステップ5。投票方式を確認する。
<ナップサックアルゴリズムの詳細な定義>
ナップサックに価値ある項目(valuable item)を提出することと、多数の投票者からの期待される貢献により閾値投票を達成することとの間の類似性は上述のように示すことができる。
ナップサック問題に対する解法は、Hristakevaの上述の参考文献に記載されている。以下に一例を詳述する。
ナップサック問題の仕様は以下の通りである。
Xiはアイテムiの何個のコピーがナップサックに入れられるかを示す。最大化のための目的関数:
Maximize
Σi-1 NBiXi
ここで、Xiは項目型(item type)の終了であり、iはナップサックに詰め込まれる項目のインデックスであり、Bは利益であり(したがって、B=1は良好を示し、B=0は粗悪を示す)、Biは上述のように投票者iの期待利益であり、Xiは投票者iの有する合計シェアの比率であり、制約:Σi-1 NViXi≦Vを受け、ここで、Viはオブジェクトインデックスiの量であり、Vは合計投票数であり、0≦Xi≦Qi、ここで、Qは項目型iの最大数である。
Qiの1つ以上が無限ならば、KPは無限であり、その他の場合、KPは有限である。これは、Chen T.S. Huang G.S. Liu T.P., Chung Y.F (2002), ‘Digital Signature Scheme Resulted from Identification Protocol for Elliptic Curve Cryptosystem’, Proceedings of IEEE TENCON’02. pp. 192-195に更に詳細に記載されている。
<ナップサック問題に対する解法の実装>
動的計画法アプローチの解法を以下に記載する。
動的計画法(Dynamic Programming)は、重複するサブ問題との反復関係を満たす解を有する問題を解く。
動的計画法は、小さなサブ問題の各々を1回だけ解き、結果を表に記録する。これは、解法全体の計算効率を向上する。
表は、次に、元の問題の解を得るために使用される。動的計画法アプローチは、例えばHsu C.L, Wu T. C. (1998), Authenticated Encryption Scheme with (t,n) Shared Verification’, IEEE Proceedings-Computers and Digital Techniques, Vol. 145, no. 2, pp. 117-120に記載されているようにボトムアップで動作するが、本技術はトップダウンにも適用できる。
0/1ナップサック問題のための動的計画法アルゴリズムを設計するために、先ず、解の項目の中でナップサック問題のインスタンスに対する解を、そのより小さなインスタンスへと表現する反復関係を導出する必要がある。
最初のi個の項目、1≦i≦N、のインスタンスを考える:
weights w1,...,wN,
values v1,...,vN,
ナップサック容量j, 1≦j≦V
Table[i,j]がこのインスタンスの最適解であるとする(つまり、jのナップサック容量に適合する最初のi個の項目の最も価値ある部分集合の値)。
jのナップサック容量に適合する最初のi個の項目の全ての部分集合は、i番目の項目を含まない2つの部分集合、およびi番目の項目を含む部分集合に分けられる。
これは、反復関係を生じる。
j<wi ならば、Table[i,j]←Table[i-1,j] i番目の項目に適合しない。
その他の場合、Table[i,j]←maximum{表[i-1,j] i番目の項目を使用しない。
および、vi+Table[i-1,j-vi,] i番目の項目を使用する。
このコンテキストでは、シンボル←は、データ構造への値の割り当てを示す。
目的は、Table[N,Capacity]、ナップサックの部分集合の最大値、を見付けることである。
ナップサック問題の2つの境界条件は:
・ナップサックは、それに含まれる項目が存在しないとき、値を有しない(つまり、i=0)。
Table[0,j]=0 for j≧0
・ナップサックは、その容量がゼロのとき、その中に項目を含むことができないので、値を有しない(つまり、j=0)。
Table[i,0]=0 for i≧0

<アルゴリズム>
Dynamic Programming(Weights [1…N], Values[1…N], table [0…N,0…Capacity])
インプット:配列Weightsは全ての項目の重みを含む。配列Valuesは全ての項目の値を含む。配列Tableは0により初期化される。これは、動的計画法アルゴリズムからの結果を格納するために使用される。
アウトプット:配列Table(Table[N,Capacity])の最後の値は、所与の容量(Capacity)について、問題の最適解を含む。
for i=0 to N do
for j=0 to Capacity
if<Weights[i] then
Table[i,j]←Table[i-1,j]
else
Table[i,j]←maximum{table[i-1,j]
AND
Values[i]+table[i-1,j-Weights[i[]
Return Table[N,Capacity]
このアルゴリズムインスタンスでは、私たちは、項目の重みおよび値のために使用される2つの別個の配列、型項目(type item)の1つの更なる配列Itemsを使用し、ここで項奥は2つのフィールド重み(weight)および値(value)を有する構造である。
どの項目が最適解に含まれるかを見付けるために、以下のアルゴリズムが使用される:
n←Nc←Capacity
位置Table[n,c]で開始する。
残り容量が0より大きいならば、以下を行う
If Table[n,c]=Table[n-1,c] then
項目nが最適解に含まれていない。
その他の場合、
項目nが最適解に含まれている。
項目(Item)nを処理する。
1行上にn-1へと移動する。
列c-weight(n)へと移動する。
<Stern-Brocot木の定義>
Figure 0007328237000014
上図から、Sternシリーズから導出されることは、有理数が木の形式に配置できることであることが分かる。木の中の葉の間の関係は、それらが全て最上位要素、つまり(1/1)から導出されることである。
この値をベクトルとして考え、これを左の行列Lまたは右の行列Rにより乗算することにより、木の上の連続する葉が生成できる。行列LおよびRは以下のように定められる。
I=1 0
0 1

L=1 0
1 1

R=1 1
0 1
出現する構造は以下の通りである:
Figure 0007328237000015
行列RおよびLを繰り返し適用することにより、木の更なる枝が生成できることが分かる。木の任意の所与のレベルにある項目は、次に左から右へと読み出され、有理数の順序が生成できる。(行列Iに揃えられた)中心線の左までの数値は、0と単位数(unity)との間の値を有する。中心線の右までの数値は、単位数より大きい値を有する。

図2を参照すると、本開示の少なくとも一実施形態を実施するために使用され得るコンピューティング装置2600の説明のための簡略ブロック図が提供される。種々の実施形態で、コンピューティング装置2600は、上述の図示のシステムのうちのいずれかを実装するために使用されてよい。例えば、コンピューティング装置2600は、データサーバ、ウェブサーバ、ポータブルコンピューティング装置、パーソナルコンピュータ、又は任意の電子コンピューティング装置として使用するために構成されてよい。図2に示すように、コンピューティング装置2600は、主メモリ2608及び永久記憶装置2610を含む記憶サブシステム2606と通信するよう構成され得る1つ以上のレベルのキャッシュメモリ及びメモリ制御部(集合的に2602とラベル付けされる)を備える1つ以上のプロセッサを含んでよい。主メモリ2608は、図示のように、動的ランダムアクセスメモリ(DRAM)2618及び読み出し専用メモリ(ROM)2620を含み得る。記憶サブシステム2606及びキャッシュメモリ2602は、本開示で説明されたようなトランザクション及びブロックに関連付けられた詳細事項のような情報の記憶のために使用されてよい。プロセッサ2602は、本開示で説明されたような任意の実施形態のステップ又は機能を提供するために利用されてよい。
プロセッサ2602は、1つ以上のユーザインタフェース入力装置2612、1つ以上のユーザインタフェース出力装置2614、及びネットワークインタフェースサブシステム2616とも通信できる。
バスサブシステム2604は、コンピューティング装置2600の種々のコンポーネント及びサブシステムが意図した通りに互いに通信できるようにするメカニズムを提供してよい。バスサブシステム2604は、単一のバスとして概略的に示されるが、バスサブシステムの代替の実施形態は、複数のバスを利用してよい。
ネットワークインタフェースサブシステム2616は、他のコンピューティング装置及びネットワークへのインタフェースを提供してよい。ネットワークインタフェースサブシステム2616は、幾つかの実施形態では、コンピューティング装置2600の他のシステムからデータを受信し及びそれへデータを送信するインタフェースとして機能してよい。例えば、ネットワークインタフェースサブシステム2616は、データ技術者が、装置をネットワークに接続することを可能にする。その結果、データ技術者は、データセンタのような遠隔地にいがなら、データを装置へ送信し、データを装置から受信できる。
ユーザインタフェース入力装置2612は、キーボード、統合型マウス、トラックボール、タッチパッド、又はグラフィックタブレットのような指示装置、スキャナ、バーコードスキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンのようなオーディオ入力装置、及び他の種類の入力装置のような、1つ以上のユーザ入力装置を含んでよい。通常、用語「入力装置」の使用は、コンピューティング装置2600に情報を入力する全ての可能な種類の装置及びメカニズムを含むことを意図する。
1つ以上のユーザインタフェース出力装置2614は、ディスプレイサブシステム、プリンタ、または音声出力装置のような非視覚的ディスプレイ、等を含んでよい。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、又はプロジェクションのような平面装置、又は他のディスプレイ装置を含んでよい。通常、用語「出力装置」の使用は、コンピューティング装置2600から情報を出力する全ての可能な種類の装置及びメカニズムを含むことを意図する。1つ以上のユーザインタフェース出力装置2614は、例えば、ユーザインタフェースを提示して、ここに記載したプロセス及び変形を実行するアプリケーションとのユーザ相互作用が適切であるとき、そのような相互作用を実現するために使用されてよい。
記憶サブシステム2606は、本開示の少なくとも1つの実施形態の機能を提供する基本プログラミング及びデータ構造を記憶するコンピュータ可読記憶媒体を提供してよい。アプリケーション(例えば、プログラム、コードモジュール、命令)は、1つ以上のプロセッサにより実行されると、本開示の1つ以上の実施形態の機能を提供し、記憶サブシステム2606に格納されてよい。これらのアプリケーションモジュール又は命令は、1つ以上のプロセッサ2602により実行されてよい。記憶サブシステム2606は、更に、本開示に従い使用されるデータを格納するレポジトリを提供する。例えば、主メモリ2608及びキャッシュメモリ2602は、プログラム及びデータのための揮発性記憶を提供できる。永久記憶装置2610は、プログラム及びデータの永久(不揮発性)記憶を提供でき、磁気ハードディスクドライブ、取り外し可能媒体に関連付けられた1つ以上のフロッピディスクドライブ、取り外し可能媒体に関連付けられた1つ以上の光ドライブ(例えば、CD-ROM、又はDVD、又はBlue-Ray)ドライブ、及び他の同様の記憶媒体を含んでよい。このようなプログラム及びデータは、本開示に記載した1つ以上の実施形態のステップを実行するためのプログラム、及び本開示に記載したトランザクション及びブロックに関連付けられたデータを含み得る。
コンピューティング装置2600は、ポータブルコンピュータ装置、タブレットコンピュータ、ワークステーション、又は後述する任意の他の装置を含む種々のタイプのものであってよい。さらに、コンピューティング装置2600は、1つ以上のポート(例えば、USB、ヘッドフォンジャック、光コネクタ、等)を通じてコンピューティング装置2600に接続可能な別の装置を含み得る。コンピューティング装置2600に接続され得る装置は、光ファイバコネクタを受けるよう構成される複数のポートを含んでよい。したがって、この装置は、光信号を、処理のために装置を接続するポートを通じてコンピューティング装置2600に送信される電気信号に変換するよう構成されてよい。コンピュータ及びネットワークの絶えず変化する特性により、図2に示したコンピューティング装置2600の説明は、装置の好適な実施形態を説明する目的の特定の例としてのみ意図される。図2に示したシステムより多くの又は少ないコンポーネントを有する多くの他の構成が可能である。
上述の実施形態は、本発明を限定するのではなく、説明すること、及び当業者は添付の特許請求の範囲により定められる本発明の範囲から逸脱することなく多くの代替的実施形態を考案できることに留意すべきである。特許請求の範囲において、括弧内の任意の参照符号は、請求項を限定することを意図しない。用語「有する」及び「含む」(comprising、comprises)等は、任意の請求項又は明細書全体に列挙されたもの以外の要素またはステップの存在を排除しない。本願明細書では、「有する」は「有する又は構成される」を意味し、「含む」は「含む又は構成される」を意味する。要素の単数の参照は、該要素の複数の参照を排除しない。逆も同様である。本発明は、幾つかの別個の要素を含むハードウェアにより、及び適切にプログラムされたコンピュータにより、実装できる。幾つかの手段を列挙する装置クレームでは、これらの手段のうちの幾つかは、1つの同じハードウェアアイテムにより具現化されてよい。単に特定の手段が相互に異なる従属請求項に記載されるという事実は、これらの手段の組み合わせが有利に使用されないことを示さない。

<参考文献>
1. Chen T.S. Huang G.S. Liu T.P. and Chung Y.F (2002), ‘Digital Signature Scheme Resulted from Identification Protocol for Elliptic Curve Cryptosystem’, Proceedings of IEEE TENCON’02. pp. 192-195
2. Hsu C.L and Wu T. C. (1998), Authenticated Encryption Scheme with (t, n) Shared Verification’, IEEE Proceedings - Computers and Digital Techniques, Vol. 145, no. 2, pp. 117-120.
3. Graham, R. L.; Knuth, D. E.; and Patashnik, O. Concrete Mathematics: A Foundation for Computer Science, 2nd ed. Reading, MA: Addison-Wesley, pp. 116-117, 1994.
4. Koblitz N. (1987), ‘Elliptic Curve Cryptosystems’, Mathematics of Computation, pp 203-209.
4a. Padma Bh et. al. / (IJCSE) International Journal on Computer Science and Engineering Vol. 02, No. 05, 2010, 1904-1907 Encoding And Decoding of a Message in the Implementation of Elliptic Curve Cryptography using Koblitz’s Method
5. Nyberg K. and Rueppel R.A. (1993), ‘A New Signature Scheme Based on DSA giving message Recovery’, ACM Computer and Communications Security, Vol.1,pp.58-61.
6. Rajaram Ramasamy R, Prabakar M.A, Devi M.I, and Suguna M(2009), ‘Knapsack Based ECC Encryption and Decryption’, International Journal of Network Security, Vol.9, no.3, pp. 218-226.
7. Rajaram Ramasamy R. and Amutha Prabakar M. (2011), ‘Digital Signature Scheme with message Recovery Using Knapsack -based ECC’, International Journal of Network Security, Vol.12, no.1,pp.15,20.
8. Reznick (2008), ‘Regularity Properties of the Stern Enumeration of the Rationals’, Journal of Integer Sequence.
9. Stern, M. A. "Uber eine zahlentheoretische Funktion." J. reine angew. Math. 55, 193-220, 1858.
10. Different Approaches to Solve the 0/1 Knapsack Problem Maya Hristakeva Computer Science Department Simpson College Indianola, IA 50125 hristake@simpson.edu

Claims (12)

  1. コンピュータにより実施される投票処理方法であって、
    複数の参加者の間に、第1共通シークレットの複数のシェアを分配するステップであって、前記シェアは前記参加者に等しく割り当てられず、各参加者は各々の数のシェアを有し、前記第1共通シークレットは、前記参加者による自動投票処理を実施するために使用され、第1閾数の前記シェアを用いるとアクセス可能であり、前記第1閾数より少ないシェアを用いるとアクセス不可能である、ステップと、
    複数の前記参加者により保持される前記各々の数のシェアを表す情報を含むデータに、ナップサックアルゴリズムを適用することにより、前記第1閾数のシェアを提供するために、複数の前記参加者により保持される前記第1共通シークレットの前記シェアの前記各々の数に基づき、複数の前記参加者により保持さる前記シェアの少なくとも1つの組み合わせを決定するステップと、
    を含む方法
  2. 前記データは、複数の前記参加者の推定投票動作を表す情報を更に含む、請求項1に記載の方法
  3. 推定投票動作を表す前記情報は、係数を含み、該係数により、複数の前記参加者により保持されるそれぞれのシェアの数を表す前記情報が乗算される、請求項2に記載の方法
  4. 前記ナップサックアルゴリズムは、第1の複数の前記参加者により保持されるシェアの少なくとも1つの第1の前記組み合わせを、第2の複数の前記参加者により保持されるシェアの少なくとも1つの第2の前記組み合わせに基づき、決定し、前記第2の複数は前記第1の複数と異なる、請求項1乃至3のいずれか一項に記載の方法
  5. 複数の参加者により保持されるシェアの数は、前記データを複数の所定の値と比較することにより、推定される、請求項1乃至4のいずれか一項に記載の方法
  6. 前記所定の値は、少なくとも1つのSternシリーズに基づく、請求項5に記載の方法
  7. 複数の前記所定の値は、他の前記所定の値に基づき決定される、請求項5または6に記載の方法
  8. 前記第1共通シークレットはデジタル署名である、請求項1乃至7のいずれか一項に記載の方法
  9. 各々の前記シェアは、秘密鍵のそれぞれのシェアおよび一時的な鍵のそれぞれのシェアにより署名された部分署名であり、前記方法は、
    前記複数の参加者の間に前記秘密鍵の複数のシェアを分配するステップであって、前記密鍵は、第2閾数のシェアにアクセス可能であり、前記第2閾数より少ないシェアを用いるとアクセス不可能である、ステップと、
    前記複数の参加者の間に前記一時的な鍵の複数のシェアを分配するステップであって、前記一時的な鍵は、第3閾数のシェアを用いるとアクセス可能であり、前記第3閾数より少ないシェアにアクセス不可能である、ステップと、
    を更に含む請求項8に記載の方法
  10. 前記デジタル署名はブロックチェーントランザクションに適用される、請求項8または9に記載の方法
  11. システムであって、
    プロセッサと、
    前記プロセッサによる実行の結果として、前記システムに請求項1乃至10のいずれか一項に記載のコンピュータにより実施される方法のいずれかの実施形態を実行させる実行可能命令を含むメモリと、
    を含むシステム。
  12. 実行可能命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、少なくとも、前記コンピュータシステムに、請求項1乃至10のいずれか一項に記載のコンピュータにより実施される方法の実施形態を実行させる、非一時的コンピュータ可読記憶媒体。
JP2020544956A 2018-03-02 2019-02-19 コンピュータにより実施される投票処理およびシステム Active JP7328237B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023127140A JP2023133560A (ja) 2018-03-02 2023-08-03 コンピュータにより実施される投票処理及びシステム

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
IB2018051338 2018-03-02
IBPCT/IB2018/051338 2018-03-02
GBGB1803396.9A GB201803396D0 (en) 2018-03-02 2018-03-02 Computer implemented method and system
GB1803396.9 2018-03-02
GBGB1817506.7A GB201817506D0 (en) 2018-03-02 2018-10-29 Computer implemented method and system
GB1817506.7 2018-10-29
PCT/IB2019/051327 WO2019166916A1 (en) 2018-03-02 2019-02-19 Computer implemented voting process and system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023127140A Division JP2023133560A (ja) 2018-03-02 2023-08-03 コンピュータにより実施される投票処理及びシステム

Publications (2)

Publication Number Publication Date
JP2021515271A JP2021515271A (ja) 2021-06-17
JP7328237B2 true JP7328237B2 (ja) 2023-08-16

Family

ID=64560280

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2020544897A Active JP7385580B2 (ja) 2018-03-02 2019-02-19 デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム
JP2020544956A Active JP7328237B2 (ja) 2018-03-02 2019-02-19 コンピュータにより実施される投票処理およびシステム
JP2023127140A Pending JP2023133560A (ja) 2018-03-02 2023-08-03 コンピュータにより実施される投票処理及びシステム
JP2023191977A Pending JP2024010226A (ja) 2018-03-02 2023-11-10 デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020544897A Active JP7385580B2 (ja) 2018-03-02 2019-02-19 デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2023127140A Pending JP2023133560A (ja) 2018-03-02 2023-08-03 コンピュータにより実施される投票処理及びシステム
JP2023191977A Pending JP2024010226A (ja) 2018-03-02 2023-11-10 デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム

Country Status (9)

Country Link
US (3) US11791992B2 (ja)
EP (3) EP4398514A2 (ja)
JP (4) JP7385580B2 (ja)
KR (1) KR20200125980A (ja)
CN (3) CN111819815B (ja)
GB (1) GB201817506D0 (ja)
SG (1) SG11202007880PA (ja)
TW (1) TWI821248B (ja)
WO (2) WO2019166915A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11915314B2 (en) * 2019-11-22 2024-02-27 Conio Inc. Method and apparatus for a blockchain-agnostic safe multi-signature digital asset management
CN111600721B (zh) * 2020-05-26 2023-06-16 牛津(海南)区块链研究院有限公司 一种基于多人投票机制的资产管理系统、方法及装置
CN112511314B (zh) * 2020-11-26 2022-03-22 中国电子科技集团公司第五十四研究所 一种基于身份的可恢复消息盲签名生成方法
CN113037461B (zh) * 2021-03-04 2022-06-07 西安电子科技大学 基于全同态加密的多候选人匿名电子投票方法
TWI776416B (zh) * 2021-03-08 2022-09-01 英屬開曼群島商現代財富控股有限公司 分層確定性錢包的門檻式簽章系統及其方法
TWI759138B (zh) * 2021-03-15 2022-03-21 英屬開曼群島商現代財富控股有限公司 基於輸入密碼的門檻式簽章系統及其方法
CN115239333A (zh) * 2021-04-23 2022-10-25 清华大学 数据处理方法、装置和存储介质
CN113726517A (zh) * 2021-08-10 2021-11-30 北京信安世纪科技股份有限公司 一种信息共享方法及装置
CN113704831B (zh) * 2021-08-11 2023-11-03 北京天威诚信电子商务服务有限公司 一种参与方无需同时在线的数字签名多方生成方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010039630A1 (en) 2000-01-14 2001-11-08 Klaus Kursawe Method of achieving multiple processor agreement in asynchronous networks
JP2002217891A (ja) 2001-01-22 2002-08-02 Toshiba Corp 秘密分散管理プログラム及びシステム
JP2005311623A (ja) 2004-04-20 2005-11-04 Matsushita Electric Ind Co Ltd 電子投票システム及び電子投票方法
JP2007058771A (ja) 2005-08-26 2007-03-08 Nec Corp ストレージシステム、ストレージサブシステム、およびキャッシュ・複製保存法方法
US20100180116A1 (en) 2008-11-03 2010-07-15 Telcordia Technologies, Inc. Intrusion-tolerant group management for mobile ad-hoc networks
US20140089683A1 (en) 2012-09-26 2014-03-27 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7359507B2 (en) 2000-03-10 2008-04-15 Rsa Security Inc. Server-assisted regeneration of a strong secret from a weak secret
US8429056B2 (en) * 2001-09-05 2013-04-23 Bgc Partners, Inc. Systems and methods for sharing excess profits
US7743253B2 (en) 2005-11-04 2010-06-22 Microsoft Corporation Digital signature for network coding
US20080052539A1 (en) * 2006-07-29 2008-02-28 Macmillan David M Inline storage protection and key devices
FR2930357A1 (fr) * 2008-04-17 2009-10-23 Alcatel Lucent Sas Procede de vote electronique,decodeur pour la mise en oeuvre de ce procede et reseau comprenant un serveur de vote pour la mise en oeuvre du procede.
US8713329B2 (en) * 2009-02-26 2014-04-29 Red Hat, Inc. Authenticated secret sharing
US20110087745A1 (en) * 2009-10-14 2011-04-14 International Business Machines Corporation Group voting access control for multi-party forums
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
EP3132560A4 (en) 2014-04-17 2017-12-20 Hrl Laboratories, Llc A method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ecdsa) based digital signatures with proactive security
GB2530726B (en) * 2014-09-25 2016-11-02 Ibm Distributed single sign-on
US10467389B2 (en) * 2015-01-15 2019-11-05 Secretskydbltd Secret shared random access machine
US9413735B1 (en) 2015-01-20 2016-08-09 Ca, Inc. Managing distribution and retrieval of security key fragments among proxy storage devices
US9641341B2 (en) * 2015-03-31 2017-05-02 Duo Security, Inc. Method for distributed trust authentication
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
US9673975B1 (en) * 2015-06-26 2017-06-06 EMC IP Holding Company LLC Cryptographic key splitting for offline and online data protection
WO2017004527A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20170083889A1 (en) * 2015-09-21 2017-03-23 Sk Planet Co., Ltd. User equipment, service providing device, pos terminal, payment system including the same, control method thereof, and non-transitory computer readable storage medium storing computer program recorded thereon
US20170213210A1 (en) 2016-01-22 2017-07-27 International Business Machines Corporation Asset transfers using a multi-tenant transaction database
DK3268914T3 (en) 2016-02-23 2018-10-08 Nchain Holdings Ltd DETERMINING A COMMON SECRET FOR SECURE EXCHANGE OF INFORMATION AND Hierarchical, Deterministic cryptographic keys
EP4087178A1 (en) 2016-02-23 2022-11-09 nChain Licensing AG A method and system for the secure transfer of entities on a blockchain
MX2018009355A (es) * 2016-02-23 2018-12-19 Nchain Holdings Ltd Almacenamiento y transferencia seguros resistentes a perdida de multiples partes de claves criptograficas para sistemas a base de cadena de bloques en conjunto con un sistema de administracion de billetera.
EP3424177B1 (en) 2016-02-29 2021-10-13 SecureKey Technologies Inc. Systems and methods for distributed identity verification
US11057198B2 (en) 2016-03-04 2021-07-06 Assured Enterprises, Inc. Utilization of a proxy technique in escrow encryption key usage
CN105812369B (zh) * 2016-03-15 2019-09-10 广东石油化工学院 一种基于椭圆曲线的可追踪的匿名认证方法
GB201611948D0 (en) 2016-07-08 2016-08-24 Kalypton Int Ltd Distributed transcation processing and authentication system
CN107666388B (zh) * 2016-07-28 2019-11-01 郑珂威 基于完全同态加密方法的区块链信息加密方法
GB2538022B (en) 2016-08-20 2018-07-11 PQ Solutions Ltd Multiple secrets in quorum based data processing
CN106373251A (zh) * 2016-08-30 2017-02-01 中科院成都信息技术股份有限公司 一种基于秘密分享的电子选票计票方法
CN106503994B (zh) * 2016-11-02 2020-07-28 西安电子科技大学 基于属性加密的区块链隐私数据访问控制方法
CN106548345B (zh) 2016-12-07 2020-08-21 北京信任度科技有限公司 基于密钥分割实现区块链私钥保护的方法及系统
CN106533675A (zh) 2016-12-19 2017-03-22 北京洋浦伟业科技发展有限公司 数字签名方法及系统
CN106982205B (zh) 2017-03-01 2020-05-19 中钞信用卡产业发展有限公司杭州区块链技术研究院 基于区块链的数字资产处理方法和装置
EP3379767B1 (en) * 2017-03-24 2021-01-13 Hewlett-Packard Development Company, L.P. Distributed authentication
US10805072B2 (en) * 2017-06-12 2020-10-13 Change Healthcare Holdings, Llc System and method for autonomous dynamic person management
CN110999200B (zh) * 2017-07-28 2023-10-03 皇家飞利浦有限公司 一种用于评估监测函数以确定是否满足触发条件的方法及系统
US10511436B1 (en) * 2017-07-31 2019-12-17 EMC IP Holding Company LLC Protecting key material using white-box cryptography and split key techniques
US10818121B2 (en) * 2017-09-15 2020-10-27 Panasonic Intellectual Property Corporation Of America Electronic voting system and control method
US11563567B2 (en) * 2017-09-27 2023-01-24 Visa International Service Association Secure shared key establishment for peer to peer communications
CN113496406A (zh) * 2020-03-19 2021-10-12 东北大学秦皇岛分校 一种基于区块链的强匿名电子投票协议

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010039630A1 (en) 2000-01-14 2001-11-08 Klaus Kursawe Method of achieving multiple processor agreement in asynchronous networks
JP2002217891A (ja) 2001-01-22 2002-08-02 Toshiba Corp 秘密分散管理プログラム及びシステム
JP2005311623A (ja) 2004-04-20 2005-11-04 Matsushita Electric Ind Co Ltd 電子投票システム及び電子投票方法
JP2007058771A (ja) 2005-08-26 2007-03-08 Nec Corp ストレージシステム、ストレージサブシステム、およびキャッシュ・複製保存法方法
US20100180116A1 (en) 2008-11-03 2010-07-15 Telcordia Technologies, Inc. Intrusion-tolerant group management for mobile ad-hoc networks
US20140089683A1 (en) 2012-09-26 2014-03-27 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key

Also Published As

Publication number Publication date
EP3759864B1 (en) 2024-07-10
JP2021515270A (ja) 2021-06-17
EP3759863A1 (en) 2021-01-06
TW201946412A (zh) 2019-12-01
WO2019166916A1 (en) 2019-09-06
US20240064008A1 (en) 2024-02-22
GB201817506D0 (en) 2018-12-12
KR20200125980A (ko) 2020-11-05
CN111788791A (zh) 2020-10-16
WO2019166915A1 (en) 2019-09-06
US20210042829A1 (en) 2021-02-11
JP2024010226A (ja) 2024-01-23
CN111819815A (zh) 2020-10-23
US11791992B2 (en) 2023-10-17
CN118316591A (zh) 2024-07-09
EP4398514A2 (en) 2024-07-10
CN111819815B (zh) 2024-05-14
TWI821248B (zh) 2023-11-11
SG11202007880PA (en) 2020-09-29
JP2021515271A (ja) 2021-06-17
JP7385580B2 (ja) 2023-11-22
JP2023133560A (ja) 2023-09-22
US20210049690A1 (en) 2021-02-18
EP3759864A1 (en) 2021-01-06

Similar Documents

Publication Publication Date Title
JP7328237B2 (ja) コンピュータにより実施される投票処理およびシステム
Gutub et al. Counting-based secret sharing technique for multimedia applications
US11917051B2 (en) Systems and methods for storage, generation and verification of tokens used to control access to a resource
CN109274717B (zh) 基于区块链的共享存储方法、装置、介质及电子设备
JP7449423B2 (ja) ブラインド化された帰結選択のためのブロックチェーンで実装されるセキュリティー・システムおよび方法
EP3552158B1 (en) INFORMATION PROTECTION SYSTEM AND PROCEDURE
WO2018211446A1 (en) Cryptographic key-generation with application to data deduplication
Zhu et al. Privacy-preserving weighted federated learning within the secret sharing framework
CN111615810A (zh) 获取数字签名的数据的计算机实现方法和系统
EP3857814A1 (en) Computer-implemented system and method for transferring access to digital resource
CN108028751B (zh) 用于移动主动秘密共享的系统、计算机可读介质和方法
CN116349203A (zh) 识别拒绝服务攻击
CN118160275A (zh) 阈值签名方案
CN114514550A (zh) 将请求分区成区块链的交易
EP3868054A1 (en) Computer-implemented system and method including public key combination verification
WO2020208491A1 (en) Computer implemented method and system for knowledge proof in blockchain transactions
CN118160273A (zh) 生成共享密钥
AU2019101581A4 (en) System and method for information protection
Amujo et al. Development of a National Identity Management System using Blockchain Technology
CN117223252A (zh) 嵌套阈值签名
WO2023200590A1 (en) Privacy-preserving detection for directional electronic communications
TOPORKOV et al. 2Lbp-RRNS: Two-Levels RRNS With Backpropagation for Increased Reliability and Privacy-Preserving of Secure Multi-Clouds Data Storage

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230518

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230803

R150 Certificate of patent or registration of utility model

Ref document number: 7328237

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150