JP6445474B2 - Pairing type conversion device, pairing type conversion method, program - Google Patents
Pairing type conversion device, pairing type conversion method, program Download PDFInfo
- Publication number
- JP6445474B2 JP6445474B2 JP2016006350A JP2016006350A JP6445474B2 JP 6445474 B2 JP6445474 B2 JP 6445474B2 JP 2016006350 A JP2016006350 A JP 2016006350A JP 2016006350 A JP2016006350 A JP 2016006350A JP 6445474 B2 JP6445474 B2 JP 6445474B2
- Authority
- JP
- Japan
- Prior art keywords
- pairing
- evaluation function
- node
- type conversion
- identifier
- 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 pairing type conversion device, a pairing type conversion method, and a program for converting an algebraic structure of an algorithm.
アルゴリズムの代数的構造を変換する技術が知られている。例えば、非特許文献1には、群G,GT上のペアリングe:G×G→GTを用いたアルゴリズムを、群G1,G2,GT上のペアリングe:G1×G2→GT(ただしG1≠G2)を用いたアルゴリズムに変換する技術が開示されている。非特許文献1では、群G上の群演算の依存関係グラフのノードに群G1または群G2を割り当て、その割り当て状況を評価関数で評価し、最も評価の良い割り当てを選択する。
A technique for converting the algebraic structure of an algorithm is known. For example, Non-Patent
<準備>
暗号学においてペアリングとは概ね次のような代数的構造を持つ符号を生成する確率的多項式時間アルゴリズムPの事である。
<Preparation>
In cryptography, pairing is a probabilistic polynomial-time algorithm P that generates codes with the following algebraic structure.
ただし、λは安全変数、qはq>2Θ(λ)なる整数、G1,G2,GTはそれぞれ同型の位数qの有限アーベル群(の符号)で、それぞれ多項式時間の標本演算および群演算を持つ。また、e:G1×G2→GTは多項式時間非退化双準同型である。G1,G2,GT上のCDH(Computational Diffie-Hellman)問題は難しい。 Where λ is a safety variable, q is an integer q> 2 Θ (λ) , G 1 , G 2 , and G T are finite abelian groups of the same type q (signs of each), and each is a polynomial time sample operation And with group operations. E: G 1 × G 2 → G T is a polynomial time non-degenerate bimorphism. The CDH (Computational Diffie-Hellman) problem on G 1 , G 2 , and G T is difficult.
G1,G2をソース群(source group)、GTをターゲット群(target group)と呼ぶ。とくに明示しない限り、単に群と呼んだり群要素などと呼ぶ時はソース群あるいはソース群の群要素を意味するとする。Galbraithらは、暗号方式に用いられるペアリングを大雑把に以下の3つの型に分類した(非特許文献2)。
Type1:G1=G2
Type2:G1≠G2,φ:G2→G1なる多項式時間同型写像が存在する。
Type3:G1≠G2,G1,G2の間に多項式時間同型写像が存在しない。
G 1 and G 2 are referred to as a source group, and G T is referred to as a target group. Unless otherwise specified, when calling simply a group or a group element, it means a source group or a group element of a source group. Galbraith et al. Roughly classified the pairing used in the encryption method into the following three types (Non-patent Document 2).
Type1: G 1 = G 2
There exists a polynomial time isomorphism of Type2: G 1 ≠ G 2 and φ: G 2 → G 1 .
Type3: There is no polynomial time isomorphism between G 1 ≠ G 2 , G 1 and G 2 .
一般にType1を対称ペアリングと呼び、Type2、Type3を非対称ペアリングと呼ぶ。Type2はType3を利用して実装できるので、方式や安全性証明にφを積極的に利用する時以外はType2が登場する事はあまり無い。本明細書では非対称ペアリングとして特にType3を想定する。演算速度や群要素のサイズといった実装上の問題に関して、対称ペアリングよりもずっと効率的な非対称ペアリングの存在が知られている(非特許文献3参照)。
<依存関係グラフ(非特許文献1)>
方式に対して、その依存関係グラフ(dependency graph)とは方式を記述する群要素変数の間の依存関係を表現する有向グラフである。図1に簡易な例における依存関係グラフを示す。以下は、図1の依存関係グラフに対応するアルゴリズムである。
In general,
<Dependency Relationship Graph (Non-Patent Document 1)>
In contrast to a method, its dependency graph (dependency graph) is a directed graph that expresses a dependency relationship between group element variables describing the method. FIG. 1 shows a dependency graph in a simple example. The following is an algorithm corresponding to the dependency graph of FIG.
上記アルゴリズムは、群要素A,B,Dを入力とし、群演算を使ってC,Eを計算し、そのペアリングe(C,E)を出力するアルゴリズムの例である。図1に示す依存関係グラフの丸いシンボルで表した各ノードは群要素変数を表現しており、各エッジ(図中の矢印シンボル)は群演算による依存関係を表現している。ペアリングへの入力はペアリングノード91、92(図中の角丸四角形シンボル)への結線(矢印)により表現される。依存関係グラフには、群演算を介した群要素同士の関係のみが記述され、"if-then-else"命令のようなプログラムの構造やa∈Z/pZのような群要素以外の変数、あるいはターゲット群上の演算などは全て捨象される。以下、依存関係グラフの説明に用いる用語を定義する。
The above algorithm is an example of an algorithm that receives group elements A, B, and D, calculates C and E using group operations, and outputs the pairing e (C, E). Each node represented by a round symbol in the dependency relationship graph shown in FIG. 1 represents a group element variable, and each edge (an arrow symbol in the figure) represents a dependency relationship by group operation. The input to pairing is expressed by the connection (arrow) to the
<祖先グラフ>
ある特定のノードに到達可能な全ての経路(エッジ)を含む依存関係グラフの部分グラフを、その特定のノードの祖先グラフという。
<Ancestral graph>
A subgraph of the dependency graph including all paths (edges) that can reach a specific node is called an ancestor graph of the specific node.
<祖先ノード>
ある特定のノードに到達可能なノードをその特定のノードの祖先ノードという。例えば図1の例において、ノードAはノードCの祖先ノードである。
<Ancestor node>
A node that can reach a specific node is called an ancestor node of the specific node. For example, in the example of FIG. 1, node A is an ancestor node of node C.
<子孫ノード>
ある特定のノードから到達可能なノードをその特定のノードの子孫ノードという。例えば図1の例において、ノードCはノードAの子孫ノードである。
<Descendant node>
A node that can be reached from a specific node is called a descendant node of the specific node. For example, in the example of FIG. 1, the node C is a descendant node of the node A.
<入力エッジ>
祖先ノードに対する群演算による依存関係を表す。図1の例において、群要素Cは、群要素Aに対して入力エッジ81で接続されている。
<Input edge>
Represents the dependency by ancestor group operation. In the example of FIG. 1, the group element C is connected to the group element A by an
<出力エッジ>
子孫ノードに対する群演算による依存関係を表す。図1の例において、群要素Aは、群要素Cに対して出力エッジ81で接続されている。
<Output edge>
Represents a dependency relationship by a group operation for descendant nodes. In the example of FIG. 1, the group element A is connected to the group element C at the
<ペアリングノード>
依存関係グラフにおいてペアリングへの入力を表現するノードをペアリングノードという。図1の例において、ペアリングノード91、92が例示されている。
<Pairing node>
A node expressing an input to pairing in the dependency graph is called a pairing node. In the example of FIG. 1,
<レギュラーノード>
ペアリングノードでないノードをレギュラーノードという。図1の例においてレギュラーノードは丸いシンボルで表されている。
<Regular node>
A node that is not a pairing node is called a regular node. In the example of FIG. 1, regular nodes are represented by round symbols.
<ボトムノード>
レギュラーノードのうち、出力エッジが全くないか、出力エッジがないループ全体を代表するノードをボトムノードという。
<Bottom node>
Of the regular nodes, a node representing no entire output edge or representing an entire loop having no output edge is called a bottom node.
<二重化ノード>
二つのソース群の両方の割り当てが起こったノードを二重化ノードという。二重化ノードについては後述する。
<Duplex node>
A node in which both of the two source groups have been assigned is called a duplex node. The duplex node will be described later.
<二重化禁止ノード>
何らかの理由により二重化ノードとなることを禁止されたノードを二重化禁止ノードという。
<Duplication prohibition node>
A node prohibited from becoming a duplex node for some reason is called a duplex prohibition node.
<クリティカルノード>
ペアリングノード、ボトムノード、二重化禁止ノードをまとめてクリティカルノードという。
<Critical node>
The pairing node, the bottom node, and the duplication prohibition node are collectively referred to as a critical node.
<ノーマルノード>
クリティカルノードでないノードをノーマルノードという。
<Normal node>
A node that is not a critical node is called a normal node.
<術語>
あるノードxに対してxが分割後にGi,i∈{1,2}側のグラフに含まれているという述語をx∈Giと記述し,¬(x∈Gi)の事を
<Terminology>
A predicate that x is included in the graph of G i , i∈ {1,2} after partitioning for a certain node x is described as x∈G i, and ¬ (x∈G i )
と記述する。そしてそれらの述語が真であるときその値を1、述語が偽であるときその値を0と定義する。即ち(x∈Gi)∈{0,1}である。あるノードxがクリティカルノードであるなら述語x∈G1と述語x∈G2は排他的である。即ち排他律x∈G1∧x∈G2=0が成立する。一方xがノーマルノードであるなら排他律は必ずしも成立しない。本明細書ではクリティカルノードxに関する述語x∈G2を改めて論理変数xとして記述する。即ちクリティカルノードxに関して Is described. And when those predicates are true, the value is defined as 1, and when the predicate is false, the value is defined as 0. That is, (x∈G i ) ∈ {0, 1}. If a node x is a critical node, the predicate xεG 1 and the predicate xεG 2 are exclusive. That is, the exclusive rule x∈G 1 ∧x∈G 2 = 0 holds. On the other hand, if x is a normal node, the exclusion rule does not necessarily hold. In the present specification, the predicate x∈G 2 relating to the critical node x is described again as a logical variable x. That is, for critical node x
である。
It is.
<丹後らのアルゴリズム(非特許文献4、1)>
対称ペアリングは代数的構造が簡単な為、多くの暗号方式が対称ペアリングを前提に設計されている。しかし時間計算量や領域計算量等の効率の観点から、現在では非対称ペアリングを使用することが望ましいと考えられるようになった。そこで、丹後らは対称ペアリングに基づく暗号方式を安全性を保ったまま非対称ペアリングに基づく暗号方式に自動変換するアルゴリズムを提案した(非特許文献4、1)。丹後らの変換は概ね以下のアルゴリズムによって構成される。
Step1:暗号方式を構成する各アルゴリズムおよび安全性証明で使用する帰着アルゴリズムにおける群演算の依存関係グラフ(有向グラフ)をそれぞれ構成し、それを一つに統合する。図2に、丹後らのアルゴリズムにおける依存関係グラフの統合を例示した。例えば、ノードP,Q,Rなどを含む暗号化アルゴリズムを表す依存関係グラフ(図2左)と、ノードPを含む復号アルゴリズムを表す依存関係グラフ(図2中央)は、一つの依存関係グラフ(図2右)に統合される。
Step2:ペアリングへの入力に相当するペアリングノードと群要素比較演算への入力に相当するボトムノードと呼ばれるノードをG1またはG2に割り当てる。図3に、丹後らのアルゴリズムにおけるソース群の割り当ておよびソース群ごとのグラフの分解を例示する。図3の依存関係グラフに含まれるボトムノード71、72には例えばG1が割り当てられ、ボトムノード73、74には例えばG2が割り当てられる(図3上段中央)。
Step3:各ペアリングノードおよびボトムノードにおいて、入力エッジの隣接ノードを次々と遡ったノード(祖先ノード)を元のペアリングノードあるいはボトムノードと同じ割り当てを行なう。この時G1とG2の両方の割り当てが起こった場合は両方割り当たっているノード(二重化ノード)と解釈する。図3の例では、ボトムノード71、72の祖先ノードには、G1が割り当てられ、ボトムノード73、74の祖先ノードには、G2が割り当てられ、双方のソース群が割り当てられたノード61などは、二重化ノードと解釈される(図3上段右)。
Step4:グラフ中に現れるHashToPoint()演算等に相当する二重化禁止ノードが二重化ノードとなっている場合はその割り当ては無効とする。それ以外の場合はグラフの全体の割り当て状況を評価関数に入力して評価する。
Step5:Step2における全ての割り当てに関して、最も評価が良いグラフをG1が割当たってるノードからなるグラフとG2が割当たってるノードからなるグラフに分解して出力する(図3下段)。
<The algorithm of Tango et al. (
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, Tango et al. Proposed an algorithm for automatically converting an encryption system based on symmetric pairing into an encryption system based on asymmetric pairing while maintaining security (
Step1: Configure the dependency graphs (directed graphs) of the group operations in each algorithm constituting the encryption method and the reduction algorithm used in the security proof, and integrate them into one. FIG. 2 illustrates the integration of dependency graphs in the algorithm of Tango et al. For example, a dependency relationship graph (left of FIG. 2) representing an encryption algorithm including nodes P, Q, R, and the like, and a dependency graph (center of FIG. 2) representing a decryption algorithm including node P are represented by one dependency graph ( 2).
Step 2: Assign a pairing node corresponding to an input to pairing and a node called a bottom node corresponding to an input to a group element comparison operation to G 1 or G 2 . FIG. 3 illustrates allocation of source groups and decomposition of a graph for each source group in the algorithm of Tango et al. Of the
Step 3: In each pairing node and bottom node, a node (an ancestor node) tracing back one adjacent node of the input edge is assigned the same as the original pairing node or bottom node. If both G 1 and G 2 allocations occur at this time, it is interpreted as a node (duplex node) to which both are allocated. In the example of FIG. 3, G 1 is assigned to the ancestor nodes of the
Step4: When the duplication prohibition node corresponding to the HashToPoint () operation etc. appearing in the graph is a duplication node, the assignment is invalid. In other cases, the entire allocation state of the graph is input to the evaluation function for evaluation.
Step 5: For all assignments in Step 2, the graph with the best evaluation is decomposed into a graph composed of nodes to which G 1 is allocated and a graph composed of nodes to which G 2 is allocated (lower row in FIG. 3).
丹後らの変換はStep2におけるソース群割り当てのバリエーション数に比例した回数Step3、Step4を実行しなくてはならない。これはペアリングノードのペアの数とボトムノードの数の和をnとすると、2n回の演算を必要としており、nが大きい時には計算量が大きくなりすぎて実行困難となる。
In the conversion of Tango et al., Step 3 and
<整数計画法を用いた分割アルゴリズム>
非対称ペアリングにおいては、ペアリングへの入力は一方にG1が割当たってるとするなら対になるノードにはG2が割当たっている必要がある。従ってペアリングの対になっているノード対x,y∈{0,1}について
x+y=1…(1)
が成立する。また、あるクリティカルノードxの祖先ノードにクリティカルノード(二重化禁止ノード)yがある場合はそれらのノードの割り当ては等しい、即ち
x-y=0…(2)
が成立する。
<Partition algorithm using integer programming>
In asymmetric pairing, the input G 1 to one paired if the has attached node to the pairing is necessary to G 2 is hitting split. Therefore, for the pair of nodes x, y∈ {0,1}
x + y = 1… (1)
Is established. Also, if there is a critical node (duplication prohibition node) y in an ancestor node of a certain critical node x, the allocation of those nodes is equal, that is,
xy = 0 ... (2)
Is established.
<例>
図4にBonehらの検証者ローカル失効付きグループ署名アルゴリズム(非特許文献5)を表現する依存関係グラフを示す。g1,g2,ωがこの方式のグループ公開鍵に相当する。詳細は非特許文献5を参照のこと。(p1[0],p1[1]),…,(p8[0],p8[1])がそれぞれ対になるペアリングノードの対である。また出力ノードの無いR1,R3,
<Example>
FIG. 4 shows a dependency graph representing the group signature algorithm with local verifier of Boneh et al. (Non-patent Document 5). g 1 , g 2 , and ω correspond to the group public key of this scheme. See Non-Patent Document 5 for details. (p 1 [0], p 1 [1]),..., (p 8 [0], p 8 [1]) are a pair of pairing nodes. R 1 , R 3 ,
がボトムノードである。また、u,vが二重化禁止ノードにあたる(非特許文献4)。従ってこのグラフには、u,v,R1,R3, Is the bottom node. Moreover, u and v correspond to a duplication prohibition node (Non-patent Document 4). Therefore, this graph shows u, v, R 1 , R 3 ,
,p1[0],p1[1],…,p8[0],p8[1]の合計21個のクリティカルノードが存在する。これらのクリティカルノード間のGF(2)上線型関係を考える。上記の変数順序に従い係数および定数項の値を順に並べて一つの線型関係を表現する。例えばp1[0],p1[1]はペアリングの対になっているクリティカルノードであるから、 , p 1 [0], p 1 [1], ..., p 8 [0], p 8 [1], a total of 21 critical nodes exist. Consider the GF (2) overline relationship between these critical nodes. One linear relationship is expressed by sequentially arranging the coefficients and constant term values in accordance with the above variable order. For example, p 1 [0], p 1 [1] is a critical node that is a pairing pair.
が成立する。上記の変数順序において、6番目の変数p1[0]および7番目の変数p1[1]の係数が1で他の係数が0であり、定数項が1であるから、この式を係数および定数項の値だけで表現すると
0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
となる。","を省略すると
0000011000000000000001
と表現できる。図5に上記の過程を図示した。この方法で、図4のグラフの線型関係を全て書き下すと、図6に例示する線形関係行列となる。この行列をGF(2)上のGaussの消去法を用いて階段型(echelon form)に変換する事が出来る。図6の線形関係行列を階段型に変換した階段型行列を図7に例示する。
もし階段型行列の最下段非ゼロ行が
0000000000000000000001
となった場合は、全ての変数の係数が0であり、かつ定数項が1であるから、どのような変数の割り当てに対してもその式を充足する事は出来ない。即ちそのグラフは分割不可能となる。上記のグループ署名の例では最下段非ゼロ行が
0000000000000000000111
となっている(図7参照)ので、分割可能であることが分かる。本明細書では、階段型の何れかの行(に対応する関係式)において、先頭項(図7の実線下線を付した1に相当)となる変数を従属変数と呼ぶ。そして従属変数でない変数(図7の破線下線を付した列に相当)を独立変数と呼ぶ。従って上記の例ではp1[1],p8[1]は独立変数、それ以外は従属変数である。全ての独立変数の値の割り当てを適当に1つ決めると、階段行列の下の方の関係式から順次従属変数の値を一意に決定することが出来る。
Is established. In the above variable order, the coefficient of the sixth variable p 1 [0] and the seventh variable p 1 [1] is 1, the other coefficients are 0, and the constant term is 1. And only the value of the constant term
0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
It becomes. If "," is omitted
0000011000000000000001
Can be expressed as FIG. 5 illustrates the above process. When all the linear relationships in the graph of FIG. 4 are written down by this method, the linear relationship matrix illustrated in FIG. 6 is obtained. This matrix can be transformed into an echelon form using Gaussian elimination on GF (2). FIG. 7 illustrates a stepped matrix obtained by converting the linear relationship matrix of FIG. 6 into a stepped type.
If the bottom non-zero row of the staircase matrix is
0000000000000000000001
In this case, the coefficient of all variables is 0 and the constant term is 1, so the expression cannot be satisfied for any variable assignment. That is, the graph cannot be divided. In the group signature example above, the bottom non-zero line is
0000000000000000000111
(See FIG. 7), it can be seen that it can be divided. In the present specification, a variable that becomes the first term (corresponding to 1 with a solid underline in FIG. 7) in any step-type row (corresponding relational expression) is called a dependent variable. A variable that is not a dependent variable (corresponding to a column with a dashed underline in FIG. 7) is called an independent variable. Therefore, in the above example, p 1 [1] and p 8 [1] are independent variables, and the others are dependent variables. If you assign one appropriate value to all the independent variables, you can uniquely determine the value of the dependent variable sequentially from the lower relational expression.
一般に独立変数の個数がn個あるとすると、値の割り当て方法(実行可能解)は2n個存在する。こうした割り当ての内、何らかの評価基準を満たした最適な分割を見つけたいとする。例えば図4のグループ署名の場合、g1,g2,ωが公開鍵に相当する。従って公開鍵のサイズが最も小さい分割を見つけたいならg1,g2,ωの合計サイズが最も小さいグラフを見つければ良い。本明細書では、このような評価基準をノードNに対する重みwNを用いて表現する。例えば図4の場合、ノードg1,g2,ωは重み1、残りのノードについては重み0等と設定する。
In general, if there are n independent variables, there are 2 n value assignment methods (feasible solutions). Of these assignments, you want to find the optimal partition that meets some criteria. For example, in the case of the group signature in FIG. 4, g 1 , g 2 , and ω correspond to public keys. Therefore, if you want to find a partition with the smallest public key size, find a graph with the smallest total size of g 1 , g 2 , and ω. In this specification, such an evaluation criterion is expressed using a weight w N for the node N. For example, in the case of FIG. 4, the nodes g 1 , g 2 , and ω are set to
|Gi|,i∈{1,2}をGiの元を表現するのに必要なビット数と定義し、wN,i=wN・|Gi|と定義する。そしてグラフgに含まれる頂点の集合をVgとする。これらの記法を用いて、各述語の値をそのまま整数と見なすと上記の公開鍵のサイズを最小化したい問題等は、 | G i |, i∈ {1,2} is defined as the number of bits necessary to represent an element of G i , and defined as w N, i = w N · | G i |. A set of vertices included in the graph g is defined as Vg. Using these notations, if the value of each predicate is regarded as an integer as it is, the problem of minimizing the size of the public key is as follows:
なる数値を最小化する問題であると捉えることが出来る。ノードNが子孫にもつクリティカルノードの集合をDNと定義すると It can be regarded as a problem that minimizes the numerical value. If the set of critical nodes that node N has as descendants is defined as D N
とする事ができる。従って Can be. Therefore
と書くことが出来る。ところで{0,1}上の変数x,x1,x2,yについて、 Can be written. By the way, for variables x, x 1 , x 2 , y on {0,1}
である。即ち{0,1}変数の任意の連言と否定は線型制約の元で変数に置き換え可能であり、どのような命題変数の論理式もこの置き換えを繰り返す事によって{0,1}変数の線型制約付き線型式に変換出来る事が良く知られている。特にx1,...,xk,y∈{0,1}の時 It is. That is, arbitrary conjunctions and negations of {0,1} variables can be replaced with variables under linear constraints, and the logical form of any propositional variable can be replaced by repeating this replacement. It is well known that it can be converted to a constrained linear form. Especially when x 1 , ..., x k , y∈ {0,1}
である。従って、{0,1}上の値y1,Nを It is. Therefore, the value y 1, N on {0,1}
と定義すると、 Defined as
であるから Because
と出来る。同様に And can. As well
と定義すると、 Defined as
である。従って It is. Therefore
を最小化する問題は The problem of minimizing
に関して Regarding
なる線形制約の下、 Under the linear constraint
なる線形の目的関数を最小化する問題に帰着できる。 Can be reduced to the problem of minimizing the linear objective function.
また、ペアリングの対になっているクリティカルノードd1,d2に対してd1,d2を{0,1}上の変数と見なすとd1+d2=1が成立する。また先祖・子孫の関係を持つクリティカルノードd1,d2について同様にd1-d2=0が成立する。従って、これらの線型関係を全て書き下した上で上記の線型制約および上記の目的関数を任意の0-1整数計画法アルゴリズムに入力する事によって、厳密解あるいは近似解を得ることが出来る。 If d 1 and d 2 are regarded as variables on {0, 1} for the critical nodes d 1 and d 2 that are paired, d 1 + d 2 = 1 holds. Similarly, d 1 -d 2 = 0 holds for critical nodes d 1 and d 2 having an ancestor-descendant relationship. Therefore, an exact solution or approximate solution can be obtained by writing down all of these linear relationships and inputting the above linear constraints and the above objective function into an arbitrary 0-1 integer programming algorithm.
大規模な方式の設計を行なう場合ペアリングやべき乗といった概念よりも抽象度が高い概念を暗号プリミティブとして利用する事がある(例えばGroth-Sahai証明、非特許文献6)。こうした抽象度の高いプリミティブ(上位プリミティブ)をペアリングやべき乗といった具体的プリミティブで実装する時、その実装方法は必ずしも一意であるとは限らない。さらにその最適な実装は上位プリミティブそのものでは無くそれを用いて設計している方式に依存して変化し得る。そのような場合は厳密な意味での依存関係グラフは一意に定まらない。例えばGroth-Sahai証明において When designing a large-scale scheme, a concept having a higher abstraction level than a concept such as pairing or power may be used as a cryptographic primitive (for example, Groth-Sahai proof, Non-Patent Document 6). When such primitives with a high degree of abstraction (upper primitives) are mounted with specific primitives such as pairing and power, the mounting method is not necessarily unique. Furthermore, the optimal implementation can vary depending on the design designed using it, not the high-order primitive itself. In such cases, the dependency graph in the strict sense is not uniquely determined. For example, in Groth-Sahai certification
なる等式の非対話ゼロ知識証明(NIZK, NonInteractive Zero-Knowledge proofs)が The non-interactive zero-knowledge proofs (NIZK)
なる等式の非対話証拠識別不能証明(NIWI, NonInteractive Witness-Indistinguishable proofs)を利用して構成される場合がある(非特許文献6)。但し[X]は群要素Xについてコミットされた群要素変数であるとする。この時、利用しているペアリングが対称ペアリングである場合e(Bi -1,[Ci])を用いる代わりにe(Ci -1,[Bi])を用いても構わない。即ち上記の上位プリミティブGroth-Sahai証明を対称ペアリングで実装する際には、定数ペアリングの数をnとするとN=2n個の自由度が存在し、その依存関係グラフは一意に定まらない。従ってそのような上位プリミティブが方式内にm個存在すると、全ての実装の中で最適な方式を得るにはNm回の整数計画法を用いたアルゴリズムを呼び出す必要があり、mが大きくなると事実上計算不能であった。 There is a case where a non-interactive witness-indistinguishable proof (NIWI) of the following equation is used (Non-Patent Document 6). However, [X] is a group element variable committed for the group element X. At this time, e (C i -1 , [B i ]) may be used instead of e (B i -1 , [C i ]) when the pairing used is symmetric pairing. . In other words, when implementing the above upper primitive Groth-Sahai proof with symmetric pairing, if the number of constant pairings is n, there are N = 2 n degrees of freedom, and the dependency graph is not uniquely determined . Therefore, if there are m such upper primitives in the scheme, it is necessary to call an algorithm using integer programming N m times in order to obtain the optimum scheme among all implementations. It was impossible to calculate.
そこで本発明では、整数計画法を用いたアルゴリズムの呼び出し回数を1回に短縮することができるペアリング型変換装置を提供することを目的とする。 Therefore, an object of the present invention is to provide a pairing type conversion device that can reduce the number of times an algorithm is called using integer programming to one.
本発明のペアリング型変換装置は、仮想依存関係グラフ生成部と、識別子割り当て部と、論理式組み入れ部と、評価関数線形化部を含む。 The pairing type conversion apparatus of the present invention includes a virtual dependency relationship graph generation unit, an identifier allocation unit, a logical expression incorporation unit, and an evaluation function linearization unit.
仮想依存関係グラフ生成部は、実装に際し、選択可能な上位プリミティブを複数含む暗号プロトコルについて、上位プリミティブを全て列挙して組み入れた仮想の依存関係グラフを生成する。識別子割り当て部は、上位プリミティブのそれぞれに、識別子を割り当てる。論理式組み入れ部は、識別子が適切な実装の値と一致する場合に限り、識別子に対応するノードが評価関数においてカウントされるように論理式を組み入れる。評価関数線形化部は、評価関数を線形化し、評価関数および探索空間を整数計画問題インスタンスに変換する。 The virtual dependency graph generation unit generates a virtual dependency graph that enumerates and incorporates all the upper primitives for a cryptographic protocol including a plurality of selectable upper primitives during implementation. The identifier assigning unit assigns an identifier to each of the upper primitives. The logical expression incorporation unit incorporates the logical expression so that the node corresponding to the identifier is counted in the evaluation function only when the identifier matches the value of the appropriate implementation. The evaluation function linearization unit linearizes the evaluation function and converts the evaluation function and the search space into an integer programming problem instance.
本発明のペアリング型変換装置によれば、整数計画法を用いたアルゴリズムの呼び出し回数を1回に短縮することができる。 According to the pairing type conversion apparatus of the present invention, the number of calls of an algorithm using integer programming can be reduced to one.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted.
以下、図8、図9、図10、図11を参照して実施例1のペアリング型変換装置の構成および動作について説明する。図8は、本実施例のペアリング型変換装置1の構成を示すブロック図である。図9は、本実施例のペアリング型変換装置1の動作を示すフローチャートである。図10は、上位プリミティブを列挙した仮想の依存関係グラフを例示する図である。図11は、仮想の依存関係グラフにおいて特定の識別子に対応する上位プリミティブのノードのみが評価関数においてカウントされる状態を例示する図である。
Hereinafter, the configuration and operation of the pairing conversion device according to the first embodiment will be described with reference to FIGS. 8, 9, 10, and 11. FIG. 8 is a block diagram showing the configuration of the pairing
図8に示すように、本実施例のペアリング型変換装置1は、仮想依存関係グラフ生成部11と、識別子割り当て部12と、論理式組み入れ部13と、評価関数線形化部14を含む。
As shown in FIG. 8, the
仮想依存関係グラフ生成部11は、実装に際し、選択可能な上位プリミティブを複数含む暗号プロトコルについて、上位プリミティブを全て列挙(図10に上位プリミティブ51−1、51−2、51−3、…として例示)して組み入れた仮想の依存関係グラフ(図10に仮想依存関係グラフ4として例示)を生成する(S11)。識別子割り当て部12は、上位プリミティブのそれぞれに、識別子(図10に識別子v=1,2,3…として例示)を割り当てる(S12)。論理式組み入れ部13は、識別子が適切な実装の値と一致する場合(図11に識別子v=2が適切な実装の値と一致する場合を例示)に限り、識別子に対応するノードが評価関数においてカウントされるように論理式を組み入れる(S13)。評価関数線形化部14は、評価関数を線形化し、評価関数および探索空間を整数計画問題インスタンスに変換する(S14)。
The virtual dependency
以下に、本実施例のペアリング型変換装置1の動作の詳細を説明する。方式の規模を表すパラメタをsとすると実装の自由度Nがsに対して多項式(即ちn=O(log(s)))であるような上位プリミティブが方式内に多項式個(m=O(sc))ぐらい存在するような状況を考える。ただしOはビッグオー記法である。このような状況下では依存関係グラフが一意に定まらない場合でも、下記のように仮想的な依存関係グラフを考える事によって単一の整数計画問題インスタンスを構成出来る。
Step.1:各上位プリミティブに対して1つずつ整数変数(識別子)を定義する。
Step.2:上位プリミティブのあり得る実装を全て仮想的に実装し(上記ステップS11)、各仮想的実装に上記整数変数(識別子)の値を1つずつ割り当てる(上記ステップS12)。この時、仮想依存関係グラフ生成部11は、元の方式に陽には含まれない群要素変数で、複数の仮想的実装から参照されるものはまとめて一つだけ(仮想的に)実装する。
Step.3:値が割り当てられた仮想的実装に含まれる群要素変数を評価関数に組み入れる際は、上記整数変数(識別子)がその値と一致する時だけ評価されるよう、係数に上記整数変数の術語(等式)を設定する。複数の仮想的実装から参照される仮想的な群要素変数については上記の術語を∨で繋いだものを係数に設定する(上記ステップS13)。
Step.4: 評価関数線形化部14は、必要な場合は、整数変数(識別子)をバイナリ変数に変換する。この時、整数変数(識別子)の術語(等式)はバイナリ変数の術語(等式)を∧で繋いだ式に変換される。さらにバイナリ変数の術語(等式)はリテラル(バイナリ変数それ自身か、またはその否定)に変換される。最終的に式(3)等を使って評価関数を線形化する(上記ステップS14)。
Below, the detail of operation | movement of the pairing
Step.1: Define an integer variable (identifier) for each higher primitive.
Step 2: All possible implementations of the upper primitive are virtually implemented (step S11 above), and the integer variable (identifier) value is assigned to each virtual implementation one by one (above step S12). At this time, the virtual dependency
Step.3: When the group element variable included in the virtual implementation to which the value is assigned is included in the evaluation function, the integer variable is included in the coefficient so that it is evaluated only when the integer variable (identifier) matches the value. Set the nomenclature (equation). As for the virtual group element variables that are referred to from a plurality of virtual implementations, those obtained by connecting the above terms with scissors are set as coefficients (step S13).
Step.4: The evaluation
例えば、以下のようなNIZK(NonInteractive Zero-Knowledge proofs)のシーケンスを考える。 For example, consider the following NIZK (NonInteractive Zero-Knowledge proofs) sequence.
ここで、crs,[X],[B],proof等は各右辺の関数内部で具体的な群演算によって生成される有限個の群要素変数のリストとする。以下、それらのリストのビット長を|[X]|等と記述する。一般にはNIZK.Proveと対応するNIZK.Verifyは方式を構成する異なるアルゴリズム中で使用されるが、最終的に依存関係グラフは一つに統合されるのでここでは一つのシーケンスとして記述する。コミット[B]は・・・の部分で参照されているとする。上記Step.1に従って上記のシーケンス中の上位プリミティブNIZKに対し変数v∈{0,1}を準備する。そしてStep.2に従い実装を以下のように列挙し、変数の値を割り当てる(下記のコメント部参照)。
Here, crs, [X], [B], proof, etc. are a list of a finite number of group element variables generated by a specific group operation within the function on each right side. Hereinafter, the bit length of these lists is described as | [X] | In general, NIZK.Verify corresponding to NIZK.Prove is used in different algorithms that make up the scheme, but since the dependency graph is finally integrated into one, it is described here as one sequence. It is assumed that commit [B] is referenced in the part of. In accordance with
ここで、元の方式には陽に含まれていないコミット[C]はv=0の仮想的実装からのみ参照される。仮にコミット[C]が他の仮想的実装から参照されるとしても1つだけ実装する。Groth-Sahai証明においてNIWI(NonInteractive Witness-Indistinguishable proofs)を使ってNIZK(NonInteractive Zero-Knowledge proofs)を構成する為には、実際には追加のNIWIが幾らか必要になるが、上記では、・・・と記述して省略している。Step.3に従い目的関数が例えばコミットのサイズを最小化する関数であったとするなら Here, the commit [C] that is not explicitly included in the original method is referenced only from the virtual implementation with v = 0. Even if the commit [C] is referenced from another virtual implementation, only one is implemented. In order to construct NIZK (NonInteractive Zero-Knowledge proofs) using NIWI (NonInteractive Witness-Indistinguishable proofs) in Groth-Sahai certification, in practice, some additional NIWI is required. It is omitted by describing. If the objective function is a function that minimizes the size of the commit, for example, according to Step 3.
等と定義する。コミット[X],[B]は元々の方式で定義されているので無条件に目的関数に組み入れられている。一方コミット[C]は上位プリミティブの展開によって新たに発生するコミットなので条件付きの項となる。Step.4に従い、|[X]|,|[B]|,|[C]|は、前述の方法に従ってクリティカルノードの論理式に展開される。 And so on. Commits [X] and [B] are defined in the original method and are therefore unconditionally incorporated into the objective function. On the other hand, the commit [C] is a conditional term because it is a commit newly generated by the expansion of the upper primitive. According to Step.4, | [X] |, | [B] |, | [C] | are expanded into logical expressions of critical nodes according to the method described above.
そして最終的に式(1)、(2)および、 And finally the formulas (1), (2) and
なる線形制約の下、 Under the linear constraint
なる目的関数を最小化する1つの0-1整数線形計画問題インスタンスに帰着される。
Which results in one 0-1 integer linear programming problem instance that minimizes the objective function
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(CentralProcessingUnit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
<Supplementary note>
The apparatus of the present invention includes, for example, a single hardware entity as an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, and a communication device (for example, a communication cable) capable of communicating outside the hardware entity. Can be connected to a communication unit, CPU (Central Processing Unit, may include a cache memory or a register), RAM or ROM as a memory, an external storage device as a hard disk, and their input unit, output unit, communication unit, CPU , RAM, ROM, and a bus connected so that data can be exchanged between the external storage devices. If necessary, the hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM. A physical entity having such hardware resources includes a general-purpose computer.
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。 The external storage device of the hardware entity stores a program necessary for realizing the above functions and data necessary for processing the program (not limited to the external storage device, for example, reading a program) It may be stored in a ROM that is a dedicated storage device). Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device.
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。 In the hardware entity, each program stored in an external storage device (or ROM or the like) and data necessary for processing each program are read into a memory as necessary, and are interpreted and executed by a CPU as appropriate. . As a result, the CPU realizes a predetermined function (respective component requirements expressed as the above-described unit, unit, etc.).
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。 The present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit of the present invention. In addition, the processing described in the above embodiment may be executed not only in time series according to the order of description but also in parallel or individually as required by the processing capability of the apparatus that executes the processing. .
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。 As described above, when the processing functions in the hardware entity (the apparatus of the present invention) described in the above embodiments are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. Then, by executing this program on a computer, the processing functions in the hardware entity are realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(DigitalVersatileDisc)、DVD−RAM(RandomAccessMemory)、CD−ROM(CompactDiscReadOnlyMemory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Opticaldisc)等を、半導体メモリとしてEEP−ROM(ElectronicallyErasableandProgrammable-ReadOnlyMemory)等を用いることができる。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape, etc., and an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable). ) / RW (ReWritable) or the like can be used as a magneto-optical recording medium, MO (Magneto-Optical disc) or the like can be used, and EEP-ROM (Electronically Erasable and Programmable-Read Only Memory) or the like can be used as a semiconductor memory.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(ApplicationServiceProvider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Further, the above-described processing may be executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition without transferring a program from the server computer to the computer. Good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, a hardware entity is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
Claims (7)
前記上位プリミティブのそれぞれに、識別子を割り当てる識別子割り当て部と、
前記識別子が適切な実装の値と一致する場合に限り、前記識別子に対応するノードが評価関数においてカウントされるように論理式を組み入れる論理式組み入れ部と、
前記評価関数を線形化し、前記評価関数および探索空間を整数計画問題インスタンスに変換する評価関数線形化部と、
を含むペアリング型変換装置。 A virtual dependency graph generation unit that generates a virtual dependency graph that enumerates and incorporates all the high-order primitives for a cryptographic protocol including a plurality of selectable high-order primitives during implementation;
An identifier assigning unit for assigning an identifier to each of the upper primitives;
A formula incorporation unit that incorporates a formula so that nodes corresponding to the identifier are counted in the evaluation function only if the identifier matches an appropriate implementation value;
An evaluation function linearization unit that linearizes the evaluation function and converts the evaluation function and the search space into an integer programming problem instance;
A pairing type conversion device.
前記仮想依存関係グラフ生成部は、
複数の仮想的実装から参照される群要素変数を、前記仮想の依存関係グラフに一つだけ組み入れる
ペアリング型変換装置。 The pairing type conversion device according to claim 1,
The virtual dependency graph generation unit
A pairing conversion device that incorporates only one group element variable referenced from a plurality of virtual implementations into the virtual dependency graph.
前記評価関数線形化部は、
前記識別子をバイナリ変数に変換する
ペアリング型変換装置。 The pairing type conversion device according to claim 1 or 2,
The evaluation function linearization unit includes:
A pairing conversion device that converts the identifier into a binary variable.
ペアリング型変換装置の識別子割り当て部は、前記上位プリミティブのそれぞれに、識別子を割り当てるステップを実行し、
ペアリング型変換装置の論理式組み入れ部は、前記識別子が適切な実装の値と一致する場合に限り、前記識別子に対応するノードが評価関数においてカウントされるように論理式を組み入れるステップを実行し、
ペアリング型変換装置の評価関数線形化部は、前記評価関数を線形化し、前記評価関数および探索空間を整数計画問題インスタンスに変換するステップを実行する
ペアリング型変換方法。 Virtual dependency graph generator pairing type converter, upon implementation, the cryptographic protocol including a plurality of upper primitive selectable, Luz Te' to generate a virtual dependency graph incorporating enumerating all the upper primitive Run
Identifier assignment of the pairing type conversion device, to each of the upper primitive, and executes the assignment away Te' flop identifiers,
Logical expression incorporating part of the pairing type conversion device, only when the identifier matches the value of the appropriate implementation, Luz Te' flop incorporating a formula so that the node corresponding to the identifier is counted in the evaluation function Run
Evaluation function linearizer pairing type conversion device, the evaluation function linearizes executes away step to convert the evaluation function and the search space integer programming problem instance
Pairing type conversion method.
前記仮想依存関係グラフ生成部は、
複数の仮想的実装から参照される群要素変数を、前記仮想の依存関係グラフに一つだけ組み入れる
ペアリング型変換方法。 The pairing type conversion method according to claim 4,
The virtual dependency graph producing formation unit,
A pairing conversion method that incorporates only one group element variable referenced from a plurality of virtual implementations into the virtual dependency graph.
前記評価関数線形化部は、
前記識別子をバイナリ変数に変換する
ペアリング型変換方法。 The pairing type conversion method according to claim 4 or 5,
The evaluation function linearization unit includes:
A pairing conversion method for converting the identifier into a binary variable.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016006350A JP6445474B2 (en) | 2016-01-15 | 2016-01-15 | Pairing type conversion device, pairing type conversion method, program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016006350A JP6445474B2 (en) | 2016-01-15 | 2016-01-15 | Pairing type conversion device, pairing type conversion method, program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2017126027A JP2017126027A (en) | 2017-07-20 |
| JP6445474B2 true JP6445474B2 (en) | 2018-12-26 |
Family
ID=59364018
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016006350A Active JP6445474B2 (en) | 2016-01-15 | 2016-01-15 | Pairing type conversion device, pairing type conversion method, program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6445474B2 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5980178B2 (en) * | 2013-07-29 | 2016-08-31 | 日本電信電話株式会社 | Program conversion apparatus, program conversion method, and program |
-
2016
- 2016-01-15 JP JP2016006350A patent/JP6445474B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2017126027A (en) | 2017-07-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Akinyele et al. | Charm: a framework for rapidly prototyping cryptosystems | |
| US10691771B2 (en) | System and method to hardcode interger linear optimization problems on physical implementations of the Ising model | |
| Libeskind-Hadas et al. | On the computational complexity of the reticulate cophylogeny reconstruction problem | |
| Haymaker et al. | Locally recoverable codes with availability $ t\geq 2$ from fiber products of curves | |
| Abe et al. | Design in type-I, run in type-III: Fast and scalable bilinear-type conversion using integer programming | |
| Van Dijk et al. | Tagged BDDs: Combining reduction rules from different decision diagram types | |
| Calvert | The isomorphism problem for classes of computable fields | |
| EE | Quantum computing | |
| Hurlbert | The weight function lemma for graph pebbling | |
| Yeh | Scaling W state circuits in the qudit Clifford hierarchy | |
| Wyatt et al. | A scheme for numerical representation of graph structures in engineering design | |
| Knox et al. | Approximate Hamilton decompositions of random graphs | |
| Zadiraka et al. | Cloud computing in cryptography and steganography | |
| Datta et al. | An improved reversible circuit synthesis approach using clustering of ESOP cubes | |
| Delgado et al. | Cyclic normal subgroups of generalized Baumslag–Solitar groups | |
| JP6445474B2 (en) | Pairing type conversion device, pairing type conversion method, program | |
| Chimani et al. | Layer-free upward crossing minimization | |
| Baksi | New insights on differential and linear bounds using mixed integer linear programming | |
| Couteau et al. | Efficient nizks for algebraic sets | |
| JP6791820B2 (en) | Pairing equation batch verification device, pairing equation batch verification generation method, program | |
| Datta et al. | An esop-based reversible circuit synthesis flow using simulated annealing | |
| Thang et al. | Convergence of the projection and contraction methods for solving bilevel variational inequality problems | |
| Apte et al. | Explicit polyhedral bounds on network coding rate regions via entropy function region: Algorithms, symmetry, and computation | |
| Chinburg et al. | Cryptographic applications of capacity theory: On the optimality of Coppersmith’s method for univariate polynomials | |
| JP6348082B2 (en) | Structure conversion apparatus and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180220 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180927 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181016 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181114 |
|
| 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: 20181127 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181129 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6445474 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |