JP6691491B2 - Pairing conversion device, pairing conversion method, program - Google Patents
Pairing conversion device, pairing conversion method, program Download PDFInfo
- 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
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
しかしながら、従来技術において用いられる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.
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。 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.
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
(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 (
阿部らは対称ペアリングに基づく暗号方式を安全性を維持したまま非対称ペアリングに基づく暗号方式に変換する為のフレームワークを提案した(非特許文献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
(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
以下依存関係グラフ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と記述する。また、排他的論理和を
論理的な言明と代数的な関係式の間の往来を容易にする為、次の定義を行なう。
定義6(割り当て変数(x∈Gb))(x∈Gb)なる表現をその真理値に従う論理変項、即ち{0,1}上の変数とする。(x∈Gb)を割り当て変数と呼ぶ。即ち、
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,
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
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
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 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
<有効分割と最適性の仮定>
以下、有効分割に関して考察する。
制約1 分割された2つの部分グラフの合併は元のグラフと一致する。
制約1は明らかに
G=G0∪G1
を意味する。これは頂点xがx∈Gであるなら
x∈G0∨x∈G1 (1)
である事を意味しており、従って
(x∈G0)+(x∈G1)≧1 (2)
と同義である。xが重複不可頂点である場合は
(x∈G0)+(x∈G1)=1 (3)
が成立する。
The effective division will be considered below.
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
(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.
本願明細書では評価関数に関して次の仮定を設ける。
仮定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)
即ち
( y ∈ G b ) ≧ (x ∈ G b ), ∀x ∈ D y (6)
I.e.
今、仮に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)より
制約3 一つのペアリングに含まれる二つの頂点は互いに異なる部分グラフに含まれる。
x,yをペアリングへの入力対となる頂点とする。x,yは葉なので重複不可として良い。従ってx,yを{0,1}変数として良い。明らかに制約3は
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
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)より
0≦(x∈Gb)<(y∈Gb)≦1
であるから、式(10)により
x-y=0 (11)
が成立する。
0 ≦ (x ∈ G b ) <(y ∈ G b ) ≦ 1
Therefore, according to equation (10)
xy = 0 (11)
Is established.
<阿部らのアルゴリズム(非特許文献2及び参考文献4)>
非特許文献1及び参考文献3では、Step3の分割は、方式に関する時間計算量や領域計算量といった何らかの関数を、総当たり探索により評価する事によって決定されるとしていた。ペアリングの数とペアリングへの入力でない葉の数の総和をnとすると、上記の総当たり探索には2n回の演算が必要であり、nが大きい時には計算量が大きくなりすぎて実行困難となる。阿部らはこの問題を有効分割の求解問題と最適化問題とに分離し、多項式時間求解アルゴリズムと次の最適化アルゴリズムを提案した(非特許文献2及び参考文献4)。
<Abe et al. Algorithm (Non-Patent Document 2 and Reference 4)>
In
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)は
である。従って制約(12)は線型制約
<第一実施形態のポイント>
本実施形態に係るペアリング型変換装置では、ペアリング型変換で必要となる制約をうまく制御し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
阿部らの方法で生成されるAは条件1を満たすが式(14)の第1式と第3式の為に、大抵の場合、条件2を満足しない。従って、部分行列A'が完全単模となる為に条件3や条件4に矛盾を生じるような行以外に大抵は条件2を満足しない行を全て取り除く必要がある。
Although A generated by the method of Abe et al. Satisfies the
阿部らのアルゴリズム(非特許文献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
ペアリング型変換装置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
The linear
(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 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)。もし目的関数が割り当て変数の非線形(論理)関数であるなら、次式に基づき、目的関数を線形制約付き線形目的関数に変換し設定する。
The objective
<整数計画部130>
整数計画部130は、線形制約と線型関数または線形目的関数とを0-1整数計画アルゴリズムに入力し、依存関係グラフの最適分割の厳密解又は近似解を求める(S130)。
<
The
<分割構成部140>
分割構成部140は、厳密解又は近似解の割り当て変数の値に従って、対称ペアリング上定義された方式の構成、構文、帰着、仮定等をまとめた1つの依存関係グラフを2つの部分グラフに分割し(S140)、2つの部分グラフ及び元の方式より非対称ペアリング上に定義された方式の構成、構文、帰着、仮定等を再構築し、そのアルゴリズムを出力する。
<
The
<効果>
以上の構成により、従来よりも最適化実行時間の高速化が期待できる。式(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
例えば、本実施形態のペアリング型変換装置によって、対称ペアリングに基づく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
また、例えば、本実施形態のペアリング型変換装置によって、対称ペアリングに基づく電子署名(参考文献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.
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)
| 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 |
-
2017
- 2017-01-19 JP JP2017007801A patent/JP6691491B2/en active Active
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 |