[go: up one dir, main page]

JP2012175634A - Aggregate signature system, verification system, aggregate signature method, and aggregate signature program - Google Patents

Aggregate signature system, verification system, aggregate signature method, and aggregate signature program Download PDF

Info

Publication number
JP2012175634A
JP2012175634A JP2011038387A JP2011038387A JP2012175634A JP 2012175634 A JP2012175634 A JP 2012175634A JP 2011038387 A JP2011038387 A JP 2011038387A JP 2011038387 A JP2011038387 A JP 2011038387A JP 2012175634 A JP2012175634 A JP 2012175634A
Authority
JP
Japan
Prior art keywords
node
signature
message
verification
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.)
Pending
Application number
JP2011038387A
Other languages
Japanese (ja)
Inventor
Katsuki Inamura
勝樹 稲村
Toshiaki Tanaka
俊昭 田中
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2011038387A priority Critical patent/JP2012175634A/en
Publication of JP2012175634A publication Critical patent/JP2012175634A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an aggregate signature system, a verification system, an aggregate signature method, and an aggregate signature program that suppress a signature size to a constant value even when persons who sign increase in number, and achieve a sequenced electronic signature through efficient arithmetic processing.SOLUTION: In the aggregate signature system, each node performs operation on a hash value obtained from a message of the node right before it and a hash value obtained from a message of the node itself with a signature key assigned to the node itself, and generates signature information of itself using signature information generated by the node right before it.

Description

本発明は、電子署名を利用した電子データのアグリゲート署名システム、検証システム、アグリゲート署名方法及びアグリゲート署名プログラムに関する。   The present invention relates to an electronic data aggregate signature system, verification system, aggregate signature method, and aggregate signature program.

現在、さまざまな電子情報がネットワークやメディアを介して送信されている。会社やコミュニティーのような組織においても、報告書やレポート、稟議書、連絡簿等さまざまな情報が電子化され、社員又はメンバー間でネットワークを経由して回覧されている。   Currently, various electronic information is transmitted through networks and media. Even in an organization such as a company or community, various information such as reports, reports, proposals, and correspondence books are digitized and circulated among employees or members via a network.

その情報の発信源あるいは閲覧済みであることを保証する仕組みとして電子署名がある。この電子署名を利用することにより、特定の人しか知りえない署名鍵と電子情報を入力値として署名の演算を行い、検証者が検証鍵と言われる公開された情報と署名されたデータを入力値として検証演算を行うことで、その特定の人がそのデータの発信源であることを確認することが可能となる。ここで、検証鍵から署名鍵を導出することは、計算量的に不可能であることから、他の人がその特定者に成りすまして署名を行うことができないため、その署名の正当性が保証される。   There is a digital signature as a mechanism for guaranteeing that the information is transmitted or viewed. Using this electronic signature, the signature is calculated using the signature key and electronic information that only a specific person knows as input values, and the verifier inputs the public information called the verification key and the signed data. By performing a verification operation as a value, it is possible to confirm that the specific person is the source of the data. Here, since it is impossible to derive the signature key from the verification key in terms of computational complexity, the validity of the signature is guaranteed because it is impossible for another person to impersonate the specific person and perform the signature. Is done.

また、組織における電子情報の回覧においては、複数の人が介在して署名を行うケースが想定され、例えば、電子データの回覧や会社における承認システムがそれに該当する。複数人の署名を行う方式としては、それぞれの署名者を検証できる多重署名(例えば、非特許文献1を参照)や、特定のグループに所属している人の誰かが署名したことを保証できるグループ署名(例えば、特許文献1を参照)が提案されている。   Further, in circulation of electronic information in an organization, a case where a signature is made with a plurality of people intervening is assumed, for example, circulation of electronic data or an approval system in a company. As a method of signing multiple persons, a multiple signature (for example, refer to Non-Patent Document 1) that can verify each signer, or a group that can guarantee that someone who belongs to a specific group has signed. A signature (see, for example, Patent Document 1) has been proposed.

特開2001−166687号公報JP 2001-166687 A 特開平09−270787号公報JP 09-270787 A 特開2002−040935号公報JP 2002-040935 A

新保 淳、「多重署名に適したElGamal署名の一変形方式」、暗号と情報セキュリティシンポジウム(CSS)、SCIS94−2C、電子情報通信学会、1994Shingo, “A variation of ElGamal signature suitable for multiple signatures”, Symposium on Cryptography and Information Security (CSS), SCIS94-2C, IEICE, 1994

しかしながら、これらの多重署名やグループ署名では署名者が全て等価な関係で表現される。したがって、一例として示した多重署名システムにおいて電子データがどのように流通してきたのかを、この署名方式だけで表現することができない。   However, in these multiple signatures and group signatures, all signers are expressed in an equivalent relationship. Therefore, it is impossible to express how electronic data has been distributed in the multiple signature system shown as an example only by this signature method.

これに対し、順序や上下関係を証明する方式としては順序付き多重署名方式(例えば、特許文献2、3を参照)があげられる。これにより署名者の順番が保証され、個人の上下関係が表現できる。しかしながら、これら既存の順序付き多重署名方式は、RSA(Rivest Shamir Adleman)問題ベースのものか、離散対数問題ベースのものが提案されている。RSA問題ベースでは、署名する人数が増えるほど署名サイズが大きくなってしまい、また、離散対数問題ベースでは、ゼロ知識証明を利用するために演算処理に負荷がかかり、効率的な処理にならない。また、両者共、同一のメッセージに対して複数人が署名を行う方式であるため、各署名者がそれぞれ異なるメッセージを対象とするアグリゲート署名を行うことができなかった。   On the other hand, an ordered multiple signature scheme (for example, see Patent Documents 2 and 3) can be cited as a scheme for proving the order and the hierarchical relationship. As a result, the order of the signers is guaranteed, and the upper and lower personal relationships can be expressed. However, these existing ordered multiple signature schemes have been proposed based on the RSA (Rivest Shamir Adleman) problem or based on the discrete logarithm problem. In the RSA problem base, the signature size increases as the number of signatures increases, and in the discrete logarithm problem base, the calculation processing is burdened to use zero knowledge proof, and the processing is not efficient. Moreover, since both of them are systems in which a plurality of people sign the same message, each signer cannot perform an aggregate signature for different messages.

本発明は、上記課題を解決するため、署名する人数が増えても署名サイズを一定値に抑制し、かつ効率的な演算処理によって順序付き電子署名を行うことができるアグリゲート署名システム、検証システム、アグリゲート署名方法及びアグリゲート署名プログラムを提供することを目的とする。   In order to solve the above-described problems, the present invention provides an aggregate signature system and a verification system that can suppress the signature size to a constant value even when the number of people to sign increases, and can perform an ordered digital signature by efficient arithmetic processing. It is an object of the present invention to provide an aggregate signature method and an aggregate signature program.

本発明では、以下のような解決手段を提供する。   The present invention provides the following solutions.

(1)本発明に係るアグリゲート署名システムは、上記課題を解決するために、あるノードから別のノードへの順序付きのアグリゲート署名を行うアグリゲート署名システムであって、各ノードには、所定の自然数からなる署名鍵と、第1のGDH(GAP−Diffie−Hellman)グループに属する第1の値に対して、当該署名鍵により演算を行って生成される当該第1のGDHグループに属する検証鍵とがそれぞれ割り当てられており、当該各ノードは、以下の各部を備える。
(a)直前のノードが存在する場合、当該直前のノードの署名対象であるメッセージ又は当該メッセージのハッシュ値、及び当該直前のノードの署名情報を受信する受信部。
(b)自身のメッセージと、前記直前のノードが存在する場合、当該直前のノードのメッセージとに対して、それぞれ一方向性ハッシュ関数演算を行って、各メッセージの第2のGDHグループに属するハッシュ値を生成する署名ノード一方向性ハッシュ関数演算部。
(c)自身のメッセージのハッシュ値に対して自身の署名鍵により演算を行った結果と、前記直前のノードが存在する場合、当該直前のノードのメッセージのハッシュ値に対して自身のノードの署名鍵により演算を行った結果、及び前記直前のノードの署名情報とを総和して、自身の署名情報を生成する署名情報生成部。
(d)直後のノードが存在する場合、自身のメッセージ又は当該メッセージのハッシュ値、及び自身の署名情報を、当該直後のノードへ送信する送信部。
(1) An aggregate signature system according to the present invention is an aggregate signature system that performs an ordered aggregate signature from one node to another node in order to solve the above-described problem. A signature key consisting of a predetermined natural number and a first value belonging to a first GDH (GAP-Diffie-Hellman) group belong to the first GDH group generated by performing an operation using the signature key. A verification key is assigned to each node, and each node includes the following units.
(A) A receiving unit that receives a message to be signed by the immediately preceding node or a hash value of the message and the signature information of the immediately preceding node when the immediately preceding node exists.
(B) When there is a message of its own and the immediately preceding node, a one-way hash function operation is performed on the message of the immediately preceding node, and a hash belonging to the second GDH group of each message Signature node one-way hash function calculation unit for generating a value.
(C) The result of the operation performed on the hash value of its own message with its own signature key and, if the previous node exists, the signature of its own node on the hash value of the message of the previous node A signature information generation unit that generates the signature information of itself by summing up the result of the operation using the key and the signature information of the immediately preceding node.
(D) A transmitting unit that transmits its own message or the hash value of the message and its signature information to the immediately following node when the immediately following node exists.

このような構成によれば、アグリゲート署名システムは、各ノードにおいて、直前のノードのメッセージから得られたハッシュ値と、自身のメッセージから得られたハッシュ値とに対して、自身のノードに割り当てられている署名鍵によって演算を行い、さらに、直前のノードにより生成された署名情報を用いて、自身の署名情報を生成する。アグリゲート署名システムは、この署名情報により、各ノードに至るまでの署名順序を表現することができる。   According to such a configuration, the aggregate signature system assigns to each node the hash value obtained from the message of the immediately preceding node and the hash value obtained from its own message at each node. An operation is performed using the signature key, and the signature information generated by the immediately preceding node is used to generate its own signature information. The aggregate signature system can express the signature order up to each node by this signature information.

また、このように構成されることにより、アグリゲート署名システムは、署名鍵を知らない第三者がGDHグループの要素である楕円曲線上の点から署名鍵を求めることを、計算量的に困難にすることができる。また、署名者の数(ノードの数)が増えても、生成される署名情報は楕円曲線上の点であるため、署名情報のサイズ(容量)は増大せず一定値以下に抑制することができ、効率的にアグリゲート署名を生成することができる。   Further, with this configuration, the aggregate signature system makes it difficult for a third party who does not know the signature key to obtain the signature key from a point on the elliptic curve that is an element of the GDH group. Can be. Even if the number of signers (number of nodes) increases, the generated signature information is a point on the elliptic curve, so the size (capacity) of the signature information does not increase and can be suppressed to a certain value or less. The aggregate signature can be generated efficiently.

(2)また、上記アグリゲート署名システムでは、前記署名情報生成部は、前記直前のノードが複数存在する場合、自身のメッセージのハッシュ値に対して自身の署名鍵により演算を行った結果と、前記直前のノードそれぞれのメッセージのハッシュ値に対して自身のノードの署名鍵により演算を行った複数の結果と、前記直前のノードそれぞれの署名情報とを総和して、自身の署名情報を生成することを特徴とする。   (2) Further, in the aggregate signature system, the signature information generation unit, when there are a plurality of the immediately preceding nodes, a result of performing an operation on the hash value of its own message with its own signature key, A plurality of results obtained by performing computation on the hash value of the message of each of the immediately preceding nodes using the signature key of the own node and the signature information of each of the immediately preceding nodes are summed to generate own signature information It is characterized by that.

このような構成によれば、アグリゲート署名システムは、各ノードにおいて、直前の一又は複数のノードのメッセージから得られたハッシュ値それぞれと、自身のメッセージから得られたハッシュ値とに対して、自身のノードに割り当てられている署名鍵によって演算を行い、さらに直前のノードにより生成された署名情報を用いて、自身の署名情報を生成する。アグリゲート署名システムは、この署名情報により、各ノードに至るまでの木構造における署名順序を表現することができる。
なお、木構造とは、対称か非対称かを問わず、任意の構造を持つ木構造全てを指す。本発明は、この任意の構造を持つ木構造に対して適応可能である。
According to such a configuration, the aggregate signature system, for each node, for each hash value obtained from the message of the immediately preceding node or nodes and the hash value obtained from its own message, An operation is performed using the signature key assigned to the own node, and the signature information generated by the immediately preceding node is used to generate its own signature information. The aggregate signature system can express the signature order in the tree structure up to each node by this signature information.
Note that the tree structure refers to all tree structures having an arbitrary structure, whether symmetrical or asymmetric. The present invention can be applied to a tree structure having this arbitrary structure.

(3)また、上記アグリゲート署名システムでは、前記各ノードは、自身の署名情報を公開する公開部を備えることを特徴とする。   (3) In the aggregate signature system, each of the nodes includes a public unit that discloses its own signature information.

このような構成によれば、各ノードは、順序付きのアグリゲート署名である署名情報を他のノードに対して公開することができる。   According to such a configuration, each node can publish signature information, which is an ordered aggregate signature, to other nodes.

(4)また、上記アグリゲート署名システムでは、前記公開部は、前記各ノードの順序情報をさらに公開することを特徴とする。   (4) In the aggregate signature system, the disclosure unit further discloses the order information of the nodes.

このような構成によれば、各ノードは、署名情報と共に、この署名情報が生成されるまでの過程で署名が行われたノードの順序を公開することができる。   According to such a configuration, each node can publish the order of the nodes in which the signature is performed in the process until the signature information is generated together with the signature information.

(5)本発明に係る検証システムは、上記課題を解決するために、上記アグリゲート署名システムに備えられている前記公開部により公開された署名情報を検証する検証システムであって、前記公開された署名情報が生成される過程の全てのノードのメッセージ又は当該メッセージのハッシュ値、及び当該全てのノードの検証鍵を収集する収集部と、前記収集部により収集されたメッセージに対して、それぞれ一方向性ハッシュ関数演算を行って、各メッセージの前記第2のGDHグループに属するハッシュ値を生成する検証ノード一方向性ハッシュ関数演算部と、前記全てのノードの検証鍵、及び前記全てのノードのメッセージのハッシュ値に基づいて、前記公開された署名情報の正当性を検証する検証部と、を備える。   (5) A verification system according to the present invention is a verification system for verifying signature information published by the disclosure unit provided in the aggregate signature system, in order to solve the above-described problem, A collection unit that collects messages of all nodes in the process of generating signature information or hash values of the messages and verification keys of all nodes, and a message collected by the collection unit, respectively. A verification node unidirectional hash function calculation unit that performs a directional hash function calculation to generate a hash value belonging to the second GDH group of each message, a verification key of all the nodes, and A verification unit that verifies the validity of the published signature information based on the hash value of the message.

このような構成によれば、検証システムは、検証部により全てのノードの検証鍵とメッセージのハッシュ値とに基づいて、公開された署名情報の正当性を検証する。   According to such a configuration, the verification system verifies the validity of the published signature information based on the verification keys of all the nodes and the hash value of the message by the verification unit.

よって、検証システムでは、各ノードにて生成される個々の署名情報等を検証することなく、公開された署名情報を検証することにより、署名順序を証明することができる。すなわち、検証システムでは、検証ノードの処理負荷を低減して検証作業を実行することができる。   Therefore, in the verification system, it is possible to prove the signature order by verifying the published signature information without verifying the individual signature information generated at each node. In other words, the verification system can execute the verification work while reducing the processing load on the verification node.

(6)また、上記検証システムでは、前記検証部は、同一ノードの検証鍵及びハッシュ値によるペアリング演算の結果と、あるノードの検証鍵及び当該ノードの直前のノードのハッシュ値によるペアリング演算の結果とを全て乗じた値を、前記第1の値及び前記公開された署名情報によるペアリング演算の結果と比較し、双方が一致する場合、前記公開された署名情報が正当であると判定し、双方が一致しない場合、前記公開された署名情報が正当でないと判定することを特徴とする。   (6) In the verification system, the verification unit performs a pairing operation based on the result of the pairing operation using the verification key and the hash value of the same node, and the hash value of the node immediately before the verification key and the node. Is compared with the first value and the result of the pairing operation using the published signature information, and if both match, it is determined that the published signature information is valid. If both do not match, it is determined that the published signature information is not valid.

このような構成によれば、検証システムは、ペアリング演算を用いたGDH署名により、順序付きアグリゲート署名の正当性を、効率的な演算処理で検証できる。   According to such a configuration, the verification system can verify the validity of the ordered aggregate signature by an efficient calculation process by the GDH signature using the pairing calculation.

(7)本発明に係るアグリゲート署名方法は、上記課題を解決するために、あるノードから別のノードへの順序付きのアグリゲート署名を行うアグリゲート署名方法であって、各ノードには、所定の自然数からなる署名鍵と、第1のGDH(GAP−Diffie−Hellman)グループに属する第1の値に対して、当該署名鍵により演算を行って生成される当該第1のGDHグループに属する検証鍵とがそれぞれ割り当てられており、当該各ノードが以下の各工程を実行する。
(a)直前のノードが存在する場合、当該直前のノードの署名対象であるメッセージ又は当該メッセージのハッシュ値、及び当該直前のノードの署名情報を受信する受信工程。
(b)自身のメッセージと、前記直前のノードが存在する場合、当該直前のノードのメッセージとに対して、それぞれ一方向性ハッシュ関数演算を行って、各メッセージの第2のGDHグループに属するハッシュ値を生成する署名ノード一方向性ハッシュ関数演算工程。
(c)自身のメッセージのハッシュ値に対して自身の署名鍵により演算を行った結果と、前記直前のノードが存在する場合、当該直前のノードのメッセージのハッシュ値に対して自身のノードの署名鍵により演算を行った結果、及び前記直前のノードの署名情報とを総和して、自身の署名情報を生成する署名情報生成工程。
(d)直後のノードが存在する場合、自身のメッセージ又は当該メッセージのハッシュ値、及び自身の署名情報を、当該直後のノードへ送信する送信工程。
(7) An aggregate signature method according to the present invention is an aggregate signature method for performing an ordered aggregate signature from one node to another node in order to solve the above-described problem. A signature key consisting of a predetermined natural number and a first value belonging to a first GDH (GAP-Diffie-Hellman) group belong to the first GDH group generated by performing an operation using the signature key. A verification key is assigned to each node, and each node executes the following steps.
(A) A reception step of receiving a message that is a signature target of the immediately preceding node or a hash value of the message and signature information of the immediately preceding node when the immediately preceding node exists.
(B) When there is a message of its own and the immediately preceding node, a one-way hash function operation is performed on the message of the immediately preceding node, and a hash belonging to the second GDH group of each message Signature node one-way hash function calculation step for generating a value.
(C) The result of the operation performed on the hash value of its own message with its own signature key and, if the previous node exists, the signature of its own node on the hash value of the message of the previous node A signature information generation step of generating the signature information of itself by summing up the result of the operation with the key and the signature information of the immediately preceding node.
(D) A transmission step of transmitting the own message or the hash value of the message and the signature information of the message to the immediately following node when the immediately following node exists.

(8)本発明に係るアグリゲート署名プログラムは、上記課題を解決するために、あるノードから別のノードへの順序付きのアグリゲート署名を行うアグリゲート署名方法をコンピュータに実行させるためのアグリゲート署名プログラムであって、各ノードには、所定の自然数からなる署名鍵と、第1のGDH(GAP−Diffie−Hellman)グループに属する第1の値に対して、当該署名鍵により演算を行って生成される当該第1のGDHグループに属する検証鍵とがそれぞれ割り当てられており、当該各ノードに、以下の各工程を実行させる。
(a)直前のノードが存在する場合、当該直前のノードの署名対象であるメッセージ又は当該メッセージのハッシュ値、及び当該直前のノードの署名情報を受信する受信工程。
(b)自身のメッセージと、前記直前のノードが存在する場合、当該直前のノードのメッセージとに対して、それぞれ一方向性ハッシュ関数演算を行って、各メッセージの第2のGDHグループに属するハッシュ値を生成する署名ノード一方向性ハッシュ関数演算工程。
(c)自身のメッセージのハッシュ値に対して自身の署名鍵により演算を行った結果と、前記直前のノードが存在する場合、当該直前のノードのメッセージのハッシュ値に対して自身のノードの署名鍵により演算を行った結果、及び前記直前のノードの署名情報とを総和して、自身の署名情報を生成する署名情報生成工程。
(d)直後のノードが存在する場合、自身のメッセージ又は当該メッセージのハッシュ値、及び自身の署名情報を、当該直後のノードへ送信する送信工程。
(8) An aggregate signature program according to the present invention is an aggregate for causing a computer to execute an aggregate signature method for performing an ordered aggregate signature from one node to another in order to solve the above-described problem. A signing program, wherein each node performs an operation on a signing key composed of a predetermined natural number and a first value belonging to a first GDH (GAP-Diffie-Hellman) group using the signing key. A verification key belonging to the first GDH group to be generated is assigned, and each node is caused to execute the following steps.
(A) A reception step of receiving a message that is a signature target of the immediately preceding node or a hash value of the message and signature information of the immediately preceding node when the immediately preceding node exists.
(B) When there is a message of its own and the immediately preceding node, a one-way hash function operation is performed on the message of the immediately preceding node, and a hash belonging to the second GDH group of each message Signature node one-way hash function calculation step for generating a value.
(C) The result of the operation performed on the hash value of its own message with its own signature key and, if the previous node exists, the signature of its own node on the hash value of the message of the previous node A signature information generation step of generating the signature information of itself by summing up the result of the operation with the key and the signature information of the immediately preceding node.
(D) A transmission step of transmitting the own message or the hash value of the message and the signature information of the message to the immediately following node when the immediately following node exists.

本発明によれば、署名する人数が増えても署名サイズを一定値に抑制し、かつ効率的な演算処理によって順序付きアグリゲート署名を行うことができる。   According to the present invention, even when the number of people to be signed increases, the signature size can be suppressed to a constant value, and an ordered aggregate signature can be performed by efficient calculation processing.

第1実施形態に係るアグリゲート署名システムにおけるリーフノードの構成を示すブロック図である。It is a block diagram which shows the structure of the leaf node in the aggregate signature system which concerns on 1st Embodiment. 第1実施形態に係るアグリゲート署名システムにおける中間ノードの構成を示すブロック図である。It is a block diagram which shows the structure of the intermediate node in the aggregate signature system which concerns on 1st Embodiment. 第1実施形態に係るアグリゲート署名システムにおけるルートノードの構成を示すブロック図である。It is a block diagram which shows the structure of the root node in the aggregate signature system which concerns on 1st Embodiment. 第1実施形態に係るアグリゲート署名システムにおける検証ノードの構成を示すブロック図である。It is a block diagram which shows the structure of the verification node in the aggregate signature system which concerns on 1st Embodiment. 第1実施形態において、リーフノードの署名情報を生成する方法についての説明に供するフローチャートである。6 is a flowchart for explaining a method for generating signature information of a leaf node in the first embodiment. 第1実施形態において、中間ノードの署名情報を生成する方法についての説明に供するフローチャートである。6 is a flowchart for explaining a method for generating signature information of an intermediate node in the first embodiment. 第1実施形態において、ルートノードで署名情報を公開する方法についての説明に供するフローチャートである。In 1st Embodiment, it is a flowchart with which it uses for description about the method of publishing signature information in a root node. 第1実施形態において、検証ノードで署名情報の正当性を検証する方法についての説明に供するフローチャートである。5 is a flowchart for explaining a method for verifying the validity of signature information in a verification node in the first embodiment. 第1実施形態において、アグリゲート署名システムの動作についての説明に供する図である。In 1st Embodiment, it is a figure where it uses for description about operation | movement of an aggregate signature system. 第2実施形態に係るアグリゲート署名システムにおけるリーフノードの構成を示すブロック図である。It is a block diagram which shows the structure of the leaf node in the aggregate signature system which concerns on 2nd Embodiment. 第2実施形態に係るアグリゲート署名システムにおける中間ノードの構成を示すブロック図である。It is a block diagram which shows the structure of the intermediate node in the aggregate signature system which concerns on 2nd Embodiment. 第2実施形態に係るアグリゲート署名システムにおけるルートノードの構成を示すブロック図である。It is a block diagram which shows the structure of the root node in the aggregate signature system which concerns on 2nd Embodiment. 第2実施形態に係るアグリゲート署名システムにおける検証ノードの構成を示すブロック図である。It is a block diagram which shows the structure of the verification node in the aggregate signature system which concerns on 2nd Embodiment.

<第1実施形態>
以下、本発明の実施形態の一例である第1実施形態について説明する。本実施形態に係るアグリゲート署名システムは、複数のノードが木構造状に構成され、これら複数のノードで独立したメッセージに対して、下位のノードから順に順序付きの多重署名を行うシステムである。また、最上位のルートノードにより公開された署名情報は、検証システムにおける検証ノードにより正当性が検証される。
<First Embodiment>
Hereinafter, a first embodiment, which is an example of an embodiment of the present invention, will be described. The aggregate signature system according to the present embodiment is a system in which a plurality of nodes are configured in a tree structure, and an ordered multiple signature is performed in order from a lower node on an independent message at the plurality of nodes. Further, the validity of the signature information disclosed by the highest root node is verified by the verification node in the verification system.

ところで、各ノードには、予め重複しない署名鍵と検証鍵とが認証局(CA)によってそれぞれ割り当てられている。署名鍵は、所定の自然数(x)からなり、検証鍵は、GDH(GAP−Diffie−Hellman)グループ(G)の要素である楕円曲線上の点(g)と固有署名鍵(x)とに基づいて生成される楕円曲線上の点(v=xg)からなることが好ましい。このように構成されることにより、署名鍵(x)を知らない第三者が「v」や「g」の値から署名鍵(x)を求めることは計算量的に困難となる。 By the way, a signature key and a verification key that are not duplicated in advance are assigned to each node by a certificate authority (CA). Signing key consists predetermined natural number (x), the verification key, GDH (GAP-Diffie-Hellman ) Group point on the elliptic curve is an element of (G 1) (g 1) a unique signature key (x) It is preferable to consist of points (v = xg 1 ) on the elliptic curve generated based on the above. With this configuration, it is difficult for a third party who does not know the signature key (x) to obtain the signature key (x) from the values of “v” and “g 1 ”.

ここで、本実施形態で採用される具体的な署名方式について説明する。アグリゲート署名システムでは、ベースとなる署名方式としてGAP−Diffie−Hellman(GDH)署名を採用する。GDH署名とは、Decision−Diffie−Hellman(DDH)問題をペアリングと呼ばれるある種のブラックボックス関数e(P,Q)を用いることで、解くことが可能であることを利用した署名である。   Here, a specific signature scheme employed in the present embodiment will be described. In the aggregate signature system, a GAP-Diffie-Hellman (GDH) signature is adopted as a base signature scheme. The GDH signature is a signature that utilizes the fact that the Decision-Diffie-Hellman (DDH) problem can be solved by using a certain black box function e (P, Q) called pairing.

次に、ペアリング演算を用いたGDH署名について説明する。楕円曲線上のDiffie−Hellman問題に関連して、GDHグループが定義されている。GDHグループについて簡単に説明する。G及びGをそれぞれ異なる楕円曲線上の点の集合とする。gを集合Gの、gを集合Gの要素としたとき、楕円曲線上のDecisional Diffie−Hellman(DDH)問題とComputational Diffie−Hellman(CDH)問題が以下のように定義される。 Next, the GDH signature using the pairing operation will be described. A GDH group has been defined in connection with the Diffie-Hellman problem on an elliptic curve. The GDH group will be briefly described. Let G 1 and G 2 be a set of points on different elliptic curves. When g 1 is an element of the set G 1 and g 2 is an element of the set G 2 , the Decision Diffie-Hellman (DDH) problem and the Computational Diffie-Hellman (CDH) problem on the elliptic curve are defined as follows.

DDH問題:あるa、b、cという自然数があり、g、ag、bg、cg(xは1及び2)が与えられた時、c=abかどうかを判定する問題。
CDH問題:あるa、b、cという自然数があり、g、ag、bgが与えられた時、abgを計算する問題(xは1及び2、yは1又は2)。
DDH problem: When there are natural numbers a, b, and c, and g x , ag x , bg x , and cg x (x is 1 and 2) are given, it is a problem that determines whether c = ab.
CDH problem: There is a, b, a natural number of c, g x, ag x, bg when x is given, the problem of calculating abg y (x is 1 and 2, y is 1 or 2).

このとき、DDH問題は、計算量的に簡単であるが、CDH問題は、計算量的に難問である場合、この集合GをGDHグループと定義する。 At this time, the DDH problem is simple in terms of calculation amount, but if the CDH problem is difficult in terms of calculation amount, this set G x is defined as a GDH group.

これに対し、ある楕円曲線上の点をP,Qとし、そのP,Qによっては次にあげる性質を持つことができるペアリングと呼ばれるブラックボックス関数e(P,Q)を定義できるものが存在する。
e(P,Q+Q)=e(P,Q)e(P,Q) ・・・(1)
e(P+P,Q)=e(P,Q)e(P,Q) ・・・(2)
e(aP,bQ)=e(bP,aQ)=e(abP,Q)=e(P,abQ)=e(P,Q)ab ・・・(3)
On the other hand, there are those that can define a black box function e (P, Q) called pairing that can have the following properties depending on P and Q as points on a certain elliptic curve. To do.
e (P, Q 1 + Q 2 ) = e (P, Q 1 ) e (P, Q 2 ) (1)
e (P 1 + P 2 , Q) = e (P 1 , Q) e (P 2 , Q) (2)
e (aP, bQ) = e (bP, aQ) = e (abP, Q) = e (P, abQ) = e (P, Q) ab (3)

よって、gがペアリング演算の可能な楕円曲線上の点である場合には、上記の性質から、(3)式にg、ag、bg、cgを入力すると、例えば、
e(ag,bg)=e(g,gab ・・・(4)
e(g,cg)=e(g,g ・・・(5)
となる。したがって、両者の値が一致するかどうかにより、「ab=c」であるかどうかを判定でき、g及びgは、GDHグループG又はGの要素となりうる。
Therefore, when g x is a point on an elliptic curve that can be paired, if g x , ag x , bg x , and cg x are input to equation (3), for example,
e (ag 1 , bg 2 ) = e (g 1 , g 2 ) ab (4)
e (g 1 , cg 2 ) = e (g 1 , g 2 ) c (5)
It becomes. Therefore, whether or not “ab = c” can be determined based on whether or not both values match, and g 1 and g 2 can be elements of the GDH group G 1 or G 2 .

この性質を利用してGDH署名が構成される。集合G及びGは、GDHグループであり、g及びgは、それぞれ集合G及びGの要素となる点とする。また、一方向性ハッシュ関数Hを、通常使用される任意のビット長のサイズの数値データが固定のビット長のサイズの数値データに写像変換される方式とは異なり、
:{0,1}→G
のように、任意のビット長のサイズの数値データを楕円曲線上の点として表現されるGDHグループGの要素に写像変換する方式であると定義する。
A GDH signature is constructed using this property. Assume that the sets G 1 and G 2 are GDH groups, and g 1 and g 2 are points that are elements of the sets G 1 and G 2 , respectively. Further, unlike the method in which the one-way hash function H 2 is mapped and converted into numerical data having an arbitrary bit length size, which is normally used, to numerical data having a fixed bit length size,
H 2 : {0, 1} * → G 2
As is defined as a method of mapping transform the elements of the GDH group G 2 represented numerical data size of any bit length as a point on an elliptic curve.

このとき、GDH署名は以下のように定義される。
鍵生成:自然数xを選び、gからv=xgを計算する。xを署名鍵、楕円曲線上の点vを検証鍵とする。
署名:署名者は、メッセージ「m∈{0,1}」に対しh=H(m)を計算し、さらに自分の署名鍵を用いてσ=xhを計算する。σをmに対する署名として公開する。
検証:検証者は、メッセージmからh=H(m)を計算し、集合Gに属するg及びvと、集合Gに属するh及びσを準備する。e(g,σ)とe(v,h)を計算し、両者の値が一致したら、署名σは、正しい署名と判定する。
At this time, the GDH signature is defined as follows.
Key generation: A natural number x is selected, and v = xg 1 is calculated from g 1 . Let x be the signature key and point v on the elliptic curve be the verification key.
Signature: The signer calculates h = H 2 (m) for the message “mε {0,1} * ”, and further calculates σ = xh using his signature key. Publish σ as a signature for m.
Verification: The verifier calculates h = H 2 (m) from the message m, and prepares g 1 and v belonging to the set G 1 and h and σ belonging to the set G 2 . e (g 1 , σ) and e (v, h) are calculated, and if both values match, the signature σ is determined to be a correct signature.

このとき、hの値は集合Gの要素となるので、ある自然数yを用いてh=ygと表現できる。その結果、正しく署名が行われていれば(g,v,h,σ)=(g,xg,yg,xyg)となる。したがって、正当な署名であれば上記の検証でのペアリング演算は、e(g,σ)=e(g,xyg)=e(g,gxy=e(xg,yg)=e(v,h)となり、値が一致することから、検証可能となる。なお、GDHグループの条件であるCDH問題の困難性から、署名鍵xを知らない第三者がg、g、v、hの値から署名σを導出することは不可能である。 At this time, since the value of h becomes an element of the set G 2 , it can be expressed as h = yg 2 using a certain natural number y. As a result, if the signature is correctly performed, (g 1 , v, h, σ) = (g 1 , xg 1 , yg 2 , xyg 2 ). Therefore, if it is a valid signature, the pairing operation in the above verification is e (g 1 , σ) = e (g 1 , xyg 2 ) = e (g 1 , g 2 ) xy = e (xg 1 , yg 2 ) = e (v, h) and the values match, so that verification is possible. Note that due to the difficulty of the CDH problem, which is a condition of the GDH group, it is impossible for a third party who does not know the signature key x to derive the signature σ from the values of g 1 , g 2 , v, and h.

木構造における最下位ノードであるリーフノード10は、図1に示すように、記憶部11と、リーフノード一方向性ハッシュ関数演算部12と、リーフノード署名情報生成部13と、リーフノード送信部14とを備える。   As shown in FIG. 1, a leaf node 10 which is the lowest node in the tree structure includes a storage unit 11, a leaf node one-way hash function calculation unit 12, a leaf node signature information generation unit 13, and a leaf node transmission unit. 14.

記憶部11は、自身(署名者uleafのノード)に割り当てられている署名鍵(xleaf)と、集合Gに属する値g(第1の値)に対して、この署名鍵により演算を行って生成される集合Gに属する検証鍵(vleaf=xleaf)とを記憶する。 The storage unit 11 calculates the signature key (x leaf ) assigned to itself (the node of the signer u leaf ) and the value g 1 (first value) belonging to the set G 1 using this signature key. And a verification key (v leaf = x leaf g 1 ) belonging to the set G 1 generated by performing the above.

リーフノード一方向性ハッシュ関数演算部12は、自身の署名対象であるメッセージ(mleaf)に対して、一方向性ハッシュ関数演算を行って、集合G(第2のGDHグループ)に属するハッシュ値を生成する。 The leaf node one-way hash function calculation unit 12 performs a one-way hash function calculation on the message (m leaf ) that is the signature target, and hashes belonging to the set G 2 (second GDH group). Generate a value.

リーフノード署名情報生成部13は、リーフノード一方向性ハッシュ関数演算部12により演算された、自身の署名対象であるメッセージ(mleaf)のハッシュ値(hleaf=H(mleaf))に対して自身の署名鍵(xleaf)により演算を行い、署名情報(σleaf=xleafleaf)を生成する。 The leaf node signature information generation unit 13 calculates the hash value (h leaf = H 2 (m leaf )) of the message (m leaf ), which is the subject of signature, calculated by the leaf node one-way hash function calculation unit 12. performs calculation by own signature key (x leaf) in contrast, generates signature information (σ leaf = x leaf h leaf ).

リーフノード送信部14は、生成した署名情報(σleaf)とメッセージ(mleaf)とを次(直上)のノード、すなわち中間ノード20へ送信する。 The leaf node transmission unit 14 transmits the generated signature information (σ leaf ) and message (m leaf ) to the next (immediately above) node, that is, the intermediate node 20.

また、木構造における最下位(リーフノード10)より上のノードである中間ノード20は、図2に示すように、記憶部21と、中間ノード受信部22と、中間ノード一方向性ハッシュ関数演算部23と、中間ノード署名情報生成部24と、中間ノード送信部25と、を備える。   Further, as shown in FIG. 2, the intermediate node 20, which is a node above the lowest (leaf node 10) in the tree structure, has a storage unit 21, an intermediate node reception unit 22, and an intermediate node one-way hash function operation. Unit 23, intermediate node signature information generation unit 24, and intermediate node transmission unit 25.

記憶部21は、自身(署名者uupのノード)に割り当てられている署名鍵(xup)と、集合Gに属する値gに対して、この署名鍵により演算を行って生成される集合Gに属する検証鍵(vup=xup)とを記憶する。 The storage unit 21 is generated by computing the signature key (x up ) assigned to itself (signer u up node) and the value g 1 belonging to the set G 1 using this signature key. The verification keys (v up = x up g 1 ) belonging to the set G 1 are stored.

中間ノード受信部22は、直下の一又は複数のノード(署名者ulowのノード)の署名対象であるメッセージ(mlow)と、これら直下のノードにより生成された署名情報(σlow)と、を受信する。 The intermediate node reception unit 22 includes a message (m low ) that is a signature target of one or a plurality of nodes (signer u low nodes) directly below, signature information (σ low ) generated by the nodes immediately below, Receive.

中間ノード一方向性ハッシュ関数演算部23は、直下のノードから受信したメッセージ(mlow)のそれぞれと、自身の署名対象であるメッセージ(mup)とに、それぞれ一方向性ハッシュ関数演算を行って、集合Gに属するハッシュ値を生成する。 The intermediate node one-way hash function calculation unit 23 performs a one-way hash function calculation on each message (m low ) received from the node immediately below and the message (m up ) that is the signature target of the intermediate node. Te, to generate a hash value belonging to the set G 2.

中間ノード署名情報生成部24は、自身のメッセージ(mup)から得られたハッシュ値(hup=H(mup))に対して自身の固有署名鍵(xup)により演算を行った結果と、直下のノードのメッセージ(mlow)それぞれから得られたハッシュ値(hlow=H(mlow))に対して自身の固有署名鍵(xup)により演算を行った結果と、直下のノードの署名情報(σlow)とを総和して、自身の中間ノード署名情報(σup=Σlow(σlow+xuplow)+xupup)を生成する(Σlowは、直下の一又は複数のノード全てについての総和を示す)。 The intermediate node signature information generation unit 24 performs an operation on the hash value (h up = H 2 (m up )) obtained from its own message (m up ) using its own unique signature key (x up ). A result, and a result obtained by performing an operation with its own signature key (x up ) on a hash value (h low = H 2 (m low )) obtained from each message (m low ) of the node immediately below, The signature information (σ low ) of the node immediately below is summed to generate its own intermediate node signature information (σ up = Σ lowlow + x up h low ) + x up h up ) (Σ low is The sum of all of one or more nodes).

中間ノード送信部25は、次(直上)のノードが存在する場合に、自身の署名対象であるメッセージ(mup)と、中間ノード署名情報(σup)とを、次のノードへ送信する。 When there is a next (immediately above) node, the intermediate node transmission unit 25 transmits a message (m up ) that is a signature target of itself and intermediate node signature information (σ up ) to the next node.

このような構成によれば、アグリゲート署名システムは、各中間ノード20において、直下のノードのメッセージから得られたハッシュ値と、自身のメッセージから得られたハッシュ値とに対して、自身のノードに割り当てられている署名鍵によって演算を行い、さらに直下のノードにより生成された署名情報を総和して、中間ノード署名情報を生成する。この署名情報は、自身のノードに至るまでの木構造における署名経路を保持し、かつ楕円曲線上の点のみで生成される。すなわち、署名者(ノードの数)が多くなっても、署名サイズは増大せず、一定値以下に抑制することができる。   According to such a configuration, each of the intermediate signatures in each intermediate node 20 has its own node for the hash value obtained from the message of the node immediately below and the hash value obtained from its own message. An operation is performed using the signature key assigned to the node, and the signature information generated by the nodes immediately below is summed to generate intermediate node signature information. This signature information holds the signature path in the tree structure up to its own node, and is generated only by points on the elliptic curve. That is, even if the number of signers (number of nodes) increases, the signature size does not increase and can be suppressed to a certain value or less.

また、木構造における最上位の中間ノードであるルートノード30は、図3に示すように、記憶部31と、ルートノード受信部32と、ルートノード一方向性ハッシュ関数演算部33と、ルートノード署名情報生成部34と、公開部35とを備える。   Further, as shown in FIG. 3, the root node 30 which is the highest intermediate node in the tree structure includes a storage unit 31, a root node reception unit 32, a root node one-way hash function calculation unit 33, and a root node. A signature information generation unit 34 and a disclosure unit 35 are provided.

記憶部31は、自身(署名者urootのノード)に割り当てられている署名鍵(xroot)と、集合Gに属する値gに対して、この署名鍵により演算を行って生成される集合Gに属する検証鍵(vroot=xroot)を記憶する。 Storage unit 31, and itself (signers u root node) to Allocated signature key (x root), for values g 1 belonging to the set G 1, is generated by performing an operation by the signature key The verification keys belonging to the set G 1 (v root = x root g 1 ) are stored.

なお、ルートノード受信部32は、中間ノード受信部22と同一の構成であり、ルートノード一方向性ハッシュ関数演算部33は、中間ノード一方向性ハッシュ関数演算部23と同一の構成であり、ルートノード署名情報生成部34は、中間ノード署名情報生成部24と同一の構成である。   The root node receiving unit 32 has the same configuration as the intermediate node receiving unit 22, and the root node one-way hash function calculating unit 33 has the same configuration as the intermediate node one-way hash function calculating unit 23. The root node signature information generation unit 34 has the same configuration as the intermediate node signature information generation unit 24.

公開部35は、ルートノード署名情報生成部34により生成されたルートノード署名情報を公開する。このような構成によれば、ルートノード30は、自身が生成した署名情報(σroot)を他のノード、特に後述の検証システムにおける検証ノード40に対して公開署名情報(σ)として公開することができる。 The public unit 35 publishes the root node signature information generated by the root node signature information generation unit 34. According to such a configuration, the root node 30 discloses the signature information (σ root ) generated by itself as public signature information (σ) to other nodes, particularly the verification node 40 in the verification system described later. Can do.

また、公開部35は、署名順序を示す木構造内における署名者の配置、及び各署名者と署名を行ったメッセージとの対応関係に関する情報も公開する。   In addition, the publishing unit 35 also publishes information on the arrangement of the signers in the tree structure indicating the signature order and the correspondence between each signer and the message that has signed.

次に、ルートノード30により公開された公開署名情報(σ)を検証する検証システムについて説明する。検証システムが有する検証ノード40は、図4に示すように、収集部41と、検証ノード一方向性ハッシュ関数演算部42と、検証部43とを備える。   Next, a verification system that verifies the public signature information (σ) disclosed by the root node 30 will be described. As shown in FIG. 4, the verification node 40 included in the verification system includes a collection unit 41, a verification node one-way hash function calculation unit 42, and a verification unit 43.

収集部41は、署名を行った全てのノード(リーフノード10、中間ノード20、ルートノード30)それぞれのメッセージ(m)と、検証鍵(v)とを収集する。このとき、収集部41は、木構造内における署名者の配置、及び各署名者と署名を行ったメッセージとの対応関係に関する情報を、必ずしも入手しなくてもよいが、ルートノード30から入手するようにしておくことも好ましい。収集部41がこれらの情報を入手しない場合でも、検証部43は、署名者の配置、及び各署名者と署名を行ったメッセージとの対応関係に関して、全ての組み合わせを演算することにより、公開署名情報の正当性を検証することが可能である。しかし、収集部41がこれらの情報を入手し検証部43へ受け渡すようにしておくと、これらの情報がない場合に比べて検証部43の演算量が少なくてすむ。 The collection unit 41 collects messages (m i ) and verification keys (v i ) of all the nodes that have signed (the leaf node 10, the intermediate node 20, and the root node 30). At this time, the collection unit 41 does not necessarily obtain the information on the arrangement of the signers in the tree structure and the correspondence between each signer and the message that has signed, but obtains it from the root node 30. It is also preferable to do so. Even when the collection unit 41 does not obtain these pieces of information, the verification unit 43 calculates the public signature by calculating all combinations regarding the arrangement of the signers and the correspondences between the signers and the signed messages. It is possible to verify the validity of the information. However, if the collection unit 41 obtains these pieces of information and passes them to the verification unit 43, the calculation amount of the verification unit 43 can be reduced as compared with the case where there is no such information.

検証ノード一方向性ハッシュ関数演算部42は、収集部41により収集された各メッセージ(m)に対して、それぞれ一方向性ハッシュ関数演算を行って、各メッセージの集合Gに属するハッシュ値(h=H(m))を生成する。 The verification node one-way hash function calculation unit 42 performs a one-way hash function calculation on each message (m i ) collected by the collection unit 41 to obtain hash values belonging to each message set G 2. (H i = H 2 (m i )) is generated.

検証部43は、収集部41により収集された全てのノードの検証鍵と、検証ノード一方向性ハッシュ関数演算部42により得られたハッシュ値と、署名者の配置、及び各署名者と署名を行ったメッセージとの対応関係に関する情報と、に基づいて、公開署名情報(σ)の正当性を検証する。このとき、検証部43は、署名者の配置、及び各署名者と署名を行ったメッセージとの対応関係に関する情報がない場合、これらの対応関係に関する全ての組み合わせを演算する。   The verification unit 43 obtains the verification keys of all the nodes collected by the collection unit 41, the hash values obtained by the verification node one-way hash function calculation unit 42, the arrangement of the signers, and the signers and signatures. The validity of the public signature information (σ) is verified based on the information regarding the correspondence relationship with the performed message. At this time, if there is no information regarding the arrangement of the signers and the correspondence between each signer and the message that has been signed, the verification unit 43 calculates all the combinations related to these correspondences.

具体的には、検証部43は、各ノードの検証鍵とハッシュ値とから、同一ノードの検証鍵及びハッシュ値によるペアリング演算の結果と、あるノードの検証鍵及び直前のノードのハッシュ値によるペアリング演算の結果とを全て乗じた値、すなわち、
{Πall−node(e(v,h))}{Π(e(vup,hlow))}
を計算する。そして、検証部43は、この計算結果を、g及び公開署名情報(σ)によるペアリング演算の結果、すなわち、
e(g,σ)
と比較し、双方が一致する場合、公開署名情報が正当であると判定し、双方が一致しない場合、公開署名情報が正当でないと判定する。
Specifically, the verification unit 43 uses the verification key and hash value of each node, the result of the pairing operation using the verification key and hash value of the same node, the verification key of a certain node, and the hash value of the previous node. A value obtained by multiplying all the results of the pairing operation, that is,
all-node (e (v i , h i ))} {Π (e (v up , h low ))}
Calculate Then, the verification unit 43, the calculation result, g 1 and public signature information (sigma) the result of pairing computation by, i.e.,
e (g 1 , σ)
If the two match, it is determined that the public signature information is valid, and if both do not match, it is determined that the public signature information is not valid.

このようにして検証ノード40は、検証部43により、全てのノードの検証鍵と、メッセージのハッシュ値と、署名者の配置、及び各署名者と署名を行ったメッセージとの対応関係に関する情報と、に基づいて、公開されているルートノード30の署名情報の正当性を検証することができる。ここで、署名者の配置、及び各署名者と署名を行ったメッセージとの対応関係に関する情報については、これらの情報がなくても、検証部43は、署名情報の正当性を検証することが可能である。   In this way, the verification node 40 uses the verification unit 43 to verify the verification keys of all the nodes, the hash value of the message, the arrangement of the signers, and the information on the correspondence between the signers and the messages that have been signed. The validity of the signature information of the public root node 30 can be verified based on. Here, with regard to the information regarding the arrangement of the signers and the correspondence relationship between each signer and the message that has been signed, the verification unit 43 can verify the validity of the signature information without these information. Is possible.

したがって、検証システムでは、各ノードにて生成される個々の署名情報等を検証することなく、ルートノード30により公開された署名情報を数値演算のみで検証することにより、木構造におけるノード間をどのような順序で署名されてきたかを証明することができる。すなわち、順序管理のための別の装置を要することなく、検証ノード40の処理負荷を低減して効率的に検証作業を実行することができる。なお、検証ノード40は、検証専用のノードであってもよいし、アグリゲート署名システムのいずれかの中間ノード20やルートノード30であってもよい。   Therefore, the verification system verifies the signature information published by the root node 30 only by numerical operation without verifying the individual signature information generated at each node, so It can be proved that the signatures have been made in the order as described above. That is, the verification operation can be efficiently performed by reducing the processing load of the verification node 40 without requiring another device for order management. The verification node 40 may be a node dedicated to verification, or may be any intermediate node 20 or root node 30 of the aggregate signature system.

次に、アグリゲート署名システムにおいて、各ノードの署名情報を生成する方法と、検証システムにおいて、署名情報の正当性を検証する方法について説明する。   Next, a method for generating signature information for each node in the aggregate signature system and a method for verifying the validity of the signature information in the verification system will be described.

リーフノード10(署名者uleaf)は、図5に示すように、リーフノード一方向性ハッシュ関数演算工程ST1と、リーフノード署名情報生成工程ST2と、リーフノード送信工程ST3とにより、リーフノード署名情報を生成して直上のノード(中間ノード20)へ送信する。 As shown in FIG. 5, the leaf node 10 (signer u leaf ) performs a leaf node signature by performing a leaf node one-way hash function calculation step ST1, a leaf node signature information generation step ST2, and a leaf node transmission step ST3. Information is generated and transmitted to the immediately above node (intermediate node 20).

リーフノード一方向性ハッシュ関数演算工程ST1において、リーフノード10におけるリーフノード一方向性ハッシュ関数演算部12は、自身のメッセージ(mleaf)に対して、一方向性ハッシュ関数演算を行う。 In the leaf node one-way hash function computation step ST1, the leaf node one-way hash function computation unit 12 in the leaf node 10 performs a one-way hash function computation on its own message (m leaf ).

リーフノード署名情報生成工程ST2において、リーフノード10におけるリーフノード署名情報生成部13は、リーフノード一方向性ハッシュ関数演算工程ST1により演算されたハッシュ値(hleaf)に対して、自身の署名鍵(xleaf)により演算を行い、署名情報(σleaf)を生成する。 In the leaf node signature information generation step ST2, the leaf node signature information generation unit 13 in the leaf node 10 applies its signature key to the hash value (h leaf ) calculated in the leaf node one-way hash function calculation step ST1. An operation is performed using (x leaf ) to generate signature information (σ leaf ).

リーフノード送信工程ST3において、リーフノード10におけるリーフノード送信部14は、リーフノード署名情報生成工程ST2により生成された署名情報(σleaf)を、直上の中間ノード20へ送信する。 In the leaf node transmission step ST3, the leaf node transmission unit 14 in the leaf node 10 transmits the signature information (σ leaf ) generated in the leaf node signature information generation step ST2 to the intermediate node 20 immediately above.

リーフノード10以外の中間ノード20(署名者uup)は、図6に示すように、中間ノード受信工程ST11と、中間ノード一方向性ハッシュ関数演算工程ST12と、中間ノード署名情報生成工程ST13と、中間ノード送信工程ST14とにより、中間ノード署名情報を生成して直上の中間ノード20へ送信する。 As shown in FIG. 6, the intermediate node 20 (signer u up ) other than the leaf node 10 performs an intermediate node reception step ST11, an intermediate node one-way hash function calculation step ST12, an intermediate node signature information generation step ST13, The intermediate node signature information is generated and transmitted to the intermediate node 20 immediately above by the intermediate node transmission step ST14.

中間ノード受信工程ST11において、署名者uupのノードにおける中間ノード受信部22は、直下のノード(署名者ulow)のメッセージ(mlow)、及び直下のノードにより生成された署名情報(σlow)を受信する。 In the intermediate node receiving step ST11, the intermediate node receiving unit 22 in the signer u up node receives the message (m low ) of the immediately lower node (signer u low ) and the signature information (σ low ) generated by the immediately lower node. ).

中間ノード一方向性ハッシュ関数演算工程ST12において、署名者uupのノードにおける中間ノード一方向性ハッシュ関数演算部23は、直下のノードのメッセージ(mlow)及び自身のメッセージ(mlow)に対して、それぞれ一方向性ハッシュ関数演算を行う。 In the intermediate node one-way hash function calculation step ST12, the intermediate node one-way hash function calculation unit 23 in the node of the signer u up performs the message (m low ) and the message (m low ) of the node immediately below. Each one-way hash function operation is performed.

中間ノード署名情報生成工程ST13において、署名者uupのノードにおける中間ノード署名情報生成部24は、自身のメッセージから演算により得られたハッシュ値(hup)に対して自身の署名鍵(xup)により演算を行った結果と、直下のノードのメッセージから演算により得られたハッシュ値(hlow)に対して自身の署名鍵(xup)により演算を行った結果と、直下のノードから受信した署名情報(σlow)とを総和して、自身のノードの署名情報(σup)を生成する。 In the intermediate node signature information generation step ST13, the intermediate node signature information generation unit 24 in the node of the signer u up uses its own signature key (x up ) for the hash value (h up ) obtained by calculation from its own message. ), The result of operation with its own signature key (x up ) on the hash value (h low ) obtained from the message of the node immediately below, and received from the node immediately below The signature information (σ low ) is summed to generate the signature information (σ up ) of its own node.

中間ノード送信工程ST14において、署名者uupのノードにおける中間ノード送信部25は、木構造における直上のノードが存在する場合に、自身のメッセージ(mup)及び自身のノードの署名情報(σup)を、直上のノードへ送信する。 In the intermediate node transmission step ST14, the intermediate node transmission unit 25 in the node of the signer u up has its own message (m up ) and its own node signature information (σ up ) when there is a node immediately above the tree structure. ) To the immediately above node.

また、木構造における最上位のノードであるルートノード30(署名者uroot)は、図7に示すように、ルートノード受信工程ST21と、ルートノード一方向性ハッシュ関数演算工程ST22と、ルートノード署名情報生成工程ST23と、署名情報公開工程ST24とにより、アグリゲート署名システムにおける公開署名情報(σ)を公開する。 Further, as shown in FIG. 7, the root node 30 (signer u root ), which is the highest node in the tree structure, includes a root node reception step ST21, a root node one-way hash function calculation step ST22, and a root node. The public signature information (σ) in the aggregate signature system is disclosed by the signature information generation step ST23 and the signature information disclosure step ST24.

ルートノード受信工程ST21において、ルートノード30におけるルートノード受信部32は、直下のノード(署名者ulow)のメッセージ(mlow)、及び直下のノードにより生成された署名情報(σlow)を受信する。 In the root node receiving step ST21, the root node receiving unit 32 in the root node 30 receives the message (m low ) of the node immediately below (signer u low ) and the signature information (σ low ) generated by the node immediately below. To do.

ルートノード一方向性ハッシュ関数演算工程ST22において、ルートノード30におけるルートノード一方向性ハッシュ関数演算部33は、直下のノードのメッセージ(mlow)及び自身のメッセージ(mroot)に対して、それぞれ一方向性ハッシュ関数演算を行う。 In the root node one-way hash function calculation step ST22, the root node one-way hash function calculation unit 33 in the root node 30 applies to the message (m low ) and the message (m root ) of the node immediately below. Performs a one-way hash function operation.

ルートノード署名情報生成工程ST23において、ルートノード30におけるルートノード署名情報生成部34は、自身のメッセージから演算により得られたハッシュ値(hroot)に対して自身の署名鍵(xroot)により演算を行った結果と、直下のノードのメッセージから演算により得られたハッシュ値(hlow)に対して自身の署名鍵(xroot)により演算を行った結果と、直下のノードから受信した署名情報(σlow)とを総和して、自身のノードの署名情報(σroot)を生成する。 In the root node signature information generation step ST23, the root node signature information generation unit 34 in the root node 30 calculates a hash value (h root ) obtained by calculation from its own message by using its own signature key (x root ). a result of a result of a hash value obtained by calculation from the message of the node immediately below with respect to (h low) was calculated by the own signature key (x root), the signature information received from the node immediately below (Σ low ) is summed and signature information (σ root ) of its own node is generated.

署名情報公開工程ST24において、ルートノード30における公開部35は、ルートノード署名情報生成工程ST23により生成された署名情報を、公開署名情報(σ)として公開する。   In the signature information disclosure step ST24, the disclosure unit 35 in the root node 30 discloses the signature information generated in the root node signature information generation step ST23 as public signature information (σ).

このように、アグリゲート署名システムに係るアグリゲート署名方法によれば、各中間ノード20において、直下のノードのメッセージから得られたハッシュ値と、自身のメッセージから得られたハッシュ値とに対して、自身のノードに割り当てられている署名鍵によって演算を行い、さらに直下のノードにより生成された署名情報を総和して、中間ノード署名情報を生成する。この署名情報は、自身のノードに至るまでの署名経路を保持し、かつ楕円曲線上の点のみで生成される。すなわち、署名者(ノードの数)が多くなっても、署名サイズは増大せず、一定値以下に抑制することができる。   As described above, according to the aggregate signature method according to the aggregate signature system, in each intermediate node 20, the hash value obtained from the message of the node immediately below and the hash value obtained from the own message are obtained. The calculation is performed using the signature key assigned to its own node, and the signature information generated by the node immediately below is summed to generate intermediate node signature information. This signature information holds a signature path to its own node and is generated only by points on the elliptic curve. That is, even if the number of signers (number of nodes) increases, the signature size does not increase and can be suppressed to a certain value or less.

また、検証システムにおける検証ノード40は、図8に示すように、収集工程ST31と、検証ノード一方向性ハッシュ関数演算工程ST32と、検証工程ST33とにより、公開署名情報(σ)の正当性を検証する。   Further, as shown in FIG. 8, the verification node 40 in the verification system verifies the validity of the public signature information (σ) by the collection step ST31, the verification node one-way hash function calculation step ST32, and the verification step ST33. Validate.

収集工程ST31において、収集部41は、署名が行われた全てのノードのメッセージ(m)、及びこれら全てのノードの検証鍵(v)を収集する。 In the collecting step ST31, the collecting unit 41 collects the messages (m i ) of all the nodes for which the signature has been performed, and the verification keys (v i ) of all the nodes.

検証ノード一方向性ハッシュ関数演算工程ST32において、検証ノード一方向性ハッシュ関数演算部42は、収集工程ST31により収集されたメッセージのそれぞれに対して、一方向性ハッシュ関数演算を行う。   In the verification node one-way hash function calculation step ST32, the verification node one-way hash function calculation unit 42 performs a one-way hash function calculation on each of the messages collected in the collection step ST31.

検証工程ST33において、検証部43は、収集工程ST31により収集された全てのノードの検証鍵、及び全てのノードのメッセージから検証ノード一方向性ハッシュ関数演算工程ST32で得られたハッシュ値に基づいて、公開署名情報(σ)の正当性を検証する。   In the verification step ST33, the verification unit 43 is based on the verification keys of all the nodes collected in the collection step ST31 and the hash values obtained in the verification node one-way hash function calculation step ST32 from the messages of all the nodes. The validity of the public signature information (σ) is verified.

このようにして、検証システムは、検証工程ST33により、全てのノードの検証鍵とメッセージのハッシュ値とに基づいて、公開されている中間ノード署名情報(公開署名情報σ)の正当性を検証することができる。   In this way, the verification system verifies the validity of the public intermediate node signature information (public signature information σ) based on the verification keys of all the nodes and the hash values of the messages in the verification step ST33. be able to.

したがって、検証システムに係る検証方法では、各ノードにて生成される個々の署名情報等を検証することなく、ルートノード30により公開された署名情報を数値演算のみで検証することにより、木構造におけるノード間をどのような順序で署名されてきたかを証明することができる。すなわち、順序管理のための別の装置を要することなく、検証工程ST33の処理負荷を低減して検証作業を実行することができる。   Therefore, in the verification method according to the verification system, by verifying the signature information published by the root node 30 only by numerical operation without verifying individual signature information generated at each node, the tree structure It is possible to prove in what order the nodes have been signed. In other words, the verification operation can be executed while reducing the processing load of the verification process ST33 without requiring another device for order management.

[実施例]
ここで、木構造が3分木3階層で構成されている場合におけるアグリゲート署名システムの動作について図9を参照しながら具体的に説明する。なお、以下では、第1層をルートノード30であるとし、第2層を中間ノード20とし、第3層をリーフノード10とする。
[Example]
Here, the operation of the aggregate signature system in the case where the tree structure is composed of three levels of the triple tree will be specifically described with reference to FIG. In the following, it is assumed that the first layer is the root node 30, the second layer is the intermediate node 20, and the third layer is the leaf node 10.

すなわち、第1層には、一つのルートノード30が配置されている。また、第2層には、三つの中間ノード20が配置され、urootの直下にuからuが配置されている。また、第3層には、九つのリーフノード10が配置され、uの直下にu11からu13が配置され、uの直下にu21からu23が配置され、uの直下にu31からu33が配置されている。 That is, one root node 30 is arranged in the first layer. In the second layer, three intermediate nodes 20 are arranged, and u 1 to u 3 are arranged immediately below u root . Further, the third layer, is arranged a leaf node 10 nine, u 13 from u 11 is arranged directly below the u 1, u 23 from u 21 is arranged directly below the u 2, directly below the u 3 u 31 to u 33 are arranged.

また、認証局(CA)は、予め各ノードに重複しない署名鍵と検証鍵を、以下のように付与している。なお、sとtはそれぞれ、1≦s≦3、1≦t≦3となる整数の符号である。
第1層:(署名鍵,検証鍵)=(xroot,vroot)=(xroot,xroot
第2層:(署名鍵,検証鍵)=(x,v)=(x,x
第3層:(署名鍵,検証鍵)=(xst,vst)=(xst,xst
In addition, the certificate authority (CA) assigns a signature key and a verification key that do not overlap each node in advance as follows. Note that s and t are integer signs such that 1 ≦ s ≦ 3 and 1 ≦ t ≦ 3, respectively.
The first layer :( signature key, the verification key) = (x root, v root ) = (x root, x root g 1)
Second layer: (signature key, verification key) = (x s , v s ) = (x s , x s g 1 )
3rd layer: (signature key, verification key) = (x st , v st ) = (x st , x st g 1 )

第3層の九つのリーフノード10(ユーザust)は、自身の署名対象であるメッセージ(mst)に対してハッシュ値(hst=H(mst))を求め、ハッシュ値に対して自身の署名鍵xstにより演算を行い、署名情報(σst=xstst)を生成する。また、リーフノード10(ユーザust)は、生成した署名情報(σst)と、メッセージ(mst)とを直上のノード(ユーザu)に送信する。 The nine leaf nodes 10 (users u st ) of the third layer obtain hash values (h st = H 2 (m st )) for the messages (m st ) that are their signature targets, The signature information (σ st = x st h st ) is generated by performing an operation using the signature key x st of its own. In addition, the leaf node 10 (user u st ) transmits the generated signature information (σ st ) and the message (m st ) to the immediately upper node (user u s ).

第2層の三つの中間ノード20(ユーザu)は、まず自身の署名対象であるメッセージ(m)から、ハッシュ値(h=H(m))を求める。
次に、中間ノード20(ユーザu)は、直下のノード(ユーザus1、us2、us3)から受信したメッセージ(ms1、ms2、ms3)から、ハッシュ値(hs1=H(ms1)、hs2=H(ms2)、hs3=H(ms3))を求める。
The three intermediate nodes 20 (user u s ) in the second layer first obtain a hash value (h s = H 2 (m s )) from the message (m s ) that is the subject of signature.
Then, the intermediate node 20 (user u s) from the message (m s1, m s2, m s3) received from the node immediately below (user u s1, u s2, u s3 ), the hash value (h s1 = H 2 (m s1 ), h s2 = H 2 (m s2 ), h s3 = H 2 (m s3 )).

さらに、中間ノード20(ユーザu)は、直下のノードから受信した署名情報(σs1、σs2、σs3)を用いて、
σ=σs1+xs1+σs2+xs2+σs3+xs3
+x ・・・(6)
=xs1s1+xs1+xs2s2+xs2
+xs3s3+xs3+x ・・・(7)
を計算する。そして、中間ノード20(ユーザu)は、生成した署名情報(σ)と、メッセージ(m)とを直上のノード(ユーザuroot)に送信する。
Further, the intermediate node 20 (user u s ) uses the signature information (σ s1 , σ s2 , σ s3 ) received from the node immediately below,
σ s = σ s1 + x sh h s1 + σ s2 + x sh h s2 + σ s3 + x sh h s3
+ X sh h s (6)
= X s1 h s1 + x s h s1 + x s2 h s2 + x s h s2
+ X s3 h s3 + x s h s3 + x s h s (7)
Calculate Then, the intermediate node 20 (user u s ) transmits the generated signature information (σ s ) and the message (m s ) to the node immediately above (user u root ).

第1層のルートノード30(ユーザuroot)は、まず自身の署名対象であるメッセージ(mroot)から、ハッシュ値(hroot=H(mroot))を求める。
次に、ルートノード30(ユーザuroot)は、直下のノード(ユーザu、u、u)から受信したメッセージ(m、m、m)から、ハッシュ値(h=H(m)、h=H(m)、h=H(m))を求める。
The root node 30 (user u root ) of the first layer first obtains a hash value (h root = H 2 (m root )) from the message (m root ) to be signed.
Next, the root node 30 (user u root ) obtains the hash value (h 1 = H) from the messages (m 1 , m 2 , m 3 ) received from the nodes directly below (users u 1 , u 2 , u 3 ). 2 (m 1 ), h 2 = H 2 (m 2 ), h 3 = H 2 (m 3 )).

さらに、ルートノード30(ユーザuroot)は、直下のノードから受信した署名情報(σ、σ、σ)を用いて、
σ=σ+xroot+σ+xroot+σ+xroot
+xrootroot ・・・(8)
=x1111+x11+x1212+x12
+x1313+x13+x+xroot
+x2121+x21+x2222+x22
+x2323+x23+x+xroot
+x3131+x31+x3232+x32
+x3333+x33+x+xroot
+xrootroot ・・・(9)
を計算する。そして、ルートノード30(ユーザuroot)は、生成した署名情報(σ)を、全ユーザのアグリゲート署名情報として公開する。
Furthermore, the root node 30 (user u root ) uses the signature information (σ 1 , σ 2 , σ 3 ) received from the node immediately below,
σ = σ 1 + x root h 1 + σ 2 + x root h 2 + σ 3 + x root h 3
+ X root h root (8)
= X 11 h 11 + x 1 h 11 + x 12 h 12 + x 1 h 12
+ X 13 h 13 + x 1 h 13 + x 1 h 1 + x root h 1
+ X 21 h 21 + x 2 h 21 + x 22 h 22 + x 2 h 22
+ X 23 h 23 + x 2 h 23 + x 2 h 2 + x root h 2
+ X 31 h 31 + x 3 h 31 + x 32 h 32 + x 3 h 32
+ X 33 h 33 + x 3 h 33 + x 3 h 3 + x root h 3
+ X root h root (9)
Calculate Then, the root node 30 (user u root ) publishes the generated signature information (σ) as aggregate signature information for all users.

また、ルートノード30は、署名者の木構造における署名位置情報も公開する。署名位置情報は、例えば、{(u11,u),(u12,u),(u13,u),(u21,u),(u22,u),(u23,u),(u31,u),(u32,u),(u33,u),(u,uroot),(u,uroot),(u,uroot)}のように、隣接するノードの組み合わせの列として表現される。 The root node 30 also discloses the signature position information in the signer's tree structure. The signature position information is, for example, {(u 11 , u 1 ), (u 12 , u 1 ), (u 13 , u 1 ), (u 21 , u 2 ), (u 22 , u 2 ), (u 23 , u 2 ), (u 31 , u 3 ), (u 32 , u 3 ), (u 33 , u 3 ), (u 1 , u root ), (u 2 , u root ), (u 3 , u root )} as a sequence of adjacent node combinations.

このようにして、アグリゲート署名システムは、木構造上において連続(隣接)する2つのノード間の関係を署名鍵とハッシュ値の積で表すことにより、木構造を表現することができる。また、ノードの数が増えても、公開されるのは、ルートノード30で生成される公開署名情報(σ)である。この署名情報は楕円曲線上の点であるため、情報のサイズ(容量)は増大せず、一定値以下に抑制することができ、効率的に順序付きアグリゲート署名を生成することができる。   In this way, the aggregate signature system can represent the tree structure by representing the relationship between two nodes that are continuous (adjacent) on the tree structure by the product of the signature key and the hash value. Even if the number of nodes increases, the public signature information (σ) generated by the root node 30 is disclosed. Since this signature information is a point on an elliptic curve, the size (capacity) of the information does not increase and can be suppressed to a certain value or less, and an ordered aggregate signature can be generated efficiently.

また、検証ノード40は、以下の検証過程1から検証過程3により公開署名情報(σ)の正当性を検証する。   The verification node 40 verifies the validity of the public signature information (σ) by the following verification process 1 to verification process 3.

(検証過程1)検証ノード40は、署名を行った全てのノードが署名対象としたメッセージ(mroot、m、m、m、m11、m12、m13、m21、m22、m23、m31、m32、m33)を収集し、これらに対してハッシュ値(hroot=H(mroot)、h=H(m)、h=H(m)、h=H(m)、h11=H(m11)、h12=H(m12)、h13=H(m13)、h21=H(m21)、h22=H(m22)、h23=H(m23)、h31=H(m31)、h32=H(m32)、h33=H(m33))を求める。 (Verification process 1) The verification node 40 is a message (m root , m 1 , m 2 , m 3 , m 11 , m 12 , m 13 , m 21 , m 22 ) that all nodes that have signed the signatures. , M 23 , m 31 , m 32 , m 33 ) and hash values (h root = H 2 (m root ), h 1 = H 2 (m 1 ), h 2 = H 2 ( m 2 ), h 3 = H 2 (m 3 ), h 11 = H 2 (m 11 ), h 12 = H 2 (m 12 ), h 13 = H 2 (m 13 ), h 21 = H 2 ( m 21 ), h 22 = H 2 (m 22 ), h 23 = H 2 (m 23 ), h 31 = H 2 (m 31 ), h 32 = H 2 (m 32 ), h 33 = H 2 ( m 33 )).

(検証過程2)検証ノード40は、署名を行った全てのノードの検証鍵(vroot、v、v、v、v11、v12、v13、v21、v22、v23、v31、v32、v33)を収集する。 (Verification Process 2) Verification node 40, the verification keys of all the nodes performing the signature (v root, v 1, v 2, v 3, v 11, v 12, v 13, v 21, v 22, v 23 , V 31 , v 32 , v 33 ).

(検証過程3)検証ノード40は、公開された公開署名情報(σ)の正当性を検証する。具体的には、検証ノード40は、検証過程1で求めたハッシュ値と、収集した全てのノードの検証鍵とから、
e(v11,h11)・e(v,h11
・e(v12,h12)・e(v,h12
・e(v13,h13)・e(v,h13
・e(v,h)・e(vroot,h
・e(v21,h21)・e(v,h21
・e(v22,h22)・e(v,h22
・e(v23,h23)・e(v,h23
・e(v,h)・e(vroot,h
・e(v31,h31)・e(v,h31
・e(v32,h32)・e(v,h32
・e(v33,h33)・e(v,h33
・e(v,h)・e(vroot,h
・e(vroot,hroot) ・・・(10)
を計算し、この値とe(g,σ)の値が一致することを確認する。これらの値が一致した場合には、公開署名情報(σ)が正当であると判断する。
(Verification process 3) The verification node 40 verifies the validity of the publicly available public signature information (σ). Specifically, the verification node 40 uses the hash value obtained in the verification process 1 and the verification keys of all the collected nodes,
e (v 11 , h 11 ) · e (v 1 , h 11 )
· E (v 12, h 12 ) · e (v 1, h 12)
· E (v 13, h 13 ) · e (v 1, h 13)
E (v 1 , h 1 ) e (v root , h 1 )
· E (v 21, h 21 ) · e (v 2, h 21)
E (v 22 , h 22 ) e (v 2 , h 22 )
E (v 23 , h 23 ) e (v 2 , h 23 )
E (v 2 , h 2 ) e (v root , h 2 )
· E (v 31, h 31 ) · e (v 3, h 31)
E (v 32 , h 32 ) e (v 3 , h 32 )
E (v 33 , h 33 ) e (v 3 , h 33 )
E (v 3 , h 3 ) e (v root , h 3 )
・ E (v root , h root ) (10)
And confirms that this value matches the value of e (g 1 , σ). If these values match, it is determined that the public signature information (σ) is valid.

ここで、(検証過程3)における「e(g,σ)」を展開すると、
e(g,σ)
=e(g,x1111)・e(g,x11
・e(g,x1212)・e(g,x12
・e(g,x1313)・e(g,x13
・e(g,x)・e(g,xroot
・e(g,x2121)・e(g,x21
・e(g,x2222)・e(g,x22
・e(g,x2323)・e(g,x23
・e(g,x)・e(g,xroot
・e(g,x3131)・e(g,x31
・e(g,x3232)・e(g,x32
・e(g,x3333)・e(g,x33
・e(g,x)・e(g,xroot
・e(g,xrootroot) ・・・(11)
=e(x11,h11)・e(x,h11
・e(x12,h12)・e(x,h12
・e(x13,h13)・e(x,h13
・e(x,h)・e(xroot,h
・e(x21,h21)・e(x,h21
・e(x22,h22)・e(x,h22
・e(x23,h23)・e(x,h23
・e(x,h)・e(xroot,h
・e(x31,h31)・e(x,h31
・e(x32,h32)・e(x,h32
・e(x33,h33)・e(x,h33
・e(x,h)・e(xroot,h
・e(xroot,hroot) ・・・(12)
=e(v11,h11)・e(v,h11
・e(v12,h12)・e(v,h12
・e(v13,h13)・e(v,h13
・e(v,h)・e(vroot,h
・e(v21,h21)・e(v,h21
・e(v22,h22)・e(v,h22
・e(v23,h23)・e(v,h23
・e(v,h)・e(vroot,h
・e(v31,h31)・e(v,h31
・e(v32,h32)・e(v,h32
・e(v33,h33)・e(v,h33
・e(v,h)・e(vroot,h
・e(vroot,hroot) ・・・(13)
となり、署名の過程が正しく行われていれば、(10)式と一致する。よって、公開されているユーザの検証鍵と、全てのメッセージから求めたハッシュ値とから、アグリゲート署名の検証が可能となる。
Here, when “e (g 1 , σ)” in (Verification process 3) is expanded,
e (g 1 , σ)
= E (g 1 , x 11 h 11 ) · e (g 1 , x 1 h 11 )
E (g 1 , x 12 h 12 ) e (g 1 , x 1 h 12 )
E (g 1 , x 13 h 13 ) e (g 1 , x 1 h 13 )
E (g 1 , x 1 h 1 ) e (g 1 , x root h 1 )
E (g 1 , x 21 h 21 ) e (g 1 , x 2 h 21 )
E (g 1 , x 22 h 22 ) e (g 1 , x 2 h 22 )
E (g 1 , x 23 h 23 ) · e (g 1 , x 2 h 23 )
E (g 1 , x 2 h 2 ) e (g 1 , x root h 2 )
E (g 1 , x 31 h 31 ) e (g 1 , x 3 h 31 )
E (g 1 , x 32 h 32 ) · e (g 1 , x 3 h 32 )
E (g 1 , x 33 h 33 ) e (g 1 , x 3 h 33 )
E (g 1 , x 3 h 3 ) e (g 1 , x root h 3 )
E (g 1 , x root h root ) (11)
= E (x 11 g 1, h 11) · e (x 1 g 1, h 11)
· E (x 12 g 1, h 12) · e (x 1 g 1, h 12)
· E (x 13 g 1, h 13) · e (x 1 g 1, h 13)
E (x 1 g 1 , h 1 ) e (x root g 1 , h 1 )
· E (x 21 g 1, h 21) · e (x 2 g 1, h 21)
E (x 22 g 1 , h 22 ) e (x 2 g 1 , h 22 )
· E (x 23 g 1, h 23) · e (x 2 g 1, h 23)
E (x 2 g 1 , h 2 ) e (x root g 1 , h 2 )
E (x 31 g 1 , h 31 ) e (x 3 g 1 , h 31 )
E (x 32 g 1 , h 32 ) e (x 3 g 1 , h 32 )
· E (x 33 g 1, h 33) · e (x 3 g 1, h 33)
E (x 3 g 1 , h 3 ) e (x root g 1 , h 3 )
· E (x root g 1, h root) ··· (12)
= E (v 11 , h 11 ) · e (v 1 , h 11 )
· E (v 12, h 12 ) · e (v 1, h 12)
· E (v 13, h 13 ) · e (v 1, h 13)
E (v 1 , h 1 ) e (v root , h 1 )
· E (v 21, h 21 ) · e (v 2, h 21)
E (v 22 , h 22 ) e (v 2 , h 22 )
E (v 23 , h 23 ) e (v 2 , h 23 )
E (v 2 , h 2 ) e (v root , h 2 )
· E (v 31, h 31 ) · e (v 3, h 31)
E (v 32 , h 32 ) e (v 3 , h 32 )
E (v 33 , h 33 ) e (v 3 , h 33 )
E (v 3 , h 3 ) e (v root , h 3 )
・ E (v root , h root ) (13)
Thus, if the signature process is correctly performed, the expression (10) is satisfied. Therefore, the aggregate signature can be verified from the public verification key of the user and the hash values obtained from all the messages.

ここで、σの値に着目すると、ユーザustはhstにのみ署名処理(xststの演算)を行っており、他のh及びhrootにはこのような署名処理を行っていない。これにより、ユーザustが最初、すなわち木構造におけるリーフノード10の署名者であることが分かる。 Here, paying attention to the value of sigma, the user u st is performed signature processing only h st (the calculation of x st h st), the other h s and h root doing such a signature process Absent. As a result, it can be seen that the user ust is the first, that is, the signer of the leaf node 10 in the tree structure.

また、「xst」の項により、この最初の署名者が署名処理したhstに対して署名処理を行っているのがユーザuであることが表されているので、このユーザuが2番目(中間ノード20)の署名者であることが分かる。ユーザuは同時にhに対して署名処理(x)を行っている。同様に「xroot」の項により、このhに対して署名処理を行っているのがユーザurootであることが表されているので、このユーザurootが3番目の署名者であることが分かる。 In addition, since the item “x s h st ” indicates that the user u s is performing the signature process on h st that the first signer has signed, this user u It can be seen that s is the second (intermediate node 20) signer. User u s is performing the signature process on h s (x s h s) at the same time. Similarly, the section “x root h s ” indicates that it is the user u root that is performing the signature processing on this h s , so this user u root is the third signer. I understand that there is.

さらに、hrootに対して署名処理を行っているユーザはなく、ユーザurootで収束しているため、この3番目の署名者がルートノード30であることが分かる。 Further, since there is no user who performs the signature processing for h root and the user u root has converged, it can be seen that the third signer is the root node 30.

また、(11)式において、CDH問題や楕円曲線上の離散対数問題から、秘密情報である署名鍵を知らない第三者が、右辺の各項(xαβ又はxββ)を任意に取り除くことはできないため、第三者による順序の入れ替えは不可能である。すなわち、アグリゲート署名システム及び検証システムが採用する本署名方式は、木構造における署名順序を署名鍵とハッシュ値の積により表現することができる。 Further, in the equation (11), a third party who does not know the signature key that is the secret information from the CDH problem or the discrete logarithm problem on the elliptic curve can change each term (x α h β or x β h β ) on the right side. Since it cannot be removed arbitrarily, it is impossible to change the order by a third party. In other words, the present signature scheme adopted by the aggregate signature system and the verification system can express the signature order in the tree structure by the product of the signature key and the hash value.

また、署名者の数(ノードの数)が増えても、公開される情報は公開署名情報(σ)のみである。この公開署名情報(σ)は一つの楕円曲線上の点であるため、情報のサイズ(容量)は増大せず、一定値以下に抑制することができる。   Even if the number of signers (the number of nodes) increases, the public information is only the public signature information (σ). Since the public signature information (σ) is a point on one elliptic curve, the size (capacity) of the information does not increase and can be suppressed to a certain value or less.

さらに、検証システムでは、検証過程3で示した数値演算のみで検証することにより、ノード間をどのような順序で署名されてきたかを証明することができる。したがって、順序管理のための装置を別途用意することなく、検証システムの処理負荷を低減して効率的に検証作業を実行することができる。   Further, in the verification system, it is possible to prove in what order the nodes have been signed by performing verification only by the numerical operation shown in the verification process 3. Therefore, it is possible to efficiently perform the verification work by reducing the processing load of the verification system without separately preparing an apparatus for order management.

<第2実施形態>
以下、本発明の実施形態の一例である第2実施形態について説明する。なお、第1実施形態と同様の構成については、同一の符号を付し、説明を省略又は簡略化する。
Second Embodiment
Hereinafter, a second embodiment which is an example of an embodiment of the present invention will be described. In addition, about the structure similar to 1st Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted or simplified.

本実施形態に係るアグリゲート署名システムにおいて、リーフノード10は、リーフノード一方向性ハッシュ関数演算部12及びリーフノード送信部14の構成が第1実施形態と異なる。
すなわち、リーフノード送信部14は、リーフノード一方向性ハッシュ関数演算部12の演算結果であるハッシュ値(hleaf)とリーフノード署名情報(σleaf)とを、直上のノード(中間ノード20)へ送信する。
In the aggregate signature system according to the present embodiment, the configuration of the leaf node one-way hash function calculation unit 12 and the leaf node transmission unit 14 of the leaf node 10 is different from that of the first embodiment.
That is, the leaf node transmission unit 14 uses the hash value (h leaf ) and the leaf node signature information (σ leaf ), which are the calculation results of the leaf node one-way hash function calculation unit 12, as a node directly above (intermediate node 20). Send to.

中間ノード20は、中間ノード受信部22、中間ノード一方向性ハッシュ関数演算部23、及び中間ノード送信部25の構成が第1実施形態と異なる。
すなわち、中間ノード受信部22は、直下のノードから、メッセージ(mlow)の代わりにハッシュ値(hlow)を受信して中間ノード署名情報生成部24へ供給する。これにより、中間ノード20は、直前のノードのメッセージ(mlow)に対して一方向性ハッシュ関数演算を行う必要がなくなる。
The intermediate node 20 is different from the first embodiment in the configuration of an intermediate node receiver 22, an intermediate node one-way hash function calculator 23, and an intermediate node transmitter 25.
That is, the intermediate node receiving unit 22 receives the hash value (h low ) from the node immediately below instead of the message (m low ) and supplies the hash value (h low ) to the intermediate node signature information generation unit 24. This eliminates the need for the intermediate node 20 to perform a one-way hash function operation on the message (m low ) of the immediately preceding node.

また、中間ノード送信部25は、中間ノード一方向性ハッシュ関数演算部23の演算結果であるハッシュ値(hup)と中間ノード署名情報(σup)とを、直上のノードへ送信する。 Further, the intermediate node transmission unit 25 transmits the hash value (h up ) and the intermediate node signature information (σ up ), which are the calculation results of the intermediate node one-way hash function calculation unit 23, to the node immediately above.

ルートノード30は、ルートノード受信部32及びルートノード一方向性ハッシュ関数演算部33の構成が第1実施形態と異なる。
すなわち、ルートノード受信部32は、直下のノードから、メッセージ(mlow)の代わりにハッシュ値(hlow)を受信してルートノード署名情報生成部34へ供給する。これにより、ルートノード30は、直下のノードのメッセージ(mlow)に対して一方向性ハッシュ関数演算を行う必要がなくなる。
The root node 30 is different from the first embodiment in the configuration of the root node receiving unit 32 and the root node one-way hash function calculating unit 33.
That is, the root node receiving unit 32 receives a hash value (h low ) instead of a message (m low ) from a node immediately below and supplies the hash value (h low ) to the root node signature information generating unit 34. As a result, the root node 30 does not need to perform a one-way hash function operation on the message (m low ) of the node immediately below.

本実施形態に係る検証システムにおいて、検証ノード40は、収集部41の構成が第1実施形態と異なる。さらに、検証ノード40は、第1実施形態における検証ノード一方向性ハッシュ関数演算部42を必要としない。   In the verification system according to the present embodiment, the configuration of the collection node 41 of the verification node 40 is different from that of the first embodiment. Furthermore, the verification node 40 does not require the verification node one-way hash function calculation unit 42 in the first embodiment.

すなわち、収集部41は、各ノードから、メッセージ(m)の代わりにハッシュ値(h)を受信して検証部43へ供給する。これにより、検証ノード40は、各ノードのメッセージ(m)に対して一方向性ハッシュ関数演算を行う必要がなくなる。 That is, the collecting unit 41 supplies from each node, the hash value instead of the message (m i) (h i) received by the verification unit 43. This eliminates the need for the verification node 40 to perform a one-way hash function operation on the message (m i ) of each node.

本実施形態によれば、各ノードにおける一方向性ハッシュ関数演算の処理負荷を低減することができる。
具体的には、第1実施形態における中間ノード一方向性ハッシュ関数演算工程ST12と、ルートノード一方向性ハッシュ関数演算工程ST22の処理負荷が低減され、検証ノード一方向性ハッシュ関数演算工程ST32は不要となる。
According to this embodiment, the processing load of the one-way hash function calculation in each node can be reduced.
Specifically, the processing load of the intermediate node one-way hash function calculation step ST12 and the root node one-way hash function calculation step ST22 in the first embodiment is reduced, and the verification node one-way hash function calculation step ST32 is It becomes unnecessary.

なお、各ノード間においては、メッセージ(m)又はハッシュ値(h)のいずれかが送受信されればよく、アグリゲート署名システム及び検証システム内において統一されていなくてもよい。また、メッセージ及びハッシュ値の双方を送受信することとしてもよい。 It should be noted that between the nodes, it suffices that either the message (m i ) or the hash value (h i ) is transmitted and received, and it does not have to be unified within the aggregate signature system and the verification system. Moreover, it is good also as transmitting and receiving both a message and a hash value.

以上で説明した各実施形態におけるアグリゲート署名システム及び検証システムは、各ノードで独立したメッセージを署名対象とするので、例えば署名済みの素材を集めてコンテンツを生成する場合のように、下位(部分)から上位(全体)へのボトムアップの署名方式を提供することができる。   Since the aggregate signature system and the verification system in each embodiment described above target independent messages at each node, for example, as in the case of generating content by collecting signed materials, the subordinate (partial ) To a higher-level (whole) bottom-up signature scheme.

また、上述の各実施形態において、ペアリング関数への入力である2つの引数は、ペアリングの演算が可能な楕円曲線上の点g又はgのスカラー倍として表されるが、この楕円曲線は、第1引数と第2引数とで異なっている。すなわち、ペアリング関数の第1引数用と第2引数用とに、それぞれ異なる楕円曲線(G又はG)上の2点(g又はg)が与えられている。具体的には、第1引数に関する検証鍵は、gのスカラー倍(G上の点)となり、第2引数に関するハッシュ値及び署名情報は、gのスカラー倍(G上の点)となる。 In each of the above-described embodiments, the two arguments that are inputs to the pairing function are expressed as scalar multiples of the points g 1 or g 2 on the elliptic curve that can be paired. The curve differs between the first argument and the second argument. That is, the for the first argument of the pairing function and for the second argument, two points on different elliptic curve, respectively (G 1 or G 2) (g 1 or g 2) is given. Specifically, the verification key for the first argument is a scalar multiple of g 1 (point on G 1 ), and the hash value and signature information for the second argument is a scalar multiple of g 2 (point on G 2 ). It becomes.

このことにより、演算回数が増加する場合があるが、ペアリング関数の演算において並列して処理できるため、計算時間の短縮が期待できる。
また、集合G又はGのいずれかに不具合が発見された場合、一方を共用する、又は他のGDHグループに交換することにより、アグリゲート署名システム及び検証システムが維持される
As a result, the number of computations may increase, but since the processing can be performed in parallel in the computation of the pairing function, the computation time can be expected to be shortened.
Also, if a defect is found in either the set G 1 or G 2 , the aggregate signature system and the verification system are maintained by sharing one or exchanging it with another GDH group.

以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。   As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. The effects described in the embodiments of the present invention are only the most preferable effects resulting from the present invention, and the effects of the present invention are limited to those described in the embodiments of the present invention. is not.

上述の実施形態では、ルートノード30が公開部35を備えているが、他のノード(中間ノード20、リーフノード10)も備えていてよい。この場合、検証ノード40は、公開された署名情報に基づいて、公開したノードに至るまでの署名経路の正当性を検証可能である。さらに、各ノードの公開部35は、自身のノードの検証鍵を公開し、検証ノード40へ提供してもよい。   In the above-described embodiment, the root node 30 includes the public unit 35, but may include other nodes (intermediate node 20, leaf node 10). In this case, the verification node 40 can verify the validity of the signature path leading to the disclosed node based on the published signature information. Further, the disclosure unit 35 of each node may disclose the verification key of its own node and provide it to the verification node 40.

また、上述の実施形態では、署名鍵及び検証鍵は、認証局によって割り当てられることとしたが、本発明はこれには限られない。例えば、アグリゲート署名システムにおいて、署名鍵となる自然数x、及び集合Gに属する値gを決定し、検証鍵を演算により算出(v=xg)してもよい。 In the above-described embodiment, the signature key and the verification key are assigned by the certificate authority. However, the present invention is not limited to this. For example, the aggregate signature system determines natural numbers x a signature key, and a value g 1 belonging to the set G 1, may be calculated by calculating a verification key (v = xg 1).

また、上述の実施形態では、中間ノード20に対して直下のノードが複数存在する木構造における順序付き多重署名について説明したが、本発明はこれには限られない。すなわち、中間ノード20に対して直下のノードが単一であり、複数のノードが一列に連なっている場合にも、本発明は適用可能である。   In the above-described embodiment, the ordered multiple signature in the tree structure in which a plurality of nodes directly below the intermediate node 20 is described, but the present invention is not limited to this. In other words, the present invention can be applied to a case where there is a single node directly below the intermediate node 20 and a plurality of nodes are arranged in a line.

この場合、アグリゲート署名システム及び検証システムは、各ノードで独立したメッセージを署名対象とするので、例えば電子掲示板やブログのコメント等のように、前のメッセージを受けて次のメッセージを追加する連作に対して利用することができる。   In this case, since the aggregate signature system and the verification system are intended to sign independent messages at each node, for example, a continuous operation that receives the previous message and adds the next message, such as an electronic bulletin board or a blog comment. Can be used against.

なお、この場合、ルートノード30(最終ノード)が公開する署名者の署名順序情報(署名位置情報)は、例えば、{(1,u),(2,u),・・・,(k,u)}のように、順序番号を付加したノードの列として表現される。 In this case, the signing order information (signature position information) of the signer disclosed by the root node 30 (final node) is, for example, {(1, u 1 ), (2, u 2 ),. k, u k )}, and is expressed as a sequence of nodes to which sequence numbers are added.

また、アグリゲート署名システム及び検証システムによる一連の処理は、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。また、当該プログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。   A series of processing by the aggregate signature system and the verification system can also be performed by software. When a series of processing is performed by software, a program constituting the software is installed in a general-purpose computer or the like. The program may be recorded on a removable medium such as a CD-ROM and distributed to the user, or may be distributed by being downloaded to the user's computer via a network.

10 リーフノード
11 記憶部
12 リーフノード一方向性ハッシュ関数演算部
13 リーフノード署名情報生成部
14 リーフノード送信部
20 中間ノード
21 記憶部
22 中間ノード受信部
23 中間ノード一方向性ハッシュ関数演算部
24 中間ノード署名情報生成部
25 中間ノード送信部
30 ルートノード
31 記憶部
32 ルートノード受信部
33 ルートノード一方向性ハッシュ関数演算部
34 ルートノード署名情報生成部
35 公開部
40 検証ノード
41 収集部
42 検証ノード一方向性ハッシュ関数演算部
43 検証部
DESCRIPTION OF SYMBOLS 10 Leaf node 11 Memory | storage part 12 Leaf node unidirectional hash function calculating part 13 Leaf node signature information generation part 14 Leaf node transmission part 20 Intermediate node 21 Storage part 22 Intermediate node receiving part 23 Intermediate node unidirectional hash function calculating part 24 Intermediate node signature information generation unit 25 Intermediate node transmission unit 30 Root node 31 Storage unit 32 Root node reception unit 33 Root node one-way hash function calculation unit 34 Root node signature information generation unit 35 Disclosure unit 40 Verification node 41 Collection unit 42 Verification Node one-way hash function calculation unit 43 Verification unit

Claims (8)

あるノードから別のノードへの順序付きのアグリゲート署名を行うアグリゲート署名システムであって、
各ノードには、所定の自然数からなる署名鍵と、第1のGDH(GAP−Diffie−Hellman)グループに属する第1の値に対して、当該署名鍵により演算を行って生成される当該第1のGDHグループに属する検証鍵とがそれぞれ割り当てられており、当該各ノードは、
直前のノードが存在する場合、当該直前のノードの署名対象であるメッセージ又は当該メッセージのハッシュ値、及び当該直前のノードの署名情報を受信する受信部と、
自身のメッセージと、前記直前のノードが存在する場合、当該直前のノードのメッセージとに対して、それぞれ一方向性ハッシュ関数演算を行って、各メッセージの第2のGDHグループに属するハッシュ値を生成する署名ノード一方向性ハッシュ関数演算部と、
自身のメッセージのハッシュ値に対して自身の署名鍵により演算を行った結果と、前記直前のノードが存在する場合、当該直前のノードのメッセージのハッシュ値に対して自身のノードの署名鍵により演算を行った結果、及び前記直前のノードの署名情報とを総和して、自身の署名情報を生成する署名情報生成部と、
直後のノードが存在する場合、自身のメッセージ又は当該メッセージのハッシュ値、及び自身の署名情報を、当該直後のノードへ送信する送信部と、を備えるアグリゲート署名システム。
An aggregate signature system for performing an ordered aggregate signature from one node to another,
In each node, the first key generated by computing the signature key composed of a predetermined natural number and the first value belonging to the first GDH (GAP-Diffie-Hellman) group using the signature key. Each of the verification keys belonging to the GDH group of
A receiving unit that receives a message to be signed by the immediately preceding node or a hash value of the message, and signature information of the immediately preceding node when the immediately preceding node exists;
If there is a message of its own and the previous node, perform a one-way hash function operation on the message of the previous node to generate a hash value belonging to the second GDH group of each message A signature node one-way hash function computing unit,
When the hash value of its own message is calculated using its own signature key and the previous node exists, the hash value of the message of the previous node is calculated using the signature key of its own node And a signature information generation unit that generates the signature information of itself by summing together the signature information of the previous node and the signature information of the previous node;
An aggregate signature system comprising: a transmitting unit that transmits its own message or a hash value of the message and its own signature information to the immediately subsequent node when the immediately following node exists.
前記署名情報生成部は、前記直前のノードが複数存在する場合、自身のメッセージのハッシュ値に対して自身の署名鍵により演算を行った結果と、前記直前のノードそれぞれのメッセージのハッシュ値に対して自身のノードの署名鍵により演算を行った複数の結果と、前記直前のノードそれぞれの署名情報とを総和して、自身の署名情報を生成する請求項1に記載のアグリゲート署名システム。   When there are a plurality of the immediately preceding nodes, the signature information generation unit performs a calculation on the hash value of its own message using its signature key and the hash value of the message of each of the immediately preceding nodes. The aggregate signature system according to claim 1, wherein the signature information is generated by summing a plurality of results obtained by performing the calculation using the signature key of the node itself and the signature information of each of the immediately preceding nodes. 前記各ノードは、自身の署名情報を公開する公開部を備える請求項1又は請求項2に記載のアグリゲート署名システム。   The aggregate signature system according to claim 1, wherein each of the nodes includes a public unit that discloses its own signature information. 前記公開部は、前記各ノードの順序情報をさらに公開する請求項3に記載のアグリゲート署名システム。   The aggregate signature system according to claim 3, wherein the disclosure unit further discloses order information of each node. 請求項3又は請求項4に記載のアグリゲート署名システムに備えられている前記公開部により公開された署名情報を検証する検証システムであって、
前記公開された署名情報が生成される過程の全てのノードのメッセージ又は当該メッセージのハッシュ値、及び当該全てのノードの検証鍵を収集する収集部と、
前記収集部により収集されたメッセージに対して、それぞれ一方向性ハッシュ関数演算を行って、各メッセージの前記第2のGDHグループに属するハッシュ値を生成する検証ノード一方向性ハッシュ関数演算部と、
前記全てのノードの検証鍵、及び前記全てのノードのメッセージのハッシュ値に基づいて、前記公開された署名情報の正当性を検証する検証部と、を備える検証システム。
A verification system for verifying signature information disclosed by the disclosure unit provided in the aggregate signature system according to claim 3 or 4,
A collection unit that collects messages of all nodes in the process of generating the disclosed signature information or hash values of the messages, and verification keys of all the nodes;
A verification node one-way hash function operation unit that performs a one-way hash function operation on each message collected by the collection unit to generate a hash value belonging to the second GDH group of each message;
A verification system comprising: a verification unit that verifies the validity of the published signature information based on the verification keys of all the nodes and the hash values of the messages of all the nodes.
前記検証部は、同一ノードの検証鍵及びハッシュ値によるペアリング演算の結果と、あるノードの検証鍵及び当該ノードの直前のノードのハッシュ値によるペアリング演算の結果とを全て乗じた値を、前記第1の値及び前記公開された署名情報によるペアリング演算の結果と比較し、双方が一致する場合、前記公開された署名情報が正当であると判定し、双方が一致しない場合、前記公開された署名情報が正当でないと判定する請求項5に記載の検証システム。   The verification unit multiplies the result of the pairing operation by the verification key and hash value of the same node and the result of the pairing operation by the hash value of the node immediately before the verification key of the certain node, Compared with the result of the pairing operation by the first value and the published signature information, if both match, it determines that the published signature information is valid, and if both do not match, the published 6. The verification system according to claim 5, wherein it is determined that the signed information is not valid. あるノードから別のノードへの順序付きのアグリゲート署名を行うアグリゲート署名方法であって、
各ノードには、所定の自然数からなる署名鍵と、第1のGDH(GAP−Diffie−Hellman)グループに属する第1の値に対して、当該署名鍵により演算を行って生成される当該第1のGDHグループに属する検証鍵とがそれぞれ割り当てられており、当該各ノードが、
第1のGDH(GAP−Diffie−Hellman)グループに属する第1の値に対して、自身の署名鍵により演算を行って、当該第1のGDHグループに属する自身の検証鍵を生成する検証鍵生成工程と、
直前のノードが存在する場合、当該直前のノードの署名対象であるメッセージ又は当該メッセージのハッシュ値、及び当該直前のノードの署名情報を受信する受信工程と、
自身のメッセージと、前記直前のノードが存在する場合、当該直前のノードのメッセージとに対して、それぞれ一方向性ハッシュ関数演算を行って、各メッセージの第2のGDHグループに属するハッシュ値を生成する署名ノード一方向性ハッシュ関数演算工程と、
自身のメッセージのハッシュ値に対して自身の署名鍵により演算を行った結果と、前記直前のノードが存在する場合、当該直前のノードのメッセージのハッシュ値に対して自身のノードの署名鍵により演算を行った結果、及び前記直前のノードの署名情報とを総和して、自身の署名情報を生成する署名情報生成工程と、
直後のノードが存在する場合、自身のメッセージ又は当該メッセージのハッシュ値、及び自身の署名情報を、当該直後のノードへ送信する送信工程と、を実行するアグリゲート署名方法。
An aggregate signature method for performing an ordered aggregate signature from one node to another, comprising:
In each node, the first key generated by computing the signature key composed of a predetermined natural number and the first value belonging to the first GDH (GAP-Diffie-Hellman) group using the signature key. Each of the verification keys belonging to the GDH group of
Generation of a verification key for generating an own verification key belonging to the first GDH group by performing an operation on the first value belonging to the first GDH (GAP-Diffie-Hellman) group with the own signature key Process,
When the immediately preceding node exists, the receiving step of receiving the message to be signed by the immediately preceding node or the hash value of the message, and the signature information of the immediately preceding node;
If there is a message of its own and the previous node, perform a one-way hash function operation on the message of the previous node to generate a hash value belonging to the second GDH group of each message A signature node one-way hash function calculation step,
When the hash value of its own message is calculated using its own signature key and the previous node exists, the hash value of the message of the previous node is calculated using the signature key of its own node And a signature information generation step of generating the signature information of itself by summing up the result of performing and the signature information of the immediately preceding node;
An aggregate signature method that executes a transmitting step of transmitting an own message or a hash value of the message and an own signature information to the immediately following node when an immediately following node exists.
あるノードから別のノードへの順序付きのアグリゲート署名を行うアグリゲート署名方法をコンピュータに実行させるためのアグリゲート署名プログラムであって、
各ノードには、所定の自然数からなる署名鍵と、第1のGDH(GAP−Diffie−Hellman)グループに属する第1の値に対して、当該署名鍵により演算を行って生成される当該第1のGDHグループに属する検証鍵とがそれぞれ割り当てられており、当該各ノードに、
第1のGDH(GAP−Diffie−Hellman)グループに属する第1の値に対して、自身の署名鍵により演算を行って、当該第1のGDHグループに属する自身の検証鍵を生成する検証鍵生成工程と、
直前のノードが存在する場合、当該直前のノードの署名対象であるメッセージ又は当該メッセージのハッシュ値、及び当該直前のノードの署名情報を受信する受信工程と、
自身のメッセージと、前記直前のノードが存在する場合、当該直前のノードのメッセージとに対して、それぞれ一方向性ハッシュ関数演算を行って、各メッセージの第2のGDHグループに属するハッシュ値を生成する署名ノード一方向性ハッシュ関数演算工程と、
自身のメッセージのハッシュ値に対して自身の署名鍵により演算を行った結果と、前記直前のノードが存在する場合、当該直前のノードのメッセージのハッシュ値に対して自身のノードの署名鍵により演算を行った結果、及び前記直前のノードの署名情報とを総和して、自身の署名情報を生成する署名情報生成工程と、
直後のノードが存在する場合、自身のメッセージ又は当該メッセージのハッシュ値、及び自身の署名情報を、当該直後のノードへ送信する送信工程と、を実行させるためのアグリゲート署名プログラム。
An aggregate signature program for causing a computer to execute an aggregate signature method for performing an ordered aggregate signature from one node to another,
In each node, the first key generated by computing the signature key composed of a predetermined natural number and the first value belonging to the first GDH (GAP-Diffie-Hellman) group using the signature key. And a verification key belonging to each GDH group are assigned to each node.
Generation of a verification key for generating an own verification key belonging to the first GDH group by performing an operation on the first value belonging to the first GDH (GAP-Diffie-Hellman) group with the own signature key Process,
When the immediately preceding node exists, the receiving step of receiving the message to be signed by the immediately preceding node or the hash value of the message, and the signature information of the immediately preceding node;
If there is a message of its own and the previous node, perform a one-way hash function operation on the message of the previous node to generate a hash value belonging to the second GDH group of each message A signature node one-way hash function calculation step,
When the hash value of its own message is calculated using its own signature key and the previous node exists, the hash value of the message of the previous node is calculated using the signature key of its own node And a signature information generation step of generating the signature information of itself by summing up the result of performing and the signature information of the immediately preceding node;
An aggregate signature program for executing a transmission step of transmitting the message itself or the hash value of the message and the signature information of the message to the node immediately after the node immediately after the node exists.
JP2011038387A 2011-02-24 2011-02-24 Aggregate signature system, verification system, aggregate signature method, and aggregate signature program Pending JP2012175634A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011038387A JP2012175634A (en) 2011-02-24 2011-02-24 Aggregate signature system, verification system, aggregate signature method, and aggregate signature program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011038387A JP2012175634A (en) 2011-02-24 2011-02-24 Aggregate signature system, verification system, aggregate signature method, and aggregate signature program

Publications (1)

Publication Number Publication Date
JP2012175634A true JP2012175634A (en) 2012-09-10

Family

ID=46978045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011038387A Pending JP2012175634A (en) 2011-02-24 2011-02-24 Aggregate signature system, verification system, aggregate signature method, and aggregate signature program

Country Status (1)

Country Link
JP (1) JP2012175634A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023188382A1 (en) * 2022-03-31 2023-10-05 富士通株式会社 Signature control method, signature control program, information processing device, and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005522968A (en) * 2002-04-15 2005-07-28 ドコモ コミュニケーションズ ラボラトリーズ ユー・エス・エー インコーポレーティッド Signature scheme using bilinear mapping
JP2010087590A (en) * 2008-09-29 2010-04-15 Kddi Corp System, method and program for generating aggregate signature

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005522968A (en) * 2002-04-15 2005-07-28 ドコモ コミュニケーションズ ラボラトリーズ ユー・エス・エー インコーポレーティッド Signature scheme using bilinear mapping
JP2010087590A (en) * 2008-09-29 2010-04-15 Kddi Corp System, method and program for generating aggregate signature

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CSNG201000858003; 稲村勝樹 他: '回覧文書閲覧確認に適した階層表記型多重署名方式の提案と実装評価' 電子情報通信学会論文誌 B Vol.J93-B No.10, 20101001, p.1378-1387 *
CSNJ201010083030; 稲村勝樹 他: 'Gap Diffie-Hellman署名に基づいた順序付きアグリゲート署名とその拡張方式' 2010年暗号と情報セキュリティシンポジウム講演論文集 , 20100119 *
JPN6014016561; 稲村勝樹 他: 'Gap Diffie-Hellman署名に基づいた順序付きアグリゲート署名とその拡張方式' 2010年暗号と情報セキュリティシンポジウム講演論文集 , 20100119 *
JPN6014016563; 稲村勝樹 他: '回覧文書閲覧確認に適した階層表記型多重署名方式の提案と実装評価' 電子情報通信学会論文誌 B Vol.J93-B No.10, 20101001, p.1378-1387 *
JPN6014016567; Boneh, D. and Gentry, C.: 'Aggregate and Verifiably Encrypted Signatures from Bilinear Maps' Lecture Notes in Computer Science Vol.2656, 2003, p.416-432 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023188382A1 (en) * 2022-03-31 2023-10-05 富士通株式会社 Signature control method, signature control program, information processing device, and system

Similar Documents

Publication Publication Date Title
CN111277415A (en) Privacy protection method and device based on block chain intelligent contract
CN110896351B (en) Identity-based digital signature method based on global hash
He et al. An efficient certificateless designated verifier signature scheme.
Verma et al. Efficient identity‐based blind message recovery signature scheme from pairings
Padhye et al. ECDLP‐based certificateless proxy signature scheme with message recovery
Meshram et al. A provably secure lightweight subtree-based short signature scheme with fuzzy user data sharing for human-centered IoT
JP2012516603A (en) Method, apparatus, computer program, and data processing system for managing a dynamic set of cryptographic credentials within a data processing system (management of cryptographic credentials within a data processing system)
Nava Teja Reddy et al. Mayfly optimistic hyperelliptic curve cryptosystem
JP2012175634A (en) Aggregate signature system, verification system, aggregate signature method, and aggregate signature program
JP2011055425A (en) Aggregate signature system, verification system, aggregate signature method, and aggregate signature program
CN116318736B (en) Two-level threshold signature method and device for hierarchical management
JP2012216916A (en) Multiple signature system, verification system, multiple signature method, and multiple signature program
Hussain et al. Evaluation of computationally efficient identity-based proxy signatures
JP2011029783A (en) Multiple signature system, verification system, multiple signature method and multiple signature program
JP2011055424A (en) Aggregate signature system, verification system, aggregate signature method, and aggregate signature program
JP5497595B2 (en) Aggregate signature system, verification system, aggregate signature method, and aggregate signature program
JP2011029785A (en) Multiple signature system, verification system, multiple signature method and multiple signature program
Adouth et al. EB-CSPA: efficient blockchain-based certificateless short signature public auditing scheme for cloud-based cyber-physical systems
Shapuan et al. A Strong Designated Verifier Signature Scheme with Hybrid Cryptographic Hard Problems
Do et al. Digital signature schemes from two hard problems
Wang et al. SMHSDVS: A Secure and Mutual Heterogeneous Strong Designated Signature Between PKI and IBC
Moldovyan Short Signatures from Difficulty of Factorization Problem.
CN119622751B (en) Data security verification method, verification device, electronic equipment and storage medium
JP5597075B2 (en) Signature generation apparatus, verification apparatus, signature generation method, and signature generation program
Cui et al. A trustless gq multi-signature scheme with identifiable abort

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120803

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140423

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140819