JP6966572B2 - 署名生成方法、電子機器及び記憶媒体 - Google Patents

署名生成方法、電子機器及び記憶媒体 Download PDF

Info

Publication number
JP6966572B2
JP6966572B2 JP2019563382A JP2019563382A JP6966572B2 JP 6966572 B2 JP6966572 B2 JP 6966572B2 JP 2019563382 A JP2019563382 A JP 2019563382A JP 2019563382 A JP2019563382 A JP 2019563382A JP 6966572 B2 JP6966572 B2 JP 6966572B2
Authority
JP
Japan
Prior art keywords
signature
aggregate
sub
message
public 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
JP2019563382A
Other languages
English (en)
Other versions
JP2020520607A (ja
Inventor
ジャン,ジアンジュン
ウー,リーレイ
ツー,ハイタオ
リー,マオカイ
コン,リー
タン,ジチャオ
ゾウ,ウェンウェイ
ザン,ジュン
Original Assignee
テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド filed Critical テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Publication of JP2020520607A publication Critical patent/JP2020520607A/ja
Application granted granted Critical
Publication of JP6966572B2 publication Critical patent/JP6966572B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/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/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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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/68Special signature format, e.g. XML format

Description

関連出願の相互参照
本願は、2017年11月10日に提出した中国特許出願第2017111067507号、発明の名称「署名生成方法、装置、端末及びサーバ」の優先権を主張し、その全内容が本願の一部として援用される。
本願は情報技術分野に関し、特に署名生成方法、電子機器及び記憶媒体に関する。
情報技術の継続的な発展に伴い、ブロックチェーンは新しい技術として発展して来ている。ブロックチェーンとは、暗号学を使用して関連付けて生じられた一連のブロックを指しており、ブロックチェーンにおける各ブロックのブロックデータがいずれも前の一つのブロックのブロックデータに関連付けられており、従って、ブロックデータを改ざんして不正行為をすることができず、それによりすべてのブロック上のブロックデータがオープン、透明的になることを確保できる。ブロックチェーンは多くのノードからなる1つのエンドツーエンドネットワークであり、ノード間のデータ交換がデジタル署名技術によって検証を行う。デジタル署名技術はデジタル暗号化によってデジタル情報を識別する技術である。いくつかの状況において、例えばある取引が複数の関係者のコンセンサスを必要とする時に、複数の関係者があるメッセージに対して署名を行い、このような署名方式はマルチ署名方式と称される。
関連技術において、マルチ署名方式の実現手段としては、仮にN個の署名者がいるとする場合、マルチ署名を行う時に、N個の異なる署名を1つの長署名に直列結合し、ブロックチェーンに保存し、署名検証時にN個の署名者の公開鍵を同時に有する必要があり、それによって長署名を検証し、Nが1より大きな整数である。
本願の実施例は署名検証の複雑度を低下させることのできる署名生成方法、電子機器及び記憶媒体を提供する。前記技術案は以下のとおりである。
一態様では、署名生成方法を提供し、前記方法は、
署名待ちのメッセージ及び複数の署名者の特徴値に基づき、メッセージ要約を生成し、各署名者の特徴値が前記署名者の乱数によって計算して得られたものであるステップと、
前記複数の署名者の公開鍵及びサブ署名を取得するステップであって、各署名者のサブ署名が前記署名者の乱数、前記メッセージ要約及び前記複数の署名者の秘密鍵によって計算して得られたものであるステップと、
前記複数の署名者の公開鍵に基づき、集約公開鍵を生成するステップであって、前記集約公開鍵の長さが前記複数の公開鍵を結合した長さより小さい、ステップと、
前記複数のサブ署名の合計値及び前記メッセージ要約に基づき、集約署名を生成するステップでと、を含む。
一態様では、署名生成方法を提供し、前記方法は、
乱数を取得し、前記乱数に基づき、特徴値を生成するステップと、
署名待ちのメッセージ、秘密鍵及び公開鍵を取得するステップと、
前記署名集約者により前記署名待ちのメッセージ及び前記特徴値に基づいて計算して得られるメッセージ要約を取得するステップと、
前記メッセージ要約、前記乱数及び前記秘密鍵に基づき、サブ署名を生成するステップと、を含む。
一態様では、署名生成装置を提供し、前記装置は、
署名待ちのメッセージ及び複数の署名者の特徴値に基づき、メッセージ要約を生成するように構成され、各署名者の特徴値が前記署名者の乱数によって計算して得られたものである第1生成モジュールと、
前記複数の署名者の公開鍵及びサブ署名を取得するように構成され、各署名者のサブ署名が前記署名者の乱数、前記メッセージ要約及び前記複数の署名者の秘密鍵によって計算して得られたものである取得モジュールと、
前記複数の署名者の公開鍵に基づき、集約公開鍵を生成するように構成され、前記集約公開鍵の長さが前記複数の公開鍵を結合した長さより小さい第2生成モジュールと、
前記複数のサブ署名の合計値及び前記メッセージ要約に基づき、集約署名を生成するように構成される第3生成モジュールと、を備える。
一態様では、署名生成装置を提供し、前記装置は、
乱数を取得し、前記乱数に基づき、特徴値を生成するように構成される第1生成モジュールと、
署名待ちのメッセージ、秘密鍵及び公開鍵を取得するように構成される第1取得モジュールと、
前記署名集約者により前記署名待ちのメッセージ及び前記特徴値に基づいて計算して得られるメッセージ要約を取得するように構成される第2取得モジュールと、
前記メッセージ要約、前記乱数及び前記秘密鍵に基づき、サブ署名を生成するように構成される第2生成モジュールと、を備える。
一態様では、端末を提供し、前記端末はプロセッサ及びメモリを備え、前記メモリに少なくとも1つの命令が記憶され、以上に記載の署名生成方法を実現するために、前記少なくとも1つの命令が前記プロセッサによりロード・実行される。
一態様では、サーバを提供し、前記サーバはプロセッサ及びメモリを備え、前記メモリに少なくとも1つの命令が記憶され、以上に記載の署名生成方法を実現するために、前記少なくとも1つの命令が前記プロセッサによりロード・実行される。
一態様では、コンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体にコンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサにより実行されるとき、上記署名生成方法におけるいずれか1項に記載の方法ステップを実現する。
本願の実施例に係る技術案は以下の有益な効果を有する。複数の署名者のサブ署名によって集約署名を生成して、複数の署名者の公開鍵に基づいて集約公開鍵を生成し、得られた集約署名の長さが、複数のサブ署名を結合して得られたマルチ署名の長さより小さく、且つ集約公開鍵の長さが、複数の公開鍵を結合して得られた多重公開鍵の長さより小さいため、ネットワーク経由で集約署名及び集約公開鍵を伝送するとき、ネットワーク伝送負荷を軽減し、記憶時に記憶空間を節約し、且つ署名検証時に集約公開鍵及び集約署名を直接利用して署名待ちのメッセージを検証し、署名検証の複雑度を大幅に低下させる。
図1は本願の実施例に係る実施環境を示す図である。 図2は本願の実施例に係る署名を生成するフローチャートである。 図3は本願の実施例に係る複数のアカウントアドレスで振替を行うシーンを示す模式図である。 図4は本願の実施例に係る署名を生成するフローチャートである。 図5は本願の実施例に係る各ノードのコンセンサス過程の模式図である。 図6は本願の実施例に係る並列方式で署名を生成する模式図である。 図7は本願の実施例に係る署名を生成するフローチャートである。 図8は本願の実施例に係る複数の契約者が契約を開始する模式図である。 図9は本願の実施例に係る署名生成装置の構造模式図である。 図10は本願の実施例に係る署名生成装置の構造模式図である。 図11は本願の実施例に係る端末1100の構造ブロック図である。 図12は本願の実施例に係るサーバの構造ブロック図である。
本願の実施例の技術案をより明確に説明するために、以下に実施例の記述において必要な図面を用いて簡単に説明を行うが、当然ながら、以下に記載する図面は単に本願の実施例の一例であって、当業者であれば、創造的な労力を要することなく、これらの図面に基づいて他の図面に想到しうる。
本願の目的、技術案及び利点をより明確にするために、以下に図面を参照しながら本願の実施形態を更に詳しく説明する。
図1に示されるのはデータ共有システムである。データ共有システム100とは、ノードとノードとのデータを共有するためのシステムを指し、該データ共有システムは複数のノード101、102及び103を備えることができ、複数のノード101はデータ共有システムにおける各クライアントデバイスを指してもよく、情報及びデータを記憶するために、データ共有システムは1つ又は複数のブロックチェーンを設定することができる。各ノード101は通常動作を行う際に入力情報を受信して、受信された入力情報に基づいて該データ共有システムにおける共有データを維持することができる。
データ共有システムにおける情報交換を確保するために、データ共有システムにおける各ノード同士が情報接続を確立することができ、ノード同士が上記情報接続によって情報伝送を行うことができる。デジタル署名技術によって、ノード同士が通信して互いに信頼することができ、主に身元確認及び情報真実性、整合性の検証を実現する。例えば、データ共有システムにおける任意のノードが入力情報を受信した場合、当該ノードによる検証に成功した後、情報が他のノードにブロードキャストされる。ノード同士がコンセンサスを得るとき、ノードが署名を検証する必要があり、一定数のノードによる検証に成功すると、コンセンサスを得ることができる。コンセンサスを得た後、該入力情報が共有データとして記憶されることにより、データ共有システムにおけるすべてのノードに記憶されるデータを一致させる。データ共有システムが取引システムであってもよく、取引システムが金融取引システムを指す。取引システムは複数のノードを備えてもよく、各ノードが取引を行う際に帳簿データを生成して、帳簿データに基づいて該取引システムにおける共有帳簿を維持する。
ブロックチェーン技術の応用において、該取引をブロックチェーンに送信するために、ある取引は1つ以上のユーザーが署名する。その場合、マルチ署名技術を用いる必要があり、つまり、署名集約者が複数のユーザーの署名及び公開鍵に基づき、集約署名及び集約公開鍵を生成し、署名を検証する時に、集約署名及び集約公開鍵に基づいて署名後のメッセージを検証すればよい。実際の応用シーンにおいて、署名を生成する時に、複数の署名者が署名生成トリガー命令を受信した後、乱数を選択し、乱数に基づき、特徴値を生成する。署名集約者が署名待ちのメッセージ及び複数の署名者の特徴値に基づき、メッセージ要約を生成する。複数の署名者がメッセージ要約(該メッセージ要約は署名集約者が署名待ちのメッセージ及び特徴値に基づいて計算して得られたものである)を取得し、次に、メッセージ要約、乱数及び秘密鍵に基づき、サブ署名を生成する。署名集約者が複数の署名者の公開鍵及びサブ署名を取得する。次に、署名集約者が複数の署名者の公開鍵に基づき、集約公開鍵を生成する。署名集約者が複数のサブ署名(例えば、サブ署名の合計値)及びメッセージ要約に基づき、集約署名を生成する。
該データ共有システムにおけるクライアントデバイス及び各ノードは更に乱数、サブ署名、メッセージ要約、集約署名、集約公開鍵等を記憶するための少なくとも1種類のデータベースを有してもよい。
以下、3つの実施シーンによって本解決手段を詳しく説明する。
図2は本願の実施例に係る署名生成方法のフローチャートである。方法がデータ共有システムにおけるクライアントデバイスに適用され、且つ複数の署名者がクライアントデバイスに提供される複数のアカウントアドレスであることを例として、この場合、複数の署名者及び署名集約者が同じデータ共有システムにおける同じクライアントデバイスに位置し、つまり、複数の署名者及び署名集約者が同じ実施主体であり、署名待ちのメッセージが各アカウントアドレスに対応する支払金額及びいくつかの他の取引情報である。以下、各ステップを詳しく説明する。
200において、クライアントデバイスが、署名生成命令を取得し、該署名生成命令が複数のアカウントアドレスから少なくとも1つのアカウントアドレスへ振替を行うこと、及び該複数のアカウントアドレスの支払金額を示すことに用いられる。
図3に示すように、あるユーザーが、複数のアカウントアドレスを有すると仮定し、この複数のアカウントアドレスの資産を1つ又は複数のターゲットアカウントアドレスへ振替する必要がある場合、該複数のアカウントが複数の署名者である。該ユーザーがクライアントデバイスを操作して取引を行うとき、クライアントデバイスが振替要求を受信し、振替要求に該取引における署名待ちのメッセージが含まれる。この場合、署名生成命令をトリガーし、クライアントデバイスに署名の生成を開始させる。署名待ちのメッセージには今回の振替要求そのもの又は今回の振替要求の支払アカウントとしてのアカウントアドレス、各アカウントアドレスの支払金額、及び受取アカウントとしてのアカウントアドレスが含まれてもよい。
201において、クライアントデバイスが、支払アカウントとしての複数のアカウントアドレスの複数の乱数を取得し、該複数の乱数に基づき、それぞれ該複数のアカウントアドレスの特徴値を生成する。
クライアントデバイスが署名生成命令を受信した後、クライアントデバイスにおける複数のアカウントアドレスを区別するために、クライアントデバイスが複数のアカウントアドレスに対して、各自の乱数を選択し、又は予め記憶された複数のアカウントアドレスの各自の乱数を取り出し、次に、該複数の乱数に基づき、該複数のアカウントアドレス各自の特徴値を生成する。
具体的に、1つのアカウントアドレスを例とすれば、該アカウントアドレスの実施主体がクライアントデバイスであり、ステップ200は以下のステップ1〜ステップ4を含んでもよい。
ステップ1において、クライアントデバイスが該アカウントアドレスに対し素数である第1数値p及び第2数値qを取得し、qが(p-1)の因子であり、p≧2512、q≧2140であることを満たす。
クライアントデバイスが
Figure 0006966572

の範囲から1つの素数を選択して、それを第1数値pとして確定し、
Figure 0006966572

の範囲から1つの素数を選択して、それを第2数値qとして確定し、第1数値pと第2数値qを、qが(p-1)の因子であることを満たすようにする。上記方式以外に、クライアントデバイスは関連するデータベースから予め記憶された素数である第1数値
Figure 0006966572
及び第2数値qを取り出すこともでき、qが(p-1)の因子であり、p≧2512、q≧2140であることを満たす。
ステップ2において、生成底数gを取得し、(gq-1)がpで整除できる。
クライアントデバイスが1つの数値をランダムに選択して、それを生成底数gとして確定し、底数gを、(gq-1)がpで整除できるようにする。又は、クライアントデバイスが関連するデータベースから予め記憶された生成底数gを取り出し、生成底数gが、(gq-1)がpで整除できることを満たす。
ステップ3において、乱数を取得し、乱数の値範囲が(0,q)である。
クライアントデバイスが(0,q)の範囲から1つの数値をランダムに選択して、それを乱数として確定する。又は、クライアントデバイスが関連するデータベースから予め記憶された乱数を取り出し、該乱数が(0,q)の範囲内にある。
ステップ4において、乱数、生成底数及び第1数値に基づき、特徴値を生成する。
乱数、生成底数及び第1数値を取得した後、クライアントデバイスは下記の式(1)で該アカウントアドレスの特徴値を計算することができ、
R=gr(mod p) (1)
Rが特徴値を示し、rが乱数を示し、gが生成底数であり、pが第1数値である。
説明すべきことは、クライアントデバイスは支払アカウントとしての複数のアカウントアドレスに対して、いずれも上記ステップ1〜ステップ4で各自の特徴値を生成してもよく、ここで詳細な説明は省略する。生成過程は並列なものであってもよく、つまり、クライアントデバイスが複数のアカウントアドレスに対して、各自の乱数を同時に取得し、該複数の乱数に基づいてその該複数のアカウントアドレスに対して、各自の特徴値を生成する。生成過程は逐次なものであってもよく、つまり、クライアントデバイスがあるアカウントアドレスに対してその乱数を取得し、次に該乱数に基づいて該アカウントアドレスに対して、その特徴値を生成し、次に、クライアントデバイスが次のアカウントアドレスに対して、その乱数に基づいてその特徴値を生成し、すべてのアカウントアドレスに対し特徴値を生成するまで、該操作を終了し、ここで制限しない。
202において、クライアントデバイスが署名待ちのメッセージ及び複数のアカウントアドレスの特徴値を取得し、メッセージ要約を生成し、該署名待ちのメッセージが支払アカウントとしてのアカウントアドレス、各アカウントアドレスの支払金額及び受取アカウントとしてのアカウントアドレスを含む。
上記過程で各アカウントアドレスに対しいずれも各自の特徴値を生成した後、クライアントデバイスが該複数の特徴値を取得して、該複数の特徴値に基づいて集約特徴値を生成し、次に、クライアントデバイスが得られた集約特徴値及び支払アカウントとしてのアカウントアドレス、各アカウントアドレスの支払金額及び受取アカウントとしてのアカウントアドレス及び所定の一方向ハッシュ関数に基づき、メッセージ要約を生成する。
具体的に、ステップ202は以下のステップ1〜ステップ3を含んでもよい。
ステップ1において、クライアントデバイスが複数のアカウントアドレスに対して、各自の特徴値及び署名待ちのメッセージを取得する。
クライアントデバイスは、振替要求を直接署名待ちのメッセージとしてもよいし、振替要求における支払アカウントとしてのアカウントアドレス、各アカウントアドレスの支払金額及び受取アカウントとしてのアカウントアドレスを署名待ちのメッセージとして抽出してもよい。該実施例では、署名待ちのメッセージが抽出された支払アカウントとしてのアカウントアドレス、各アカウントアドレスの支払金額及び受取アカウントとしてのアカウントアドレスである場合を例として説明する。
該ステップでは、クライアントデバイスにステップ201における生成された各アカウントアドレスの特徴値及び第1数値が予め記憶されてもよく、メッセージ要約を生成する前に、クライアントデバイスは予め記憶された各アカウントアドレスの特徴値及び第1数値を取得することができる。
ステップ2において、クライアントデバイスが複数のアカウントアドレス各自の特徴値及び第1数値に基づき、集約特徴値を生成する。
具体的な計算方式は、クライアントデバイスが複数の特徴値の積を計算し、複数の特徴値の積及び第1数値に基づき、集約特徴値を生成するということであってもよい。更に、上記計算過程では、クライアントデバイスが複数の特徴値の積及び第1数値に基づき、集約特徴値を生成する過程は余りを求める演算によって行われてもよく、計算公式は、下記の式(2)の通りであり、
Figure 0006966572

Rが集約特徴値を示し、nがアカウントアドレスの総個数を示し、Riがi番目のアカウントアドレスの特徴値を示し、modが余りを求める演算を示し、pが第1数値である。
ステップ3において、集約特徴値、該署名待ちのメッセージ及び所定の一方向ハッシュ関数に基づき、メッセージ要約を生成する。
上記生成された集約特徴値、署名待ちのメッセージ及び所定の一方向ハッシュ関数に基づき、該メッセージのハッシュ値を取得し、該ハッシュ値がメッセージ要約である。所定の一方向ハッシュ関数がSHA256セキュアハッシュ関数であってもよい。
更に、下記の式(3)でメッセージ要約を計算してもよく、
h=H(m,R) (3)
hがメッセージ要約を示し、H()がハッシュ値を求める演算を示し、mが署名待ちのメッセージを示し、Rが集約特徴値を示す。
203において、クライアントデバイスが支払アカウントとしての該複数のアカウントアドレスの秘密鍵及び公開鍵を取得し、メッセージ要約、乱数及び秘密鍵に基づき、サブ署名を生成する。
メッセージ要約を取得した後、クライアントデバイスは振替対象の各アカウントアドレスの秘密鍵及び公開鍵を取得することができる。秘密鍵及び公開鍵を取得することは、以下の複数の可能な実現方式を用いてもよい。(1)、データベースに各アカウントアドレスの秘密鍵及び公開鍵が記憶されてもよく、クライアントデバイスは、必要に応じて、データベースから各アカウントアドレスの秘密鍵及び公開鍵を直接取得することができる。(2)、クライアントデバイスが各アカウントアドレスに対し秘密鍵及び公開鍵を一時的に生成し、秘密鍵が(0,q)の範囲内にあり、qが上記取得された第2数値であり、公開鍵が秘密鍵、生成底数及び第1数値に基づいて生成されたものであり、具体的な計算公式が、下記の式(4)の通りであり、
X=gx(mod p) (4)
Xが公開鍵を示し、xが秘密鍵を示し、gが生成底数であり、pが第1数値であり、modが余りを求める演算を示す。
次に、クライアントデバイスが上記過程において生成されたメッセージ要約、乱数及び第2数値を取得し、各アカウントアドレスの秘密鍵、メッセージ要約、乱数及び第2数値に基づき、各アカウントアドレスのサブ署名を計算し、計算公式が下記の式(5)の通りであり、
Si=ri+hxi(mod q) (5)
Siがi番目のアカウントアドレスのサブ署名を示し、riがi番目のアカウントアドレスの乱数を示し、hがメッセージ要約を示し、xiがi番目のアカウントアドレスの秘密鍵を示し、qが第2数値であり、modが余りを求める演算を示す。
204において、クライアントデバイスが複数のアカウントアドレスの公開鍵を取得し、複数のアカウントアドレスの公開鍵に基づき、集約公開鍵を生成する。
上記処理過程でクライアントデバイスが各アカウントアドレスに対しそれぞれの公開鍵を取得した後、これらの公開鍵の積及び第1数値に基づき、集約公開鍵を生成する。更に、上記計算過程では、クライアントデバイスが各アカウントアドレスに対しそれぞれの第1数値を取得し、複数の公開鍵の積を計算し、複数の公開鍵の積及び第1数値に基づいて余りを求める演算を行って、集約公開鍵を生成する。下記の式(6)で計算してもよく、
Figure 0006966572

Xが集約公開鍵を示し、Πが積を求める演算を示し、nがアカウントアドレスの総個数を示し、Xiがi番目のアカウントアドレスの公開鍵を示し、modが余りを求める演算を示し、pが第1数値である。
205において、クライアントデバイスが複数のサブ署名の合計値及びメッセージ要約に基づき、集約署名を生成する。
上記ステップ203によって、クライアントデバイスが各アカウントアドレスに対しそれぞれのサブ署名を取得し、これらのサブ署名を加算し、複数のサブ署名の合計値を取得し、該合計値を集約サブ署名として確定し、次に、集約サブ署名及びメッセージ要約に基づいて集約署名を生成する。
更に、上記計算過程では、各アカウントアドレスのサブ署名を加算し、複数のサブ署名の合計値を取得し、該合計値及び第2数値に対して余りを求める演算を行って、得られた結果を集約サブ署名として確定する。計算式が式(7)の通りであり、
Figure 0006966572

Sが集約サブ署名を示し、Σが和を求める演算を示し、nがアカウントアドレスの総個数を示し、Siがi番目のアカウントアドレスのサブ署名を示し、modが余りを求める演算を示し、qが第2数値である。
上記過程によって集約サブ署名を確定した後、集約サブ署名及びメッセージ要約を結合し、結合して得られた結果を集約署名として確定する。上記過程によって集約サブ署名を確定するとき、サブ署名の合計値に基づいて集約サブ署名を生成するため、得られた集約サブ署名の長さが該複数のサブ署名を結合した長さより小さい。従って、集約サブ署名に基づいて得られた集約署名の長さが結合して得られた署名の長さより小さく、従って、記憶時に記憶空間を節約することができ、且つネットワーク経由で集約署名を伝送するとき、ネットワーク伝送負荷を軽減することができる。
説明すべきことは、上記ステップでは、計算によって特徴値、メッセージ要約、サブ署名、集約署名、集約公開鍵等を取得することができ、クライアントデバイスは得られた特徴値、メッセージ要約、サブ署名、集約署名、集約公開鍵等を記憶することができる。記憶時、クライアントデバイスは上記生成された結果をすべて関連するデータベースに記憶してもよいし、それを各アカウントアドレスとバンドリングして記憶してもよく、ここで制限しない。
説明すべきことは、集約署名、集約公開鍵を生成する上記過程は並列なものであってもよく、つまり、クライアントデバイスがすべてのアカウントアドレスそれぞれのサブ署名を同時に取得し、複数のサブ署名に基づいて集約サブ署名を生成し、次に集約サブ署名及びメッセージ要約に基づいて集約署名を生成し、同様に、クライアントデバイスがすべてのアカウントアドレスそれぞれの公開鍵を同時に取得し、複数の公開鍵に基づいて集約公開鍵を生成する。好ましくは、集約署名、集約公開鍵を生成する上記過程は逐次なものであってもよく、つまり、クライアントデバイスが1番目のアカウントアドレスのサブ署名及び2番目のアカウントアドレスのサブ署名を取得し、該2つのサブ署名に基づいて一部の集約サブ署名を生成し、次に、クライアントデバイスが3番目のアカウントアドレスのサブ署名を取得して、上記一部の集約サブ署名及び該サブ署名に基づいて新たな一部の集約サブ署名を生成し、次に、クライアントデバイスが4番目のアカウントアドレスのサブ署名を取得して、上記一部の集約サブ署名及び該サブ署名に基づいて新たな一部の集約サブ署名を生成し、すべてのアカウントアドレスのサブ署名を集約サブ署名の生成に参加するまで、これによって類推し、次に、生成された集約サブ署名及びメッセージ要約に基づき、集約署名を生成する。ここで制限しない。
206において、クライアントデバイスがメッセージ、集約公開鍵及び集約署名をデータ共有システムにおけるいずれか1つのノードに送信する。
該ステップでは、集約署名をメッセージに追加してからデータ共有システムに送信してもよいし、メッセージ及び集約署名をデータ共有システムに同時に送信してもよく、ここで制限しない。
上記過程によって集約公開鍵及び集約署名を生成した後、クライアントデバイスがメッセージ、集約公開鍵及び集約署名をデータ共有システムに送信し、データ共有システムによってメッセージに対して署名検証を行う。
207において、データ共有システムにおけるいずれか1つのノードが集約公開鍵及び集約署名に基づき、メッセージに対して署名検証を行う。
具体的に、クライアントデバイスが各アカウントアドレスのメッセージ、生成底数、第1数値及び集約公開鍵、集約署名をデータ共有システムに送信し、データ共有システムによってシステムにおけるノードに送信し、上記情報を受信したノードが各アカウントアドレスのメッセージ、生成底数、第1数値及び集約公開鍵、集約署名に基づいてメッセージに対して署名検証を行う。署名検証時に下記公式(8)が成立するかどうかを判断し、公式(8)が成立する場合、署名検証に成功し、公式(8)が成立しない場合、署名検証に失敗した。
h=H(m,gsX-h(mod p)) (8)
hがメッセージ要約を示し、Hがハッシュ値を求める演算を示し、mがメッセージであり、gが生成底数であり、Sが集約サブ署名を示し、Xが集約公開鍵を示し、modが余りを求める演算を示し、pが第1数値である。
上記署名検証方法については、数学方法でその正確性を証明することができ、具体的な証明方法は以下のとおりであってもよい。
上記計算方法に基づき、公式(8)h=H(m,gsX-h(mod p))がR=gsX-h(mod p)と同等であり、ユークリッドアルゴリズムに基づき、次式が得られ、
Figure 0006966572

これにより、gsX-h(mod p)=Rを導き出すことができ、h=H(m,gsX-h(mod p))がR=gsX-h(mod p)と同等であるため、h=H(m,gsX-h(mod p))が成立し、従って、上記署名検証方法が正しい。
208において、データ共有システムが署名検証結果、集約公開鍵及び集約署名を該メッセージに追加する。
データ共有システムが署名検証結果、集約公開鍵及び集約署名をメッセージに追加して、追加して得られたメッセージをブロックチェーンに追加する。
本願では、複数の署名者のサブ署名によって集約署名を生成して、複数の署名者の公開鍵に基づいて集約公開鍵を生成し、得られた集約署名の長さが、複数のサブ署名を結合して得られたマルチ署名の長さより小さく、且つ集約公開鍵の長さが、複数の公開鍵を結合して得られた多重公開鍵の長さより小さいため、ネットワーク経由で集約署名及び集約公開鍵を伝送するとき、ネットワーク伝送負荷を軽減し、記憶時に記憶空間を節約し、且つ署名検証時に集約公開鍵及び集約署名を直接利用して署名後のメッセージを検証し、署名検証の複雑度を大幅に低下させる。更に、上記署名生成方法の振替シーンにおける具体的な応用を提供し、署名生成の実用性を向上させ、振替シーンにおける署名生成及び署名検証の効率も向上させる。
図4は本願の実施例に係る署名生成方法のフローチャートである。方法がデータ共有システムにおけるリーダーノードに適用される場合を例とすれば、このような場合、署名集約者が該データ共有システムにおけるリーダーノードであり、複数の署名者のうちの各署名者が該データ共有システムにおけるフォロワーノードである。いずれか1つのフォロワーノードは該データ共有システムにおけるリーダーノードのブロードキャストしたハートビート情報に基づき、該リーダーノードの動作が通常であると確定して、リーダーノードの指示通りにログを複製することができる。該フォロワーノードが所定期間に該リーダーノードのハートビート情報を受信していない場合、該リーダーノードの動作が故障したと確定して、投票要求を該データ共有システムにおける各ノードにブロードキャストすることができ、該クラスターにおける半数以上のノード装置の投票を受信すると、フォロワーノードはリーダー状態に切り替えて動作して、ハートビート情報をクラスターにおける各ノード装置にブロードキャストし、クライアントデバイスとの交換記憶ログに基づき、各ノード装置がログを複製するように指示することができる。以下、各ステップを詳しく説明する。
400、リーダーノードはクライアントデバイスの入力情報が含まれるコンセンサス確認パケットを各フォロワーノードに送信する。
信頼ブロックチェーンにおいてbft−raft(適合性アルゴリズム)アルゴリズムでノード同士のコンセンサスを行うとき、図5に示すように、リーダーノードはノード同士がコンセンサスを得てから記憶する必要のある、署名待ちのメッセージが含まれるコンセンサス確認パケットを各フォロワーノードに送信する。本実施例は該署名待ちのメッセージがクライアントデバイスの入力情報、例えば振替メッセージ等であってもよい場合を例として説明する。
401において、各フォロワーノードがコンセンサス確認パケットを受信する。
リーダーノードはコンセンサス確認パケットを送信した後、各フォロワーノードはクライアントデバイスの入力情報が含まれるコンセンサス確認パケットを受信し、各フォロワーノードがクライアントデバイスの入力情報を署名するようにトリガーする。
402において、各フォロワーノードがコンセンサス確認パケットからクライアントデバイスの入力情報を取得する。
各フォロワーノードがリーダーノードから送信されたコンセンサス確認パケットを受信した後、該コンセンサス確認パケットを解析してクライアントデバイスの入力情報を取得する。
403において、各フォロワーノードがそれぞれの公開鍵及び秘密鍵を取得する。
上記過程によって各フォロワーノードがクライアントデバイスの入力情報を取得した後、各フォロワーノードがそれぞれの公開鍵及び秘密鍵を取得し、取得方法は上記ステップ203を参照して処理してもよく、ここで詳細な説明は省略する。
404において、リーダーノードが各フォロワーノードの公開鍵を取得する。
上記ステップを完了した後、リーダーノードが各フォロワーノードの公開鍵を取得する。リーダーノードが各フォロワーノードの公開鍵を取得することは以下の複数の可能な実現方式を用いてもよい。(1)、リーダーノードのデータベースに各フォロワーノードの公開鍵が記憶されてもよく、リーダーノードはそれらを必要とする場合、データベースから各アカウントアドレスの公開鍵を直接取得することができる。(2)各フォロワーノードはそれぞれのデータベースにその公開鍵及び秘密鍵が記憶されてもよく、各フォロワーノードがその公開鍵を取得した後、公開鍵をリーダーノードに送信する。このような場合、フォロワーノードが公開鍵を1回目に送信した後、リーダーノードに該フォロワーノードの公開鍵が記憶されてもよく、次回にリーダーノードが該フォロワーノードの公開鍵を必要とする場合、処理方式は上記実現方式(1)で処理してもよい。(3)各フォロワーノードが秘密鍵及び公開鍵を一時的に生成し、生成についての計算方法は上記ステップ203で処理してもよく、ここで詳細な説明は省略する。次に、各フォロワーノードが生成された公開鍵をリーダーノードに送信する。このような場合、フォロワーノードが公開鍵を1回目に送信した後、リーダーノードに該フォロワーノードの公開鍵が記憶されてもよく、次回にリーダーノードが該フォロワーノードの公開鍵を必要とする場合、処理方式は上記実現方式(1)で処理してもよく、ここで詳細な説明は省略する。
405において、各フォロワーノードが各自の乱数を取得し、各自の乱数に基づき、各自の特徴値を生成する。
説明すべきことは、各フォロワーノードが乱数を取得する方法は上記ステップ201におけるステップ3で処理してもよく、各フォロワーノードが乱数に基づいて特徴値を生成する方法は上記ステップ201におけるステップ4で処理してもよく、ここで詳細な説明は省略する。各自の特徴値を生成した後、各フォロワーノードが各自の特徴値をリーダーノードに送信する。
406において、各フォロワーノードがそれぞれ生成された特徴値をリーダーノードに送信する。
407において、リーダーノードが各フォロワーノードから送信された各自の特徴値を受信した後、クライアントデバイスの入力情報及び各フォロワーノードの特徴値に基づき、リーダーノードメッセージ要約を生成する。
説明すべきことは、メッセージ要約を生成する計算過程は上記ステップ202で処理してもよく、ここで詳細な説明は省略する。メッセージ要約を生成した後、リーダーノードが該メッセージ要約を各フォロワーノードに送信する。
408において、リーダーノードがメッセージ要約をデータ共有システムにおける各フォロワーノードに送信する。
409において、各フォロワーノードがメッセージ要約、乱数及び秘密鍵に基づき、サブ署名を生成する。
各フォロワーノードがサブ署名を生成する計算過程は上記ステップ203で処理してもよく、ここで詳細な説明は省略する。上記ステップによって、各フォロワーノードがそれぞれのサブ署名を生成した後、それぞれのサブ署名をリーダーノードに送信する。
410において、リーダーノードが各フォロワーノードから送信された公開鍵を受信して、各フォロワーノードの公開鍵に基づき、集約公開鍵を生成する。
リーダーノードが集約公開鍵を生成する計算過程は上記ステップ204で処理してもよく、ここで詳細な説明は省略する。
411において、リーダーノードが複数のサブ署名の合計値及びメッセージ要約に基づき、集約署名を生成する。
リーダーノードが集約署名を生成する計算過程は上記ステップ205で処理してもよく、ここで詳細な説明は省略する。
412において、リーダーノードが集約公開鍵及び集約署名を各フォロワーノードに送信する。
リーダーノードが生成された集約公開鍵及び集約署名をコンセンサス確認パケットに追加し、次に該コンセンサス確認パケットを各フォロワーノードに送信する。各フォロワーノードがコンセンサス確認パケットを解析して、その中の集約公開鍵、集約署名及びクライアントデバイスの入力情報を抽出する。次に、各フォロワーノードが集約公開鍵及び集約署名に基づいて該メッセージに対して署名検証を行い、該署名検証過程は上記ステップ207で処理してもよく、ここで詳細な説明は省略する。
413において、すべてのフォロワーノードによるメッセージに対する署名検証に成功した後、ノード同士がコンセンサスを得て、各ノードにいずれもコンセンサス確認パケットにおけるクライアントデバイスの入力情報、集約署名及び集約公開鍵が記憶される。
各フォロワーノードによる集約公開鍵及び集約署名に基づくメッセージに対する署名検証に成功した後、各ノードがコンセンサスを得て、次に、各フォロワーノードにいずれもコンセンサス確認パケットにおけるクライアントデバイスの入力情報、集約署名及び集約公開鍵が記憶される。
上記過程によって得られた集約署名の長さが結合して得られた署名の長さより小さく、集約公開鍵の長さが結合して得られた公開鍵の長さより小さいため、コンセンサス過程では、ネットワーク経由で集約署名を伝送するとき、ネットワーク伝送負荷を軽減することができ、且つメッセージに対して署名検証を行うとき、集約公開鍵及び集約署名に基づいてメッセージに対して署名検証を行うだけでよく、署名検証の複雑度を低下させる。
説明すべきことは、集約署名、集約公開鍵を生成する上記過程は並列なものであってもよく、図6に示すように、リーダーノードが複数のサブ署名に基づいて集約サブ署名を生成し、次に集約サブ署名及びメッセージ要約に基づいて集約署名を生成し、同様に、リーダーノードが複数の公開鍵に基づいて集約公開鍵を同時に生成する。好ましくは、集約署名及び集約公開鍵を生成する過程は逐次的なものであってもよく、つまり、1番目のフォロワーノードがそのサブ署名を取得し、次に2番目のフォロワーノードに送信し、2番目のフォロワーノードが1番目のフォロワーノードのサブ署名及びそのサブ署名を取得し、一部の集約サブ署名を生成し、次に3番目のフォロワーノードに送信し、3番目のフォロワーノードが2番目のフォロワーノードから送信された一部の集約サブ署名及びそのサブ署名を取得し、新たな一部の集約サブ署名を生成し、次に4番目のフォロワーノードに送信し、最後のフォロワーノードが新たな一部の集約サブ署名を生成し、該一部の集約サブ署名をリーダーノードに送信し、リーダーノードが該一部の集約サブ署名を受信して、それを集約サブ署名として確定するまで、これによって類推し、次に、生成された集約サブ署名及びメッセージ要約に基づき、集約署名を生成する。ここで制限しない。
本願では、複数の署名者のサブ署名によって集約署名を生成して、複数の署名者の公開鍵に基づいて集約公開鍵を生成し、得られた集約署名の長さが、複数のサブ署名を結合して得られたマルチ署名の長さより小さく、且つ集約公開鍵の長さが、複数の公開鍵を結合して得られた多重公開鍵の長さより小さいため、ネットワーク経由で集約署名及び集約公開鍵を伝送するとき、ネットワーク伝送負荷を軽減し、記憶時に記憶空間を節約し、且つ署名検証時に集約公開鍵及び集約署名を直接利用して署名後のメッセージを検証し、署名検証の複雑度を大幅に低下させる。更に、上記署名生成方法のコンセンサスシーンにおける具体的な応用を提供し、署名生成の実用性を向上させ、コンセンサスシーンにおける署名生成及び署名検証の効率も向上させる。
図7は本願の実施例に係る署名生成方法のフローチャートである。方法がデータ共有システムにおけるクライアントデバイスに適用され、且つ複数の署名者のうちのいずれか1つの署名者の位置するクライアントデバイスを集約署名の実施主体とする場合を例とすれば、このような場合、説明都合上、知能契約に参加するクライアントデバイスのうちの署名集約者としてのクライアントデバイスが第1クライアントデバイスと称され、知能契約に参加する他のクライアントデバイスが第2クライアントデバイスと称され、知能契約シーンにおいて、署名待ちのメッセージが取引完了条件を制限するための契約データである。以下、各ステップを詳しく説明する。
700において、第1クライアントデバイス及び少なくとも1つの第2クライアントが複数の契約者の契約内容及び支払金額を示すための署名生成命令を取得する。
図8に示すように、契約に関わる多くの人が振替を同時に開始するとき、複数の契約者の署名がなければ該契約を得ることができない。複数の契約者がそれぞれのクライアントデバイスを操作して振替を行うとき、各クライアントデバイスは該取引における署名待ちのメッセージが含まれる契約振替要求を受信し、該メッセージは複数の契約者の署名によって複数の契約者が署名を生成し始めるようにトリガーする必要がある。
701において、第1クライアントデバイス及び少なくとも1つの第2クライアントデバイスがそれぞれの複数の乱数を取得し、該複数の乱数に基づき、各自の特徴値をそれぞれ生成する。
署名生成トリガー命令を受信したとき、少なくとも1つの第2クライアントデバイスが各自の乱数を取得し、該取得過程は上記ステップ201を参照して処理してもよく、ここで詳細な説明は省略する。少なくとも1つの第2クライアントデバイスの乱数を取得した後、少なくとも1つの第2クライアントデバイスが各自の乱数に基づき、各自の特徴値を生成し、該生成方法は上記ステップ201を参照して処理してもよく、ここで詳細な説明は省略する。特徴値を生成した後、少なくとも1つの第2クライアントデバイスが生成された特徴値を第1クライアントデバイスに送信する。
702において、少なくとも1つの第2クライアントデバイスが各自の特徴値を第1クライアントデバイスに送信する。
703において、第1クライアントデバイスが契約データ及び少なくとも1つの第2クライアントデバイスの少なくとも1つの特徴値に基づき、メッセージ要約を生成する。
第1クライアントデバイスがメッセージ要約を生成する過程は上記ステップ202を参照して処理してもよく、ここで詳細な説明は省略する。
704において、第1クライアントデバイスがメッセージ要約を少なくとも1つの第2クライアントデバイスに送信する。
705において、少なくとも1つの第2クライアントデバイスがメッセージ要約を取得し、次に、第1クライアントデバイス及び少なくとも1つの第2クライアントデバイスが契約データ、秘密鍵及び公開鍵を取得する。
第1クライアントデバイス及び少なくとも1つの第2クライアントデバイスがそれぞれの秘密鍵及び公開鍵を取得する過程は上記ステップ203を参照して処理してもよく、ここで詳細な説明は省略する。
706において、第1クライアントデバイス及び少なくとも1つの第2クライアントデバイスがメッセージ要約、乱数及び秘密鍵に基づき、サブ署名を生成する。
少なくとも1つの第2クライアントデバイスが各自のサブ署名を生成する過程は上記ステップ203を参照して処理してもよく、ここで詳細な説明は省略する。
707において、少なくとも1つの第2クライアントデバイスがそれぞれのサブ署名を第1クライアントデバイスに送信する。
708において、第1クライアントデバイスが第1クライアントデバイス及び少なくとも1つの第2クライアントデバイスそれぞれの公開鍵を取得し、第1クライアントデバイス及び少なくとも1つの第2クライアントデバイスそれぞれの公開鍵に基づき、集約公開鍵を生成する。
第1クライアントデバイスが少なくとも1つの第2クライアントデバイスから送信された公開鍵及びサブ署名を受信して、受信された公開鍵及びサブ署名を記憶する。次に、第1クライアントデバイスが集約公開鍵を生成する過程は上記ステップ204を参照して処理してもよく、ここで詳細な説明は省略する。
709において、第1クライアントデバイスが第1クライアントデバイス及び少なくとも1つの第2クライアントデバイスのサブ署名の合計値及びメッセージ要約に基づき、集約署名を生成する。
第1クライアントデバイスが集約署名を生成する過程は上記ステップ205を参照して処理してもよく、ここで詳細な説明は省略する。
710において、第1クライアントデバイスが集約公開鍵及び集約署名を契約データに追加する。
集約公開鍵及び集約署名を生成した後、第1クライアントデバイスが集約公開鍵及び集約署名を契約データに追加し、次に、契約データをデータ共有システムに送信する。更に、データ共有システムの各ノードが集約公開鍵及び集約署名に基づいて契約データに対して署名検証を行い、署名検証に成功した場合、データ共有システムが契約データ、集約公開鍵及び集約署名を記憶してもよい。当然ながら、契約データに対して署名検証を行わずに、契約データ、集約公開鍵及び集約署名を直接記憶してもよい。契約を実行するとき、データ共有システムから集約公開鍵及び集約署名を取得し、集約公開鍵及び集約署名に基づいて契約データに対して署名検証を行う。
上記過程によって得られた集約署名の長さが結合して得られた署名の長さより小さく、集約公開鍵の長さが結合して得られた公開鍵の長さより小さいため、ネットワーク経由で集約署名を伝送するとき、ネットワーク伝送負荷を軽減することができ、且つ該集約公開鍵及び集約署名を記憶するとき、記憶空間を節約することができる。
説明すべきことは、集約署名、集約公開鍵を生成する上記過程は並列なものであってもよく、つまり、集約者である第1クライアントデバイスが複数のサブ署名に基づいて集約サブ署名を生成し、次に集約サブ署名及びメッセージ要約に基づいて集約署名を生成し、同様に、第1クライアントデバイスが複数の公開鍵に基づいて集約公開鍵を同時に生成する。好ましくは、集約署名及び集約公開鍵を生成する過程は逐次なものであってもよく、つまり、1番目の契約者であるクライアントデバイスがそのサブ署名を取得し、次に少なくとも1つの2番目の契約者であるクライアントデバイスに送信し、少なくとも1つの2番目の契約者であるクライアントデバイスが1番目の契約者であるクライアントデバイスのサブ署名及びそのサブ署名を取得し、一部の集約サブ署名を生成し、次に3番目の契約者であるクライアントデバイスに送信し、3番目の契約者であるクライアントデバイスが少なくとも1つの2番目の契約者であるクライアントデバイスから送信された一部の集約サブ署名及びそのサブ署名を取得し、新たな一部の集約サブ署名を生成し、次に4番目の契約者であるクライアントデバイスに送信し、最後の契約者であるクライアントデバイスが新たな一部の集約サブ署名を生成して、該一部の集約サブ署名を集約者である第1クライアントデバイスに送信し、集約者であるクライアントが該一部の集約サブ署名及びそのサブ署名に基づいて集約サブ署名を生成するまで、これによって類推し、次に、生成された集約サブ署名及びメッセージ要約に基づき、集約署名を生成する。ここで制限しない。
本願では、複数の署名者のサブ署名によって集約署名を生成して、複数の署名者の公開鍵に基づいて集約公開鍵を生成し、得られた集約署名の長さが、複数のサブ署名を結合して得られたマルチ署名の長さより小さく、且つ集約公開鍵の長さが、複数の公開鍵を結合して得られた多重公開鍵の長さより小さいため、ネットワーク経由で集約署名及び集約公開鍵を伝送するとき、ネットワーク伝送負荷を軽減し、記憶時に記憶空間を節約し、且つ署名検証時に集約公開鍵及び集約署名を直接利用して署名後のメッセージを検証し、署名検証の複雑度を大幅に低下させる。更に、上記署名生成方法の知能契約シーンにおける具体的な応用を提供し、署名生成の実用性を向上させ、知能契約シーンにおける署名生成及び署名検証の効率も向上させる。
図9は本願の実施例に係る署名生成装置の構造模式図である。図9に示すように、前記装置は生成モジュール901、取得モジュール902を備える。
該生成モジュール901は、署名待ちのメッセージ及び複数の署名者の特徴値に基づき、メッセージ要約を生成することに用いられ、各署名者の特徴値が前記署名者の乱数によって計算して得られたものであり、
該取得モジュール902は、前記複数の署名者の公開鍵及びサブ署名を取得することに用いられ、各署名者のサブ署名が前記署名者の乱数、前記メッセージ要約及び前記複数の署名者の秘密鍵によって計算して得られたものであり、
該生成モジュール901は、更に、前記複数の署名者の公開鍵に基づき、集約公開鍵を生成することに用いられ、前記集約公開鍵の長さが前記複数の公開鍵を結合した長さより小さく、
該生成モジュール901は、更に、前記複数のサブ署名の合計値及び前記メッセージ要約に基づき、集約署名を生成することに用いられる。
いずれか1つの可能な実現方式では、前記生成モジュール901は取得サブモジュール9011、生成サブモジュール9012を備える。
該取得サブモジュール9011は、前記複数の署名者の特徴値、署名待ちのメッセージ及び第1数値を取得することに用いられ、
該生成サブモジュール9012は、前記複数の署名者の特徴値及び前記第1数値に基づき、集約特徴値を生成することに用いられ、
該生成サブモジュール9012は、更に、前記集約特徴値、前記署名待ちのメッセージ及び所定の一方向ハッシュ関数に基づき、前記メッセージ要約を生成することに用いられる。
いずれか1つの可能な実現方式では、前記生成サブモジュール9012は、更に、
前記複数の特徴値の積を計算し、前記複数の特徴値の積及び前記第1数値に基づき、集約特徴値を生成することに用いられる。
いずれか1つの可能な実現方式では、前記生成サブモジュール9012は、更に、
前記複数の公開鍵の積を計算し、前記複数の公開鍵の積及び前記第1数値に基づき、集約公開鍵を生成することに用いられる。
いずれか1つの可能な実現方式では、前記生成モジュール901は、更に、
前記複数のサブ署名に基づき、集約サブ署名を生成し、前記集約サブ署名及び前記メッセージ要約を結合し、結合して得られた結果を集約署名として確定することに用いられる。
いずれか1つの可能な実現方式では、前記方法がデータ共有システムにおけるクライアントデバイスに適用される場合、前記複数の署名者が前記クライアントデバイスに提供される複数のアカウントアドレスであり、前記署名待ちのメッセージが各アカウントアドレスに対応する数値移転情報である。
いずれか1つの可能な実現方式では、前記方法がデータ共有システムにおけるクライアントデバイスに適用される場合、前記署名待ちのメッセージが取引完了条件を制限するための契約データである。
いずれか1つの可能な実現方式では、前記方法がデータ共有システムにおけるリーダーノードに適用される場合、前記複数の署名者のうちの各署名者が前記データ共有システムにおけるフォロワーノードであり、
それに対応して、前記装置は、更に、
前記署名待ちのメッセージ及び複数の署名者の特徴値に基づき、メッセージ要約を生成した後、前記メッセージ要約を前記データ共有システムにおけるフォロワーノードに送信するように構成される送信モジュール903を備え、
前記取得モジュール902は、更に、
各フォロワーノードから送信された公開鍵及びサブ署名を受信することに用いられ、
前記送信モジュール903は、更に、
前記複数のサブ署名の合計値及び前記メッセージ要約に基づき、集約署名を生成した後、前記集約公開鍵及び前記集約署名を前記各フォロワーノードに送信することに用いられる。
図10は本願の実施例に係る署名生成装置の構造模式図である。図10に示すように、前記装置は生成モジュール1001、取得モジュール1002を備える。
該生成モジュール1001は、乱数を取得し、前記乱数に基づき、特徴値を生成することに用いられ、
該取得モジュール1002は、署名待ちのメッセージ、秘密鍵及び公開鍵を取得することに用いられ、
該取得モジュール1002は、更に、前記署名集約者により前記署名待ちのメッセージ及び前記特徴値に基づいて計算して得られるメッセージ要約を取得することに用いられ、
該生成モジュール1001は、更に、前記メッセージ要約、前記乱数及び前記秘密鍵に基づき、サブ署名を生成することに用いられる。
いずれか1つの可能な実現方式では、前記生成モジュール1001は、更に、
素数である第1数値p及び第2数値qを取得し、qが(p-1)の因子であり、p≧2512、q≧2140であることを満たし、
生成底数gを取得し、(gq-1)がpで整除でき、
乱数を取得し、前記乱数の値範囲が(0,q)であり、
前記乱数、前記生成底数及び前記第1数値に基づき、特徴値を生成することに用いられる。
いずれか1つの可能な実現方式では、前記装置は、更に、
前記方法がデータ共有システムにおけるフォロワーノードに適用される場合、前記サブ署名及び前記公開鍵を前記署名集約者に送信するように構成される送信モジュール1003を備える。
本願の実施例は更に電子機器を提供し、該電子機器はプロセッサと、コンピュータプログラムを保存するように構成されるメモリと、を備え、署名待ちのメッセージ及び複数の署名者の特徴値に基づき、メッセージ要約を生成し、各署名者の特徴値が前記署名者の乱数によって計算して得られたものであり、前記複数の署名者の公開鍵及びサブ署名を取得し、各署名者のサブ署名が前記署名者の乱数、前記メッセージ要約及び前記複数の署名者の秘密鍵によって計算して得られたものであり、前記複数の署名者の公開鍵に基づき、集約公開鍵を生成し、前記集約公開鍵の長さが前記複数の公開鍵を結合した長さより小さく、前記複数のサブ署名の合計値及び前記メッセージ要約に基づき、集約署名を生成する方法ステップを実現するために、前記プロセッサはメモリに保存されるコンピュータプログラムを実行することに用いられる。
可能な実現方式では、前記プロセッサは前記複数の署名者の特徴値、署名待ちのメッセージ及び第1数値を取得し、前記複数の署名者の特徴値及び前記第1数値に基づき、集約特徴値を生成し、前記集約特徴値、前記署名待ちのメッセージ及び所定の一方向ハッシュ関数に基づき、前記メッセージ要約を生成することに用いられる。
可能な実現方式では、前記プロセッサは前記複数の特徴値の積を計算し、前記複数の特徴値の積及び前記第1数値に基づき、集約特徴値を生成することに用いられる。
可能な実現方式では、前記プロセッサは前記複数の公開鍵の積を計算し、前記複数の公開鍵の積及び前記第1数値に基づき、集約公開鍵を生成することに用いられる。
可能な実現方式では、前記プロセッサは前記複数のサブ署名に基づき、集約サブ署名を生成し、前記集約サブ署名及び前記メッセージ要約を結合し、結合して得られた結果を集約署名として確定することに用いられる。
可能な実現方式では、前記電子機器がデータ共有システムにおけるクライアントデバイスであり、前記複数の署名者が前記クライアントデバイスに提供される複数のアカウントアドレスであり、前記署名待ちのメッセージが各アカウントアドレスに対応する数値移転情報である。
可能な実現方式では、前記電子機器がデータ共有システムにおけるクライアントデバイスであり、前記署名待ちのメッセージが取引完了条件を制限するための契約データである。
可能な実現方式では、前記電子機器がデータ共有システムにおけるリーダーノードであり、前記複数の署名者のうちの各署名者が前記データ共有システムにおけるフォロワーノードであり、前記電子機器は、更に、前記メッセージ要約を前記データ共有システムにおけるフォロワーノードに送信するように構成される送受信機を備え、前記送受信機は、更に、各フォロワーノードから送信された公開鍵及びサブ署名を受信することに用いられ、前記プロセッサは、更に、前記集約公開鍵及び前記集約署名を前記各フォロワーノードに送信することに用いられる。
一例では、上記電子機器が図11における端末1100として提供されてもよい。図11は本願の実施例に係る端末1100の構造ブロック図である。該端末1100はPC(Personal Computer、パーソナルコンピュータ)、スマートフォン、タブレットPC等であってもよい。端末1100が更にユーザー装置、携帯端末等の他の名称と称されてもよい。
一般的に、端末1100はプロセッサ1101及びメモリ1102を備える。
プロセッサ1101は1つ又は複数の処理コア、例えば4コアプロセッサ、8コアプロセッサ等を含んでもよい。プロセッサ1101はDSP(Digital Signal Processing、デジタル信号処理)、FPGA(Field−Programmable Gate Array、フィールドプログラマブルゲートアレイ)、PLA(Programmable Logic Array、プログラマブルロジックアレイ)のうちの少なくとも1つのハードウェア形式で実現されてもよい。プロセッサ1101はメインプロセッサ及びコプロセッサを含んでもよく、メインプロセッサはウェイクアップ状態にあるデータを処理するためのプロセッサであって、CPU(Central Processing Unit、中央演算装置)とも称され、コプロセッサは待機状態にあるデータを処理するための低消費電力プロセッサである。いくつかの実施例では、プロセッサ1101にはディスプレイに表示すべき内容のレンダリング及び制作を担うためのGPU(Graphics Processing Unit、グラフィック処理ユニット)が統合されてもよい。いくつかの実施例では、プロセッサ1101は更に機械学習に関連する計算操作を処理するためのAI(Artificial Intelligence、人工知能)プロセッサを含んでもよい。
メモリ1102は1つ又は複数のコンピュータ可読記憶媒体を備えてもよく、該コンピュータ可読記憶媒体が有形のもの及び非一時的なものであってもよい。メモリ1102は更に高速ランダムアクセスメモリ、及び不揮発性メモリ、例えば1つ又は複数の磁気ディスク記憶装置、フラッシュ記憶装置を含んでもよい。いくつかの実施例では、メモリ1102における非一時的なコンピュータ可読記憶媒体は少なくとも1つの命令を記憶することに用いられ、本願に係る署名生成方法を実現するために、該少なくとも1つの命令がプロセッサ1101により実行される。
いくつかの実施例では、好ましくは、端末1100は更に周辺装置インターフェース1103及び少なくとも1つの周辺装置を備えてもよい。具体的に、周辺装置は無線周波数回路1104、タッチディスプレイ1105、カメラ1106、オーディオ回路1107、測位コンポーネント1108及び電源1109のうちの少なくとも1つを備える。
周辺装置インターフェース1103はI/O(Input /Output、入力/出力)に関連する少なくとも1つの周辺装置をプロセッサ1101及びメモリ1102に接続するためのものとして使用されてもよい。いくつかの実施例では、プロセッサ1101、メモリ1102及び周辺装置インターフェース1103が同じチップ又は回路基板に統合され、いくつかの他の実施例では、プロセッサ1101、メモリ1102及び周辺装置インターフェース1103のうちのいずれか1つ又は2つが独立したチップ又は回路基板において実現されてもよく、本実施例は制限しない。
無線周波数回路1104は電磁信号とも称されるRF(Radio Frequency、無線周波数)信号を送受信することに用いられる。無線周波数回路1104は電磁信号によって通信ネットワーク及び他の通信装置と通信する。無線周波数回路1104は電気信号を電磁信号に変換して送信し、又は、受信された電磁信号を電気信号に変換する。好ましくは、無線周波数回路1104はアンテナシステム、RF送受信機、1つ又は複数の増幅器、チューナー、発振器、デジタル信号プロセッサ、コーデックチップ群、ユーザー身元モジュールカード等を含む。無線周波数回路1104は少なくとも1つの無線通信プロトコルによって他の端末と通信することができる。該無線通信プロトコルはワールドワイドウェブ、メトロポリタンエリアネットワーク、イントラネット、各世代移動通信ネットワーク(2G、3G、4G及び5G)、無線ローカルエリアネットワーク及び/又はWiFi(Wireless Fidelity、ワイヤレスフィデリティ)ネットワークを含むが、それらに限らない。いくつかの実施例では、無線周波数回路1104は更にNFC(Near Field Communication、短距離無線通信)に関連する回路を含んでもよく、本願は制限しない。
タッチディスプレイ1105はUI(User Interface、ユーザーインターフェース)を表示することに用いられる。該UIは図形、テキスト、アイコン、ビデオ及びそれらの任意の組み合わせを含んでもよい。タッチディスプレイ1105は更にタッチディスプレイ1105の表面又は表面上方のタッチ信号を収集する機能を有する。該タッチ信号を制御信号としてプロセッサ1101に入力して処理してもよい。タッチディスプレイ1105はソフトキー及び/又はソフトキーボードとも称される仮想キー及び/又は仮想キーボードを提供することに用いられる。いくつかの実施例では、タッチディスプレイ1105は端末1100の正面パネルに設置される1つであってもよく、いくつかの他の実施例では、タッチディスプレイ1105はそれぞれ端末1100の異なる表面に設置される又は折り畳んで設計される少なくとも2つであってもよく、いくつかの別の実施例では、タッチディスプレイ1105は端末1100の湾曲表面又は折り畳み面に設置されるフレキシブルディスプレイであってもよい。ひいては、タッチディスプレイ1105は更に矩形以外の不規則図形、すなわち異形ディスプレイに設置されてもよい。タッチディスプレイ1105はLCD(Liquid Crystal Display、液晶ディスプレイ)、OLED(Organic Light−Emitting Diode、有機発光ダイオード)等の材質で製造されてもよい。
カメラコンポーネント1106は画像又はビデオを収集することに用いられる。好ましくは、カメラコンポーネント1106は前置カメラ及び後置カメラを備える。一般的に、前置カメラはビデオ通話又は自分撮りを実現することに用いられ、後置カメラは写真又はビデオの撮影を実現することに用いられる。いくつかの実施例では、メインカメラと被写界深度カメラとの融合を実現し、背景ボケ機能を実現するために、後置カメラは少なくとも2つあり、それぞれメインカメラ、被写界深度カメラ、広角カメラのうちのいずれか1つであり、メインカメラと広角カメラとの融合によってパノラマ撮影及びVR(Virtual Reality、仮想現実)撮影機能を実現する。いくつかの実施例では、カメラコンポーネント1106は更にフラッシュを備えてもよい。フラッシュは単色温度フラッシュであってもよいし、二重色温度フラッシュであってもよい。二重色温度フラッシュは暖光フラッシュと冷光フラッシュとの組み合わせを指し、異なる色温における光補償に使用されてもよい。
オーディオ回路1107はユーザーと端末1100とのオーディオインターフェースを提供することに用いられる。オーディオ回路1107はマイクロフォン及びスピーカーを備えてもよい。マイクロフォンはユーザー及び環境の音波を収集して、音波を電気信号に変換してプロセッサ1101に入力して処理し、又は無線周波数回路1104に入力して音声通信を実現することに用いられる。ステレオの収集又は騒音低減のために、マイクロフォンがそれぞれ端末1100の異なる箇所に設置される複数であってもよい。マイクロフォンは更にアレイマイクロフォン又は全方向性収集型マイクロフォンであってもよい。スピーカーはプロセッサ1101又は無線周波数回路1104からの電気信号を音波に変換することに用いられる。スピーカーは従来の薄膜スピーカーであってもよいし、圧電セラミックスピーカーであってもよい。スピーカーが圧電セラミックスピーカーである場合、電気信号を人間の聞こえる音波に変換することができるだけでなく、電気信号を人間の聞こえない音波に変換して距離測定等を行うこともできる。いくつかの実施例では、オーディオ回路1107は更にヘッドフォンジャックを備えてもよい。
ナビゲーション又はLBS(Location Based Service、位置情報に基づくサービス)を実現するために、測位コンポーネント1108は端末1100の現在の地理位置を測位することに用いられる。測位コンポーネント1108は米国のGPS(Global Positioning System、全地球測位システム)、中国の北斗システム又はロシアのガリレオシステムに基づく測位コンポーネントであってもよい。
電源1109は端末1100における各コンポーネントに給電することに用いられる。電源1109は交流電流、直流電流、一次電池又は可充電電池であってもよい。電源1109が可充電電池を含む場合、該可充電電池は有線充電電池又は無線充電電池であってもよい。有線充電電池は有線回線によって充電する電池であり、無線充電電池は無線コイルによって充電する電池である。該可充電電池は更に急速充電技術をサポートすることに用いられる。
いくつかの実施例では、端末1100は更に1つ又は複数のセンサ1110を備える。該1つ又は複数のセンサ1110は加速度センサ1111、ジャイロセンサ1112、圧力センサ1113、指紋センサ1114、光センサ1115及び接近センサ1116を含むが、それらに限らない。
加速度センサ1111は端末1100を中心として確立した座標系の3つの座標軸における加速度の大きさを検出することができる。例えば、加速度センサ1111は重力加速度の3つの座標軸における成分を検出することに用いられてもよい。プロセッサ1101は加速度センサ1111の収集した重力加速度信号に基づき、タッチディスプレイ1105が水平ビュー又は垂直ビューでユーザーインターフェースを表示するように制御することができる。加速度センサ1111は更にゲーム又はユーザーの運動データの収集に使用されてもよい。
ジャイロセンサ1112は端末1100の本体方向及び回転角度を検出することができ、ジャイロセンサ1112は加速度センサ1111と協働してユーザーの端末1100に対する3D動作を収集することができる。プロセッサ1101はジャイロセンサ1112の収集したデータに基づき、動作感応(例えば、ユーザーの傾斜操作に基づいてUIを変える)、撮影時の画像の安定性、ゲーム制御及び慣性ナビゲーションの機能を実現することができる。
圧力センサ1113が端末1100のサイドフレーム及び/又はタッチディスプレイ1105の下層に設置されてもよい。圧力センサ1113が端末1100のサイドフレームに設置される場合、ユーザーの端末1100に対する把持信号を検出し、該把持信号に基づいて左手と右手の識別又はショートカット操作を行うことができる。圧力センサ1113がタッチディスプレイ1105の下層に設置される場合、ユーザーのタッチディスプレイ1105に対する圧力操作に基づき、UIインターフェースにおける操作可能なウィジェットに対する制御を実現することができる。操作可能なウィジェットはキーウィジェット、スクロールバーウィジェット、アイコンウィジェット、メニューウィジェットのうちの少なくとも1つを含む。
指紋センサ1114はユーザーの指紋を収集することに用いられ、それにより収集された指紋に基づいてユーザーの身元を識別する。ユーザーの身元が信頼できる身元であると識別するとき、プロセッサ1101は該ユーザーが関連する敏感な操作を実行することを許可し、該敏感な操作は画面のロック解除、暗号化情報の表示、ソフトウェアのダウンロード、支払及び設定変更等を含む。指紋センサ1114が端末1100の表面、裏面又は側面に設置されてもよい。端末1100に物理キー又はメーカーLogoが設置される場合、指紋センサ1114が物理キー又はメーカーLogoと一体に統合されてもよい。
光センサ1115は環境光強度を収集することに用いられる。一実施例では、プロセッサ1101は光センサ1115の収集した環境光強度に基づき、タッチディスプレイ1105の表示輝度を制御することができる。具体的に、環境光強度がより高い場合、タッチディスプレイ1105の表示輝度を高くし、環境光強度がより低い場合、タッチディスプレイ1105の表示輝度を低くする。他の実施例では、プロセッサ1101は更に光センサ1115の収集した環境光強度に基づき、カメラコンポーネント1106の撮影パラメータを動的に調整することができる。
距離センサとも称される接近センサ1116は一般的に端末1100の表面に設置される。接近センサ1116はユーザーと端末1100の表面との距離を収集することに用いられる。一実施例では、接近センサ1116はユーザーと端末1100の表面との距離が徐々に短くなると検出する場合、プロセッサ1101はタッチディスプレイ1105を動作状態から待機状態に切り替えるように制御し、接近センサ1116はユーザーと端末1100の表面との距離が徐々に長くなると検出する場合、プロセッサ1101はタッチディスプレイ1105を待機状態から動作状態に切り替えるように制御する。
当業者であれば、図11に示される構造は端末1100を制限するためのものではなく、図示より多く又は少ないコンポーネントを備え、又はいくつかのコンポーネントを組み合わせ、又は異なるコンポーネント配置を用いてもよいと理解される。
例示的な実施例では、更にコンピュータ可読記憶媒体を提供し、前記記憶媒体に少なくとも1つの命令、少なくとも1セグメントのプログラム、コードセット又は命令セットが記憶され、上記実施例に係る署名生成方法を実現するために、前記少なくとも1つの命令、前記少なくとも1セグメントのプログラム、前記コードセット又は命令セットが前記プロセッサによりロード・実行される。例えば、前記コンピュータ可読記憶媒体はROM、ランダムアクセスメモリ(RAM)、CD−ROM、磁気テープ、フロッピーディスク及び光データ記憶装置等であってもよい。
一例では、上記電子機器は図12におけるサーバ1200として提供されてもよい。図12は本願の実施例に係るサーバの構造ブロック図である。例えば、サーバ1200はノードとして提供されてもよい。図12に示すように、サーバ1200は処理コンポーネント1222を備え、更に1つ又は複数のプロセッサ、及びメモリ1232を代表とする、処理部材1222により実行できる命令例えばアプリケーションプログラムを記憶するためのメモリリソースを備える。メモリ1232に記憶されるアプリケーションプログラムはそれぞれ1組の命令に対応する1つ又は1つ以上のモジュールを含んでもよい。また、上記図2、図4及び図7に示される実施例のうちのいずれか1つの提供する署名生成方法におけるサーバ側の方法ステップを実行するために、処理コンポーネント1222は命令を実行するように設定される。
サーバ1200は、更に、サーバ1200の電源管理を実行するように設定される1つの電源コンポーネント1226と、サーバ1200をネットワークに接続するように設定される1つの有線又は無線ネットワークインターフェース1250と、1つの入力出力(I/O)インターフェース1258と、を備えてもよい。サーバ1200はメモリ1232に記憶されるオペレーティングシステム、例えばWindows ServerTM、Mac OS XTM、UnixTM、 LinuxTM、FreeBSDTM又は同様のものを操作することができる。
例示的な実施例では、更にコンピュータ可読記憶媒体を提供し、前記記憶媒体に少なくとも1つの命令が記憶され、上記実施例に係る署名生成方法を実現するために、前記少なくとも1つの命令が前記プロセッサによりロード・実行される。例えば、前記コンピュータ可読記憶媒体はROM、ランダムアクセスメモリ(RAM)、CD−ROM、磁気テープ、フロッピーディスク及び光データ記憶装置等であってもよい。
当業者が明細書を考慮し及び開示される発明を実施した後、本願の他の実施案に容易に想到し得る。本願は本願のいかなる変形、用途又は適応変化を含むように意図され、これらの変形、用途又は適応変化は本願の一般原理に基づくものであって、本開示に開示されていない本分野における一般知識又は慣用の技術手段を含む。明細書及び実施例は例示的なものであると見なされ、本願の真の範囲及び趣旨は以上の特許請求の範囲に準じる。
本願は以上に説明されて図面に示される正確な構造に限らず、その範囲を逸脱せずに種々の修正や変更を行うことができると理解すべきである。本願の範囲は添付の特許請求の範囲により制限される。

Claims (20)

  1. 署名生成方法であって、生成モジュールと取得モジュールとを含む電子機器に適用され、前記方法は、
    前記生成モジュールが、署名待ちのメッセージ及び前記電子機器の有する複数のアカウントアドレスの各々の特徴値に基づき、メッセージ要約を生成するステップであって、各アカウントアドレスの特徴値が前記アカウントアドレスに対して生成された乱数によって計算して得られたものである、ステップと、
    前記取得モジュールが、前記複数のアカウントアドレスの各々について、前記アカウントアドレスの公開鍵及びサブ署名を取得するステップであって、各アカウントアドレスのサブ署名が前記アカウントアドレスに対して生成された乱数、前記メッセージ要約及び前記アカウントアドレスの秘密鍵によって計算して得られたものである、ステップと、
    前記生成モジュールが、前記複数のアカウントアドレスの公開鍵に基づき、集約公開鍵を生成するステップであって、前記集約公開鍵の長さが前記複数の公開鍵を結合した長さより小さい、ステップと、
    前記生成モジュールが、前記複数のサブ署名の合計値及び前記メッセージ要約に基づき、集約署名を生成するステップと、を含む方法。
  2. 前記生成モジュールが、署名待ちのメッセージ及び複数のアカウントアドレスの特徴値に基づき、メッセージ要約を生成するステップは、
    前記複数のアカウントアドレスの特徴値、署名待ちのメッセージ及び第1数値を取得するステップと、
    前記複数のアカウントアドレスの特徴値及び前記第1数値に基づき、集約特徴値を生成するステップと、
    前記集約特徴値、前記署名待ちのメッセージ及び所定の一方向ハッシュ関数に基づき、前記メッセージ要約を生成するステップと、を含む
    請求項1に記載の方法。
  3. 前記複数の特徴値及び前記第1数値に基づき、集約特徴値を生成するステップは、
    前記複数の特徴値の積を計算し、前記複数の特徴値の積及び前記第1数値に基づき、集約特徴値を生成するステップを含む
    請求項2に記載の方法。
  4. 前記生成モジュールが、前記複数のアカウントアドレスの公開鍵に基づき、集約公開鍵を生成するステップは、
    前記複数の公開鍵の積を計算し、前記複数の公開鍵の積及び前記第1数値に基づき、集約公開鍵を生成するステップを含む
    請求項2に記載の方法。
  5. 前記生成モジュールが、前記複数のサブ署名の合計値及び前記メッセージ要約に基づき、集約署名を生成するステップは、
    前記複数のサブ署名に基づき、集約サブ署名を生成し、前記集約サブ署名及び前記メッセージ要約を結合し、結合して得られた結果を集約署名として確定するステップを含む
    請求項1に記載の方法。
  6. 前記電子機器がデータ共有システムにおけるクライアントデバイスであり、前記署名待ちのメッセージが各アカウントアドレスに対応する数値移転情報である
    請求項1に記載の方法。
  7. 前記電子機器がデータ共有システムにおけるクライアントデバイスであり、前記署名待ちのメッセージが取引完了条件を制限するための契約データである
    請求項1に記載の方法。
  8. 前記電子機器がデータ共有システムにおけるリーダーノードであり、前記複数のアカウントアドレスのうちの各アカウントアドレスが前記データ共有システムにおけるフォロワーノードであり、前記電子機器は送信モジュールを更に含み、
    前記生成モジュールが、署名待ちのメッセージ及び複数のアカウントアドレスの特徴値に基づき、メッセージ要約を生成した後、前記方法は、更に、
    前記送信モジュールが、前記メッセージ要約を前記データ共有システムにおけるフォロワーノードに送信するステップを含み、
    前記取得モジュールが、前記複数のアカウントアドレスの各々について、前記アカウントアドレスの公開鍵及びサブ署名を取得するステップは、
    各フォロワーノードから送信された公開鍵及びサブ署名を受信するステップを含み、
    前記生成モジュールが、前記複数のサブ署名の合計値及び前記メッセージ要約に基づき、集約署名を生成した後、前記方法は、更に、
    前記送信モジュールが、前記集約公開鍵及び前記集約署名を前記各フォロワーノードに送信するステップを含む
    請求項1に記載の方法。
  9. 署名生成方法であって、生成モジュールと取得モジュールとを含む電子機器に適用され、前記方法は、
    前記生成モジュールが、乱数を取得し、前記乱数に基づき、特徴値を生成するステップと、
    前記取得モジュールが、署名待ちのメッセージ、秘密鍵及び公開鍵を取得するステップと、
    前記取得モジュールが、メッセージ要約を取得するステップであって、前記メッセージ要約が、署名集約者により前記署名待ちのメッセージ及び前記特徴値に基づいて計算して得られる、ステップと、
    前記生成モジュールが、前記メッセージ要約、前記乱数及び前記秘密鍵に基づき、サブ署名を生成するステップと、を含む方法。
  10. 前記生成モジュールが、乱数を取得し、前記乱数に基づき、特徴値を生成するステップは、
    第1数値p及び第2数値qを取得するステップであって、前記第1数値p及び前記第2数値qが素数であり、qが(p-1)の因子であり、p≧2512、q≧2140であることを満たすステップと、
    生成底数gを取得するステップであって、gが、(gq-1)がpで整除できることを満たすステップと、
    乱数を取得し、前記乱数の値範囲が(0,q)であるステップと、
    前記乱数、前記生成底数及び前記第1数値に基づき、特徴値を生成するステップと、を含む
    請求項9に記載の方法。
  11. 前記生成モジュールが、前記メッセージ要約、前記乱数及び前記秘密鍵に基づき、サブ署名を生成した後、更に、
    前記電子機器がデータ共有システムにおけるフォロワーノードである場合、前記電子機器は送信モジュールを更に含み、前記方法は、
    前記送信モジュールが、前記サブ署名及び前記公開鍵を前記署名集約者に送信するステップを含む
    請求項9に記載の方法。
  12. 電子機器であって、
    プロセッサと、
    コンピュータプログラムを保存するように構成されるメモリと、を備え、
    前記コンピュータプログラムは、前記プロセッサに、
    署名待ちのメッセージ及び複数のアカウントアドレスの特徴値に基づき、メッセージ要約を生成するステップであって、各アカウントアドレスの特徴値が前記アカウントアドレスに対して生成された乱数によって計算して得られたものである、ステップと、
    前記複数のアカウントアドレスの各々について、前記アカウントアドレスの公開鍵及びサブ署名を取得するステップであって、各アカウントアドレスのサブ署名が前記アカウントアドレスに対して生成された乱数、前記メッセージ要約及び前記アカウントアドレスの秘密鍵によって計算して得られたものである、ステップと、
    前記複数のアカウントアドレスの公開鍵に基づき、集約公開鍵を生成するステップであって、前記集約公開鍵の長さが前記複数の公開鍵を結合した長さより小さい、ステップと、
    前記複数のサブ署名の合計値及び前記メッセージ要約に基づき、集約署名を生成するステップと、
    を含む方法を実行させる、前記電子機器。
  13. 前記コンピュータプログラムは、前記プロセッサに、
    前記複数のアカウントアドレスの特徴値、署名待ちのメッセージ及び第1数値を取得するステップと、
    前記複数のアカウントアドレスの特徴値及び前記第1数値に基づき、集約特徴値を生成するステップと、
    前記集約特徴値、前記署名待ちのメッセージ及び所定の一方向ハッシュ関数に基づき、前記メッセージ要約を生成するステップと、
    を更に実行させる、請求項12に記載の電子機器。
  14. 前記コンピュータプログラムは、前記プロセッサに、
    前記複数の特徴値の積を計算するステップと、
    前記複数の特徴値の積及び前記第1数値に基づき、集約特徴値を生成するステップと、
    を更に実行させる、請求項13に記載の電子機器。
  15. 前記コンピュータプログラムは、前記プロセッサに、
    前記複数の公開鍵の積を計算ステップと、
    前記複数の公開鍵の積及び前記第1数値に基づき、集約公開鍵を生成するステップと、
    を更に実行させる、請求項13に記載の電子機器。
  16. 前記コンピュータプログラムは、前記プロセッサに、
    前記複数のサブ署名に基づき、集約サブ署名を生成ステップと、
    前記集約サブ署名及び前記メッセージ要約を結合し、結合して得られた結果を集約署名として確定するステップと、
    を更に実行させる、請求項12に記載の電子機器。
  17. 前記電子機器がデータ共有システムにおけるクライアントデバイスであり、前記署名待ちのメッセージが各アカウントアドレスに対応する数値移転情報である
    請求項12に記載の電子機器。
  18. 前記電子機器がデータ共有システムにおけるクライアントデバイスであり、前記署名待ちのメッセージが取引完了条件を制限するための契約データである
    請求項12に記載の電子機器。
  19. 前記電子機器がデータ共有システムにおけるリーダーノードであり、前記複数のアカウントアドレスのうちの各アカウントアドレスが前記データ共有システムにおけるフォロワーノードであり、
    前記電子機器は、更に、前記メッセージ要約を前記データ共有システムにおけるフォロワーノードに送信するように構成される送受信機を備え、
    前記送受信機は、更に、各フォロワーノードから送信された公開鍵及びサブ署名を受信することに用いられ、
    前記コンピュータプログラムは、前記プロセッサに、更に、
    前記集約公開鍵及び前記集約署名を前記各フォロワーノードに送信するステップを実行させる、
    請求項12に記載の電子機器。
  20. コンピュータプログラムを記憶したコンピュータ可読記憶媒体であって、
    前記コンピュータプログラムは、プロセッサに、
    署名待ちのメッセージ及び複数のアカウントアドレスの特徴値に基づき、メッセージ要約を生成するステップであって、各アカウントアドレスの特徴値が前記アカウントアドレスに対して生成された乱数によって計算して得られたものである、ステップと、
    前記複数のアカウントアドレスの各々について、前記アカウントアドレスの公開鍵及びサブ署名を取得するステップであって、各アカウントアドレスのサブ署名が前記アカウントアドレスに対して生成された乱数、前記メッセージ要約及び前記アカウントアドレスの秘密鍵によって計算して得られたものである、ステップと、
    前記複数のアカウントアドレスの公開鍵に基づき、集約公開鍵を生成するステップであって、前記集約公開鍵の長さが前記複数の公開鍵を結合した長さより小さい、ステップと、
    前記複数のサブ署名の合計値及び前記メッセージ要約に基づき、集約署名を生成するステップと、
    を実行させる、コンピュータ可読記憶媒体。
JP2019563382A 2017-11-10 2018-10-25 署名生成方法、電子機器及び記憶媒体 Active JP6966572B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711106750.7 2017-11-10
CN201711106750.7A CN107968708B (zh) 2017-11-10 2017-11-10 生成签名的方法、装置、终端及服务器
PCT/CN2018/111928 WO2019091289A1 (zh) 2017-11-10 2018-10-25 生成签名的方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
JP2020520607A JP2020520607A (ja) 2020-07-09
JP6966572B2 true JP6966572B2 (ja) 2021-11-17

Family

ID=62000078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019563382A Active JP6966572B2 (ja) 2017-11-10 2018-10-25 署名生成方法、電子機器及び記憶媒体

Country Status (6)

Country Link
US (1) US11128450B2 (ja)
EP (1) EP3611872A4 (ja)
JP (1) JP6966572B2 (ja)
KR (1) KR102350462B1 (ja)
CN (2) CN110971414B (ja)
WO (1) WO2019091289A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971414B (zh) * 2017-11-10 2021-05-04 财付通支付科技有限公司 生成签名的方法、装置、终端及服务器
CN108650097B (zh) * 2018-04-28 2021-03-09 上海扈民区块链科技有限公司 一种高效的聚合数字签名方法
US11769156B2 (en) * 2018-05-15 2023-09-26 International Business Machines Corporation Automated data projection for smart contract groups on a blockchain
CN109064146B (zh) * 2018-08-07 2021-05-11 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种数字货币交易方法、设备、系统、终端及客户端钱包
CN110826091B (zh) * 2018-08-14 2022-05-06 珠海金山办公软件有限公司 一种文件签名方法、装置、电子设备及可读存储介质
CN110943838A (zh) * 2018-09-21 2020-03-31 上海派链信息科技有限公司 区块链网络中确定区块的共识的方法、设备和存储介质
CN112968883B (zh) * 2018-09-27 2023-04-07 福建福链科技有限公司 一种安全性高的区块链异构共识方法及终端
US20200167779A1 (en) * 2018-11-27 2020-05-28 Akamai Technologies, Inc. High performance distributed system of record with confidence-based consensus
CN109672535B (zh) * 2018-12-11 2021-10-08 成都四方伟业软件股份有限公司 联盟链签名生成方法及装置
CN111385096B (zh) * 2018-12-28 2023-08-08 北京沃东天骏信息技术有限公司 一种区块链网络系统、签名处理方法、终端及存储介质
CN110084600B (zh) * 2019-04-29 2021-08-27 百度在线网络技术(北京)有限公司 决议事务请求的处理、验证方法、装置、设备及介质
CN110209683B (zh) * 2019-06-05 2021-11-16 北京资源律动科技有限公司 一种实时获取环境数据并将其写入区块链的系统
CN112689848A (zh) * 2019-06-28 2021-04-20 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN110300172B (zh) * 2019-06-28 2022-06-07 深圳市迅雷网络技术有限公司 一种区块链数据的共识方法及相关设备
CN110247774A (zh) * 2019-06-28 2019-09-17 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN110363513A (zh) * 2019-07-15 2019-10-22 湖南智慧政务区块链科技有限公司 基于区块链的联合支付方法和装置
CN110505064A (zh) * 2019-07-26 2019-11-26 深圳市网心科技有限公司 基于EC-Schnoor签名算法的门限投票方法、系统及相关设备
CN110400409B (zh) * 2019-07-26 2022-02-22 深圳市迅雷网络技术有限公司 基于bls签名算法的门限投票方法、系统及相关设备
CN110401537A (zh) * 2019-07-26 2019-11-01 深圳市网心科技有限公司 基于bls签名算法的门限投票方法、系统及相关设备
CN110401541A (zh) * 2019-07-26 2019-11-01 深圳市网心科技有限公司 基于EC-Schnoor签名算法的门限投票方法、系统及相关设备
CN110830259A (zh) * 2019-08-06 2020-02-21 贵州大学 为多媒体数据提供原始性和完整性证明的方法及系统
US11588645B1 (en) * 2019-09-06 2023-02-21 University Of South Florida Systems and methods for compromise resilient and compact authentication for digital forensics
US20210099312A1 (en) * 2019-09-27 2021-04-01 Cypherium Blockchain Inc. Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
CN111314067B (zh) * 2020-02-05 2021-04-16 腾讯科技(深圳)有限公司 区块存储方法、装置、计算机设备及存储介质
JP7121195B2 (ja) * 2020-02-14 2022-08-17 グーグル エルエルシー セキュアマルチパーティリーチおよび頻度推定
CN111371564B (zh) * 2020-03-04 2023-02-03 深圳大学 一种数字签名及区块链交易方法、装置及电子设备
CN111476572B (zh) * 2020-04-09 2024-03-19 财付通支付科技有限公司 基于区块链的数据处理方法、装置、存储介质及设备
CN113592638A (zh) * 2020-04-30 2021-11-02 顺丰科技有限公司 交易请求的处理方法、装置以及联盟链
CN111478772B (zh) * 2020-06-22 2020-10-16 杭州趣链科技有限公司 一种流水线友好的签名和验签方法、设备及存储介质
CN111769938B (zh) * 2020-06-29 2023-03-24 福建福链科技有限公司 一种区块链传感器的密钥管理系统、数据验证系统
JP7355247B2 (ja) 2020-06-30 2023-10-03 富士通株式会社 署名制御方法、署名制御プログラム、および情報処理装置
CN114124396B (zh) * 2020-09-01 2023-12-01 中国电信股份有限公司 信息传输方法、系统和存储介质
CN112261082B (zh) * 2020-09-21 2021-11-19 中国科学院计算技术研究所 基于区块链和安全多方计算的被动dns数据共享方法及系统
CN112380575B (zh) * 2020-11-17 2024-03-15 深圳市联创知识产权服务中心 多方电子签名合成方法、装置、设备及存储介质
US11675650B2 (en) * 2020-12-30 2023-06-13 Mission Secure, Inc. System and method for n-modular redundant communication
JPWO2022153452A1 (ja) * 2021-01-14 2022-07-21
CN113055188B (zh) * 2021-03-02 2022-04-15 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
KR20220161035A (ko) * 2021-05-28 2022-12-06 삼성에스디에스 주식회사 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버
CN113742709B (zh) * 2021-09-13 2023-09-05 抖音视界有限公司 信息的处理方法、装置、可读介质和电子设备
KR102439195B1 (ko) * 2022-05-03 2022-08-31 세종대학교산학협력단 다중 서명 생성 방법 및 시스템과 이를 수행하기 위한 컴퓨팅 장치

Family Cites Families (34)

* 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 ディジタル署名方法、秘密情報の管理方法およびシステム
JP4194745B2 (ja) * 2000-09-19 2008-12-10 株式会社エヌ・ティ・ティ・データ 電子署名システム及び電子署名方法
AU2009200408B2 (en) * 2006-09-12 2012-05-10 Cpc Patent Technologies Pty Ltd Password generator
US8595504B2 (en) * 2008-08-12 2013-11-26 Industrial Technology Research Institute Light weight authentication and secret retrieval
JP5669204B2 (ja) * 2011-03-17 2015-02-12 Necソリューションイノベータ株式会社 分散情報管理システム、分散情報管理方法、および分散情報管理プログラム
US9713019B2 (en) * 2011-08-17 2017-07-18 CBF Networks, Inc. Self organizing backhaul radio
US9141823B2 (en) * 2013-03-15 2015-09-22 Veridicom, Sa De Cv Abstraction layer for default encryption with orthogonal encryption logic session object; and automated authentication, with a method for online litigation
CN103414731A (zh) * 2013-08-29 2013-11-27 青岛大学 一种并行密钥隔离的基于身份的聚合签名方法
FR3023400A1 (fr) * 2014-07-04 2016-01-08 Schneider Electric Ind Sas Procede de gestion de l'installation d'une application sur un dispositif electronique
CN104462965B (zh) * 2014-11-14 2018-03-13 华为技术有限公司 应用程序完整性验证方法及网络设备
US9853977B1 (en) * 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US9762393B2 (en) * 2015-03-19 2017-09-12 Conduent Business Services, Llc One-to-many matching with application to efficient privacy-preserving re-identification
CN105162760B (zh) * 2015-07-28 2018-08-14 郝孟一 随机抽取方法、装置以及系统
US9948460B2 (en) * 2015-08-28 2018-04-17 City University Of Hong Kong Multivariate cryptography based on clipped hopfield neural network
CN105721413B (zh) * 2015-09-08 2018-05-29 腾讯科技(深圳)有限公司 业务处理方法及装置
CN106549909B (zh) * 2015-09-17 2020-04-24 阿里巴巴集团控股有限公司 一种授权验证方法及设备
CN105406970B (zh) * 2015-10-21 2019-03-12 浪潮电子信息产业股份有限公司 签名的方法及装置、验证签名的方法及装置
US11025407B2 (en) * 2015-12-04 2021-06-01 Verisign, Inc. Hash-based digital signatures for hierarchical internet public key infrastructure
US10567377B2 (en) * 2016-05-23 2020-02-18 Pemian & Corella, LLC Multifactor privacy-enhanced remote identification using a rich credential
CN106296200A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 基于区块链技术的分布式光伏电力交易平台
GB2538022B (en) * 2016-08-20 2018-07-11 PQ Solutions Ltd Multiple secrets in quorum based data processing
US10049017B2 (en) * 2016-10-04 2018-08-14 Nec Corporation Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
US10243939B2 (en) * 2016-12-23 2019-03-26 Amazon Technologies, Inc. Key distribution in a distributed computing environment
US10218511B2 (en) * 2016-12-23 2019-02-26 Amazon Technologies, Inc. Signature delegation
US10230525B2 (en) * 2016-12-23 2019-03-12 Amazon Technologies, Inc. Public key rollup for merkle tree signature scheme
US10511445B1 (en) * 2017-01-05 2019-12-17 Amazon Technologies, Inc. Signature compression for hash-based signature schemes
US10608824B1 (en) * 2017-01-09 2020-03-31 Amazon Technologies, Inc. Merkle signature scheme tree expansion
CN106888096B (zh) * 2017-03-23 2019-10-08 西安电子科技大学 基于混淆技术的安全广播多重签名方法
CN107171788B (zh) * 2017-04-08 2020-06-30 西安邮电大学 一种基于身份且签名长度恒定的在线离线聚合签名方法
CN107222482A (zh) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 一种基于复合区块链网络的数据管理系统及方法
US10581613B2 (en) * 2017-06-09 2020-03-03 Ecole Polytechnique Federale De Lausanne (Epfl) Cryptographically verifiable data structure having multi-hop forward and backwards links and associated systems and methods
US10862831B2 (en) * 2017-08-03 2020-12-08 Digital 14 Llc System, method, and computer program product providing end-to-end security of centrally accessible group membership information
US10601907B2 (en) * 2017-09-22 2020-03-24 Artiste QB Net Inc. System and method for platform to securely distribute compute workload to web capable devices
CN110971414B (zh) * 2017-11-10 2021-05-04 财付通支付科技有限公司 生成签名的方法、装置、终端及服务器

Also Published As

Publication number Publication date
EP3611872A4 (en) 2020-12-09
WO2019091289A1 (zh) 2019-05-16
CN107968708B (zh) 2020-01-17
US11128450B2 (en) 2021-09-21
US20200076586A1 (en) 2020-03-05
CN110971414A (zh) 2020-04-07
JP2020520607A (ja) 2020-07-09
KR102350462B1 (ko) 2022-01-11
CN110971414B (zh) 2021-05-04
KR20200003144A (ko) 2020-01-08
CN107968708A (zh) 2018-04-27
EP3611872A1 (en) 2020-02-19

Similar Documents

Publication Publication Date Title
JP6966572B2 (ja) 署名生成方法、電子機器及び記憶媒体
CN110689460B (zh) 基于区块链的交通事故数据处理方法、装置、设备及介质
CN110278464B (zh) 显示榜单的方法和装置
CN111506884A (zh) 用户邀请方法、装置、计算机设备及计算机可读存储介质
CN110597924B (zh) 基于区块链的用户标识处理方法、装置、设备及存储介质
CN111339086A (zh) 区块处理方法、基于区块链的数据查询方法及装置
CN111866140B (zh) 融合管理设备、管理系统、服务调用方法及介质
CN110581891A (zh) 基于区块链的游戏数据处理方法、装置、设备及存储介质
CN110598386A (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN111212074B (zh) 基于区块链的资格认定方法、装置、设备及存储介质
CN110290191B (zh) 资源转移结果处理方法、装置、服务器、终端及存储介质
CN111062725A (zh) 人脸支付方法、装置及系统、计算机可读存储介质
CN111131392A (zh) 处理消息的方法、装置、电子设备及介质
CN110597840B (zh) 基于区块链的伴侣关系建立方法、装置、设备及存储介质
CN110727894B (zh) 目标素材设置方法、装置、设备及存储介质
CN110532324B (zh) 基于区块链的公告信息展示方法、装置、设备及存储介质
CN112330380B (zh) 订单创建方法、装置、计算机设备及计算机可读存储介质
CN110570289A (zh) 基于区块链的业务处理方法、装置、设备及存储介质
CN108829464B (zh) 服务启动方法、装置、计算机设备及存储介质
CN113852459B (zh) 密钥协商方法、设备及计算机可读存储介质
CN110971692B (zh) 开通服务的方法、装置及计算机存储介质
CN111131619B (zh) 账号切换处理的方法、装置及系统
CN115348262B (zh) 基于跨链协议的跨链操作执行方法及网络系统
CN111741040A (zh) 连接建立方法、地址获取方法、装置、设备及存储介质
CN114117087A (zh) 资源推荐方法、装置、计算机设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210416

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211021

R150 Certificate of patent or registration of utility model

Ref document number: 6966572

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150