Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6348082B2 - Structure conversion apparatus and program - Google Patents
[go: Go Back, main page]

JP6348082B2 - Structure conversion apparatus and program - Google Patents

Structure conversion apparatus and program Download PDF

Info

Publication number
JP6348082B2
JP6348082B2 JP2015088396A JP2015088396A JP6348082B2 JP 6348082 B2 JP6348082 B2 JP 6348082B2 JP 2015088396 A JP2015088396 A JP 2015088396A JP 2015088396 A JP2015088396 A JP 2015088396A JP 6348082 B2 JP6348082 B2 JP 6348082B2
Authority
JP
Japan
Prior art keywords
node
matrix
algebraic
group
algebraic structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015088396A
Other languages
Japanese (ja)
Other versions
JP2016206444A (en
Inventor
星野 文学
文学 星野
阿部 正幸
正幸 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015088396A priority Critical patent/JP6348082B2/en
Publication of JP2016206444A publication Critical patent/JP2016206444A/en
Application granted granted Critical
Publication of JP6348082B2 publication Critical patent/JP6348082B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、アルゴリズムの代数的構造を変換する技術に関する。   The present invention relates to a technique for converting an algebraic structure of an algorithm.

アルゴリズムの代数的構造を変換する技術が知られている。例えば、非特許文献1,2には、群G,G上のペアリングe:G×G→Gを用いたアルゴリズムを、群G,G,G上のペアリングe:G×G→G(ただしG≠G)を用いたアルゴリズムに変換する技術が開示されている。この技術では、群G上の群演算の依存関係グラフのノードに群GまたはGを割り当て、その割り当て状況を評価関数で評価し、最も評価の良い割り当てを選択する。 A technique for converting the algebraic structure of an algorithm is known. For example, Non-Patent Documents 1 and 2, the group G, the pairing on G T e: an algorithm using G × G → G T, the group G 1, G 2, pairing on G T e: G A technique for converting into an algorithm using 1 × G 2 → G T (where G 1 ≠ G 2 ) is disclosed. In this technique, the group G 1 or G 2 is allocated to the node of the dependency graph of the group operation on the group G, the allocation status is evaluated by the evaluation function, and the allocation with the best evaluation is selected.

T. Tango, M. Abe, and T. Okamoto, “Implementation of Automated Translation for Schemes on Symmetric Bilinear Groups,” In Proc. of SCIS 2014, 2014.T. Tango, M. Abe, and T. Okamoto, “Implementation of Automated Translation for Schemes on Symmetric Bilinear Groups,” In Proc. Of SCIS 2014, 2014. M. Abe, J. Groth, M. Ohkubo, and T. Tango, “Converting cryptographic schemes from symmetric to asymmetric bilinear groups,” In J. A. Garay and R. Gennaro, editors, Advances in Cryptology - CRYPTO 2014 - 34th Annual Cryptology Conference, Santa Barbara, CA, USA, August 17-21, 2014, Proceedings, Part I, volume 8616 of Lecture Notes in Computer Science, pages 241-260. Springer, 2014.M. Abe, J. Groth, M. Ohkubo, and T. Tango, “Converting cryptographic schemes from symmetric to asymmetric bilinear groups,” In JA Garay and R. Gennaro, editors, Advances in Cryptology-CRYPTO 2014-34th Annual Cryptology Conference , Santa Barbara, CA, USA, August 17-21, 2014, Proceedings, Part I, volume 8616 of Lecture Notes in Computer Science, pages 241-260. Springer, 2014.

従来技術では、割り当てのための探索空間が広く、演算量が大きいという問題点がある。本発明の課題は、アルゴリズムの代数的構造を変換するための演算量を削減することである。   In the prior art, there is a problem that a search space for allocation is wide and a calculation amount is large. An object of the present invention is to reduce the amount of calculation for converting an algebraic structure of an algorithm.

まず、線形制約q(s(i,φ(0)))+・・・+q(s(i,φ(S(i)−1)))=y(i,n)∈Fに対し、{0,・・・,n−1}における{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}の補集合の要素rについてy(i,r)=0とし、{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}の要素kについてy(i,k)=1としたy(i,0),・・・,y(i,n−1),y(i,n)をi行目の要素とする行列を表す情報を得る。ただし、nは2以上の整数であり、j=0,・・・,n−1である。Fは位数2の有限体であり、代数的構造Gでの演算の依存関係を表す依存関係グラフのノードN(j)に代数的構造Gを割り当てる場合にq(j)=0∈Fとし、ノードN(j)に代数的構造Gを割り当てる場合にq(j)=1∈Fとする(G≠G)。mは1以上の整数であり、i=0,・・・,m−1である。S(i)は1以上の整数であり、{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}⊆{0,・・・,n−1}である。次に、y(i,0),・・・,y(i,n−1),y(i,n)をi行目の要素とする行列から、z(i,0),・・・,z(i,n−1),z(i,n)をi行目の要素とする階段行列を表す情報を得る。その後、階段行列を表す情報に基づいてノードN(j)が独立ノードであるか否かを判定して、ノードN(j)に代数的構造Gまたは代数的構造Gを割り当てる。 First, for the linear constraint q (s (i, φ (0))) +... + Q (s (i, φ (S (i) −1))) = y (i, n) ∈F 2 Y for the element r of the complement of {s (i, φ (0)),..., S (i, φ (S (i) −1))} in {0,. (I, r) = 0, and y (i, k) = for element k of {s (i, φ (0)),..., S (i, φ (S (i) -1))} Information indicating a matrix having y (i, 0),..., Y (i, n−1), y (i, n) as elements in the i-th row is obtained. However, n is an integer greater than or equal to 2, and j = 0, ..., n-1. F 2 is a finite field of order 2, and q (j) = 0∈ when assigning the algebraic structure G 1 to the node N (j) of the dependency graph representing the dependency of the operation in the algebraic structure G When F 2 is assigned and the algebraic structure G 2 is assigned to the node N (j), q (j) = 1∈F 2 (G 1 ≠ G 2 ). m is an integer of 1 or more, and i = 0,..., m−1. S (i) is an integer of 1 or more, and {s (i, φ (0)),..., S (i, φ (S (i) -1))} ⊆ {0,. n-1}. Next, from a matrix having y (i, 0),..., Y (i, n-1), y (i, n) as elements of the i-th row, z (i, 0),. , Z (i, n-1), z (i, n) is obtained as information representing a step matrix having elements in the i-th row. Thereafter, it is determined whether the node N (j) is an independent node based on the information representative of the stairs matrix, assigning the algebraic structure G 1 or algebraic structure G 2 to the node N (j).

これにより、アルゴリズムの代数的構造を変換するための演算量を削減できる。   Thereby, the amount of calculation for converting the algebraic structure of the algorithm can be reduced.

図1は第1実施形態の構造変換装置の機能構成を例示するブロック図である。FIG. 1 is a block diagram illustrating a functional configuration of the structure conversion device according to the first embodiment. 図2は第1実施形態の構造変換方法を説明するためのフロー図である。FIG. 2 is a flowchart for explaining the structure conversion method of the first embodiment. 図3は依存関係グラフを例示した図である。FIG. 3 is a diagram illustrating a dependency relationship graph. 図4はGに割り当てられたノードからなる依存関係グラフを例示した図である。Figure 4 is a diagram illustrating a dependency graph of nodes that are assigned to G 1. 図5はGに割り当てられたノードからなる依存関係グラフを例示した図である。Figure 5 is a view illustrating the dependency graph of nodes that are assigned to G 2. 図6は依存関係グラフを例示した図である。FIG. 6 is a diagram illustrating a dependency relationship graph. 図7は依存関係グラフを例示した図である。FIG. 7 is a diagram illustrating a dependency relationship graph. 図8は第2実施形態の構造変換装置の機能構成を例示するブロック図である。FIG. 8 is a block diagram illustrating a functional configuration of the structure conversion device according to the second embodiment. 図8は第2実施形態の構造変換方法を説明するためのフロー図である。FIG. 8 is a flowchart for explaining the structure conversion method of the second embodiment.

以下、本発明の実施形態を説明する。
[概要]
本形態では、まず線形制約q(s(i,φ(0)))+・・・+q(s(i,φ(S(i)−1)))=y(i,n)∈Fに対し、{0,・・・,n−1}における{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}の補集合の要素rについてy(i,r)=0とし、{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}の要素kについてy(i,k)=1としたy(i,0),・・・,y(i,n−1),y(i,n)をi行目の要素とする行列を表す情報を得る。ただし、nは2以上の整数であり、j=0,・・・,n−1である。Fは位数2の有限体であり、代数的構造Gでの演算の依存関係を表す依存関係グラフのノード(変数)N(j)に代数的構造Gを割り当てる場合にq(j)=0∈Fとし、ノードN(j)に代数的構造Gを割り当てる場合にq(j)=1∈Fとする(G≠G)。代数的構造の例は、アーベル群などの群、半群、モノイド、体、環などである。mは1以上の整数であり、i=0,・・・,m−1である。S(i)は1以上の整数であり、{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}⊆{0,・・・,n−1}である。ただし、ノード間の関係の制約を行う場合にはS(i)は2以上の整数となる。次に、y(i,0),・・・,y(i,n−1),y(i,n)をi行目の要素とする行列から、z(i,0),・・・,z(i,n−1),z(i,n)をi行目の要素とする階段行列を表す情報を得る。その後、階段行列を表す情報に基づいてノードN(j)が独立ノード(独立変数)であるか否かを判定して、ノードN(j)に代数的構造Gまたは代数的構造Gを割り当てる。ここで、ノードN(j)が独立ノードでない場合(すなわち、従属ノード(従属変数)である場合)、当該ノードN(j)への代数的構造の割り当ては他のノードへの割り当てに依存する。すなわち、独立ノードへの割り当てを決めれば、それに応じて従属ノードへの割り当ても決まる。これにより、探索空間を縮小でき、演算量を削減できる。
Embodiments of the present invention will be described below.
[Overview]
In this embodiment, first, the linear constraint q (s (i, φ (0))) +... + Q (s (i, φ (S (i) −1))) = y (i, n) ∈F 2 , S (i, φ (S (i) -1))} elements of {s (i, φ (0)),. y (i, r) = 0 for r and y (i, r (0,0)),..., s (i, φ (S (i) -1))} k) = 1 to obtain information representing a matrix having y (i, 0),..., y (i, n-1), y (i, n) as elements of the i-th row. However, n is an integer greater than or equal to 2, and j = 0, ..., n-1. F 2 is a finite field of order 2, and q (j) when assigning the algebraic structure G 1 to the node (variable) N (j) of the dependency graph representing the dependency of the operation in the algebraic structure G When = 0∈F 2 and the algebraic structure G 2 is assigned to the node N (j), q (j) = 1∈F 2 (G 1 ≠ G 2 ). Examples of algebraic structures are groups such as Abelian groups, semigroups, monoids, fields, rings and the like. m is an integer of 1 or more, and i = 0,..., m−1. S (i) is an integer of 1 or more, and {s (i, φ (0)),..., S (i, φ (S (i) -1))} ⊆ {0,. n-1}. However, S (i) is an integer of 2 or more when the relationship between nodes is restricted. Next, from a matrix having y (i, 0),..., Y (i, n-1), y (i, n) as elements of the i-th row, z (i, 0),. , Z (i, n-1), z (i, n) is obtained as information representing a step matrix having elements in the i-th row. Thereafter, it is determined whether or not the node N (j) is an independent node (independent variable) based on the information representing the staircase matrix, and the algebraic structure G 1 or the algebraic structure G 2 is assigned to the node N (j). assign. Here, if the node N (j) is not an independent node (that is, if it is a dependent node (dependent variable)), the assignment of the algebraic structure to the node N (j) depends on the assignment to other nodes. . That is, if the allocation to the independent node is determined, the allocation to the subordinate node is also determined accordingly. As a result, the search space can be reduced and the amount of calculation can be reduced.

独立ノードであるか従属ノードであるかの判定は以下のように行われる。
(1)階段行列がz(0,0)=1である行およびz(1,1)=0である行を含む場合にノードN(1)が独立ノードであると判定する。
(2)階段行列が1以上n−2以下の整数t(ω)についてz(ω,0)=・・・=z(ω,t(ω)−1)=0かつz(ω,t(ω))=1である行およびz(ω+1,t(ω)+1)=0である行を含む場合にノードN(t(ω)+1)が独立ノードであると判定する。ただし、ω∈{0,・・・,m−2}であり、t(ω)∈{1,・・・,n−2}である。
(3)階段行列がz(m−1,0)=・・・=z(m−1,t(m−1)−1)=0かつz(m−1,t(m−1))=1である行を含む場合にノードN(t(m−1)+1),・・・,N(n−1)が独立ノードであると判定する。
(4)それ以外のノードN(j)を従属ノードであると判定する。
これにより、独立ノードであるか従属ノードであるかを少ない演算量で判定できる。
The determination as to whether it is an independent node or a dependent node is performed as follows.
(1) When the staircase matrix includes a row with z (0,0) = 1 and a row with z (1,1) = 0, it is determined that the node N (1) is an independent node.
(2) z (ω, 0) = ... = z (ω, t (ω) −1) = 0 and z (ω, t () for an integer t (ω) having a step matrix of 1 to n−2. The node N (t (ω) +1) is determined to be an independent node when it includes a row where ω)) = 1 and a row where z (ω + 1, t (ω) +1) = 0. However, ωε {0,..., M−2} and t (ω) ε {1,.
(3) The step matrix is z (m−1,0) =... = Z (m−1, t (m−1) −1) = 0 and z (m−1, t (m−1)) , N (n−1) is determined to be an independent node when a row including = 1 is included.
(4) The other nodes N (j) are determined to be subordinate nodes.
This makes it possible to determine whether the node is an independent node or a dependent node with a small amount of calculation.

独立ノードおよび従属ノードへの代数的構造の割り当ては以下のように行われる。
(1)まず、独立ノードであると判定されたノードN(ν)(ただし、ν∈{0,・・・,n−1})に代数的構造Gおよび代数的構造Gの何れを割り当てるかを決定する。この割り当ては、例えば、所定の評価関数を用いた探索処理によって行われる。
(2)その後、従属ノードである他のノード(η)(ただし、η∈{0,・・・,n−1}かつη≠ν)に代数的構造Gまたは代数的構造Gを割り当てる。この割り当ては、独立ノードへの割り当てに応じて決まる。
これにより、探索空間を縮小できる。
Algebraic structure assignment to independent nodes and subordinate nodes is performed as follows.
(1) First, a node N (ν) (where νε {0,..., N−1}) determined to be an independent node is assigned an algebraic structure G 1 or an algebraic structure G 2 . Decide whether to allocate. This assignment is performed, for example, by a search process using a predetermined evaluation function.
(2) Thereafter, the algebraic structure G 1 or the algebraic structure G 2 is assigned to another node (η) that is a subordinate node (where η∈ {0,..., N−1} and η ≠ ν). . This assignment is determined according to the assignment to the independent node.
Thereby, the search space can be reduced.

上述の方式は、例えばペアリング等の双線形写像の型変換に適用できる。この場合の構成は以下のようになる。
(1)依存関係グラフは、対称型双線形写像の入力値を得るアルゴリズムに含まれる群演算の依存関係を表す。
(2)代数的構造Gは群であり、対称型双線形写像の定義域G×Gをなす。
(3)代数的構造Gおよび代数的構造Gは互いに異なる群であり、非対称型双線形写像の定義域G×Gをなす。
(4)S(i)=2である。同一の対称型双線形写像の入力値の対に対応するノードN(j)およびN(j)に対応する線形制約がq(j)+q(j)=1∈Fである。ノードN(j)とノードN(j)の祖先ノードであるノードN(j)とに対応する線形制約がq(j)+q(j)=0∈Fである。ただし、j,j,j,j∈{0,・・・,n−1}である。
これにより、対称型双線形写像を用いたアルゴリズムを、非対称型双線形写像を用いたアルゴリズムに高速に変換できる。この具体例については後述する。
The above-described method can be applied to bilinear mapping type conversion such as pairing. The configuration in this case is as follows.
(1) The dependency relationship graph represents a dependency relationship of group operations included in an algorithm for obtaining an input value of a symmetric bilinear map.
(2) The algebraic structure G is a group and forms a domain G × G of a symmetric bilinear map.
(3) The algebraic structure G 1 and the algebraic structure G 2 are groups different from each other, and form the domain G 1 × G 2 of the asymmetric bilinear map.
(4) S (i) = 2. The linear constraint corresponding to the nodes N (j 1 ) and N (j 2 ) corresponding to the same symmetric bilinear mapping input value pair is q (j 1 ) + q (j 2 ) = 1∈F 2 . . Node N (j 3) the node N (j 3) linear constraints q (j 3) corresponding to that the ancestor node node N (j 4) of the + q (j 4) = a 0∈F 2. However, j 1 , j 2 , j 3 , j 4 ε {0,..., N−1}.
As a result, an algorithm using a symmetric bilinear map can be converted to an algorithm using an asymmetric bilinear map at high speed. A specific example will be described later.

以下のように探索空間および評価関数を0−1整数計画法の問題インスタンスに変換し、探索を高速化してもよい。
(1)代数的構造Gでの演算の依存関係を表す依存関係グラフに基づいて、q1,j+Σρ(χ)∈D(j)d(ρ(χ))≦#D(j)であり、∀ρ(χ)∈D(j)についてq1,j+d(ρ(χ))≧1であり、q2,j−Σρ(χ)∈D(j)d(ρ(χ))≦0であり、∀ρ(χ)∈D(j)についてq2,j−d(ρ(χ))≧0である旨を含む線形制約を設定する。ただし、nが2以上の整数であり、j=0,・・・,n−1である。依存関係グラフのノードN(j)に代数的構造Gを割り当てる場合にq1,j=1かつq2,j=0とし、ノードN(j)に代数的構造Gを割り当てる場合にq1,j=0かつq2,j=1とする。G≠Gであり、ノードN(j)に代数的構造Gを割り当てる場合にd(j)=0とし、ノードN(j)に代数的構造Gを割り当てる場合にd(j)=1とする。ノードN(j)の子孫ノードがDN(ρ(j,0)),・・・,DN(ρ(j,#D(j)−1))であり、D(j)が集合{ρ(j,0),・・・,ρ(j,#D(j)−1)}であり、#D(j)が集合D(j)の要素数である。
(2)上述の線形制約のもと、線形の評価関数f(q1,0,・・・,q1,n−1,q2,0,・・・,q2,n−1)の出力値が所定の条件を満たすq1,0,・・・,q1,n−1,q2,0,・・・,q2,n−1を決定する。
1,0,・・・,q1,n−1,q2,0,・・・,q2,n−1を決定することにより、各ノードN(j)への代数的構造の割り当てを行うことができる。
The search space and evaluation function may be converted to a problem instance of 0-1 integer programming as follows to speed up the search.
(1) Based on the dependency graph representing the dependency of operations in the algebraic structure G, q 1, j + Σρ (χ) ∈D (j) d (ρ (χ)) ≦ # D (j) Yes, for ∀ρ (χ) ∈D (j), q 1, j + d (ρ (χ)) ≧ 1, and q 2, j −Σρ (χ) ∈D (j) d (ρ (χ) ) ≦ 0, and a linear constraint including that q 2, j −d (ρ (χ)) ≧ 0 is set for ∀ρ (χ) ∈D (j). However, n is an integer greater than or equal to 2, and j = 0, ..., n-1. When assigning the algebraic structure G 1 to the node N (j) of the dependency graph, q 1, j = 1 and q 2, j = 0, and assigning the algebraic structure G 2 to the node N (j) 1, j = 0 and q2 , j = 1. G 1 ≠ G 2 , d (j) = 0 when assigning the algebraic structure G 1 to the node N (j), and d (j) when assigning the algebraic structure G 2 to the node N (j) = 1. The descendant nodes of the node N (j) are DN (ρ (j, 0)),..., DN (ρ (j, # D (j) −1)), and D (j) is a set {ρ ( j, 0), ..., ρ (j, # D (j) -1)}, and #D (j) is the number of elements in the set D (j).
(2) Under the linear constraints described above, the linear evaluation function f (q 1,0 ,..., Q 1, n−1 , q 2,0 ,..., Q 2, n−1 ) Q 1,0 ,..., Q 1, n−1 , q 2,0 ,..., Q 2, n−1 whose output values satisfy a predetermined condition are determined.
q 1,0, ···, q 1, n-1, q 2,0, ···, by determining the q 2, n-1, allocation of algebraic structure of each node N (j) It can be performed.

評価関数としては、例えば、f(q1,0,・・・,q1,n−1,q2,0,・・・,q2,n−1)=Σj∈{0,・・・,n−1}(w・q1,j+w・q2,j)を用いることができる。ただし、|Gσ|がσ∈{1,2}について代数的構造Gσの元を表現するために必要な情報量(例えば、ビット長)であり、wはノードN(j)について予め定められた重み係数であり、wσ=w・|Gσ|である。wは0以上の実数であってもよいし、負の実数であってもよい。この評価関数は、各ノードに割り当てられた代数的構造によって実装されるアルゴリズムでの演算量に対応する。この評価関数の出力値が小さいほど演算量が小さい。そのため、この評価関数の出力値が最小となるような割り当てを行うことが望ましい。 As the evaluation function, for example, f (q 1,0 ,..., Q 1, n−1 , q 2,0 ,..., Q 2, n−1 ) = Σ j∈ {0,. , N−1} (w j , 1 · q 1, j + w j , 2 · q 2, j ) can be used. However, | G σ | is an information amount (for example, bit length) necessary for expressing an element of the algebraic structure G σ with respect to σ∈ {1, 2}, and w j is preliminarily set for the node N (j). It is a determined weighting factor, and w j , σ = w j · | G σ |. w j may be a real number greater than or equal to 0, or may be a negative real number. This evaluation function corresponds to the amount of computation in an algorithm implemented by an algebraic structure assigned to each node. The smaller the output value of this evaluation function, the smaller the calculation amount. For this reason, it is desirable to perform allocation so that the output value of the evaluation function is minimized.

双線形写像の型変換に適用する場合の構成は以下のようになる。
(1)依存関係グラフは、対称型双線形写像の入力値を得るアルゴリズムに含まれる群演算の依存関係を表す。
(2)代数的構造Gは群であり、対称型双線形写像の定義域G×Gをなす。
(3)代数的構造Gおよび代数的構造Gは互いに異なる群であり、非対称型双線形写像の定義域G×Gをなす。
(4)線形制約は、同一の対称型双線形写像の入力値の対に対応するノードN(j)およびN(j)についてd(j)+d(j)=1であり、ノードN(j)とノードN(j)の祖先ノードであるノードN(j)とについてd(j)+d(j)=0である旨をさらに含む。
これにより、対称型双線形写像を用いたアルゴリズムを、非対称型双線形写像を用いたアルゴリズムに高速に変換できる。この具体例については後述する。
The configuration when applied to the type conversion of the bilinear map is as follows.
(1) The dependency relationship graph represents a dependency relationship of group operations included in an algorithm for obtaining an input value of a symmetric bilinear map.
(2) The algebraic structure G is a group and forms a domain G × G of a symmetric bilinear map.
(3) The algebraic structure G 1 and the algebraic structure G 2 are groups different from each other, and form the domain G 1 × G 2 of the asymmetric bilinear map.
(4) The linear constraint is d (j 1 ) + d (j 2 ) = 1 for nodes N (j 1 ) and N (j 2 ) corresponding to the same symmetric bilinear mapping input value pair, further comprising the fact the node N (j 3) the node N (j 3) the node N (j 4) and the d (j 3) is an ancestor node of + d (j 4) = 0.
As a result, an algorithm using a symmetric bilinear map can be converted to an algorithm using an asymmetric bilinear map at high speed. A specific example will be described later.

[第1実施形態]
以下では、代数的構造G,G,Gを群とし、上述の方式をペアリング型変換に適用する例を説明する。
[First Embodiment]
Hereinafter, an example in which the algebraic structures G, G 1 and G 2 are grouped and the above-described method is applied to the pairing type conversion will be described.

<定義>
まず、本形態で用いる用語を定義する。
暗号学において「ペアリング」とは概ね次のような確率的多項式時間アルゴリズムのことである。
1.λは安全変数。
2.qは十分大きい正整数。
3.G,G,Gはそれぞれ同型の位数qの群(例えば有限アーベル群)で、それぞれ多項式時間の標本演算および群演算を持つ。
4.e:G×G→Gは多項式時間双準同型写像。
5.G,G,G上のCDH問題は難しい。
<Definition>
First, terms used in this embodiment are defined.
In cryptography, “pairing” generally means the following stochastic polynomial time algorithm.
1. λ is a safety variable.
2. q is a sufficiently large positive integer.
3. G 1, in G 2, G T each order q group of the same type (e.g., finite Abelian group), each with a sample operation and group operation of polynomial time.
4). e: G 1 × G 2 → G T is polynomial-time bi-homomorphism.
5. G 1, G 2, CDH problem on the G T is difficult.

暗号プロトコルに用いられるペアリングは以下の3つの型に分類される(例えば、参考文献1「S. D. Galbraith, K. G. Paterson, and N. P. Smart, “Pairings for cryptographers,” Discrete Applied Mathematics, 156(16):3113-3121, 2008.」参照)。
Type1:G=G
Type2:G≠G,Φ:G→Gなる多項式時間同型写像が存在する。
Type3:G≠G,G,Gの間に多項式時間同型写像が存在しない。
Type1は構造的に簡単な為、多くの暗号プロトコルがType1を前提に設計されている。しかし計算量や空間計算量(公開鍵や暗号文等のサイズなど)などの効率の観点から現在ではType3のペアリングを使用することが望ましいと考えられるようになった。
Pairing used in cryptographic protocols is classified into the following three types (for example, Reference 1 “SD Galbraith, KG Paterson, and NP Smart,“ Pairings for cryptographers, ”Discrete Applied Mathematics, 156 (16): 3113. -3121, 2008 ").
Type1: G 1 = G 2
There exists a polynomial time isomorphism map of Type 2 : G 1 ≠ G 2 and Φ: G 2 → G 1 .
Type 3: There is no polynomial time isomorphism between G 1 ≠ G 2 , G 1 , and G 2 .
Since Type 1 is structurally simple, many cryptographic protocols are designed on the assumption of Type 1. However, it is now considered desirable to use Type 3 pairing from the viewpoint of efficiency such as computational complexity and spatial computational complexity (such as the size of public keys and ciphertexts).

本形態では、Type1のペアリング(対称型双線形写像)が定義されたペアリング群上で動作する方式Aのアルゴリズムを、Type3のペアリング(非対称型双線形写像)が定義されたペアリング群で動作する方式Aのアルゴリズムに変換する。以下ではType1の群をGと表記する。G=Gであってもよいし、G≠Gであってもよい。G=Gであってもよいし、G≠Gであってもよい。方式Aのアルゴリズムは、方式Aを実行するプロトコルの構成要素の各アルゴリズムからなり、特にType1のペアリングの入力値を得るためアルゴリズムを含む。さらに方式Aの安全性は「帰着」と呼ばれるアルゴリズム(帰着アルゴリズム)の集合が存在することによって示される。方式Aのアルゴリズムは、さらにこの帰着アルゴリズムも含む。 In this embodiment, the method A 1 algorithm that operates on a pairing group in which Type 1 pairing (symmetric bilinear mapping) is defined is paired with Type 3 pairing (asymmetric bilinear mapping). converting the algorithm of type a 3 operating in groups. Hereinafter, the group of Type 1 is denoted as G. G = G 1 or G ≠ G 1 may be sufficient. G = G 2 or G ≠ G 2 may be sufficient. Algorithm scheme A 1 is made from the algorithm of the components of a protocol to execute the method A 1, especially an algorithm for obtaining the input values of the pairing Type1. Further safety scheme A 1 is indicated by the presence of a set of algorithms (resulting algorithm) called "return". Algorithm scheme A 1 also comprises further the resulting algorithm.

方式Aのアルゴリズムは、それに含まれる群演算の依存関係を表す依存関係グラフ(有向グラフ)によって表現できる(例えば、非特許文献2参照)。方式Aのアルゴリズムの記述において、入力、出力、途中結果として現れる各群要素には固有のラベルが与えられる。依存関係グラフでは、アルゴリズムが扱うすべての各群要素のラベルに「ノード(変数)」が割り当てられる。依存関係グラフは、ノードからその群要素を用いて得られる次の群要素のノードに向かう「エッジ」を持つ。図3に方式Aのアルゴリズムに含まれる群演算の依存関係を表す依存関係グラフを例示する。図3の依存関係グラフはノードX−X10およびp[0],p[1],p[0],p[1]を含む。各ノードは群Gの群要素に対応し、ノードから他のノードに向かうエッジを持つ。例えば、ノードXは群Gの生成元gに対応し、ノードXは生成元gを用いた群演算で得られる群要素gυ2∈Gを表す。例えば、ノードX,Xはそれぞれ群要素gυ4,gυ7∈Gに対応し、ノードXは群要素gυ4,gυ7を用いた群演算(例えば、gυ4・gυ7∈G)で得られる群要素gυ9∈Gを表す。 The algorithm of the method A 1 can be expressed by a dependency graph (directed graph) indicating the dependency of group operations included in the algorithm (see, for example, Non-Patent Document 2). In the description of the algorithm type A 1, input, output, and each group element appearing as intermediate results is given a unique label. In the dependency graph, “node (variable)” is assigned to the labels of all group elements handled by the algorithm. The dependency graph has an “edge” from the node toward the node of the next group element obtained by using the group element. It illustrates a dependency graph representing a group operation dependencies included in the algorithm of type A 1 in FIG. The dependency graph of FIG. 3 includes nodes X 1 -X 10 and p 1 [0], p 1 [1], p 2 [0], p 2 [1]. Each node corresponds to a group element of group G, and has an edge from the node toward another node. For example, the node X 1 corresponds to the generator g of the group G, and the node X 2 represents the group element g υ2 εG obtained by the group operation using the generator g. For example, the nodes X 4 and X 7 correspond to the group elements g υ4 and g υ7 εG, respectively, and the node X 9 has a group operation using the group elements g υ4 and g υ7 (for example, g υ4 · g υ7 εG). Represents the group element g υ9 ∈G obtained by

ノードXからエッジ方向にたどってたどり着くことのできるノードをXの「子孫ノード」と呼ぶ。逆に、ノードXからエッジの逆方向にたどってたどり着くことのできるノードをXの「祖先ノード」と呼ぶ。図3の例の場合、ノードXはノードXの子孫ノードであり、逆にノードXはノードXの祖先ノードである。 A node that can be reached from the node X in the edge direction is called a “descendant node” of X. Conversely, a node that can be reached from the node X in the opposite direction of the edge is called an “ancestor node” of X. In the example of FIG. 3, the node X 9 is a descendant node of the node X 2, node X 2 in the reverse is the ancestor node of the node X 9.

ペアリングの入力値に対応するノードを「ペアリングノード」と呼ぶ。ペアリングの入力値は2個の群要素の対であり、それらに対応するペアリングノードも対となる。図3の例の場合、p[0],p[1],p[0],p[1]がペアリングノードである。対(p[0],p[1])に対応する群要素の対がペアリングeへの入力となり、対(p[0],p[1])に対応する群要素の対がペアリングeへの入力となる。 A node corresponding to the input value of pairing is called a “pairing node”. The pairing input value is a pair of two group elements, and a pairing node corresponding to them is also a pair. In the example of FIG. 3, p 1 [0], p 1 [1], p 2 [0], and p 2 [1] are pairing nodes. A pair of group elements corresponding to the pair (p 1 [0], p 1 [1]) becomes an input to the pairing e 1 and a group element corresponding to the pair (p 2 [0], p 2 [1]) pair becomes the input to the pairing e 2 of.

他のノードへのエッジが存在しないノード、および、他のノードへのエッジは存在するがそのエッジをたどった先が再び元のノードに戻るループを構成するノードを「ボトムノード」と呼ぶ。図3の例では、ノードXがボトムノードである。 A node that does not have an edge to another node and a node that forms a loop in which an edge to another node exists but the destination following the edge returns to the original node is referred to as a “bottom node”. In the example of FIG. 3, the node X 8 is a bottom node.

群Gの元xに対する群演算H(x)=gα1∈Gを仮定する。ただし、α1は任意の正の整数である。このとき、群Gの生成元κ∈Gおよび群Gの生成元κ∈G、ならびに元xに対応する群要素x∈Gおよびx∈Gについて、α1を知ることなく、H(x)=κ α1およびH(x)=κ α1を満たす演算HおよびHを設定することが困難な群演算Hが存在する。群演算Hの例はハッシュ関数である。このような群演算Hの演算値に対応するノードに群GおよびGの両方を割り当てることはできない。このようなノードを「2重化禁止ノード」と呼ぶ。図3の例では、ノードXが2重化禁止ノードである。 Assume a group operation H (x) = g α1 ∈G for an element x of the group G. Here, α1 is an arbitrary positive integer. At this time, the group elements x 1 ∈G 1 and x 2 ∈G 2 corresponding to the generated source kappa 1 ∈G 1 and origin kappa 2 ∈G 2 groups G 2 groups G 1, and based on the x, α1 Without knowing, there is a group operation H in which it is difficult to set operations H 1 and H 2 that satisfy H 1 (x 1 ) = κ 1 α1 and H 2 (x 2 ) = κ 2 α1 . An example of the group operation H is a hash function. It is impossible to assign both the groups G 1 and G 2 to the node corresponding to the operation value of the group operation H. Such a node is called a “duplication prohibited node”. In the example of FIG. 3, the node X 6 is duplicated prohibition node.

ペアリングノード、ボトムノード、および2重化禁止ノードをまとめて「クリティカルノード」と呼ぶ。クリティカルノードではないノードを「ノーマルノード」と呼ぶ。クリティカルノードには、群GまたはGの何れか一方しか割り当てることができない。一方、ノーマルノードには、群GまたはGの何れか一方のみを割り当ててもよいし、群GおよびGの両方を割り当ててもよい。図3の例では、ノードX,X,p[0],p[1],p[0],p[1]がクリティカルノードであり、ノードX−X,X,X,X10がノーマルノードである。 The pairing node, the bottom node, and the duplication prohibition node are collectively referred to as a “critical node”. A node that is not a critical node is called a “normal node”. Critical node can not allocate any of the group G 1 or G 2 mutually exclusive. On the other hand, the normal node may be assigned only one of the groups G 1 or G 2, may be assigned to both groups G 1 and G 2. In the example of FIG. 3, nodes X 6 , X 8 , p 1 [0], p 1 [1], p 2 [0], p 2 [1] are critical nodes, and nodes X 1 -X 5 , X 7 , X 9 and X 10 are normal nodes.

図4は、図3の依存関係グラフのノードのうち、群Gが割り当てられたノードによって再構築された依存関係グラフを例示する。図5は、図3の依存関係グラフのノードのうち、群Gが割り当てられたノードから再構築された依存関係グラフを例示する。これらの依存関係グラフが方式Aのアルゴリズムを表す。これらの例に示すように、クリティカルノードには群GまたはGの何れか一方のみしか割り当てることはできないが、ノーマルノードには群GおよびGの両方を二重に割り当ててもよいし、それらの一方のみを割り当ててもよい。 4, of the nodes of the dependency graph of FIG. 3 illustrates a dependency graph reconstructed by the node group G 1 is assigned. 5, among the nodes of the dependency graph of FIG. 3 illustrates a dependency graph that is reconstructed from the node group G 2 is assigned. These dependency graph representing an algorithm scheme A 3. As shown in these examples, it is not possible to allocate only a either one of the group G 1 or G 2 is the critical node may be assigned to both groups G 1 and G 2 double the normal node However, only one of them may be assigned.

<構成>
図1に例示するように、本形態の構造変換装置1は、入力部11、記憶部12、制御部13、グラフ構築部141、線形制約設定部142、行列生成部143、行列変形部144、判定部145、および構造割当部147を有する。構造割当部147は、探索部147a、割当部147b、および判定部147cを有する。構造変換装置1は、制御部13の制御のもとで各処理を実行する。入力されたデータおよび各部で得られたデータは記憶部12に格納され、必要に応じて読み出されて各処理に用いられる。構造変換装置1は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
<Configuration>
As illustrated in FIG. 1, the structure conversion device 1 according to the present embodiment includes an input unit 11, a storage unit 12, a control unit 13, a graph construction unit 141, a linear constraint setting unit 142, a matrix generation unit 143, a matrix transformation unit 144, A determination unit 145 and a structure allocation unit 147 are included. The structure allocation unit 147 includes a search unit 147a, an allocation unit 147b, and a determination unit 147c. The structure conversion device 1 executes each process under the control of the control unit 13. The input data and the data obtained by each unit are stored in the storage unit 12, and are read out as necessary and used for each processing. The structure conversion apparatus 1 is a general-purpose or dedicated computer including a processor (hardware processor) such as a CPU (central processing unit) and a memory such as random-access memory (RAM) and read-only memory (ROM), for example. Is configured by executing a predetermined program. The computer may include a single processor and memory, or may include a plurality of processors and memory. This program may be installed in a computer, or may be recorded in a ROM or the like in advance. In addition, some or all of the processing units are configured using an electronic circuit that realizes a processing function without using a program, instead of an electronic circuit (circuitry) that realizes a functional configuration by reading a program like a CPU. May be. In addition, an electronic circuit constituting one device may include a plurality of CPUs.

<処理>
図2を用い、方式Aのアルゴリズムを方式Aのアルゴリズムに変換する処理を説明する。まず、方式Aのアルゴリズムが入力部11に入力され、記憶部12に格納される。グラフ構築部141は、記憶部12から方式Aのアルゴリズムを読み込み、それに含まれる群演算の依存関係を表す依存関係グラフgraph(A)を構築して記憶部12に格納する(ステップS141)。
<Processing>
A process of converting the algorithm of the method A 1 into the algorithm of the method A 3 will be described with reference to FIG. First, the algorithm of the method A 1 is input to the input unit 11 and stored in the storage unit 12. The graph construction unit 141 reads the algorithm of the method A 1 from the storage unit 12, constructs a dependency graph graph (A 1 ) representing the dependency relationship of the group operation included in the algorithm, and stores it in the storage unit 12 (step S141). .

線形制約設定部142は記憶部12から依存関係グラフgraph(A)を抽出し、それに含まれるクリティカルノードに対する線形制約を設定して出力する。クリティカルノードには、群GおよびGの両方を二重に割り当てることができないという制約の他、以下の制約がある。
(制約1)対をなすペアリングノードの一方に群Gを割り当てた場合、その他方には群Gが割り当てられなければならない。
(制約2)あるクリティカルノードの祖先ノードのクリティカルノードが存在する場合、それらのクリティカルノードに割り当てられる群は等しい。
ここで、依存関係グラフgraph(A)のクリティカルノードをN(j)と表記し、N(j)に群Gを割り当てる場合にq(j)=0∈Fとし、N(j)に群Gを割り当てる場合にq(j)=1∈Fとする。ただし、nが2以上の整数であり、j=0,・・・,n−1である。すると、対をなすペアリングノード(同一の対称型双線形写像の入力値の対に対応するノード)N(j)およびN(j)に対応する制約1は、関係式q(j)+q(j)=1∈Fで表現できる。また、N(j)とその祖先ノードであるN(j)とに対応する制約2は、関係式q(j)+q(j)=0∈Fで表現できる。このような関係式を一般化すると、q(s(i,φ(0)))+・・・+q(s(i,φ(S(i)−1)))=y(i,n)∈Fとなる。ただし、mが1以上の整数であり、i=0,・・・,m−1である。S(i)は2以上の整数(例えば、S(i)=2)であり、{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}⊆{0,・・・,n−1}である。線形制約設定部142は、このような関係式を線形制約として出力する(ステップS142)。
The linear constraint setting unit 142 extracts the dependency graph graph (A 1 ) from the storage unit 12, sets the linear constraint for the critical node included therein, and outputs it. In addition to the restriction that both of the groups G 1 and G 2 cannot be assigned twice, the critical node has the following restrictions.
(Constraint 1) When the group G 1 is assigned to one of the pairing pairing nodes, the group G 2 must be assigned to the other side.
(Constraint 2) When there are critical nodes of ancestor nodes of a certain critical node, the groups assigned to those critical nodes are equal.
Here, the critical node of the dependency graph graph (A 1 ) is expressed as N (j), and when assigning the group G 1 to N (j), q (j) = 0∈F 2 and N (j) Q (j) = 1εF 2 when assigning group G 2 to. However, n is an integer greater than or equal to 2, and j = 0, ..., n-1. Then, a pairing node (a node corresponding to a pair of input values of the same symmetric bilinear map) N (j 1 ) and N (j 2 ) corresponding to the pair 1 is a relational expression q (j 1 ) + Q (j 2 ) = 1∈F 2 . The constraint 2 corresponding to N (j 3 ) and its ancestor node N (j 4 ) can be expressed by the relational expression q (j 3 ) + q (j 4 ) = 0εF 2 . Generalizing such a relational expression, q (s (i, φ (0))) +... + Q (s (i, φ (S (i) −1))) = y (i, n) the ∈F 2. However, m is an integer greater than or equal to 1, and i = 0, ..., m-1. S (i) is an integer of 2 or more (for example, S (i) = 2), and {s (i, φ (0)),..., S (i, φ (S (i) −1) )} ⊆ {0,..., N−1}. The linear constraint setting unit 142 outputs such a relational expression as a linear constraint (step S142).

線形制約q(s(i,φ(0)))+・・・+q(s(i,φ(S(i)−1)))=y(i,n)は、行列生成部143に入力される。行列生成部143は、{0,・・・,n−1}における{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}の補集合の要素rについてy(i,r)=0とし、{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}の要素kについてy(i,k)=1としたy(i,0),・・・,y(i,n−1),y(i,n)をi行目の要素とする行列matrix(A)を表す情報を得て出力する。すなわち、q(s(i,φ(0)))+・・・+q(s(i,φ(S(i)−1)))=y(i,n)を、y(i,j)∈Fを用いてy(i,0)・q(0)+・・・+y(i,n−1)・q(n−1)=y(i,n)と表記した際のy(i,0),・・・,y(i,n−1),y(i,n)をi行目の要素とするm×n行列をmatrix(A)とする。y(i,0),・・・,y(i,n−1)およびy(i,n)は、多項式y(i,0)・q(0)+・・・+y(i,n−1)・q(n−1)=y(i,n)の係数および定数項に相当する。図3の例において、X,X,p[0],p[1],p[0],p[1]をそれぞれN(0),N(1),N(2),N(3),N(4),N(5)とすると、matrix(A)は、以下のようになる(ステップS143)。
0011001
0000111 式(1)
1001000
1100000
The linear constraint q (s (i, φ (0))) +... + Q (s (i, φ (S (i) −1))) = y (i, n) is input to the matrix generation unit 143. Is done. The matrix generation unit 143 complements {s (i, φ (0)),..., S (i, φ (S (i) −1))} in {0,. Y (i, r) = 0 for the element r of the set and y for the element k of {s (i, φ (0)),..., S (i, φ (S (i) −1))} A matrix matrix (A 1 ) having y (i, 0),..., Y (i, n−1), y (i, n) as elements of the i-th row, where (i, k) = 1 is set. Obtain and output information to represent. That is, q (s (i, φ (0))) +... + Q (s (i, φ (S (i) -1))) = y (i, n), y (i, j) Y (i, 0) · q (0) +... + Y (i, n−1) · q (n−1) = y (i, n) using ∈F 2 i, 0), ···, y (i, n-1), and y (i, a m × n matrix of n) and the i-th row element matrix (a 1). y (i, 0),..., y (i, n-1) and y (i, n) are polynomials y (i, 0) .q (0) +... + y (i, n- 1) Corresponds to a coefficient and a constant term of q (n-1) = y (i, n). In the example of FIG. 3, X 6 , X 8 , p 1 [0], p 1 [1], p 2 [0], and p 2 [1] are represented by N (0), N (1), N (2 ), N (3), N (4), and N (5), the matrix (A 1 ) is as follows (step S143).
0011001
0000111 Formula (1)
1001000
1100000

行列matrix(A)を表す情報は行列変形部144に入力される。行列変形部144は、この情報を用い、行列matrix(A)を階段行列e-matrix(A)に変形する。階段行列e-matrix(A)は、z(i,0),・・・,z(i,n−1),z(i,n)∈Fをi行目の要素とするm×n行列である。行列matrix(A)から階段行列e-matrix(A)への変形は、ガウスの消去法(掃き出し法)等の周知の方法を用いて行うことができる。例えば、式(1)に例示した行列matrix(A)の階段行列e-matrix(A)は以下のようになる(ステップS144)。
1001000
0101000 式(2)
0011001
0000111
Information representing the matrix matrix (A 1 ) is input to the matrix transformation unit 144. The matrix transformation unit 144 transforms the matrix matrix (A 1 ) into a step matrix e-matrix (A 1 ) using this information. The staircase matrix e-matrix (A 1 ) is expressed as m × with z (i, 0),..., Z (i, n−1), z (i, n) ∈F 2 as elements of the i-th row. n matrix. The transformation from the matrix matrix (A 1 ) to the staircase matrix e-matrix (A 1 ) can be performed using a known method such as Gaussian elimination (sweeping method). For example, the step matrix e-matrix (A 1 ) of the matrix matrix (A 1 ) illustrated in Expression (1) is as follows (step S144).
1001000
0101000 Formula (2)
0011001
0000111

階段行列e-matrix(A)は判定部145に入力される。判定部145は、e-matrix(A)がz(ι,0)=・・・=z(ι,n−1)=0かつz(ι,n)=1となる要素を含む場合(ただし、ι∈{0,・・・,m−1})、ステップS142で設定された線形制約での割り当てが不可能であると判定し(ステップS145)、処理を終了する。そうでない場合、判定部145は割り当てが可能であると判定し(ステップS145)、処理をステップS147に進める。式(2)の例の場合、非零の最後の行は0000111であり、z(ι,0)=・・・=z(ι,n−1)=0かつz(ι,n)=1となる要素は存在しない。そのため、判定部145は割り当てが可能であると判定し、処理をステップS147に進める。 The staircase matrix e-matrix (A 1 ) is input to the determination unit 145. The determination unit 145 includes a case where e-matrix (A 1 ) includes an element where z (ι, 0) =... = Z (ι, n−1) = 0 and z (ι, n) = 1 ( However, ιε {0,..., M−1}), it is determined that the assignment with the linear constraint set in step S142 is impossible (step S145), and the process is terminated. Otherwise, the determination unit 145 determines that assignment is possible (step S145), and advances the processing to step S147. In the case of the formula (2), the last nonzero row is 0000111, z (ι, 0) =... = Z (ι, n−1) = 0 and z (ι, n) = 1 There is no element that becomes. Therefore, the determination unit 145 determines that assignment is possible, and advances the process to step S147.

ステップS147では、まず階段行列e-matrix(A)が判定部147cに入力される。判定部147cは以下の判定を行う。
(1)階段行列e-matrix(A)がz(0,0)=1である行およびz(1,1)=0である行を含む場合にN(1)が独立ノードであると判定する。
(2)階段行列e-matrix(A)が1以上n−2以下の整数t(ω)についてz(ω,0)=・・・=z(ω,t(ω)−1)=0かつz(ω,t(ω))=1である行およびz(ω+1,t(ω)+1)=0である行を含む場合にN(t(ω)+1)が独立ノードであると判定する。
(3)階段行列e-matrix(A)がz(m−1,0)=・・・=z(m−1,t(m−1)−1)=0かつz(m−1,t(m−1))=1である行を含む場合にノードN(t(m−1)+1),・・・,N(n−1)が独立ノードであると判定する。
(4)それ以外のN(j)を従属ノードであると判定する。
In step S147, first, the staircase matrix e-matrix (A 1 ) is input to the determination unit 147c. The determination unit 147c performs the following determination.
(1) If the step matrix e-matrix (A 1 ) includes a row where z (0,0) = 1 and a row where z (1,1) = 0, N (1) is an independent node judge.
(2) z (ω, 0) =... = Z (ω, t (ω) −1) = 0 for an integer t (ω) where the step matrix e-matrix (A 1 ) is 1 or more and n−2 or less. N (t (ω) +1) is determined to be an independent node when it includes a row where z (ω, t (ω)) = 1 and a row where z (ω + 1, t (ω) +1) = 0. To do.
(3) The step matrix e-matrix (A 1 ) is z (m−1,0) =... = Z (m−1, t (m−1) −1) = 0 and z (m−1, If the row includes t (m−1)) = 1, it is determined that the nodes N (t (m−1) +1),..., N (n−1) are independent nodes.
(4) It is determined that other N (j) are subordinate nodes.

N(j)が独立ノードである場合、他のクリティカルノードへの群の割り当てと独立にN(j)に群GまたはGを割り当てることができる。N(j)が従属ノードである場合、他のクリティカルノードへの群の割り当てに応じて群GまたはGの割り当てが決まる。例えば、式(2)の例では階段行列e-matrix(A)の3行目が0011001であり、4行目が0000111である。そのため、ω=2,t(2)=2について、z(2,0)=z(2,1)=0かつz(2,2)=1であり、かつ、z(3,3)=0である。そのため、判定部147cはN(3)が独立ノードであると判定する。また、m=4,t(3)=4,n=6について、z(3,0)=・・・=z(3,3)=0かつz(3,4)=1である。そのため、判定部147cは、N(5)が独立ノードであると判定する。この例のN(3)はp[1]、N(5)はp[1]であり、これらは確かに独立ノードである(図3)。一方、Xはp[1]の祖先ノードであり、Xの祖先ノードでもある。また、p[0]にはp[1]とは異なる群が割り当てられる。そのため、X,X,p[0]はp[1]の従属ノードである。また、p[0]にはp[1]とは異なる群が割り当てられる。そのため、p[0]はp[1]の従属ノードである(ステップS147c)。 If N (j) is an independent node, the group G 1 or G 2 can be assigned to N (j) independently of the assignment of the group to other critical nodes. When N (j) is a subordinate node, the assignment of the group G 1 or G 2 is determined according to the assignment of the group to other critical nodes. For example, in the example of Expression (2), the third row of the staircase matrix e-matrix (A 1 ) is 0011001, and the fourth row is 0000111. Therefore, for ω = 2, t (2) = 2, z (2,0) = z (2,1) = 0 and z (2,2) = 1, and z (3,3) = 0. Therefore, the determination unit 147c determines that N (3) is an independent node. For m = 4, t (3) = 4, and n = 6, z (3,0) =... = Z (3,3) = 0 and z (3,4) = 1. Therefore, the determination unit 147c determines that N (5) is an independent node. In this example, N (3) is p 1 [1] and N (5) is p 2 [1], which are certainly independent nodes (FIG. 3). On the other hand, X 6 is an ancestor node of p 1 [1], and is also an ancestor node of X 8 . Also, a group different from p 1 [1] is assigned to p 1 [0]. Therefore, X 6 , X 8 , p 1 [0] are subordinate nodes of p 1 [1]. Further, a group different from p 2 [1] is assigned to p 2 [0]. Therefore, p 2 [0] is a subordinate node of p 2 [1] (step S147c).

N(j)およびN(j)が独立ノードであるか否かの情報は探索部147aに入力される。探索部147aは、所定の評価関数を用い、独立ノードであると判定されたクリティカルノードN(ν)(ただし、ν∈{0,・・・,n−1})に群Gおよび群Gの何れを割り当てる。評価関数としては、独立ノードであるクリティカルノードN(ν)に対応する群要素のビット長の合計値を表す関数、すべてのクリティカルノードN(j)に対応する群要素のビット長の合計値を表す関数、すべてのノードの群要素のビット長の合計値を表す関数などを例示できる。探索にはモンテカルロ法等の周知の手段を用いればよい。ただし、探索空間は独立ノードであると判定されたクリティカルノードN(ν)だけであるため、その探索に必要な演算量を抑えることができる。探索部147aは、N(ν)への群の割り当て結果を出力する(ステップS147a)。 Information on whether N (j) and N (j) are independent nodes is input to the search unit 147a. The search unit 147a uses a predetermined evaluation function to set the group G 1 and the group G to the critical node N (ν) (where ν∈ {0,..., N−1}) determined to be an independent node. Any of 2 is assigned. As the evaluation function, a function representing the total value of the bit lengths of the group elements corresponding to the critical node N (ν) which is an independent node, and the total value of the bit lengths of the group elements corresponding to all the critical nodes N (j) Examples of such functions include a function that represents the total value of the bit lengths of the group elements of all nodes. A well-known means such as the Monte Carlo method may be used for the search. However, since the search space is only the critical node N (ν) determined to be an independent node, the amount of calculation required for the search can be suppressed. The search unit 147a outputs the result of group assignment to N (ν) (step S147a).

割当部147bは、N(ν)への群の割り当て結果およびN(j)を入力とし、従属ノードであると判定されたクリティカルノードへ群Gおよび群Gの何れを割り当てる。この割り当ては、N(ν)への群の割り当て結果から一義的に定まる。例えば、割当部147bは、階段行列e-matrix(A)のiが大きい行から順番に、z(i,j)=1となる従属ノードN(j)に割り当てる群を決定していく。例えば、式(2)の例の場合、独立ノードN(3),N(5)には既に群GまたはGが割り当てられている。まず、割当部147bは、N(5)に割り当てられている群と異なる群をN(4)に割り当てる。次に割当部147bは、N(3)に割り当てられている群と異なる群をN(2)に割り当てる。次に割当部147bは、N(3)に割り当てられている群と同じ群をN(1)に割り当てる。最後に割当部147bは、N(3)に割り当てられている群と同じ群をN(0)に割り当てる。これにより、すべてのクリティカルノードN(0),・・・,N(n−1)に群GまたはGがそれぞれ割り当てられた。その後、割当部147bは、依存関係グラフgraph(A)のノーマルノードに群GおよびGの少なくとも一方を割り当てる。ノーマルノードへの群の割り当ては任意の方法を用いればよい。ただし、クリティカルノードの祖先ノードには、少なくともそのクリティカルノードに割り当てられた群が割り当てられるか、群GおよびGの両方が二重に割り当てられる。割当部147bは、このように得た群Gが割り当てられたノードからなる依存関係グラフ、および群Gが割り当てられたノードからなる依存関係グラフからなる集合を、依存関係グラフgraph(A)(例えば、図4,図5)として出力する(ステップS147b)。 Allocation unit 147b receives the group allocation result to N (ν) and N (j) as inputs, and allocates either group G 1 or group G 2 to the critical node determined to be a subordinate node. This assignment is uniquely determined from the result of group assignment to N (ν). For example, the assigning unit 147b determines a group to be assigned to the subordinate node N (j) where z (i, j) = 1 in order from the row with the largest i in the staircase matrix e-matrix (A 1 ). For example, in the case of the expression (2), the group G 1 or G 2 has already been assigned to the independent nodes N (3) and N (5). First, the assigning unit 147b assigns a group different from the group assigned to N (5) to N (4). Next, the assigning unit 147b assigns a group different from the group assigned to N (3) to N (2). Next, the assigning unit 147b assigns the same group as that assigned to N (3) to N (1). Finally, the assigning unit 147b assigns the same group as that assigned to N (3) to N (0). As a result, the group G 1 or G 2 is assigned to all the critical nodes N (0),..., N (n−1), respectively. Thereafter, the assigning unit 147b assigns at least one of the groups G 1 and G 2 to the normal node of the dependency relationship graph graph (A 1 ). Arbitrary methods may be used to assign groups to normal nodes. However, at least a group assigned to the critical node is assigned to the ancestor node of the critical node, or both the groups G 1 and G 2 are assigned twice. The assigning unit 147b obtains a set of dependency graphs (A 3 ), which are obtained from the dependency graph composed of the nodes to which the group G 1 is assigned, and the dependency graph composed of the nodes to which the group G 2 is assigned. ) (For example, FIG. 4 and FIG. 5) (step S147b).

<具体例1>
図6に、Bonehらの検証者ローカル失効付きグループ署名の依存関係グラフgraph(A)を示す(例えば、参考文献2「D. Boneh and H. Shacham, “Group signatures with verifier-local revocation,” In V. Atluri,B. Pfitzmann, and P. D. McDaniel, editors, Proceedings of the 11th ACM Conference on Computer and Communications Security, CCS 2004, Washington, DC, USA, October 25-29, 2004, pages 168-177. ACM, 2004.」等参照)。図6の例では、(p[0],p[1]),・・・,(p[0],p[1])がそれぞれペアリングノードの対である。また、他のノードへのエッジが存在しないR,R,(g 1/γ+xがボトムノードである。また、u,vが2重化禁止ノードにあたる。したがって、このグラフにはu,v,R,R,(g 1/γ+x,p[0],p[1],・・・,p[0],p[1]の21個のクリティカルノードN(0),・・・,N(20)が存在する。
<Specific example 1>
FIG. 6 shows a dependency graph graph (A 1 ) of a verifier local revocation group signature of Boneh et al. (For example, reference document “D. Boneh and H. Shacham,“ Group signatures with verifier-local revocation, ” In V. Atluri, B. Pfitzmann, and PD McDaniel, editors, Proceedings of the 11th ACM Conference on Computer and Communications Security, CCS 2004, Washington, DC, USA, October 25-29, 2004, pages 168-177. ACM, 2004. "). In the example of FIG. 6, (p 1 [0], p 1 [1]),..., (P 8 [0], p 8 [1]) are each a pair of pairing nodes. Also, R 1 , R 2 , (g 1 * ) 1 / γ + x where no edge to another node exists is a bottom node. U and v correspond to nodes that are prohibited from being duplicated. Therefore, this graph shows u, v, R 1 , R 2 , (g 1 * ) 1 / γ + x , p 1 [0], p 1 [1],..., P 8 [0], p 8 [ 1] 21 critical nodes N (0),..., N (20).

この場合、ステップS143では以下の21×22の行列matrix(A)が生成される。
0000011000000000000001
0000000110000000000001
0000000001100000000001
0000000000011000000001
0000000000000110000001
0000000000000001100001
0000000000000000011001
0000000000000000000111
1010000000000000000000
1001000000000000000000
0100100000000000000000
0100000100000000000000
0100000001000000000000
0100000000010000000000
0100000000000100000000
0100000000000001000000
1000000000000000100000
0100000000000000010000
1000000000000000001000
1000000000000000000100
0100000000000000000010
In this case, the following 21 × 22 matrix matrix (A 1 ) is generated in step S143.
0000011000000000000001
0000000110000000000001
0000000001100000000001
0000000000011000000001
0000000000000110000001
0000000000000001100001
0000000000000000011001
0000000000000000000111
1010000000000000000000
1001000000000000000000
0100100000000000000000
0100000100000000000000
0100000001000000000000
0100000000010000000000
0100000000000100000000
0100000000000001000000
1000000000000000100000
0100000000000000010000
1000000000000000001000
1000000000000000000100
0100000000000000000010

この場合、ステップS144で生成される階段行列e-matrix(A)は以下のようになる。
1010000000000000000000
0100100000000000000000
0011000000000000000000
0001000000000000100000
0000100100000000000000
0000011000000000000001
0000000110000000000001
0000000011000000000001
0000000001100000000001
0000000000110000000001
0000000000010100000000
0000000000001100000001
0000000000000101000000
0000000000000011000001
0000000000000001100001
0000000000000000110001
0000000000000000011001
0000000000000000001100
0000000000000000000111
0000000000000000000000
0000000000000000000000
In this case, the staircase matrix e-matrix (A 1 ) generated in step S144 is as follows.
1010000000000000000000
0100100000000000000000
0011000000000000000000
0001000000000000100000
0000100100000000000000
0000011000000000000001
0000000110000000000001
0000000011000000000001
0000000001100000000001
0000000000110000000001
0000000000010100000000
0000000000001100000001
0000000000000101000000
0000000000000011000001
0000000000000001100001
0000000000000000110001
0000000000000000011001
0000000000000000001100
0000000000000000000111
0000000000000000000000
0000000000000000000000

この階段行列e-matrix(A)の非零の最後の行は0000000000000000000111である。そのため、ステップS145では割り当てが可能であると判定される。ステップS147のステップS147cでは、N(6)=p[1]およびN(20)=p[1]が独立ノードであると判定され、その他のクリティカルノードが従属ノードであると判定される。ステップS147aでは、p[1]およびp[1]を探索空間としてこれらに群GまたはGを割り当て、ステップS147bでは、p[1]およびp[1]への割り当てに応じてその他のノードへの割り当てを行い、依存関係グラフgraph(A)を得て出力する。 The last non-zero row of this step matrix e-matrix (A 1 ) is 0000000000000000000111. Therefore, it is determined in step S145 that assignment is possible. In step S147c of step S147, N (6) = p 1 [1] and N (20) = p 8 [1] are determined to be independent nodes, and the other critical nodes are determined to be subordinate nodes. . In step S147a, p 1 [1] and p 8 [1] are used as search spaces, and groups G 1 or G 2 are assigned to them. In step S 147b, according to the assignment to p 1 [1] and p 8 [1]. Assign to other nodes, and obtain and output a dependency graph graph (A 3 ).

<具体例2>
図7に、WatersのIDベース暗号の依存関係グラフgraph(A)を示す(例えば、参考文献3「B. Waters, “Efficient identity-based encryption without random oracles,” In R. Cramer, editor, Advances in Cryptology - EUROCRYPT 2005, 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, May 22-26, 2005, Proceedings, volume 3494 of Lecture Notes in Computer Science, pages 114-127. Springer, 2005.」等参照)。図7の怜では、(p[0],p[1]),・・・,(p[0],p[1])がそれぞれペアリングノードの対である。ボトムノードおよび2重化禁止ノードは特に設定していない。したがって、このグラフにはp[0],p[1],・・・,p[0],p[1]の8個のクリティカルノードN(0),・・・,N(7)が存在する。
<Specific example 2>
FIG. 7 shows a dependency graph graph (A 1 ) of Waters ID-based encryption (for example, Reference 3 “B. Waters,“ Efficient identity-based encryption without random oracles, ”In R. Cramer, editor, Advances. in Cryptology-EUROCRYPT 2005, 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, May 22-26, 2005, Proceedings, volume 3494 of Lecture Notes in Computer Science, pages 114-127.Springer, 2005. Etc.)). In FIG. 7, (p 1 [0], p 1 [1]),..., (P 4 [0], p 4 [1]) are a pair of pairing nodes. The bottom node and the duplication prohibition node are not particularly set. Therefore, the graph shows eight critical nodes N (0),..., N (p 1 [0], p 1 [1],..., P 4 [0], p 4 [1]. 7) exists.

この場合、ステップS143では4×9の行列matrix(A)が生成される。
110000001
001100001
000011001
000000111
In this case, a 4 × 9 matrix matrix (A 1 ) is generated in step S143.
110000001
001100001
000011001
000000111

この場合、ステップS144で生成される階段行列e-matrix(A)はmatrix(A)と同一となる。 In this case, the step matrix e-matrix (A 1 ) generated in step S144 is the same as the matrix (A 1 ).

この階段行列e-matrix(A)の非零の最後の行は000000111である。そのため、ステップS145では割り当てが可能であると判定される。ステップS147のステップS147cでは、N(1)=p[1],N(3)=p[1],N(5)=p[1],N(7)=p[1]が独立ノードであると判定され、その他のクリティカルノードが従属ノードであると判定される。ステップS147aでは、p[1],p[1],p[1],p[1]を探索空間としてこれらに群GまたはGを割り当て、ステップS147bでは、それらの割り当てに応じてその他のノードへの割り当てを行い、依存関係グラフgraph(A)を得て出力する。 The last non-zero row of this step matrix e-matrix (A 1 ) is 000000111. Therefore, it is determined in step S145 that assignment is possible. In step S147c of step S147, N (1) = p 1 [1], N (3) = p 2 [1], N (5) = p 3 [1], N (7) = p 4 [1] Are determined to be independent nodes, and other critical nodes are determined to be subordinate nodes. In step S147a, p 1 [1], p 2 [1], p 3 [1], and p 4 [1] are assigned as search spaces, and groups G 1 or G 2 are assigned to them. In step S 147b, these assignments are made. Accordingly, assignment to other nodes is performed, and a dependency graph graph (A 3 ) is obtained and output.

[第2実施形態]
上述した具体例1(図6)では2個の独立ノードp[1]およびp[1]が存在し、それ以外のクリティカルノードが従属ノードであった。そのため、2通りの割り当てが可能であった。また、具体例1(図6)では4個の独立ノードp[1],p[1],p[1],p[1]が存在し、それ以外のクリティカルノードが従属ノードであった。そのため、2通りの割り当てが可能であった。一般に独立変数がΘ個あるとすると、値の割り当て方法は2Θ通り存在する。本形態では、こうした割り当て(分割)のうち、何らかの評価基準を満たした最適な割り当てを効率的に見つける方法を説明する。
[Second Embodiment]
In the specific example 1 (FIG. 6) described above, there are two independent nodes p 1 [1] and p 8 [1], and the other critical nodes are subordinate nodes. Therefore, it was possible to allocate 2 2 ways. In Specific Example 1 (FIG. 6), there are four independent nodes p 1 [1], p 2 [1], p 3 [1], p 4 [1], and other critical nodes are subordinate nodes. Met. Therefore, it was possible to allocate two ways 4. In general, if there are Θ independent variables, there are 2 Θ assignment methods. In this embodiment, a method for efficiently finding an optimal assignment satisfying some evaluation criteria among such assignments (divisions) will be described.

例えば、図7の依存関係グラフgraph(A)を持つIDベース暗号の場合、g,g,g,u’,uεを公開鍵に持つ。ただし、uεは複数個(L個)の元を表現している。したがって、公開鍵のサイズが最も小さい割り当てを見つけたいなら、g,g,g,u’およびL個の元からなるuεの合計サイズが最も小さい依存関係グラフgraph(A)を見つければよい。 For example, in the case of ID-based encryption having the dependency graph graph (A 1 ) in FIG. 7, g, g 1 , g 2 , u ′, u ε are held as public keys. However, u ε represents a plurality (L) of elements. Therefore, if you want to find the assignment with the smallest public key size, find the dependency graph graph (A 3 ) with the smallest total size of g, g 1 , g 2 , u ′ and L elements u ε. That's fine.

ここで、依存関係グラフgraph(A)の各ノードN(j)に重み係数wを定める。例えば、図7の依存関係グラフgraph(A)の例の場合、g,g,g,u’に対応するノードの重み係数を1とし、L個の元からなるuεに対応するノードの重み係数をLとし、その他のノード(ノーマルノード)の重み係数を0と設定する。あるノードN(j)に群Gσ(ただし、σ∈{1,2})が割り当てられ、ノードN(j)が依存関係グラフgraph(A)の群Gσ側のグラフに含まれているという述語をN(j)∈Gσと記述し、その否定の述語¬(N(j)∈Gσ)を

Figure 0006348082

と記述する。それらの述語が真であるときの値を1と表現し、述語が偽であるときその値を0とする。すなわち、(N(j)∈Gσ)∈{0,1}である。 Here, a weight coefficient w j is determined for each node N (j) of the dependency graph graph (A 1 ). For example, in the case of the dependency graph graph (A 1 ) in FIG. 7, the node weight coefficient corresponding to g, g 1 , g 2 , u ′ is set to 1, and it corresponds to u ε consisting of L elements . The node weighting factor is set to L, and the weighting factors of other nodes (normal nodes) are set to zero. A group G σ (where σ∈ {1, 2}) is assigned to a certain node N (j), and the node N (j) is included in the graph on the group G σ side of the dependency graph graph (A 3 ). the predicates are described with N (j) ∈G σ, the negation of the predicate ¬ the (N (j) ∈G σ)
Figure 0006348082

Is described. The value when those predicates are true is expressed as 1, and the value is 0 when the predicate is false. That is, (N (j) ∈G σ) ∈ {0,1}.

あるノードN(j)がクリティカルノードであるなら、述語N(j)∈Gと述語N(j)∈Gとは排他的である。すなわち、

Figure 0006348082

であり、(N(j)∈G)∧(N(j)∈G)=0が成立する。 If a node N (j) is a critical node, it is exclusive with predicate N (j) ∈G 1 and predicate N (j) ∈G 2. That is,
Figure 0006348082

And (N (j) εG 1 ) ∧ (N (j) εG 2 ) = 0 holds.

一方、ノードN(j)がノーマルノードであるなら、(N(j)∈G)∧(N(j)∈G)=0は必ずしも成立しない。また、|Gσ|(ただし、σ∈{1,2})をGσの元を表現するために必要なビット数と定義し、wσ=w・|Gσ|と定義する。依存関係グラフgraph(A)に含まれるノードN(j)の集合をVgとする。これらの記法を用いて、各述語の値をそのまま整数と見なすと、上記の公開鍵のサイズを最小化したい問題等は、以下の評価関数の値を最小化する問題であるととらえることができる。

Figure 0006348082
On the other hand, if the node N (j) is a normal node, (N (j) εG 1 ) ∧ (N (j) εG 2 ) = 0 does not necessarily hold. Also, | G σ | (where σ∈ {1, 2}) is defined as the number of bits necessary to express the element of G σ and is defined as w j , σ = w j · | G σ | . A set of nodes N (j) included in the dependency graph graph (A 1 ) is defined as Vg. Using these notations and assuming that the value of each predicate is an integer as it is, the problem of minimizing the size of the public key can be regarded as a problem of minimizing the value of the following evaluation function. .
Figure 0006348082

ノードN(j)の子孫ノードであるクリティカルノードDN(ρ(j,0)),・・・,DN(ρ(j,#D(j)−1))の集合をset(j)={DN(ρ(j,0)),・・・,DN(ρ(j,#D(j)−1))}と定義し、集合D(j)={ρ(j,0),・・・,ρ(j,#D(j)−1)}と定義する。ただし、#D(j)は集合D(j)の要素数を表す正の整数である。ノードN(j)に割り当てられる群Gσとその子孫ノードであるクリティカルノードDN(ρ(j,0)),・・・,DN(ρ(j,#D(j)−1))に割り当てられる群Gσとは一致する。そのため、以下の関係が成り立つ。

Figure 0006348082
A set of critical nodes DN (ρ (j, 0)),..., DN (ρ (j, # D (j) −1)), which are descendants of the node N (j), is set (j) = { DN (ρ (j, 0)),..., DN (ρ (j, # D (j) -1))}, and the set D (j) = {ρ (j, 0),. , Ρ (j, # D (j) -1)}. However, #D (j) is a positive integer representing the number of elements of the set D (j). Assigned to the group assigned to the node N (j) and its descendant nodes, the critical node DN (ρ (j, 0)), ..., DN (ρ (j, # D (j) -1)) And the group G σ to be matched. Therefore, the following relationship is established.
Figure 0006348082

クリティカルノードであるノードN(j)に群Gを割り当てる場合にd(j)=0とし、クリティカルノードであるノードN(j)に群Gを割り当てる場合にd(j)=1とする。すなわち、クリティカルノードであるノードN(j)について以下のように定義する。

Figure 0006348082

すると、式(4)は以下のように書くことができる。
Figure 0006348082

ただし、¬d(ρ(χ))はd(ρ(χ))の否定を表す。 When assigning group G 1 to node N (j), which is a critical node, d (j) = 0, and when assigning group G 2 to node N (j), which is a critical node, d (j) = 1. . That is, the node N (j) that is a critical node is defined as follows.
Figure 0006348082

Then equation (4) can be written as:
Figure 0006348082

However, ¬d (ρ (χ)) represents negation of d (ρ (χ)).

ところで、{0,1}上の変数x’,y’について、述語x’∧y’や¬x’を通常の四則演算を用いて以下のように記述できる。
x’∧y’=x’×y’
¬x’=1−x’
連言と否定が四則演算で定義出来るのでどのような命題変数の論理式も命題変数の多項式で定義出来る。また、{0,1}上の変数x’および1以上の自然数ξについてx’ξ=x’であるから、上記の多項式はどの変数に関しても注目している変数以外の変数を定数と見なすと高々1次の多項式とすることができる。ここで、{0,1}上の変数x’,・・・,xΓ’(ただし、Γは正の整数)について、それらの積をy’=x’・・・xΓ’とすると以下が成り立つ。

Figure 0006348082

そのため、どのような命題変数の論理式も命題変数の線型不等式の組で記述できる。 By the way, for variables x ′ and y ′ on {0, 1}, predicates x′∧y ′ and ¬x ′ can be described as follows using ordinary four arithmetic operations.
x′∧y ′ = x ′ × y ′
¬x '= 1-x'
Since conjunction and negation can be defined by four arithmetic operations, any logical expression of a propositional variable can be defined by a polynomial of the propositional variable. Also, since the variable x ′ on {0, 1} and the natural number ξ of 1 or more are x ′ ξ = x ′, the above polynomials regards any variable other than the variable of interest as a constant as a constant. It can be at most a first order polynomial. Here, for variables x 1 ′,..., X Γ ′ (where Γ is a positive integer) on {0, 1}, their product is expressed as y ′ = x 1 ′ x Γ ′. Then the following holds.
Figure 0006348082

Therefore, any logical expression of a propositional variable can be described by a set of linear inequalities of the propositional variable.

ここで、q1,j∈{0,1}をq1,j=(N(j)∈G)と定義する。すなわち、ノードN(j)に群Gを割り当てる場合にq1,j=1とし、ノードN(j)に群Gを割り当てない場合にq1,j=0とする。すると、式(5)(6)より、q1,jは以下の線形不当式の組で記述できる。

Figure 0006348082
Here, q 1, j ε {0,1} is defined as q 1, j = (N (j) εG 1 ). That is, q 1, j = 1 when the group G 1 is assigned to the node N (j), and q 1, j = 0 when the group G 1 is not assigned to the node N (j). Then, from Equations (5) and (6), q 1 and j can be described by the following set of linear illegal equations.
Figure 0006348082

式(7)よりy”=1−q1,jであるから、以下が成り立つ。

Figure 0006348082
Since y ″ = 1−q 1, j from equation (7), the following holds.
Figure 0006348082

同様に、q2,j∈{0,1}をq2,j=(N(j)∈G)と定義する。すなわち、ノードN(j)に群Gを割り当てる場合にq2,j=1とし、ノードN(j)に群Gを割り当てない場合にq2,j=0とする。すると、式(5)(6)より、q2,jは以下の線形不当式の組で記述できる。

Figure 0006348082
Similarly, q 2, j ε {0,1} is defined as q 2, j = (N (j) εG 2 ). That is, q 2, j = 1 when the group G 2 is assigned to the node N (j), and q 2, j = 0 when the group G 2 is not assigned to the node N (j). Then, from Equations (5) and (6), q 2 and j can be described by the following set of linear illegal equations.
Figure 0006348082

式(9)よりz”=1−q2,jであり、Σρ(χ)∈d(j)1=#D(j)であるため、以下が成り立つ。

Figure 0006348082
Since z ″ = 1−q 2, j and Σρ (χ) εd (j) 1 = # D (j) from the equation (9), the following holds.
Figure 0006348082

式(8)(10)より、式(3)の値を最小化する問題は∀N(j)∈Vgに関して
(線形制約1)q1,j+Σρ(χ)∈D(j)d(ρ(χ))≦#D(j),
(線形制約2)∀ρ(χ)∈D(j)についてq1,j+d(ρ(χ))≧1,
(線形制約3)q2,j−Σρ(χ)∈D(j)d(ρ(χ))≦0,
(線形制約4)∀ρ(χ)∈D(j)についてq2,j−d(ρ(χ))≧0
なる線形制約の下、

Figure 0006348082

なる評価関数(すなわち、Σj∈{0,・・・,n−1}(w・q1,j+w・q2,j))を最小化する問題に帰着できる。 From Eqs. (8) and (10), the problem of minimizing the value of Eq. (3) is related to ∀N (j) ∈Vg. (Linear constraint 1) q 1, j + Σρ (χ) ∈D (j) ρ (χ)) ≦ # D (j),
(Linear constraint 2) q 1, j + d (ρ (χ)) ≧ 1, for ∀ρ (χ) ∈D (j)
(Linear constraint 3) q 2, j −Σρ (χ) ∈D (j) d (ρ (χ)) ≦ 0,
(Linear constraint 4) For ∀ρ (χ) ∈D (j), q 2, j −d (ρ (χ)) ≧ 0
Under the linear constraint
Figure 0006348082

Can be reduced to the problem of minimizing the evaluation function (ie, Σ jε {0,..., N−1} (w j , 1 · q 1, j + w j , 2 · q 2, j )).

また、ペアリングの入力値の対に対応するクリティカルノードN(j)およびN(j)についてd(j)+d(j)=1∈Fを満たし、クリティカルノードN(j)とその祖先ノードであるクリティカルノードN(j)とについてd(j)+d(j)=0∈Fを満たす。線形制約が、ペアリングの入力値の対に対応するクリティカルノードN(j)およびN(j)についてd(j)+d(j)=1∈Fであり(線形制約5)、クリティカルノードN(j)とその祖先ノードであるクリティカルノードN(j)とについてd(j)+d(j)=0∈Fである(線形制約6)旨をさらに含んでもよい。 Further, critical node N (j 1 ) and N (j 2 ) corresponding to the pair of input values of pairing satisfy d (j 1 ) + d (j 2 ) = 1∈F 2 , and critical node N (j 3 ) And its ancestor node critical node N (j 4 ) satisfy d (j 3 ) + d (j 4 ) = 0∈F 2 . The linear constraint is d (j 1 ) + d (j 2 ) = 1∈F 2 for critical nodes N (j 1 ) and N (j 2 ) corresponding to the paired input value pair (linear constraint 5) , Further includes that d (j 3 ) + d (j 4 ) = 0∈F 2 for the critical node N (j 3 ) and the critical node N (j 4 ) that is an ancestor node (linear constraint 6) Good.

以上の評価関数(式11)および線形制約を任意の0−1整数計画法アルゴリズムに入力することにより、q1,0,・・・,q1,n−1,q2,0,・・・,q2,n−1の厳密解または近似解を得る。 By inputting the above evaluation function (Equation 11) and linear constraints into an arbitrary 0-1 integer programming algorithm, q 1,0 ,..., Q 1, n−1 , q 2,0 ,. • Obtain an exact or approximate solution of q2 , n-1 .

次に第1実施形態の方式に上述の探索方式を適用した例を説明する。なお、以下ではこれまでに説明した事項との相違点を中心に説明し、既に説明した事項については同じ参照番号を用いて説明を簡略化する。   Next, an example in which the above search method is applied to the method of the first embodiment will be described. In the following, differences from the items described so far will be mainly described, and the items already described will be simplified by using the same reference numerals.

<構成>
図1に例示するように、本形態の構造変換装置2は、入力部11、記憶部12、制御部13、グラフ構築部141、線形制約設定部142、行列生成部143、行列変形部144、判定部145、および構造割当部247を有する。構造割当部247は、線形制約設定部247a、評価関数設定部247b、探索部247c、および割当部247dを有する。構造変換装置2は、例えば、前述のコンピュータに所定のプログラムが読み込まれることで構成される。
<Configuration>
As illustrated in FIG. 1, the structure conversion device 2 according to the present embodiment includes an input unit 11, a storage unit 12, a control unit 13, a graph construction unit 141, a linear constraint setting unit 142, a matrix generation unit 143, a matrix transformation unit 144, A determination unit 145 and a structure allocation unit 247 are included. The structure allocation unit 247 includes a linear constraint setting unit 247a, an evaluation function setting unit 247b, a search unit 247c, and an allocation unit 247d. The structure conversion device 2 is configured, for example, by reading a predetermined program into the above-described computer.

<処理>
図9を用いて、本形態の処理を説明する。まず、構造変換装置1に代えて構造変換装置2が前述のステップS141−S145の処理を実行する。ステップS145で割り当て可能であると判定された場合、以下のステップS247の処理が実行される。
<Processing>
The processing of this embodiment will be described with reference to FIG. First, instead of the structure conversion apparatus 1, the structure conversion apparatus 2 executes the processes of steps S141 to S145 described above. If it is determined in step S145 that allocation is possible, the following process in step S247 is executed.

ステップS247では、まず、線形制約設定部247aに依存関係グラフgraph(A)が入力される。線形制約設定部247aは、依存関係グラフgraph(A)を用い、前述の(線形制約1)−(線形制約6)を含む線形制約を設定して出力する(ステップS247a)。 In step S247, first, the dependency graph graph (A 1 ) is input to the linear constraint setting unit 247a. The linear constraint setting unit 247a sets and outputs a linear constraint including the above-mentioned (linear constraint 1)-(linear constraint 6) using the dependency graph graph (A 1 ) (step S247a).

評価関数設定部247bには、依存関係グラフgraph(A)が入力される。評価関数設定部247bは、依存関係グラフgraph(A)を用い、式(11)の評価関数を設定して出力する(ステップS247b)。 The dependency function graph graph (A 1 ) is input to the evaluation function setting unit 247b. The evaluation function setting unit 247b sets and outputs the evaluation function of Expression (11) using the dependency graph graph (A 1 ) (step S247b).

探索演算部247acには、ステップS247aで得られた線形制約、およびステップS247bで得られた評価関数が入力される。探索演算部247acは、これらの線形制約および評価関数を任意の0−1整数計画法アルゴリズムに入力することにより、q1,0,・・・,q1,n−1,q2,0,・・・,q2,n−1の厳密解または近似解を得て出力する(ステップS247c)。 The search operation unit 247ac receives the linear constraint obtained in step S247a and the evaluation function obtained in step S247b. The search operation unit 247ac inputs these linear constraints and evaluation functions to an arbitrary 0-1 integer programming algorithm, whereby q 1,0 ,..., Q 1, n−1 , q 2,0 , .., Q 2, n-1 are obtained and output as exact or approximate solutions (step S247c).

割当部247dには、q1,0,・・・,q1,n−1,q2,0,・・・,q2,n−1の解が入力される。割当部247dは、これらに従って、依存関係グラフgraph(A)のすべてのノードN(j)(ただし、j=0,・・・,n−1)に群GおよびGの少なくとも一方を割り当てる。割当部247dは、例えば、q1,j=1またはq2,j=0の場合にノードN(j)に群Gを割り当て、q1,j=0またはq2,j=1の場合にノードN(j)に群Gを割り当てる。割当部247dは、このように得た群Gが割り当てられたノードからなる依存関係グラフ、および群Gが割り当てられたノードからなる依存関係グラフからなる集合を、依存関係グラフgraph(A)として出力する(ステップS247d)。 The allocation unit 247d includes, q 1,0, ···, q 1 , n-1, q 2,0, ···, is a solution of q 2, n-1 are inputted. According to these, the assigning unit 247d assigns at least one of the groups G 1 and G 2 to all the nodes N (j) (where j = 0,..., N−1) of the dependency graph graph (A 1 ). assign. Assignment section 247d, for example, q 1, j = 1 or group assignment G 1 to node N (j) in the case of q 2, j = 0, q 1, j = 0 or q 2, the case of j = 1 assign group G 2 to the node N (j) to. Allocation unit 247d includes a set consisting of the dependency graph dependency graph Thus the group G 1 obtained consists assigned nodes, and the group G 2 consisting of the assigned node, the dependency graph `graph (A 3 ) Is output (step S247d).

[その他の変形例]
本発明は上述の実施の形態に限定されるものではない。例えば、ステップS141の処理を実行した後、ステップS142−S145を実行することなく、ステップS247a−S247dの処理が実行されてもよい。また、本発明は、ペアリング型変換だけではなく、代数構造Gの演算からなる処理を代数的構造Gの演算からなる処理と代数的構造Gの演算からなる処理とに分解する方法一般に適用できる。例えば、第1実施形態で例示した線形制約q(s(i,φ(0)))+・・・+q(s(i,φ(S(i)−1)))=y(i,n)に限定はなく、目的に応じ、どのようなS(i)(例えば、S(i)≧3)、{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}、y(i,n)が設定されてもよい。また、第2実施形態で例示した評価関数はΣj∈{0,・・・,n−1}(w・q1,j+w・q2,j)に限定されず、目的に応じ、q1,jおよびq2,jを含むその他の多項式を評価関数としてもよい。
[Other variations]
The present invention is not limited to the above-described embodiment. For example, after executing the process of step S141, the processes of steps S247a to S247d may be executed without executing steps S142 to S145. Further, the present invention is not only the pairing type conversion, the decomposing generally a process comprising the process comprising a calculation of the algebraic structure G from the calculation of the algebraic processing an operational structures G 1 and algebraic structure G 2 Applicable. For example, the linear constraint q (s (i, φ (0))) +... + Q (s (i, φ (S (i) −1))) exemplified in the first embodiment = y (i, n ) Is not limited, and any S (i) (for example, S (i) ≧ 3), {s (i, φ (0)),..., S (i, φ (S (I) -1))}, y (i, n) may be set. Further, the evaluation function exemplified in the second embodiment is not limited to Σ j∈ {0,..., N−1} (w j , 1 · q 1, j + w j , 2 · q 2, j ). Depending on the purpose, other polynomials including q 1, j and q 2, j may be used as the evaluation function.

上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.

上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。   When the above configuration is realized by a computer, the processing contents of the functions that each device should have are described by a program. By executing this program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.

このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   This program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads a program stored in its own recording device and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially. The above-described processing may be executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition without transferring a program from the server computer to the computer. Good.

上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。   In the above embodiment, the processing functions of the apparatus are realized by executing a predetermined program on a computer. However, at least a part of these processing functions may be realized by hardware.

1,2 構造変換装置 1, 2 structure converter

Claims (9)

nが2以上の整数であり、j=0,・・・,n−1であり、Fが位数2の有限体であり、代数的構造Gでの演算の依存関係を表す依存関係グラフのノードN(j)に代数的構造Gを割り当てる場合にq(j)=0∈Fとし、前記ノードN(j)に代数的構造Gを割り当てる場合にq(j)=1∈Fとし、G≠Gであり、mが1以上の整数であり、i=0,・・・,m−1であり、S(i)が1以上の整数であり、{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}⊆{0,・・・,n−1}であり、
線形制約q(s(i,φ(0)))+・・・+q(s(i,φ(S(i)−1)))=y(i,n)∈Fに対し、{0,・・・,n−1}における{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}の補集合の要素rについてy(i,r)=0とし、{s(i,φ(0)),・・・,s(i,φ(S(i)−1))}の要素kについてy(i,k)=1としたy(i,0),・・・,y(i,n−1),y(i,n)をi行目の要素とする行列を表す情報を得る行列生成部と、
y(i,0),・・・,y(i,n−1),y(i,n)をi行目の要素とする前記行列から、z(i,0),・・・,z(i,n−1),z(i,n)をi行目の要素とする階段行列を表す情報を得る行列変形部と、
前記階段行列を表す情報に基づいて前記ノードN(j)が独立ノードであるか否かを判定して、前記ノードN(j)に前記代数的構造Gまたは前記代数的構造Gを割り当てる構造割当部と、
を有する構造変換装置。
n is an integer of 2 or more, j = 0,..., n−1, F 2 is a finite field of order 2, and a dependency graph representing the dependency of operations in the algebraic structure G Q (j) = 0εF 2 when assigning the algebraic structure G 1 to the node N (j) of the node, and q (j) = 1ε when assigning the algebraic structure G 2 to the node N (j). F 2 , G 1 ≠ G 2 , m is an integer of 1 or more, i = 0,..., M−1, S (i) is an integer of 1 or more, {s ( i, φ (0)),..., s (i, φ (S (i) -1))} ⊆ {0,.
For a linear constraint q (s (i, φ (0))) +... + Q (s (i, φ (S (i) −1))) = y (i, n) ∈F 2 , {0 ,..., N−1}, y (i) about the element r of the complement of {s (i, φ (0)),..., S (i, φ (S (i) −1))} , R) = 0, and y (i, k) = 1 for the element k of {s (i, φ (0)),..., S (i, φ (S (i) −1))}. A matrix generation unit for obtaining information representing a matrix having y (i, 0),..., Y (i, n-1), y (i, n) as elements of the i-th row;
From the matrix having y (i, 0),..., y (i, n-1) and y (i, n) as elements in the i-th row, z (i, 0),. A matrix transformation unit for obtaining information representing a staircase matrix having (i, n-1) and z (i, n) as elements of the i-th row;
It is determined whether or not the node N (j) is an independent node based on the information representing the step matrix, and the algebraic structure G 1 or the algebraic structure G 2 is assigned to the node N (j). A structure assignment unit;
A structure conversion device.
請求項1の構造変換装置であって、
(1)前記階段行列がz(0,0)=1である行およびz(1,1)=0である行を含む場合に前記ノードN(1)が独立ノードであると判定し、(2)前記階段行列が1以上n−2以下の整数t(ω)についてz(ω,0)=・・・=z(ω,t(ω)−1)=0かつz(ω,t(ω))=1である行およびz(ω+1,t(ω)+1)=0である行を含む場合に前記ノードN(t(ω)+1)が独立ノードであると判定し、(3)前記階段行列がz(m−1,0)=・・・=z(m−1,t(m−1)−1)=0かつz(m−1,t(m−1))=1である行を含む場合に前記ノードN(t(m−1)+1),・・・,N(n−1)が独立ノードであると判定する第1判定部を有する構造変換装置。
The structure conversion device according to claim 1,
(1) When the step matrix includes a row where z (0,0) = 1 and a row where z (1,1) = 0, the node N (1) is determined to be an independent node; 2) z (ω, 0) = ... = z (ω, t (ω) −1) = 0 and z (ω, t () for an integer t (ω) where the step matrix is 1 or more and n−2 or less. ω)) = 1 and a node where z (ω + 1, t (ω) +1) = 0 are included, it is determined that the node N (t (ω) +1) is an independent node, (3) The step matrix is z (m−1,0) =... = Z (m−1, t (m−1) −1) = 0 and z (m−1, t (m−1)) = 1. , N (n−1) is a separate determination node that determines that the node N (t (m−1) +1),..., N (n−1) is an independent node.
請求項2の構造変換装置であって、
前記構造割当部は、独立ノードであると判定された前記ノードN(ν)(ただし、ν∈{0,・・・,n−1})に前記代数的構造Gおよび前記代数的構造Gの何れを割り当てるかを決定した後、他の前記ノード(η)(ただし、η∈{0,・・・,n−1}かつη≠ν)に前記代数的構造Gまたは前記代数的構造Gを割り当てる、構造変換装置。
The structure conversion device according to claim 2,
The structure allocating unit adds the algebraic structure G 1 and the algebraic structure G to the node N (ν) (where νε {0,..., N−1}) determined to be an independent node. 2 is assigned, the algebraic structure G 1 or the algebraic structure is assigned to the other node (η) (where η∈ {0,..., N−1} and η ≠ ν). assign structures G 2, structure conversion device.
請求項1から3の何れかの構造変換装置であって、
前記階段行列がz(ι,0)=・・・=z(ι,n−1)=0かつz(ι,n)=1となる要素を含む場合、前記線形制約での割り当てが不可能であると判定する第2判定部を有する構造変換装置。
The structure conversion device according to any one of claims 1 to 3,
When the staircase matrix includes elements such that z (ι, 0) =... = Z (ι, n−1) = 0 and z (ι, n) = 1, assignment with the linear constraint is impossible. The structure conversion apparatus which has the 2nd determination part which determines with being.
請求項1から4の何れかの構造変換装置であって、
前記依存関係グラフは、対称型双線形写像の入力値を得るアルゴリズムに含まれる群演算の依存関係を表し、
前記代数的構造Gは群であり、前記対称型双線形写像の定義域G×Gをなし、
前記代数的構造Gおよび前記代数的構造Gは互いに異なる群であり、非対称型双線形写像の定義域G×Gをなし、
S(i)=2であり、
同一の前記対称型双線形写像の入力値の対に対応する前記ノードN(j)およびN(j)に対応する前記線形制約がq(j)+q(j)=1∈Fであり、
前記ノードN(j)と前記ノードN(j)の祖先ノードである前記ノードN(j)とに対応する前記線形制約がq(j)+q(j)=0∈Fである、構造変換装置。
The structure conversion device according to any one of claims 1 to 4,
The dependency graph represents a group operation dependency included in an algorithm for obtaining an input value of a symmetric bilinear map,
The algebraic structure G is a group and forms a domain G × G of the symmetric bilinear map,
The algebraic structure G 1 and the algebraic structure G 2 are groups different from each other, and form a domain G 1 × G 2 of an asymmetric bilinear map,
S (i) = 2,
The linear constraint corresponding to the nodes N (j 1 ) and N (j 2 ) corresponding to the same symmetric bilinear mapping input value pair is q (j 1 ) + q (j 2 ) = 1∈F 2
The node N (j 3) and the node N (j 3) the node N (j 4) corresponding to said linear constraints q (j 3) is an ancestor node of + q (j 4) = 0∈F 2 The structure conversion device.
nが2以上の整数であり、j=0,・・・,n−1であり、代数的構造Gでの演算の依存関係を表す依存関係グラフのノードN(j)に代数的構造Gを割り当てる場合にq1,j=1かつq2,j=0とし、前記ノードN(j)に代数的構造Gを割り当てる場合にq1,j=0かつq2,j=1とし、G≠Gであり、前記ノードN(j)に前記代数的構造Gを割り当てる場合にd(j)=0とし、前記ノードN(j)に前記代数的構造Gを割り当てる場合にd(j)=1とし、前記ノードN(j)の子孫ノードがDN(ρ(j,0)),・・・,DN(ρ(j,#D(j)−1))であり、D(j)が集合{ρ(j,0),・・・,ρ(j,#D(j)−1)}であり、#D(j)が前記集合D(j)の要素数であり、
前記依存関係グラフに基づいて、q1,j+Σρ(χ)∈D(j)d(ρ(χ))≦#D(j)であり、∀ρ(χ)∈D(j)についてq1,j+d(ρ(χ))≧1であり、q2,j−Σρ(χ)∈D(j)d(ρ(χ))≦0であり、∀ρ(χ)∈D(j)についてq2,j−d(ρ(χ))≧0である旨を含む線形制約を設定する線形制約設定部と、
前記線形制約のもと、線形の評価関数f(q1,0,・・・,q1,n−1,q2,0,・・・,q2,n−1)の出力値が所定の条件を満たすq1,0,・・・,q1,n−1,q2,0,・・・,q2,n−1を決定する評価探索部と、
を有する構造変換装置。
n is an integer of 2 or more, j = 0, ···, a n-1, algebraic structure G 1 to node N (j) of the dependency graph representing the operation of the dependencies in algebraic structure G Q 1, j = 1 and q 2, j = 0, and when assigning the algebraic structure G 2 to the node N (j), q 1, j = 0 and q 2, j = 1, When G 1 ≠ G 2 and when assigning the algebraic structure G 1 to the node N (j), d (j) = 0, and when assigning the algebraic structure G 2 to the node N (j) d (j) = 1, and descendant nodes of the node N (j) are DN (ρ (j, 0)),..., DN (ρ (j, # D (j) −1)), D (j) is a set {ρ (j, 0),..., Ρ (j, # D (j) −1)}, and #D (j) is the number of elements of the set D (j). Yes,
Based on the dependency graph, q 1, j + Σρ (χ) ∈D (j) d (ρ (χ)) ≦ # D (j), and q for ∀ρ (χ) ∈D (j) 1, j + d (ρ (χ)) ≧ 1, q 2, j −Σρ (χ) ∈D (j) d (ρ (χ)) ≦ 0, and ∀ρ (χ) ∈D ( a linear constraint setting unit that sets a linear constraint including j 2, q 2, j −d (ρ (χ)) ≧ 0;
Under the linear constraint, the output value of the linear evaluation function f (q 1,0 ,..., Q 1, n−1 , q 2,0 ,..., Q 2, n−1 ) is predetermined. and satisfies q 1,0, ···, q 1, n-1, q 2,0, ···, evaluation search unit for determining a q 2, n-1,
A structure conversion device.
請求項6の構造変換装置であって、
|Gσ|がσ∈{1,2}について前記代数的構造Gσの元を表現するために必要な情報量であり、wが前記ノードN(j)について予め定められた重み係数であり、wσ=w・|Gσ|であり、前記評価関数はf(q1,0,・・・,q1,n−1,q2,0,・・・,q2,n−1)=Σj∈{0,・・・,n−1}(w・q1,j+w・q2,j)であり、前記所定の条件は前記評価関数の出力値が最小となることである、構造変換装置。
The structure conversion device according to claim 6,
| G σ | is the amount of information necessary to express the element of the algebraic structure G σ with respect to σ∈ {1, 2}, and w j is a weighting factor predetermined for the node N (j) Yes, w j , σ = w j · | G σ |, and the evaluation function is f (q 1,0 ,..., Q 1, n−1 , q 2,0 ,..., Q 2. , N−1 ) = Σ j∈ {0,..., N−1} (w j , 1 · q 1, j + w j , 2 · q 2, j ), and the predetermined condition is the evaluation A structure converter that minimizes the output value of a function.
請求項6または7の構造変換装置であって、
前記依存関係グラフは、対称型双線形写像の入力値を得るアルゴリズムに含まれる群演算の依存関係を表し、
前記代数的構造Gは群であり、前記対称型双線形写像の定義域G×Gをなし、
前記代数的構造Gおよび前記代数的構造Gは互いに異なる群であり、非対称型双線形写像の定義域G×Gをなし、
前記線形制約は、同一の前記対称型双線形写像の入力値の対に対応する前記ノードN(j)およびN(j)についてd(j)+d(j)=1であり、前記ノードN(j)と前記ノードN(j)の祖先ノードである前記ノードN(j)とについてd(j)+d(j)=0である旨をさらに含む、構造変換装置。
The structure conversion device according to claim 6 or 7, wherein
The dependency graph represents a group operation dependency included in an algorithm for obtaining an input value of a symmetric bilinear map,
The algebraic structure G is a group and forms a domain G × G of the symmetric bilinear map,
The algebraic structure G 1 and the algebraic structure G 2 are groups different from each other, and form a domain G 1 × G 2 of an asymmetric bilinear map,
The linear constraint is d (j 1 ) + d (j 2 ) = 1 for the nodes N (j 1 ) and N (j 2 ) corresponding to the same symmetric bilinear mapping input value pair, further comprising the fact the node N (j 3) and the node N (j 3) the node N (j 4) and the d (j 3) is an ancestor node of + d (j 4) = 0, structure conversion apparatus.
請求項1から8の何れかの構造変換装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the structure conversion device according to claim 1.
JP2015088396A 2015-04-23 2015-04-23 Structure conversion apparatus and program Active JP6348082B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015088396A JP6348082B2 (en) 2015-04-23 2015-04-23 Structure conversion apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015088396A JP6348082B2 (en) 2015-04-23 2015-04-23 Structure conversion apparatus and program

Publications (2)

Publication Number Publication Date
JP2016206444A JP2016206444A (en) 2016-12-08
JP6348082B2 true JP6348082B2 (en) 2018-06-27

Family

ID=57489551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015088396A Active JP6348082B2 (en) 2015-04-23 2015-04-23 Structure conversion apparatus and program

Country Status (1)

Country Link
JP (1) JP6348082B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4748206B2 (en) * 2008-11-11 2011-08-17 ソニー株式会社 Information processing apparatus, information processing method, and program
JP5980178B2 (en) * 2013-07-29 2016-08-31 日本電信電話株式会社 Program conversion apparatus, program conversion method, and program

Also Published As

Publication number Publication date
JP2016206444A (en) 2016-12-08

Similar Documents

Publication Publication Date Title
Gamlath et al. Weighted matchings via unweighted augmentations
Dahlberg et al. Transforming graph states using single-qubit operations
Liu et al. Improved quantum circuits for AES: Reducing the depth and the number of qubits
Chestnut et al. Hardness and approximation for network flow interdiction
Speelman Instantaneous non-local computation of low T-depth quantum circuits
JP2017515195A (en) Solve digital logic constraint problems via adiabatic quantum computation
Liu et al. Pushing the limits of valiant’s universal circuits: Simpler, tighter and more compact
Abe et al. Design in type-I, run in type-III: Fast and scalable bilinear-type conversion using integer programming
Campanelli et al. : Linear Time Prover SNARKs with Constant Size Proofs and Square Root Size Universal Setup
Kamara et al. Parallel homomorphic encryption
Dolev et al. Non-local computation of quantum circuits with small light cones
Amorós et al. Explicit connections between supersingular isogeny graphs and Bruhat–Tits trees
Ouyang Computing spectral bounds of the Heisenberg ferromagnet from geometric considerations
EE Quantum computing
Gerke et al. Nonvertex‐balanced factors in random graphs
Beigi et al. Graph concatenation for quantum codes
Mowshowitz et al. Entropy, orbits, and spectra of graphs
Datta et al. An improved reversible circuit synthesis approach using clustering of ESOP cubes
Roşie Adaptive-secure VRFs with shorter keys from static assumptions
Billings et al. Identifying almost invariant sets in stochastic dynamical systems
Lau et al. Efficient edge splitting-off algorithms maintaining all-pairs edge-connectivities
JP6348082B2 (en) Structure conversion apparatus and program
Boura et al. Differential analysis of the ternary hash function troika
Cong et al. zkmatrix: Batched short proof for committed matrix multiplication
JP6691491B2 (en) Pairing conversion device, pairing conversion method, program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180529

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180530

R150 Certificate of patent or registration of utility model

Ref document number: 6348082

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350