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
JP6691491B2 - Pairing conversion device, pairing conversion method, program - Google Patents
[go: Go Back, main page]

JP6691491B2 - Pairing conversion device, pairing conversion method, program - Google Patents

Pairing conversion device, pairing conversion method, program Download PDF

Info

Publication number
JP6691491B2
JP6691491B2 JP2017007801A JP2017007801A JP6691491B2 JP 6691491 B2 JP6691491 B2 JP 6691491B2 JP 2017007801 A JP2017007801 A JP 2017007801A JP 2017007801 A JP2017007801 A JP 2017007801A JP 6691491 B2 JP6691491 B2 JP 6691491B2
Authority
JP
Japan
Prior art keywords
pairing
linear
objective function
function
syntax
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
JP2017007801A
Other languages
Japanese (ja)
Other versions
JP2018116194A (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 JP2017007801A priority Critical patent/JP6691491B2/en
Publication of JP2018116194A publication Critical patent/JP2018116194A/en
Application granted granted Critical
Publication of JP6691491B2 publication Critical patent/JP6691491B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

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

アルゴリズムの代数的構造を変換する従来技術として非特許文献1が知られている。非特許文献1には、群G、GT上のペアリングe:G×G→GTを用いたアルゴリズムを、群G0、G1、GT上のペアリングe:G0×G1→GT(ただしG0≠G1)を用いたアルゴリズムに変換する技術が開示されている。この技術では、群G上の群演算の依存関係グラフのノードに群G0またはG1を割り当て、その割り当て状況を評価関数で評価し、最も評価の良い割り当てを選択する。また非特許文献2には、上記割り当ての選択を整数計画法を用いて高速化する技術が記述されている。 Non-Patent Document 1 is known as a conventional technique for converting an algebraic structure of an algorithm. Non-Patent Document 1, the group G, the pairing on G T e: an algorithm using G × G → G T, the group G 0, G 1, pairing on G T e: G 0 × G 1 → A technique of converting to an algorithm using G T (where G 0 ≠ G 1 ) is disclosed. In this technique, the group G 0 or G 1 is assigned to a node of the dependency graph of the group operation on the group G, the assignment state is evaluated by an evaluation function, and the assignment with the best evaluation is selected. Further, Non-Patent Document 2 describes a technique for speeding up the selection of the allocation by using an integer programming method.

Masayuki Abe, Jens Groth, Miyako Ohkubo, and Takeya Tango, "Converting cryptographic schemes from symmetric to asymmetric bilinear groups", In Juan A. Garay and Rosario 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.Masayuki Abe, Jens Groth, Miyako Ohkubo, and Takeya Tango, "Converting cryptographic schemes from symmetric to asymmetric bilinear groups", In Juan A. Garay and Rosario 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. Masayuki Abe, Fumitaka Hoshino, and Miyako Ohkubo, "Design in Type-I, Run in Type-III: Fast and Scalable Bilinear-Type Conversion Using Integer Programming", In Matthew Robshaw and Jonathan Katz, editors, Advances in Cryptology - CRYPTO 2016 - 36th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 14-18, 2016, Proceedings, Part III, volume 9816 of Lecture Notes in Computer Science, pages 387{415. Springer, 2016.Masayuki Abe, Fumitaka Hoshino, and Miyako Ohkubo, "Design in Type-I, Run in Type-III: Fast and Scalable Bilinear-Type Conversion Using Integer Programming", In Matthew Robshaw and Jonathan Katz, editors, Advances in Cryptology-CRYPTO 2016 -36th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 14-18, 2016, Proceedings, Part III, volume 9816 of Lecture Notes in Computer Science, pages 387 {415. Springer, 2016.

しかしながら、従来技術において用いられる0-1整数計画問題は一般にNP困難と呼ばれる問題クラスに属しており、必ずしも実行可能な時間で厳密に最適な解が得られる事は保証されない。しかしながら、入力される問題を特殊な形式に限定すると最適化問題の求解時間が大幅に削減される事がある。   However, the 0-1 integer programming problem used in the conventional technique generally belongs to a problem class called NP-hardness, and it is not always guaranteed that an exact solution can be obtained in a feasible time. However, if the input problem is limited to a special form, the solution time of the optimization problem may be significantly reduced.

本発明は、ペアリング型変換で必要となる制約を上手く制御し0-1整数計画問題に入力される問題を特殊な形式に限定することにより、従来よりも最適化実行時間の高速化が期待できるペアリング型変換装置、ペアリング型変換方法、プログラムを提供することを目的とする。   The present invention is expected to speed up the optimization execution time more than before by controlling the constraints required in the pairing type conversion and limiting the problems input to the 0-1 integer programming problem to a special form. An object of the present invention is to provide a pairing-type conversion device, a pairing-type conversion method, and a program that can be performed.

上記の課題を解決するために、本発明の一態様によれば、対称ペアリングに基づく暗号方式を非対称ペアリングに基づく暗号方式に変換するためのペアリング型変換装置は、対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを入力情報、非対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを出力情報とし、G0とG1は分割後の部分グラフ、xとyは分割前のグラフの頂点、b∈{0,1}、(x∈Gb)及び(y∈Gb)は()内の記述が真ならば1偽ならば0を示す割り当て変数、Lyはyの子孫のうち葉であるものの集合とし、あらかじめ定めた分割のための4つの線形制約を設定する線型制約設定部と、目的関数を全ての割り当て変数に関する線型関数として設定し、目的関数が割り当て変数の非線形関数であるなら目的関数を線形制約付き線形目的関数に変換し設定する目的関数設定部と、線形制約と線型関数または線形制約付き線形目的関数とを0-1整数計画アルゴリズムに入力し厳密解又は近似解を求める整数計画部と、厳密解又は近似解の割り当て変数の値に従って、対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを表現する1つの依存関係グラフを2つの部分グラフに分割する分割構成部と、を備える。線形制約は、(1)xが重複不可頂点の場合は、(x∈G0)+(x∈G1)=1、(2)Lyに含まれる任意のxについて、(y∈Gb)≧(x∈Gb)、(3)xとyとがペアリングへの入力対となる頂点である場合は、x+y=1、(4)xとyが1つの路上の2つの重複不可頂点ならば、x-y=0である。 In order to solve the above problems, according to one aspect of the present invention, a pairing type conversion device for converting an encryption method based on symmetric pairing into an encryption method based on asymmetric pairing is based on symmetric pairing. The input information is the algorithm including the configuration of the cryptosystem, the syntax, the return, and the hypothesis, and the output information is the algorithm including the configuration of the cryptosystem based on the asymmetric pairing, the syntax, the return, and the assumption, and G 0 and G 1 are the parts after the division. Graph, x and y are vertices of the graph before division, b ∈ {0,1}, (x ∈ G b ) and (y ∈ G b ) are 1 if the description in () is true and 0 if false The assigned variable, L y , is a set of descendants of y that are leaves, and a linear constraint setting unit that sets four linear constraints for predetermined division, and the objective function as a linear function for all assigned variables. And the objective function is a nonlinear function of the assigned variable Then, the objective function setting part that converts the objective function into a linear objective function with linear constraints and sets it, and the linear constraint and the linear function or the linear objective function with linear constraints are input to the 0-1 integer programming algorithm to obtain an exact or approximate solution. And an integer programming part that obtains an exact solution or an approximate solution, and one dependency graph that represents an algorithm that includes the configuration, syntax, consequences, and assumptions of a cryptographic method based on symmetric pairing. And a dividing configuration section for dividing into. The linear constraint is that if (1) x is a non-overlapping vertex, (x ∈ G 0 ) + (x ∈ G 1 ) = 1, (2) for any x included in L y , ( y ∈ G b ) ≧ (x ∈ G b ), (3) If x and y are the vertices that are the input pair to the pairing, x + y = 1, (4) x and y are two If it is a non-overlapping vertex, xy = 0.

上記の課題を解決するために、本発明の他の態様によれば、ペアリング型変換装置が、対称ペアリングに基づく暗号方式を非対称ペアリングに基づく暗号方式に変換するためのペアリング型変換方法は、対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを入力情報、非対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを出力情報とし、G0とG1は分割後の部分グラフ、xとyは分割前のグラフの頂点、b∈{0,1}、(x∈Gb)及び(y∈Gb)は()内の記述が真ならば1偽ならば0を示す割り当て変数、Lyはyの子孫のうち葉であるものの集合とし、あらかじめ定めた分割のための4つの線形制約を設定する線型制約設定ステップと、目的関数を全ての割り当て変数に関する線型関数として設定し、目的関数が割り当て変数の非線形関数であるなら目的関数を線形制約付き線形目的関数に変換し設定する目的関数設定ステップと、線形制約と線型関数または線形制約付き線形目的関数とを0-1整数計画アルゴリズムに入力し厳密解又は近似解を求める整数計画ステップと、厳密解又は近似解の割り当て変数の値に従って、対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを表現する1つの依存関係グラフを2つの部分グラフに分割する分割構成ステップと、を備える。線形制約は、(1)xが重複不可頂点の場合は、(x∈G0)+(x∈G1)=1、(2)Lyに含まれる任意のxについて、(y∈Gb)≧(x∈Gb)、(3)xとyとがペアリングへの入力対となる頂点である場合は、x+y=1、(4)xとyが1つの路上の2つの重複不可頂点ならば、x-y=0である。 In order to solve the above problems, according to another aspect of the present invention, a pairing type conversion device is used for converting a cryptographic method based on symmetric pairing into a cryptographic method based on asymmetric pairing. method, structure of the encryption scheme based on symmetric pairing, and syntax, results, input information an algorithm including assumptions, the structure of the encryption scheme based on asymmetric pairing, syntax, return, and output information an algorithm including assumptions, G 0 And G 1 are subgraphs after partitioning, x and y are vertices of the graph before partitioning, b ∈ {0,1}, (x ∈ G b ) and (y ∈ G b ) are true in (). Then 1 is an assigned variable that indicates 0 if false, L y is a set of leaves that are leaves of the descendants of y, and the linear constraint setting step for setting four linear constraints for predetermined division and the objective function are Set as a linear function for all assigned variables and If the number is a nonlinear function of the assigned variable, the objective function setting step that transforms and sets the objective function into a linear objective function with linear constraints, and the linear constraint and linear or linear objective function with linear constraints 0-1 integer programming algorithm And an integer programming step to obtain an exact solution or an approximate solution, and one algorithm expressing the algorithm including the configuration, syntax, consequences, and assumptions of the symmetric pairing-based cryptosystem according to the values of the assigned variables of the exact solution or the approximate solution. A partition configuration step of partitioning the dependency graph into two subgraphs. The linear constraint is that if (1) x is a non-overlapping vertex, (x ∈ G 0 ) + (x ∈ G 1 ) = 1, (2) for any x included in L y , ( y ∈ G b ) ≧ (x ∈ G b ), (3) If x and y are the vertices that are the input pair to the pairing, x + y = 1, (4) x and y are two If it is a non-overlapping vertex, xy = 0.

本発明によれば、従来よりも最適化実行時間の高速化が期待できるという効果を奏する。   According to the present invention, there is an effect that the optimization execution time can be expected to be faster than in the past.

ペアリングを出力するアルゴリズムの例を示す図。The figure which shows the example of the algorithm which outputs pairing. ペアリングを出力するアルゴリズムの依存関係グラフを示す図。The figure which shows the dependency graph of the algorithm which outputs pairing. ペアリングを出力するアルゴリズムの分割による変換の例を示す図。The figure which shows the example of the conversion by the division of the algorithm which outputs pairing. ペアリングを出力するアルゴリズムの分割による変換の依存関係グラフを示す図。The figure which shows the dependence graph of the conversion by the division | segmentation of the algorithm which outputs pairing. 分割のための制約2を説明するための図。FIG. 5 is a diagram for explaining Constraint 2 for division. 第一実施形態に係るペアリング型変換装置の機能ブロック図。The functional block diagram of the pairing type conversion device which concerns on 1st embodiment. 第一実施形態に係るペアリング型変換装置の処理フローの例を示す図。The figure which shows the example of the processing flow of the pairing type conversion apparatus which concerns on 1st embodiment. 第一実施形態に係るペアリング型変換装置を用いて変換した非対称ペアリングに基づく暗号方式をIDベース暗号を説明するための図。The figure for demonstrating ID-based encryption as the encryption system based on the asymmetric pairing converted using the pairing type conversion apparatus which concerns on 1st embodiment.

以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。   Hereinafter, embodiments of the present invention will be described. In the drawings used in the following description, components having the same function and steps for performing the same process are denoted by the same reference numerals, and duplicate description will be omitted. In the following description, the processing performed for each element of a vector or matrix shall be applied to all the elements of the vector or matrix unless otherwise specified.

<前提>
まず、第一実施形態の前提について説明する。
<準備>
<ペアリング>
暗号学においてペアリングとは概ね次のような代数的構造を持つ符号を生成する確率的多項式時間アルゴリズムPの事である。
<Assumptions>
First, the premise of the first embodiment will be described.
<Preparation>
<Pairing>
In cryptography, pairing is a probabilistic polynomial time algorithm P that generates codes with the following algebraic structure.

Figure 0006691491
Figure 0006691491

1.L,G0,G1,GTはそれぞれ#Q>2Θ(λ)なる同じ有限可換環Qの符号。
2.次の確率的多項式時間アルゴリズムが利用可能。
-L,G0,G1,GT上の標本。
-L,G0,G1,GT上の加法。
-L上の乗法。
-非退化双準同型^:Gx×L→Gx,∀x∈{0,1,T}
-非退化双準同型e:G0×G1→GT
1.L, G 0 , G 1 and G T are the same finite commutative ring Q with #Q> 2 Θ (λ) .
2. The following stochastic polynomial time algorithms are available.
-Samples on L, G 0 , G 1 , G T.
-Addition on L, G 0 , G 1 , G T.
-Multiplication on L.
-Non -degenerate bimorphism ^: G x × L → G x, ∀ x ∈ {0,1, T}
-Non-degenerate bi-homomorphic e: G 0 × G 1 → G T

3.G0,G1,GT上のCDH(Computational Diffie-Hellman)問題(乗法)はそれぞれ計算困難。
λは安全変数と呼ばれ、系に対する何らかの攻撃計算量がλに関して指数オーダー(あるいは準指数等)となる事が期待される。G0,G1,GTはそれぞれ群と呼ばれ、Lは離散対数などと呼ばれる。G0,G1,GTが群と呼ばれる為、G0,G1,GT上の(環の符号としての)加法は乗法とも呼ばれA,B∈Gx,∀x∈{0,1,T}に対してA×B、A・B、AB等と記述される。多項式時間非退化双準同型^は冪乗などと呼ばれg∈Gx,a∈Lに対して^(g,a)はgaと記述される。冪乗およびG0、G1、GT上の加法を群演算と呼ぶ。多項式時間非退化双準同型eはペアリングと呼ばれる。また符号の組(L,G0,G1,GT)をペアリングと呼ぶ事もある。歴史的経緯と習慣によりペアリングと言った時それがeを指すのか、(L,G0,G1,GT)を指すのか、Pを指すのか、あるいは特にそれらを区別していないのかは文脈によって判断する必要がある。G0,G1を入力群(source group)、GTを標的群(target group)と呼ぶ。本願明細書では特に明示しない限り、単に群および群要素などと呼ぶ時は、それぞれ入力群および入力群要素を意味するとする。Galbraithらは、暗号方式に用いられるペアリングを大雑把に以下の
3つの型に分類した(参考文献1参照)。
(参考文献1) Steven D. Galbraith, Kenneth G. Paterson, and Nigel P. Smart, "Pairings for cryptographers", Discrete Applied Mathematics, 156(16):3113-3121, 2008.
3. CDH (Computational Diffie-Hellman) problems (multiplication) on G 0 , G 1 , and G T are difficult to calculate.
λ is called a safety variable, and it is expected that some amount of computational complexity of attack on the system will be in exponential order (or quasi-exponential etc.) with respect to λ. G 0 , G 1 , and G T are called groups, and L is called discrete logarithm. Since G 0 , G 1 , G T is called a group, the addition (as the code of the ring) on G 0 , G 1 , G T is also called multiplication, and A, B G x, ∀x ∈ {0, 1, T} is described as A × B, A / B, AB, etc. Polynomial-time non-degenerate bi-homomorphic ^ is called exponentiation, etc. ^ (g, a) is described as g a for g ∈ G x , a ∈ L. Powers and additions on G 0 , G 1 , G T are called group operations. Polynomial-time non-degenerate bi-homogeneous e is called pairing. Also, a pair of codes (L, G 0 , G 1 , G T ) may be called pairing. When we say pairing due to historical circumstances and customs, whether it refers to e, (L, G 0 , G 1 , G T ), P, or not distinguishing between them It needs to be judged according to the context. G 0 and G 1 are called a source group and G T is called a target group. Unless otherwise specified in the present specification, when simply referred to as a group and a group element, etc., they mean an input group and an input group element, respectively. Galbraith et al. Roughly classified the pairing used in the encryption method into the following three types (see Reference 1).
(Reference 1) Steven D. Galbraith, Kenneth G. Paterson, and Nigel P. Smart, "Pairings for cryptographers", Discrete Applied Mathematics, 156 (16): 3113-3121, 2008.

Type1:G0,G1間で双方向に多項式時間同型が存在する。
Type2:G1→G0なる一方向同型が存在する。
Type3:G0,G1間で双方向に多項式時間同型が存在しない。
Type1: Polynomial time isomorphism exists bidirectionally between G 0 and G 1 .
There is a one-way isomorphism of Type2: G 1 → G 0 .
There is no polynomial time isomorphism between Type3: G 0 and G 1 in both directions.

一般にType1を対称ペアリングと呼び、Type2、Type3を非対称ペアリングと呼ぶ。対称ペアリングにおいてはG0とG1はいつでも双方向に多項式時間で行き来出来る為、両者を特に区別する必要はなく、それらは単にGと記述される。Type2はType3を利用して実装できるので、特殊な機能や安全性証明を考える時以外はType2が登場する事はあまり無い。本願明細書では非対称ペアリングとして特にType3を想定する。 Generally, Type1 is called symmetric pairing, and Type2 and Type3 are called asymmetric pairing. In symmetric pairing, G 0 and G 1 can always move bidirectionally in polynomial time, so there is no need to distinguish between them, and they are simply described as G. Since Type2 can be implemented using Type3, Type2 rarely appears except when considering special functions and safety proof. In the present specification, Type 3 is particularly assumed as the asymmetric pairing.

このときG0とG1は明確に区別される。演算速度や群要素のサイズといった実装上の問題に関して、対称ペアリングよりもずっと効率的な非対称ペアリングの存在が知られている(参考文献2参照)。
(参考文献2) Paulo S. L. M. Barreto and Michael Naehrig, "Pairing-friendly elliptic curves of prime order", In Bart Preneel and Stafford E. Tavares, editors, Selected Areas in Cryptography, 12th International Workshop, SAC 2005, Kingston, ON, Canada, August 11-12, 2005, Revised Selected Papers, volume 3897 of Lecture Notes in Computer Science, pages 319-331. Springer, 2005.
At this time, G 0 and G 1 are clearly distinguished. Regarding implementation problems such as operation speed and group element size, the existence of asymmetric pairing that is much more efficient than symmetric pairing is known (see Reference 2).
(Reference 2) Paulo SLM Barreto and Michael Naehrig, "Pairing-friendly elliptic curves of prime order", In Bart Preneel and Stafford E. Tavares, editors, Selected Areas in Cryptography, 12th International Workshop, SAC 2005, Kingston, ON, Canada, August 11-12, 2005, Revised Selected Papers, volume 3897 of Lecture Notes in Computer Science, pages 319-331. Springer, 2005.

<依存関係グラフ(非特許文献1及び参考文献3参照)>
(参考文献3) Takeya Tango, Masayuki Abe, and Tatsuaki Okamoto, "Implementation of Automated Translation for Schemes on Symmetric Bilinear Groups", In Proc. of SCIS 2014 The 31st Symposium on Cryptography and Information Security kagoshima, Japan, Jan. 21 - 24, 2014. IEICE, 2014.
<Dependency graph (see Non-Patent Document 1 and Reference Document 3)>
(Reference 3) Takeya Tango, Masayuki Abe, and Tatsuaki Okamoto, "Implementation of Automated Translation for Schemes on Symmetric Bilinear Groups", In Proc. Of SCIS 2014 The 31st Symposium on Cryptography and Information Security kagoshima, Japan, Jan. 21- 24, 2014. IEICE, 2014.

方式に対して、その依存関係グラフ(dependency graph)とは方式の構成(construction)、構文(syntax)、帰着(reduction)、仮定(assumption)等で使用される群要素変数の情報の流れ(data flow)を抽象した有向グラフである。各頂点はプログラム中で使用される群要素変数を、各辺はその依存関係(終点は始点に依存する)を表現する。図1は群要素A,B,Dを入力とし群演算を使ってC,Eを計算しそのペアリングe(C,E)を出力するアルゴリズムの例であり、図2はその依存関係グラフである。   For a method, the dependency graph is the flow of information (data) of group element variables used in the method's construction, syntax, reduction, assumption, etc. is a directed graph that abstracts flow). Each vertex represents a group element variable used in the program, and each edge represents its dependency (the end point depends on the start point). Fig. 1 is an example of an algorithm that inputs group elements A, B, D and calculates C, E using group operations and outputs the pairing e (C, E). Fig. 2 shows its dependency graph. is there.

依存関係グラフには群演算を介した群要素同士の関係のみが記述され、"if-then-else"命令のようなプログラムの構造やa∈Z/pZのような群要素以外の変数あるいは標的群上の演算等は全て捨象される。   In the dependency graph, only the relationships between group elements via group operations are described, and the structure of the program such as "if-then-else" instruction and variables or targets other than group elements such as a ∈ Z / pZ All operations on the group are discarded.

ペアリングは入力群要素2つ(図2の例では、群要素91及び群要素92)を入力として標的群要素1つを出力する関数なので、依存関係グラフ中では出力辺を持たない対となる2つの頂点として表現される。ペアリングへの入力に相当する方式中の群要素変数は暗黙に宣言および定義されるとする。例えば図1のアルゴリズム中にはA,B,C,D,Eの5つの群要素変数が宣言および定義されているが、ペアリングへの入力に相当する2つの群要素変数は宣言も定義もされていない。この暗黙の群要素変数は図2ではp1[0]、p1[1]と表現されている。ペアリングが複数ある場合はi番目のペアリングはpi[0]、pi[1]なる暗黙の群要素変数を持つとする。また、一般にプログラム中の群演算や群要素比較で構成される表現からも、依存関係の文脈で必要なら適当に暗黙の群要素変数が宣言および定義されるとする。 Since pairing is a function that inputs two input group elements (group element 91 and group element 92 in the example of FIG. 2) and outputs one target group element, it becomes a pair having no output side in the dependency graph. Expressed as two vertices. Group element variables in the method corresponding to input to pairing shall be implicitly declared and defined. For example, five group element variables A, B, C, D, and E are declared and defined in the algorithm of Fig. 1, but two group element variables corresponding to the inputs to pairing are neither declared nor defined. It has not been. This implicit group element variable is expressed as p 1 [0] and p 1 [1] in FIG. If there are multiple pairings, the i-th pairing has implicit group element variables p i [0] and p i [1]. Further, it is assumed that, in general, an implicit group element variable is appropriately declared and defined if necessary in the context of a dependency relationship from an expression composed of group operations and group element comparisons in a program.

阿部らは対称ペアリングに基づく暗号方式を安全性を維持したまま非対称ペアリングに基づく暗号方式に変換する為のフレームワークを提案した(非特許文献1及び参考文献3参照)。阿部らのフレームワークでは、対称ペアリング上定義された方式の構成、構文、帰着、仮定等をまとめた1つの依存関係グラフから、ある制約に従う二つの部分グラフを導く。この部分グラフ達を導出する事を分割と呼ぶ。各部分グラフは変換後の方式を抽象しており、それぞれG0およびG1の群要素に関する依存関係グラフとなる。そして二つの部分グラフおよび元の方式より非対称ペアリング上定義された方式の構成、構文、帰着、仮定等が再構築される。図1のアルゴリズムの分割による変換の例を図3に、その依存関係グラフを図4に示す。分割による変換を考察するため、概ね非特許文献1、2、参考文献3、4に従っていくつか用語や記法を定義する。
(参考文献4) Fumitaka Hoshino, Masayuki Abe, and Miyako Ohkubo, "Optimal Conversion from Symmetric Pairing-based Scheme to Asymmetric One", In Proc. of SCIS 2016 2016 Symposium on Cryptography and Information Security Kumamoto, Japan, Jan. 19 - 22, 2016. IEICE, 2016.
Abe et al. Proposed a framework for converting an encryption method based on symmetric pairing into an encryption method based on asymmetric pairing while maintaining security (see Non-Patent Document 1 and Reference Document 3). In the framework of Abe et al., We derive two subgraphs that follow certain constraints from one dependency graph that summarizes the composition, syntax, consequences, assumptions, etc. of the method defined on symmetric pairing. Derivation of these subgraphs is called division. Each subgraph abstracts the method after conversion, and becomes a dependency graph for group elements of G 0 and G 1 , respectively. Then, the composition, syntax, consequences, assumptions, etc. of the method defined on the asymmetric pairing are reconstructed from the two subgraphs and the original method. An example of conversion by division of the algorithm of FIG. 1 is shown in FIG. 3, and its dependency graph is shown in FIG. In order to consider conversion by division, some terms and notations are generally defined according to Non-Patent Documents 1 and 2 and Reference Documents 3 and 4.
(Reference 4) Fumitaka Hoshino, Masayuki Abe, and Miyako Ohkubo, "Optimal Conversion from Symmetric Pairing-based Scheme to Asymmetric One", In Proc. Of SCIS 2016 2016 Symposium on Cryptography and Information Security Kumamoto, Japan, Jan. 19- 22, 2016. IEICE, 2016.

定義1(G,G0,G1) 上述の<ペアリング>でType1におけるペアリングの入力群をGと定義したが、以下Gを依存関係グラフまたはその頂点集合と再定義する。また、上述の<ペアリング>で一般の設定におけるペアリングの入力群をG0およびG1と定義したが、以下G0およびG1を依存関係グラフGの部分グラフまたはその頂点集合と再定義する。 Definition 1 (G, G 0 , G 1 ) Although the pairing input group in Type 1 was defined as G in the above <Pairing>, G is redefined as a dependency graph or its vertex set. Although the input group pairing in the general settings in the above <Pairing> was defined as G 0 and G 1, the following G 0 and G 1 subgraphs or redefine its vertex set of dependency graph G To do.

以下依存関係グラフGから分割によって2つの部分グラフGb、b∈{0,1}が生成されるとする。
定義2(祖先) 頂点x∈Gに対してxに到達可能な頂点y∈G(但しxを含まない)をxの祖先と呼ぶ。このとき頂点xは頂点yを祖先に持つと言う。
定義3(子孫) 頂点x∈Gに対してxから到達可能な頂点y∈G(但しxを含まない)をxの子孫と呼ぶ。このとき頂点xは頂点yを子孫に持つと言う。
Hereinafter, it is assumed that two subgraphs G b , b∈ {0,1} are generated from the dependency graph G by division.
Definition 2 (ancestor) A vertex y ∈ G (but not including x) that can reach x with respect to vertex x ∈ G is called an ancestor of x. At this time, vertex x is said to have vertex y as an ancestor.
Definition 3 (Descendants) A vertex y ∈ G (not including x) that can be reached from x with respect to vertex x ∈ G is called a descendant of x. At this time, vertex x is said to have vertex y as a descendant.

一般に有効な変数定義の連鎖によって構成された単一アルゴリズムのデータフローは有向非巡回グラフを構成するので閉路(cycle)を持たない。しかし方式の構成、構文、帰着、仮定等の複数のアルゴリズムが統合される場合、依存関係グラフは閉路を持ち得る。依存関係グラフが閉路を持つ場合、ある頂点yがある頂点xの祖先でありかつ子孫であるという事がありうる。閉路を構成する頂点同士はどれも互いに祖先でありかつ子孫であるから、依存関係の文脈では閉路自体を単一の頂点と同一視してよい。この性質を考慮し、有向グラフにおける葉の概念を多少拡張し、次のように定める。   In general, the data flow of a single algorithm constructed by a chain of valid variable definitions forms a directed acyclic graph, and thus has no cycle. However, the dependency graph may have a cycle when a plurality of algorithms such as the scheme configuration, the syntax, the consequences, the assumptions, etc. are integrated. When a dependency graph has a cycle, it is possible that a vertex y is an ancestor and a descendant of a vertex x. Since the vertices that make up a cycle are both ancestors and descendants of each other, the cycle itself may be equated to a single vertex in the context of a dependency relationship. Considering this property, the concept of leaf in a directed graph is expanded a little and is defined as follows.

定義4(葉) 出力が無い頂点、または(他の葉に到達可能な)出力が無い閉路を代表する頂点を葉と呼ぶ。定義によりペアリングへの入力は必ず葉となる。 Definition 4 (Leaf) A vertex with no output or a vertex that represents a closed cycle with no output (reachable to other leaves) is called a leaf. By definition, the inputs to pairing are always leaves.

本願明細書では整数の集合{0,1}を論理値の集合と同一視し、0を偽、1を真とみなす。論理式は全て古典論理(ブール代数)に従い演繹できるとする。概ね慣例に従い次の記法を用いる。   In the present specification, the set of integers {0,1} is equated with the set of logical values, and 0 is regarded as false and 1 as true. All logical expressions can be deduced according to classical logic (Boolean algebra). Generally, the following notation is used according to the convention.

定義5(∧,∨,xor,⇒,⇔,¬,-) 二つの論理式x、yに対してその論理積、論理和、排他的論理和、含意、同値をそれぞれx∧y、x∨y、x xor y、x⇒y、x⇔yと記述する。論理式xに対してその否定を¬xまたは-xと記述する。また、排他的論理和を

Figure 0006691491
とも記述する。 Definition 5 (∧, ∨, xor, ⇒, ⇔, ¬, - ) For two logical expressions x and y, their logical product, logical sum, exclusive disjunction, implication, and equivalence are x∧y and x∨, respectively. Write y, x xor y, x ⇒ y, x ⇔ y. Described as x - the negation ¬x or to the logical expression x. Also, the exclusive OR
Figure 0006691491
Also described.

論理的な言明と代数的な関係式の間の往来を容易にする為、次の定義を行なう。
定義6(割り当て変数(x∈Gb))(x∈Gb)なる表現をその真理値に従う論理変項、即ち{0,1}上の変数とする。(x∈Gb)を割り当て変数と呼ぶ。即ち、

Figure 0006691491
である。割り当て変数(x∈Gb)に関して、写像{(x∈Gb)}→{0,1}を割り当て変数(x∈Gb)への割り当てあるいは代入と呼ぶ。全ての割り当て変数の集合をVGとする。即ち
VG={(x∈Gb)|x∈G,b∈{0,1}}
である。写像VG→{0,1}を依存関係グラフGへの割り当て、あるいは単に割り当てと呼ぶ。割り当てを決定すれば分割を決定する事が出来る。 To facilitate the traffic between logical assertions and algebraic relations, the following definitions are made.
Definition 6 (Assignment variable (x ∈ G b )) (x ∈ G b ) is a logical variable according to its truth value, that is, a variable on {0, 1}. (x ∈ G b ) is called an assigned variable. That is,
Figure 0006691491
Is. For the assignment variable (x ∈ G b ), the map {(x ∈ G b )} → {0,1} is called assignment or substitution to the assignment variable (x ∈ G b ). Let V G be the set of all assigned variables. I.e.
V G = {(x ∈ G b ) | x ∈ G, b ∈ {0,1}}
Is. The mapping V G → {0,1} is called an assignment to the dependency graph G, or simply an assignment. If you decide the assignment, you can decide the division.

依存関係グラフG中にn個の頂点が存在する時、2n個の割り当て変数が存在する。従って、依存関係グラフGへの割り当て、即ち写像VG→{0,1}は22n個存在する。それらの割り当ての中には方式を変換する上で有効でないものも存在する。どのような割り当てが有効となるかは後に議論する。 When there are n vertices in the dependency graph G, there are 2n assigned variables. Therefore, there are 2 2n assignments to the dependency graph G, that is, the mapping V G → {0,1}. Some of these assignments are not valid in converting the scheme. It will be discussed later what kind of allocation is effective.

定義7(重複頂点) ある頂点xが
x∈G0 ∧ x∈G1
を満たすならxを重複頂点(duplicated node)と呼ぶ。
Definition 7 (overlapping vertices)
x ∈ G 0 ∧ x ∈ G 1
If x is satisfied, then x is called a duplicated node.

定義8(重複不可頂点) 何らかの理由により分割後に重複頂点となる可能性が無い頂点を重複不可頂点(non-duplicatable node)と呼ぶ。重複不可頂点はアルゴルズム中でハッシュ関数の出力が群要素となるような演算の出力を表現したり、データサイズを節約する為に方式の設計者により設定される事がある。また後述する理由により本願明細書で扱う変換では葉は全て重複不可頂点となる。 Definition 8 (non-duplicatable vertices) The vertices that have no possibility of becoming duplicate vertices for some reason are called non-duplicatable nodes. The non-overlapping vertices may be set by the designer of the method in order to represent the output of the operation in which the output of the hash function becomes a group element in the algorithm or to save the data size. Further, for the reasons described later, all the leaves are non-overlapping vertices in the conversion handled in this specification.

<阿部らのフレームワーク(非特許文献1、参考文献3参照)>
対称ペアリングは代数的構造が簡単な為、多くの暗号方式が対称ペアリングをを前提に設計されている。しかし、時間計算量や領域計算量等の効率の観点から、現在では非対称ペアリングを使用することが望ましいと考えられるようになった。そこで、阿部らは対称ペアリングに基づく暗号方式を安全性を保ったまま非対称ペアリングに基づく暗号方式に自動変換する以下のフレームワークを提案した(非特許文献1、参考文献3参照)。
<Abe's framework (see Non-Patent Document 1 and Reference Document 3)>
Since symmetric pairing has a simple algebraic structure, many cryptosystems are designed on the assumption of symmetric pairing. However, from the viewpoint of efficiency such as time complexity and area complexity, it is now considered desirable to use asymmetric pairing. Therefore, Abe et al. Have proposed the following framework for automatically converting an encryption method based on symmetric pairing into an encryption method based on asymmetric pairing while maintaining security (see Non-Patent Document 1 and Reference Document 3).

Step1:Type1のペアリング上の暗号方式の構成、構文、帰着、仮定等の各アルゴリズムが入力される。
Step2:各アルゴリズム中の群要素変数の依存関係グラフ(有向グラフ)をそれぞれ構成し、それを一つに統合する。
Step3:後述の制約条件の下で依存関係グラフを2つの部分グラフに分割する。なお、分割が存在しない場合は本フレームワークでは変換不可能とする。
Step4:分割に基づきType3ペアリング上の暗号方式の構成、構文、帰着、仮定等の各アルゴリズムが出力される。
Step1: Each algorithm such as configuration, syntax, consequents, assumptions, etc. of the encryption method on Type1 pairing is input.
Step2: Construct dependency graphs (directed graphs) of group element variables in each algorithm, and integrate them into one.
Step3: Divide the dependency graph into two subgraphs under the constraints described below. If there is no division, this framework cannot convert it.
Step4: Based on the division, each algorithm such as the configuration of the encryption method on Type3 pairing, the syntax, the reduction, and the assumption is output.

阿部らは上記の分割に関して次の定理を証明した。
定理1(非特許文献1参照) 上記の分割が下記の4つの制約を満たすとき、導出される方式は元の方式の機能と安全性をType3上で実現する。
制約1 分割された2つの部分グラフの合併は元のグラフと一致する。
制約2 もし部分グラフが頂点xを含むなら、その部分グラフは頂点xへの全ての路(path)を含む。
制約3 一つのペアリングに含まれる二つの頂点は互いに異なる部分グラフに含まれる。
制約4 もし一方の部分グラフが重複不可頂点を含むなら他方の部分グラフはその頂点を含まない。
Abe et al. Proved the following theorem regarding the above division.
Theorem 1 (see Non-Patent Document 1) When the above division satisfies the following four constraints, the derived method realizes the function and security of the original method on Type3.
Constraint 1 The union of the two subgraphs divided is consistent with the original graph.
Constraint 2 If the subgraph contains vertex x, then the subgraph contains all paths to vertex x.
Constraint 3 Two vertices included in one pairing are included in different subgraphs.
Constraint 4 If one subgraph contains a non-overlapping vertex, the other subgraph does not contain that vertex.

これら4つの制約条件を満たす分割を有効分割(valid split)と呼び、その割り当てを有効割り当て(valid assignment)と呼ぶ。非特許文献1、参考文献3ではStep3の分割は、方式に関する時間計算量や領域計算量といった何らかの評価関数を、総当たり探索により評価する事によって決定されるとしている。   The split satisfying these four constraint conditions is called a valid split, and the assignment is called a valid assignment. In Non-Patent Document 1 and Reference Document 3, the division of Step 3 is determined by evaluating some evaluation function such as a time calculation amount and a region calculation amount related to the method by a brute force search.

<有効分割と最適性の仮定>
以下、有効分割に関して考察する。
制約1 分割された2つの部分グラフの合併は元のグラフと一致する。
制約1は明らかに
G=G0∪G1
を意味する。これは頂点xがx∈Gであるなら
x∈G0∨x∈G1 (1)
である事を意味しており、従って

Figure 0006691491
は成立しない。式(1)の選言は
(x∈G0)+(x∈G1)≧1 (2)
と同義である。xが重複不可頂点である場合は
(x∈G0)+(x∈G1)=1 (3)
が成立する。
Figure 0006691491
としても良い。記述を簡素化するため、本発明では重複不可頂点xに関しては、論理変数(x∈G1)を改めて論理変数xと略記する事があるとする。即ち重複不可頂点x∈Gおよびb∈{0,1}に関して
Figure 0006691491
である。 <Effective partitioning and assumption of optimality>
The effective division will be considered below.
Constraint 1 The union of the two subgraphs divided is consistent with the original graph.
Constraint 1 is clear
G = G 0 ∪G 1
Means This means that if the vertex x is x ∈ G
x ∈ G 0 ∨ x ∈ G 1 (1)
Which means that
Figure 0006691491
Does not hold. The disjunction of formula (1) is
(x ∈ G 0 ) + (x ∈ G 1 ) ≧ 1 (2)
Is synonymous with. if x is a non-overlapping vertex
(x ∈ G 0 ) + (x ∈ G 1 ) = 1 (3)
Is established.
Figure 0006691491
Also good. In order to simplify the description, in the present invention, regarding the non-overlapping vertex x, the logical variable (xεG 1 ) may be abbreviated as the logical variable x again. That is, for non-overlapping vertices x ∈ G and b ∈ {0,1}
Figure 0006691491
Is.

本願明細書では評価関数に関して次の仮定を設ける。
仮定1(最適性の仮定) Gに関する二つの有効分割が存在しその違いが、"ある頂点xが重複頂点であるか否か"のみであったとする。この時xが重複頂点となる分割の評価値は必ずもう一方の分割の評価値と等しいかより悪い。
In this specification, the following assumptions are made regarding the evaluation function.
Assumption 1 (Assumption of Optimality) Suppose there are two effective partitions for G, and the only difference is "whether a certain vertex x is an overlapping vertex". At this time, the evaluation value of the division in which x is the overlapping vertex is always equal to or worse than the evaluation value of the other division.

この仮定は重複頂点が少なければ少ないほど方式に要する領域計算量や時間計算量が小さくなり、方式が効率的になるという観察に基づいている。評価関数がそうした評価基準とは異なる価値観(例えば出来るだけ沢山の重複頂点を持ちたい等)を持つ場合には本方式は適用できない。本方式ではこの仮定を最適性の仮定と呼ぶ。この仮定により、冗長な重複頂点を含む分割を考察の対象から除外出来る。以下、この仮定の下で有効分割に関して考察する。   This assumption is based on the observation that the smaller the number of overlapping vertices, the smaller the amount of area calculation and time calculation required for the method, and the more efficient the method. This method cannot be applied when the evaluation function has different values from those evaluation criteria (for example, having as many overlapping vertices as possible). In this method, this assumption is called the optimality assumption. With this assumption, partitions containing redundant overlapping vertices can be excluded from consideration. Below, we consider the effective partitioning under this assumption.

制約2 もし部分グラフが頂点xを含むなら、その部分グラフは頂点xへの全ての路(path)を含む。yをxの祖先とする。
制約2は明らかに
(x∈Gb)⇒(y∈Gb)
を意味する。図5の通り、真理値表の通り含意は不等号と同義である。従って、次式により表される。
(x∈Gb)≦(y∈Gb) (5)
Constraint 2 If the subgraph contains vertex x, then the subgraph contains all paths to vertex x. Let y be the ancestor of x.
Constraint 2 is clear
(x ∈ G b ) ⇒ (y ∈ G b )
Means As shown in FIG. 5, the implication is synonymous with the inequality sign according to the truth table. Therefore, it is expressed by the following equation.
(x ∈ G b ) ≦ (y ∈ G b ) (5)

yを頂点、Dyをyの子孫の全体とする。割り当て(y∈Gb)∈{0,1}は下記を満足する必要がある。
(y∈Gb)≧(x∈Gb), ∀x∈Dy (6)
即ち

Figure 0006691491
最適性の仮定により等号のみを考えれば良い。
Figure 0006691491
Let y be the vertex and D y be the whole descendant of y. The assignment (y ∈ G b ) ∈ {0,1} must satisfy the following.
( y ∈ G b ) ≧ (x ∈ G b ), ∀x D y (6)
I.e.
Figure 0006691491
Only the equal sign needs to be considered according to the assumption of optimality.
Figure 0006691491

今、仮にyが子孫を持たないと仮定すると、x∈Dyなるxが存在しないので、式(7)を考慮せずに(y∈Gb)の値を決定出来る。この時最適性の仮定によりyが重複頂点となる事は除外できる。即ち、もしyが葉なら、yは重複不可として良い。 Now, assuming that y has no descendants, there is no x such that x ∈ D y, so the value of (y ∈ G b ) can be determined without considering equation (7). At this time, it can be excluded that y is an overlapping vertex due to the assumption of optimality. That is, if y is a leaf, y can be unique.

次に、全ての葉の割り当てが決定したと仮定する。葉から繰り返し上流に遡り、上流側の頂点yの割り当てを式(7)により決定したい。最適性の仮定により全ての頂点の割り当てはその頂点から到達可能な全ての葉の割り当てによって決定されるとして良い。即ち値(y∈Gb)∈{0,1}は葉の値のみに依存する。LyをDyに含まれる葉の全体とする。式(7)より

Figure 0006691491
Next, assume that all leaf assignments have been determined. We would like to repeatedly go upstream from the leaf and determine the assignment of the vertex y on the upstream side by using equation (7). Due to optimality assumptions, all vertex assignments may be determined by all leaf assignments reachable from that vertex. That is, the value (y ∈ G b ) ∈ {0,1} depends only on the leaf value. Let L y be the entire leaf contained in D y . From equation (7)
Figure 0006691491

制約3 一つのペアリングに含まれる二つの頂点は互いに異なる部分グラフに含まれる。
x,yをペアリングへの入力対となる頂点とする。x,yは葉なので重複不可として良い。従ってx,yを{0,1}変数として良い。明らかに制約3は

Figure 0006691491
を意味する。x,yが{0,1}変数なので
x+y=1 (9)
として良い。 Constraint 3 Two vertices included in one pairing are included in different subgraphs.
Let x, y be the vertices that form the input pair for pairing. Since x and y are leaves, they can be unique. Therefore, x, y can be {0,1} variables. Obviously constraint 3
Figure 0006691491
Means x, y are {0,1} variables
x + y = 1 (9)
As good as.

制約4 もし一方の部分グラフが重複不可頂点を含むなら他方の部分グラフはその頂点を含まない。 Constraint 4 If one subgraph contains a non-overlapping vertex, the other subgraph does not contain that vertex.

x,yを重複不可頂点とし、xをyの子孫とする。式(4)より

Figure 0006691491
式(5)より
Figure 0006691491
が成立する。(x∈Gb)≠(y∈Gb)を仮定すると、直ちに(x∈Gb)=0および(y∈Gb)=1が成立する。なぜなら
0≦(x∈Gb)<(y∈Gb)≦1
であるから、式(10)により
Figure 0006691491
が成立する。従って式(5)即ち
Figure 0006691491
が成立しない。従って(x∈Gb)≠(y∈Gb)なる仮定は成立しない。よって(x∈Gb)=(y∈Gb)即ちx=yである。即ち、もしx,yが一つの路上の二つの重複不可頂点であるなら
x-y=0 (11)
が成立する。
Figure 0006691491
としても良い。 Let x, y be non-overlapping vertices and x be a descendant of y. From equation (4)
Figure 0006691491
From equation (5)
Figure 0006691491
Is established. Assuming (xεG b ) ≠ (yεG b ), (xεG b ) = 0 and (yεG b ) = 1 are immediately established. Because
0 ≦ (x ∈ G b ) <(y ∈ G b ) ≦ 1
Therefore, according to equation (10)
Figure 0006691491
Is established. Therefore, equation (5)
Figure 0006691491
Does not hold. Therefore, the assumption that (x ∈ G b ) ≠ (y ∈ G b ) does not hold. Therefore, (x ∈ G b ) = (y ∈ G b ), that is, x = y. That is, if x, y are two non-overlapping vertices on a road
xy = 0 (11)
Is established.
Figure 0006691491
Also good.

<阿部らのアルゴリズム(非特許文献2及び参考文献4)>
非特許文献1及び参考文献3では、Step3の分割は、方式に関する時間計算量や領域計算量といった何らかの関数を、総当たり探索により評価する事によって決定されるとしていた。ペアリングの数とペアリングへの入力でない葉の数の総和をnとすると、上記の総当たり探索には2n回の演算が必要であり、nが大きい時には計算量が大きくなりすぎて実行困難となる。阿部らはこの問題を有効分割の求解問題と最適化問題とに分離し、多項式時間求解アルゴリズムと次の最適化アルゴリズムを提案した(非特許文献2及び参考文献4)。
<Abe et al. Algorithm (Non-Patent Document 2 and Reference 4)>
In Non-Patent Document 1 and Reference Document 3, the division of Step3 is determined by evaluating some function such as the amount of time calculation and the amount of area calculation related to the method by brute force search. If the sum of the number of pairings and the number of leaves that are not input to the pairing is n, the above brute force search requires 2 n operations, and when n is large, the calculation amount becomes too large and executed. It will be difficult. Abe et al. Separated this problem into a solution problem of effective division and an optimization problem, and proposed a polynomial time solution algorithm and the following optimization algorithm (Non-patent document 2 and reference document 4).

Step1:制約(3),(8),(9),(11)をすべて書き下す。
Step2:(8)を下記の良く知られた方法で線形制約に変換する。
Step3:割り当て変数を使って線形目的関数を書き下す。
Step4:全ての線形制約および線形目的関数を任意の0-1整数計画アルゴリズムに入力し厳密解あるいは近似解を得る。
Step5:割り当て変数の値に従って分割を構成する。
Step1: Write down all constraints (3), (8), (9), and (11).
Step2: Convert (8) into linear constraints by the following well-known methods.
Step3: Write down the linear objective function using the assigned variables.
Step4: Input all linear constraints and linear objective functions into any 0-1 integer programming algorithm to obtain exact or approximate solutions.
Step 5: Configure the partition according to the value of the assigned variable.

線形制約への変換:(d∈G1)をdと略記すると(8)は

Figure 0006691491
と記述できる。ところで{0,1}上の変数y0,y1,zについて、
Figure 0006691491
である。即ち{0,1}変数の任意の連言と否定は線型制約の元で変数に置き換え可能で、従ってどのような命題変数の論理式もこの置き換えを繰り返す事によって{0,1}変数の線型制約付き線型式に変換出来る事が良く知られている。特にy1,…,yk,z∈{0,1}の時
Figure 0006691491
Conversion to linear constraint: (d ∈ G 1 ) is abbreviated as d
Figure 0006691491
Can be described as By the way, for variables y 0 , y 1 , z on {0,1},
Figure 0006691491
Is. That is, arbitrary conjunctions and negations of {0,1} variables can be replaced by variables under linear constraints, and thus any logical expression of a propositional variable can be linearly changed by repeating this replacement. It is well known that it can be converted into a constrained linear form. Especially when y 1 ,…, y k , z ∈ {0,1}
Figure 0006691491

である。従って制約(12)は線型制約

Figure 0006691491
と同値である。 Is. Therefore constraint (12) is a linear constraint
Figure 0006691491
Is the same value as.

<第一実施形態のポイント>
本実施形態に係るペアリング型変換装置では、ペアリング型変換で必要となる制約をうまく制御し0-1整数計画問題に入力される問題を特殊な形式に限定することにより最適化実行時間を高速化する。
<Points of the first embodiment>
In the pairing type conversion apparatus according to the present embodiment, by optimizing the constraints required in the pairing type conversion and limiting the problem input to the 0-1 integer programming problem to a special form, the optimization execution time is reduced. Speed up.

整数行列A、整数ベクトルb,f、ベクトル変数xで定義される整数計画問題
max{f・x|Ax≧b, 0≦x≦1, x∈Zn}
の線型緩和
max{f・x|Ax≧b, 0≦x≦1, x∈Rn}
を考える。行列Aは、その如何なる小行列式も0、1、-1のいずれかであるとき完全単模(完全ユニモジュラー、totally unimodular)と呼ばれる。行列Aが完全単模である時、整数計画問題の解はその線型緩和の解と一致する事が知られている。一般に線型計画問題はPと呼ばれる問題クラスに属しており、従って行列Aが完全単模であるなら整数計画問題を線型計画問題ととらえ直す事によって多項式時間で解く事が出来る。
Integer programming problem defined by integer matrix A, integer vector b, f, and vector variable x
max {f ・ x | Ax ≧ b, 0 ≦ x ≦ 1, x ∈ Z n }
Linear relaxation
max {f ・ x | Ax ≧ b, 0 ≦ x ≦ 1, x ∈ R n }
think of. The matrix A is called totally unimodular when any subdeterminant is 0, 1, or -1. It is known that the solution of an integer programming problem matches the solution of its linear relaxation when the matrix A is perfect simple. Generally, a linear programming problem belongs to a problem class called P, and therefore if the matrix A is a perfect simple pattern, it can be solved in polynomial time by reconsidering an integer programming problem as a linear programming problem.

ペアリング型変換で必要となる線型制約Aは必ずしも完全単模ではないので、直接この方法を適用する事は出来ないが行列Aの小行列式のうちなるべく多くのものが0,1,-1となるようAを構成出来れば、整数計画法を高速化出来る事が期待できる。   The linear constraint A required for the pairing conversion is not necessarily a perfect simple pattern, so this method cannot be applied directly, but as many small determinants of the matrix A as possible are 0,1, -1. If A can be constructed so that, it can be expected that integer programming can be speeded up.

ところで、以下の四つの条件を満たす行列Aは完全単模となる事が知られている。
条件1:Aのすべての成分は0、1、-1のいずれかである。
条件2:Aのすべての行には、ゼロでない成分が高々二つしか存在しない。
条件3:Aのある行の二つのゼロでない成分の符号が同一であるなら、その一つの列はある添え字集合Bに属し、もう一つの列はBに属さない添え字の集合Cに属する。
条件4:Aのある行の二つのゼロでない成分の符号が異なるなら、それら両方の列はBあるいはCのどちらか一方に属する。
By the way, it is known that the matrix A that satisfies the following four conditions is a perfect imitation.
Condition 1: All components of A are 0, 1, or -1.
Condition 2: Every row of A has at most two non-zero components.
Condition 3: If two non-zero components of a row of A have the same sign, then one column belongs to some subscript set B and the other column belongs to a subscript set C that does not belong to B. .
Condition 4: If two non-zero components of a row of A have different signs, then both columns belong to either B or C.

一般に条件1と条件2を満足するAが条件3や条件4を満足しない場合、条件3や条件4に矛盾を生じるような行をAから適当に除去した行列A'を完全単模とする事ができる。   In general, if A that satisfies the conditions 1 and 2 does not satisfy the conditions 3 and 4, the matrix A ', which is a row that causes a contradiction in the conditions 3 and 4 is appropriately removed from A, should be a perfect simple pattern. You can

阿部らの方法で生成されるAは条件1を満たすが式(14)の第1式と第3式の為に、大抵の場合、条件2を満足しない。従って、部分行列A'が完全単模となる為に条件3や条件4に矛盾を生じるような行以外に大抵は条件2を満足しない行を全て取り除く必要がある。   Although A generated by the method of Abe et al. Satisfies the condition 1, it does not satisfy the condition 2 in most cases because of the first and third formulas of the formula (14). Therefore, in general, it is necessary to remove all rows that do not satisfy the condition 2 except the rows that cause the contradictions in the condition 3 and the condition 4 because the submatrix A ′ is a perfect simple pattern.

阿部らのアルゴリズム(非特許文献2、参考文献4)では式(7)から得た式(8)を式(13)を使って無理やり線形制約に置き換えた。本実施形態ではこの置き換えを辞めて式(6)から最適性の仮定を使って直接以下を得る。   In the algorithm of Abe et al. (Non-patent document 2, Reference document 4), the formula (8) obtained from the formula (7) was forcedly replaced with the linear constraint by using the formula (13). In the present embodiment, this replacement is terminated and the following is directly obtained from the equation (6) using the assumption of optimality.

yを頂点、Lyをyの子孫のうち葉であるものの全体とする。割り当て(y∈Gb)∈{0,1}は下記を満足する必要がある。
(y∈Gb)≧(x∈Gb), ∀x∈Ly (15)
阿部らの方法で問題となった制約(14)の第1式と第3式は出現しない。
Let y be the vertex and L y be the whole of the descendants of y that are leaves. The assignment (y ∈ G b ) ∈ {0,1} must satisfy the following.
( y ∈ G b ) ≧ (x ∈ G b ), ∀x L y (15)
The first and third equations of constraint (14), which were the problem in Abe's method, do not appear.

本実施形態では、以下のStepを実行する。
Step1:制約(3)、(15)、(9)、(11)をすべて書き下し線型制約を設定する。
Step2:割り当て変数を使って線形目的関数を書き下す。
Step3:全ての線形制約および線形目的関数を任意の0-1整数計画アルゴリズムに入力し厳密解あるいは近似解を得る。
Step4:割り当て変数の値に従って分割を構成する。
In this embodiment, the following steps are executed.
Step1: Write down all constraints (3), (15), (9), and (11) to set linear constraints.
Step2: Write down the linear objective function using the assigned variables.
Step3: Input all linear constraints and linear objective functions into any 0-1 integer programming algorithm to obtain exact or approximate solutions.
Step 4: Configure the partition according to the value of the assigned variable.

以上を実現するペアリング型変換装置について説明する。
<第一実施形態>
図6は第一実施形態に係るペアリング型変換装置100の機能ブロック図を、図7はその処理フローを示す。
A pairing type conversion device that realizes the above will be described.
<First embodiment>
FIG. 6 is a functional block diagram of the pairing type conversion device 100 according to the first embodiment, and FIG. 7 shows its processing flow.

ペアリング型変換装置100は、CPUと、RAMと、以下の処理を実行するためのプログラムを記録したROMを備えたコンピュータで構成され、機能的には次に示すように構成されている。   The pairing type conversion device 100 is configured by a computer including a CPU, a RAM, and a ROM recording a program for executing the following processing, and is functionally configured as shown below.

ペアリング型変換装置100は、線型制約設定部110と、目的関数設定部120と、整数計画部130と、分割構成部140とを含む。   The pairing type conversion device 100 includes a linear constraint setting unit 110, an objective function setting unit 120, an integer planning unit 130, and a division configuration unit 140.

ペアリング型変換装置100は、対称ペアリングに基づく暗号方式を非対称ペアリングに基づく暗号方式に変換する。例えば、ペアリング型変換装置100は、対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを入力情報とし、非対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムに変換し、出力情報として出力する。   The pairing type conversion device 100 converts an encryption method based on symmetric pairing into an encryption method based on asymmetric pairing. For example, the pairing type conversion device 100 receives an algorithm including a configuration, syntax, reduction and assumption of a cryptosystem based on symmetric pairing as input information and includes a configuration, syntax, reduction and assumption of a cryptosystem based on asymmetric pairing. Converted to an algorithm and output as output information.

<線型制約設定部110>
線型制約設定部110は、あらかじめ定めた分割のための4つの線形制約を設定する(S110)。なお、4つの線形制約とは、
(1)xが重複不可頂点の場合は、(x∈G0)+(x∈G1)=1
(2)Lyに含まれる任意のxについて、(y∈Gb)≧(x∈Gb)
(3)xとyとがペアリングへの入力対となる頂点である場合は、x+y=1
(4)xとyが1つの路上の2つの重複不可頂点ならば、x-y=0
であり、それぞれ以下の分割のための4つの制約に対応する。
制約1 分割された2つの部分グラフの合併は元のグラフと一致する。
制約2 もし部分グラフが頂点xを含むなら、その部分グラフは頂点xへの全ての路(path)を含む。
制約3 一つのペアリングに含まれる二つの頂点は互いに異なる部分グラフに含まれる。
制約4 もし一方の部分グラフが重複不可頂点を含むなら他方の部分グラフはその頂点を含まない。
<Linear constraint setting unit 110>
The linear constraint setting unit 110 sets four linear constraints for predetermined division (S110). The four linear constraints are
(1) When x is a non-overlapping vertex, (x ∈ G 0 ) + (x ∈ G 1 ) = 1
(2) For any x included in L y , ( y ∈ G b ) ≧ (x ∈ G b ).
(3) If x and y are vertices that are the input pair to pairing, x + y = 1
(4) If x and y are two non-overlapping vertices on one road, xy = 0
And correspond respectively to the four constraints for partitioning below.
Constraint 1 The union of the two subgraphs divided is consistent with the original graph.
Constraint 2 If the subgraph contains vertex x, then the subgraph contains all paths to vertex x.
Constraint 3 Two vertices included in one pairing are included in different subgraphs.
Constraint 4 If one subgraph contains a non-overlapping vertex, the other subgraph does not contain that vertex.

<目的関数設定部120>
目的関数設定部120は、目的関数を全ての割り当て変数に関する線型関数として設定する(S120)。もし目的関数が割り当て変数の非線形(論理)関数であるなら、次式に基づき、目的関数を線形制約付き線形目的関数に変換し設定する。

Figure 0006691491
<Objective function setting unit 120>
The objective function setting unit 120 sets the objective function as a linear function for all assigned variables (S120). If the objective function is a non-linear (logical) function of assigned variables, the objective function is converted into a linear objective function with a linear constraint and set based on the following equation.
Figure 0006691491

<整数計画部130>
整数計画部130は、線形制約と線型関数または線形目的関数とを0-1整数計画アルゴリズムに入力し、依存関係グラフの最適分割の厳密解又は近似解を求める(S130)。
<Integer planner 130>
The integer planning unit 130 inputs the linear constraint and the linear function or the linear objective function into the 0-1 integer programming algorithm, and obtains an exact solution or an approximate solution of the optimal partition of the dependency graph (S130).

<分割構成部140>
分割構成部140は、厳密解又は近似解の割り当て変数の値に従って、対称ペアリング上定義された方式の構成、構文、帰着、仮定等をまとめた1つの依存関係グラフを2つの部分グラフに分割し(S140)、2つの部分グラフ及び元の方式より非対称ペアリング上に定義された方式の構成、構文、帰着、仮定等を再構築し、そのアルゴリズムを出力する。
<Division configuration unit 140>
The division configuration unit 140 divides one dependency graph that summarizes the configuration, syntax, consequences, assumptions, etc. of the method defined on the symmetric pairing into two subgraphs according to the value of the assigned variable of the exact solution or the approximate solution. (S140), the two subgraphs and the original method are reconstructed from the method configuration, syntax, consequences, assumptions, etc. of the method defined on the asymmetric pairing, and the algorithm is output.

<効果>
以上の構成により、従来よりも最適化実行時間の高速化が期待できる。式(15)が全て±1係数の2変数不等式であるので、条件1と条件2を満足するAを構成できる。そのため、整数計画部130における整数計画法の高速化が期待できる。
<Effect>
With the above configuration, the optimization execution time can be expected to be faster than before. Since Expression (15) is a two-variable inequality with all ± 1 coefficients, A that satisfies Condition 1 and Condition 2 can be constructed. Therefore, the integer programming method in the integer planning unit 130 can be expected to be speeded up.

例えば、本実施形態のペアリング型変換装置によって、対称ペアリングに基づくIDベース暗号(参考文献5参照)を非対称ペアリングに基づくIDベース暗号に変換することができる。
(参考文献5)小林鉄太郎,山本剛,鈴木幸太郎,平田真一,「IDベース暗号の応用とキーワード検索」、NTT技術ジャーナル、2010.2, pp.17-20
For example, the pairing type conversion device of the present embodiment can convert an ID-based encryption based on symmetric pairing (see Reference 5) into an ID-based encryption based on asymmetric pairing.
(Reference 5) Tetsutaro Kobayashi, Tsuyoshi Yamamoto, Kotaro Suzuki, Shinichi Hirata, "Application of ID-based encryption and keyword search", NTT Technical Journal, 2010.2, pp.17-20

ここで、変換されたIDベース暗号は以下のように産業上利用可能である。例えば、ある利用者Aが他の利用者Bに平文mを暗号化して送信する場合について考える(図8参照)。利用者Aの利用者端末10Aは、鍵発行センタ20の公開情報と利用者BのIDから暗号化鍵PKBを計算し、計算した暗号鍵PKBを用いて平文mを暗号化し(このとき、ペアリング演算を行う、例えば、c=enc(PKB,m))、暗号文cを利用者Bの利用者端末10Bに送信する。利用者端末10Bは、鍵発行センタ20に対して利用者B用の秘密鍵(復号鍵)を要求する。鍵発行センタ20は要求に基づき利用者Bの暗号化鍵(公開鍵)PKBとIDからマスター秘密鍵SKを用いて利用者B用の秘密鍵SKBを生成し、利用者端末10Bに送信する。利用者端末10Bは利用者B用の秘密鍵をSKB受け取り、暗号文cを復号する(このとき、ペアリング演算を行う、例えば、m'=dec(SKB,c))。このようにして、利用者Aは利用者Bに平文mを暗号化して安全に送信することができる。 Here, the converted ID-based encryption can be industrially used as follows. For example, consider a case where a certain user A encrypts and transmits a plaintext m to another user B (see FIG. 8). The user terminal 10A of the user A calculates the encryption key PK B from the public information of the key issuing center 20 and the ID of the user B, and encrypts the plaintext m using the calculated encryption key PK B (at this time, , Perform pairing calculation, for example, c = enc (PK B , m)), and transmit the ciphertext c to the user terminal 10B of the user B. The user terminal 10B requests the key issuing center 20 for the private key (decryption key) for the user B. On the basis of the request, the key issuing center 20 uses the master secret key SK from the encryption key (public key) PK B of the user B and the ID to generate the secret key SK B for the user B and sends it to the user terminal 10B. To do. The user terminal 10B receives the secret key for the user B SK B and decrypts the ciphertext c (at this time, a pairing operation is performed, for example, m ′ = dec (SK B , c)). In this way, the user A can encrypt and transmit the plaintext m to the user B safely.

また、例えば、本実施形態のペアリング型変換装置によって、対称ペアリングに基づく電子署名(参考文献6参照)、属性ベース暗号、関数暗号を、それぞれ非対称ペアリングに基づく電子署名、属性ベース暗号、関数暗号に変換することができる。変換された電子署名、属性ベース暗号、関数暗号についても当然、産業上利用可能である。
(参考文献6)Dan Boneh, Ben Lynn, and Hovav Shacham, "Short signatures from the Weil pairing", 2004.
In addition, for example, the pairing type conversion apparatus of the present embodiment converts a digital signature based on symmetric pairing (see Reference 6), an attribute-based encryption, and a function encryption into a digital signature based on asymmetric pairing, an attribute-based encryption, It can be converted into a function cipher. Naturally, the converted electronic signature, attribute-based encryption, and function encryption can also be industrially used.
(Reference 6) Dan Boneh, Ben Lynn, and Hovav Shacham, "Short signatures from the Weil pairing", 2004.

<その他の変形例>
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
<Other modifications>
The present invention is not limited to the above embodiments and modifications. For example, the various processes described above may be executed not only in time series according to the description, but also in parallel or individually according to the processing capability of the device that executes the process or the need. Other changes can be made as appropriate without departing from the spirit of the present invention.

<プログラム及び記録媒体>
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
<Program and recording medium>
Further, various processing functions in each device described in the above-described embodiment and modification may be realized by a computer. In that case, the processing content of the function that each device should have is described by the program. By executing this program on a computer, various processing functions of the above-described devices are realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   The program describing the processing contents can be recorded in a computer-readable recording medium. The computer-readable recording medium may be any recording medium such as a magnetic recording device, an optical disc, a magneto-optical recording medium, or a semiconductor memory.

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

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, the program recorded on a portable recording medium or the program transferred from the server computer in its own storage unit. Then, when executing the process, this computer reads the program stored in its own storage unit and executes the process according to the read program. Further, as another embodiment of this program, the computer may directly read the program from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer to this computer, the processing according to the received program may be executed successively. Further, the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by executing the execution instruction and acquiring the result without transferring the program from the server computer to the computer. May be Note that the program includes information that is used for processing by an electronic computer and that conforms to the program (such as data that is not a direct command to the computer but has the property of defining the processing of the computer).

また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   Further, although each device is configured by executing a predetermined program on a computer, at least a part of the processing contents may be realized by hardware.

Claims (3)

対称ペアリングに基づく暗号方式を非対称ペアリングに基づく暗号方式に変換するためのペアリング型変換装置であって、
前記対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを入力情報、前記非対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを出力情報とし、
G0とG1は分割後の部分グラフ、xとyは分割前のグラフの頂点、b∈{0,1}、(x∈Gb)及び(y∈Gb)は()内の記述が真ならば1偽ならば0を示す割り当て変数、Lyはyの子孫のうち葉であるものの集合とし、
あらかじめ定めた分割のための4つの線形制約を設定する線型制約設定部と、
目的関数を全ての割り当て変数に関する線型関数として設定し、目的関数が割り当て変数の非線形関数であるなら目的関数を線形制約付き線形目的関数に変換し設定する目的関数設定部と、
前記線形制約と前記線型関数または前記線形制約付き線形目的関数とを0-1整数計画アルゴリズムに入力し厳密解又は近似解を求める整数計画部と、
厳密解又は近似解の割り当て変数の値に従って、前記対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを表現する1つの依存関係グラフを2つの部分グラフに分割し、2つの部分グラフ及び元の暗号方式より前記非対称ペアリング上に定義された方式の構成、構文、帰着、仮定を再構築する分割構成部と、
を備え、
前記線形制約は、
(1)xが重複不可頂点の場合は、(x∈G0)+(x∈G1)=1
(2)Lyに含まれる任意のxについて、(y∈Gb)≧(x∈Gb)
(3)xとyとがペアリングへの入力対となる頂点である場合は、x+y=1
(4)xとyが1つの路上の2つの重複不可頂点ならば、x-y=0
である、
ペアリング型変換装置。
A pairing type conversion device for converting an encryption method based on symmetric pairing into an encryption method based on asymmetric pairing,
Input information is an algorithm including the configuration, syntax, return, and assumption of the cryptosystem based on the symmetric pairing, and output information is an algorithm including the configuration, syntax, return, and the assumption of the cryptosystem based on the asymmetric pairing,
G 0 and G 1 are subgraphs after division, x and y are vertices of the graph before division, b ∈ {0,1}, (x ∈ G b ) and (y ∈ G b ) are descriptions in () Is 1 if false is true and 0 is false if false, and L y is the set of descendants of y that are leaves, and
A linear constraint setting unit that sets four linear constraints for predetermined division,
An objective function setting unit that sets the objective function as a linear function for all assigned variables, and if the objective function is a non-linear function of assigned variables, converts the objective function into a linear objective function with linear constraints and sets it.
An integer programming unit for obtaining an exact solution or an approximate solution by inputting the linear constraint and the linear function or the linear objective function with the linear constraint into a 0-1 integer programming algorithm,
According to the value of the assigned variable of the exact solution or the approximate solution, one dependency graph expressing an algorithm including the configuration, syntax, reduction, and assumptions of the cryptosystem based on the symmetric pairing is divided into two subgraphs, and two A partitioning component that reconstructs the configuration, syntax, consequent, and assumptions of the scheme defined on the asymmetric pairing from the subgraph and the original cryptosystem ,
Equipped with
The linear constraint is
(1) When x is a non-overlapping vertex, (x ∈ G 0 ) + (x ∈ G 1 ) = 1
(2) For any x included in L y , ( y ∈ G b ) ≧ (x ∈ G b ).
(3) If x and y are vertices that are the input pair to pairing, x + y = 1
(4) If x and y are two non-overlapping vertices on one road, xy = 0
Is,
Pairing type conversion device.
称ペアリングに基づく暗号方式を非対称ペアリングに基づく暗号方式に変換するペアリング型変換方法であって、
前記対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを入力情報、前記非対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを出力情報とし、
G0とG1は分割後の部分グラフ、xとyは分割前のグラフの頂点、b∈{0,1}、(x∈Gb)及び(y∈Gb)は()内の記述が真ならば1偽ならば0を示す割り当て変数、Lyはyの子孫のうち葉であるものの集合とし、
線型制約設定部が、あらかじめ定めた分割のための4つの線形制約を設定する線型制約設定ステップと、
目的関数設定部が、目的関数を全ての割り当て変数に関する線型関数として設定し、目的関数が割り当て変数の非線形関数であるなら目的関数を線形制約付き線形目的関数に変換し設定する目的関数設定ステップと、
整数計画部が、前記線形制約と前記線型関数または前記線形制約付き線形目的関数とを0-1整数計画アルゴリズムに入力し厳密解又は近似解を求める整数計画ステップと、
分割構成部が、厳密解又は近似解の割り当て変数の値に従って、前記対称ペアリングに基づく暗号方式の構成、構文、帰着、仮定を含むアルゴリズムを表現する1つの依存関係グラフを2つの部分グラフに分割し、2つの部分グラフ及び元の暗号方式より前記非対称ペアリング上に定義された方式の構成、構文、帰着、仮定を再構築する分割構成ステップと、
を備え、
前記線形制約は、
(1)xが重複不可頂点の場合は、(x∈G0)+(x∈G1)=1
(2)Lyに含まれる任意のxについて、(y∈Gb)≧(x∈Gb)
(3)xとyとがペアリングへの入力対となる頂点である場合は、x+y=1
(4)xとyが1つの路上の2つの重複不可頂点ならば、x-y=0
である、
ペアリング型変換方法。
A Lupe bearings type conversion method converts the encryption scheme based encryption scheme based on symmetric pairing asymmetrically pairing,
Input information is an algorithm including the configuration, syntax, return, and assumption of the cryptosystem based on the symmetric pairing, and output information is an algorithm including the configuration, syntax, return, and the assumption of the cryptosystem based on the asymmetric pairing,
G 0 and G 1 are subgraphs after division, x and y are vertices of the graph before division, b ∈ {0,1}, (x ∈ G b ) and (y ∈ G b ) are descriptions in () Is 1 if false is true and 0 is false if false, and L y is the set of descendants of y that are leaves, and
The linear constraint setting unit sets a linear constraint setting step for setting four linear constraints for predetermined division,
The objective function setting unit sets the objective function as a linear function for all the assigned variables, and if the objective function is a non-linear function of the assigned variables, an objective function setting step of converting the objective function into a linear objective function with a linear constraint and setting the objective function. ,
An integer programming step, an integer programming step in which the linear constraint and the linear function or the linear objective function with the linear constraint are input to a 0-1 integer programming algorithm to obtain an exact solution or an approximate solution,
Partitioning component, according to the value of the assigned variable of the exact solution or approximate solution, the configuration of the cryptosystem based on the symmetric pairing, syntax, return, one dependency graph expressing an algorithm including assumptions into two subgraphs. A partitioning configuration step of partitioning and reconstructing the configuration, syntax, consequent, and assumptions of the scheme defined on the asymmetric pairing from the two subgraphs and the original cryptosystem ;
Equipped with
The linear constraint is
(1) When x is a non-overlapping vertex, (x ∈ G 0 ) + (x ∈ G 1 ) = 1
(2) For any x included in L y , ( y ∈ G b ) ≧ (x ∈ G b ).
(3) If x and y are vertices that are the input pair to pairing, x + y = 1
(4) If x and y are two non-overlapping vertices on one road, xy = 0
Is,
Pairing type conversion method.
請求項1のペアリング型変換装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the pairing type conversion device according to claim 1.
JP2017007801A 2017-01-19 2017-01-19 Pairing conversion device, pairing conversion method, program Active JP6691491B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017007801A JP6691491B2 (en) 2017-01-19 2017-01-19 Pairing conversion device, pairing conversion method, program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017007801A JP6691491B2 (en) 2017-01-19 2017-01-19 Pairing conversion device, pairing conversion method, program

Publications (2)

Publication Number Publication Date
JP2018116194A JP2018116194A (en) 2018-07-26
JP6691491B2 true JP6691491B2 (en) 2020-04-28

Family

ID=62985453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017007801A Active JP6691491B2 (en) 2017-01-19 2017-01-19 Pairing conversion device, pairing conversion method, program

Country Status (1)

Country Link
JP (1) JP6691491B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117171766B (en) * 2023-07-31 2024-04-05 上海交通大学 Data protection method, system and medium based on deep neural network model

Also Published As

Publication number Publication date
JP2018116194A (en) 2018-07-26

Similar Documents

Publication Publication Date Title
US8495373B2 (en) Method of generating a cryptographic key, network and computer program therefor
Hofheinz Algebraic partitioning: fully compact and (almost) tightly secure cryptography
Barta et al. On succinct arguments and witness encryption from groups
Gentry et al. A unified framework for trapdoor-permutation-based sequential aggregate signatures
Abe et al. Design in type-I, run in type-III: Fast and scalable bilinear-type conversion using integer programming
Abusalah et al. Offline witness encryption
Nitulescu Lattice-based zero-knowledge snargs for arithmetic circuits
Liu et al. Towards practical homomorphic time-lock puzzles: Applicability and verifiability
Groß Signatures and efficient proofs on committed graphs and NP-statements
Coron et al. A polynomial-time algorithm for solving the hidden subset sum problem
Zhou et al. Two-tier data packing in rlwe-based homomorphic encryption for secure federated learning
JP6691491B2 (en) Pairing conversion device, pairing conversion method, program
Couteau et al. Efficient nizks for algebraic sets
Lipmaa et al. Set (non-) membership nizks from determinantal accumulators
Borges de Oliveira Selected Privacy-Preserving Protocols
Liu et al. An efficient identity-based online/offline signature scheme without key escrow
Geihs Great-LaKeys: an improved threshold-PRF and a novel exponent-VRF from LWR
Santoso Generalization of isomorphism of polynomials with two secrets and its application to public key encryption
Pareek et al. On Efficient Access Control Mechanisms in Hierarchy using Unidirectional and Transitive Proxy Re-encryption Schemes.
Kim et al. A tag based encoding: an efficient encoding for predicate encryption in prime order groups
Santhiya et al. Analysis on DGHV and NTRU fully homomorphic encryption schemes
Liang et al. A lattice-based multisignature scheme for blockchain-enabled systems
Tiplea et al. Practically Efficient Attribute-based Encryption for Compartmented Access Structures.
Ţiplea et al. Key-policy attribute-based encryption from bilinear maps
Altuğ et al. Hard isogeny problems over RSA moduli and groups with infeasible inversion

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200410

R150 Certificate of patent or registration of utility model

Ref document number: 6691491

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