JP6791820B2 - Pairing equation batch verification device, pairing equation batch verification generation method, program - Google Patents
Pairing equation batch verification device, pairing equation batch verification generation method, program Download PDFInfo
- Publication number
- JP6791820B2 JP6791820B2 JP2017160059A JP2017160059A JP6791820B2 JP 6791820 B2 JP6791820 B2 JP 6791820B2 JP 2017160059 A JP2017160059 A JP 2017160059A JP 2017160059 A JP2017160059 A JP 2017160059A JP 6791820 B2 JP6791820 B2 JP 6791820B2
- Authority
- JP
- Japan
- Prior art keywords
- pairing
- batch verification
- objective function
- linear
- validation
- 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 signature / authentication / zero-knowledge proof or a design of a general cryptographic authentication technique, and relates to a pairing equation batch verification device, a pairing equation batch verification generation method, and a program.
<ペアリング>
暗号認証技術の設計においてペアリングとは様々な方式に応用可能な暗号プリミティブ(暗号用原始関数)であって、形式的には概ね次の様な代数的構造を持つ符号を出力する確率的多項式時間アルゴリズムG(数式においてイタリック体で表現されるG、以下同様)であると定義される。
<Pairing>
In the design of cryptographic authentication technology, pairing is a cryptographic primitive (primitive function for cryptography) that can be applied to various methods, and formally, it is a probabilistic polynomial that outputs a code having an algebraic structure as follows. It is defined as the time algorithm G (G expressed in italic form in mathematical formulas, and so on).
1)Lは、 1) L is
なる有限可換環L(イタリック体)の符号。 The sign of the finite commutative ring L (italic).
G0,G1,GTはそれぞれ G 0 , G 1 , G T are respectively
なる同じL(イタリック体)-可群M(イタリック体)の符号。auxは補助出力。 The same L (italic)-sign of possible group M (italic). aux is an auxiliary output.
2)次のλに関する確率的多項式時間アルゴリズムが利用可能。
−L,G0,G1,GT上の標本
−L上の環演算
−和:Gx×Gx→Gx,∀x∈{0,1,T}
−スカラー倍:L×Gx→Gx,∀x∈{0,1,T}
−非退化双準同型e:G0×G1→GT
2) A stochastic polynomial time algorithm for the following λ is available.
− Sample on L, G 0 , G 1 , G T − Ring operation on L − Sum: G x × G x → G x, ∀x ∈ {0,1, T}
− Scalar times: L × G x → G x, ∀x ∈ {0,1, T}
− Non-degenerate bilinear homomorphism e: G 0 × G 1 → G T
一般に暗号認証技術の設計において安全性の証明を行う際には、暗号プリミティブに対して定義される何らかの暗号学的問題を考察する。λは安全変数と呼ばれ、暗号学的問題を解こうと試みる確率的多項式時間攻撃者A(イタリック体)に対して定義される利得が、如何なるA(イタリック体)に対してもλに関して無視可能となる事が暗号プリミティブが安全である事の差し当たっての定義である。暗号プリミティブの安全性を数学的に証明する事は多くの場合は困難であり、通常は経験的に成立すると予想される仮説が用いられる。そのような仮説を暗号学的仮定と呼ぶ。習慣によりLは離散対数などと呼ばれ、Gx,∀x∈{0,1,T}はそれぞれ群と呼ばれる。特にG0,G1を入力群(source group)、GTを標的群(target group)と呼ぶ。補助出力auxはG(イタリック体)の入力および乱数テープの適当な関数である。G(イタリック体)の具体的な出力(L,G0,G1,GT,aux)は広い意味で共通参照文字列あるいはパラメタなどと呼ばれるが、これをペアリングと呼ぶ事もある。Gxの加群としての和は、積あるいは乗算などと呼ばれg,h∈Gxに対してg×h,g・h,gh等と記述される。GxのL(イタリック体)-加群としてのスカラー倍は冪乗などと呼ばれa∈L,g∈Gxに対してgaと記述される。積と冪乗はまとめて群演算と呼ばれる。また非退化双準同型eもペアリングと呼ばれる。qをq>2Θ(λ)なる十分大きな素数から取り、LとしてZ/qZを、G0,G1としてそれぞれ適当な楕円曲線の有理点群の位数qの巡回部分群を、GTとして適当な有限体の乗法群の位数qの巡回部分群を取ると上記のようなG(イタリック体)を具体的に構成出来る事が知られている。ペアリングに関する暗号学的仮定はそのような構成のうち、幾つかのものが持つと予想される性質を抽象して定義され、そのような暗号学的仮定は少なくとも以下を含意する。 In general, when proving security in the design of cryptographic authentication technology, some cryptographic problems defined for cryptographic primitives are considered. λ is called a safety variable, and the gain defined for a stochastic polynomial time attacker A (italic) trying to solve a cryptographic problem is ignored for any A (italic). What is possible is the immediate definition that a cryptographic primitive is secure. Mathematically proving the security of cryptographic primitives is often difficult, and hypotheses that are usually expected to hold empirically are used. Such a hypothesis is called a cryptographic assumption. By convention, L is called the discrete logarithm, and G x, ∀x ∈ {0,1, T} are called groups, respectively. In particular, G 0 and G 1 are called the input group (source group), and G T is called the target group (target group). Auxiliary output aux is a suitable function of G (italic) input and random tape. The specific output (L, G 0 , G 1 , G T , aux) of G (italics) is called a common reference character string or parameter in a broad sense, but this is sometimes called pairing. The sum of G x as a module is called product or multiplication, and is described as g × h, g · h, gh, etc. for g, h ∈ G x. L (italic) of G x- Scalar multiples as modules are called exponentiation and are described as g a for a ∈ L, g ∈ G x . The product and power are collectively called group operations. Non-degenerate homomorphism e is also called pairing. The q q> 2 Θ (λ) consists taken enough from a large prime number, the Z / qZ as L, and G 0, a cyclic subgroup of order q of a rational point groups respectively suitable elliptic curve as G 1, G T It is known that the above G (italic form) can be concretely constructed by taking a cyclic subgroup of the order q of the multiplicative group of an appropriate finite field. Cryptographic assumptions about pairing are defined by abstracting the properties that some of such configurations are expected to have, and such cryptographic assumptions imply at least the following:
3)Lを離散対数とするG0,G1,GT上のCDH問題はそれぞれ計算困難。
従ってあるG(イタリック体)の具体的な構成について、有意な確率で条件3)を破る多項式時間アルゴリズムが見つかったならばG(イタリック体)は安全なペアリングではないという事が出来る。あるG(イタリック体)の具体的な構成が条件1)、2)を満たし暗号学的仮定が成立すると信じられるなら、そのようなG(イタリック体)を安全なペアリングの候補と呼ぶ。歴史的経緯と習慣により、安全なペアリングの候補の事を単にペアリングと呼ぶ事が多い。また、ペアリングと言った時それがeを指すのか、(L,G0,G1,GT,aux)を指すのか、G(イタリック体)を指すのか、あるいは特にそれらを区別していないのかは文脈によって判断する必要がある。Galbraithらは、暗号プロトコルに用いられるペアリングを大雑把に以下の3つの型に分類した(非特許文献1)。
Type1:G0,G1間で双方向に多項式時間同型が存在する。
Type2:G1→G0なる一方向同型が存在する。
Type3:G0,G1間で双方向に多項式時間同型が存在しない。
3) The CDH problem on G 0 , G 1 , G T with L as the discrete logarithm is difficult to calculate.
Therefore, if a polynomial time algorithm that violates condition 3) with a significant probability is found for a specific configuration of a certain G (italic type), it can be said that G (italic type) is not a safe pairing. If it is believed that the specific configuration of a G (italic) satisfies conditions 1) and 2) and the cryptographic assumption holds, then such a G (italic) is called a safe pairing candidate. Due to historical background and customs, safe pairing candidates are often referred to simply as pairing. Also, when we say pairing, it does not distinguish between e, (L, G 0 , G 1 , G T , aux), G (italics), or in particular. It needs to be judged by the context. Galbraith et al. Roughly classified the pairings used in cryptographic protocols into the following three types (Non-Patent Document 1).
There is a polynomial time isomorphism in both directions between Type1: G 0 and G 1 .
Type2: G 1 → G 0 There is a one-way isomorphism.
Type3: There is no polynomial time isomorphism in both directions between G 0 and G 1 .
一般にType1を対称ペアリングと呼び、Type2,Type3を非対称ペアリングと呼ぶ。対称ペアリングにおいてはG0とG1は、いつでも双方向に多項式時間で行き来出来る為、暗号方式の設計においては両者は特に区別されず、単にGと記述される。 Generally, Type1 is called symmetric pairing, and Type2 and Type3 are called asymmetric pairing. In symmetric pairing, G 0 and G 1 can be exchanged in both directions at any time in polynomial time, so they are not particularly distinguished in the design of the cryptosystem, and are simply described as G.
<一括検証>
ペアリングを用いた、署名やゼロ知識証明などの一般化された暗号認証方式が、方式を構成するアルゴリズム内に
<Batch verification>
Generalized cryptographic authentication methods such as signatures and zero-knowledge proofs using pairing are included in the algorithms that make up the method.
の型の式の検証を含む時、一般にこれを Generally this when including validation of the type expression of
の検証と見做すことが出来る。 Can be regarded as a verification of.
と定めれば上記検証式は If it is determined, the above verification formula is
と記述出来る。従って以下ではこの型の検証式を考える。今、方式を構成するペアリングの入力群変数の集合が Can be described as. Therefore, in the following, we consider this type of verification formula. Now, the set of pairing input group variables that make up the method
であるとき、検証アルゴリズム内に When is in the validation algorithm
(但しαl≠0,βl≠0)の型の検証式が多数含まれる場合を考える。即ち整数k∈{1,...,kmax}について Consider the case where many verification expressions of the type (however, α l ≠ 0, β l ≠ 0) are included. That is, for the integer k ∈ {1, ..., k max }
とし age
なる命題の検証が検証アルゴリズムに含まれるとする。この命題の真理値について Suppose that the verification of the proposition is included in the verification algorithm. About the truth value of this proposition
であるが、逆は必ずしも成立しない。しかし暗号学的に安全なペアリングを用いる場合R(イタリック体)を離散対数Lの十分大きな部分集合とすれば高い確率で逆が成り立つとして良い。一般にEk=1なる命題をk∈{1,...,kmax}について一つずつ検証するよりも However, the opposite is not always true. However, when cryptographically secure pairing is used, if R (italic type) is a sufficiently large subset of the discrete logarithm L, the opposite can be established with high probability. In general, rather than verifying the proposition E k = 1 one by one for k ∈ {1, ..., k max }
を一括で検証する方が効率が良い。これを一括検証と呼ぶ。 It is more efficient to verify all at once. This is called batch verification.
一般にe(X,Y)r=e(Xr,Y)=e(X,Yr)であり、e(X,Y)rの計算方法は一通りではない。さらに Generally, e (X, Y) r = e (X r , Y) = e (X, Y r ), and there is no single calculation method for e (X, Y) r . further
あるいは Or
であり、引数のどちらか一方が等しいペアリングはまとめる事が可能である。従って一括検証式 Therefore, pairings in which one of the arguments is the same can be combined. Therefore, batch verification formula
には使用される乱数rkをどう配置し、ペアリングをどうまとめるかにより沢山の計算方法が存在し、一般にその数は少なくともペアリングの数に対して指数関数的に増大する。そして計算方法により、まとめる事が可能なペアリング数やペアリングへ入力される式の型が変化するので計算の効率が大きく変わる。指数的多数の計算方法の候補から最も良い、あるいはそれに匹敵するくらい良い計算方法を単純に探索する事は、一括検証の規模が大きくなると事実上実行不可能となる。 There are many calculation methods depending on how the random numbers r k used are arranged and how the pairings are put together, and the number generally increases exponentially with respect to the number of pairings. Then, depending on the calculation method, the number of pairings that can be combined and the type of the formula input to the pairing change, so the efficiency of the calculation changes greatly. Simply searching for the best or comparable calculation method from a large number of exponential calculation method candidates becomes virtually infeasible as the scale of batch verification increases.
例えば、非特許文献2には、経験を基に様々な計算手法を探索的に適用することで一括検証を効率よく計算できる方法が開示されているが、最適、もしくはそれに匹敵するくらい良い計算方法を統一的な手法で求めることができないという課題がある。 For example, Non-Patent Document 2 discloses a method capable of efficiently calculating batch verification by exploratory application of various calculation methods based on experience, but a calculation method that is optimal or comparable to it. There is a problem that it cannot be obtained by a unified method.
従って、k∈{1,...,kmax}に関して予め決められたEkの型が与えられたとき、この指数的多数の計算方法の候補から最も良い、あるいはそれに匹敵するくらい良い計算方法を見つけ出す事が重要な課題となる。 Therefore, given a predetermined E k type for k ∈ {1, ..., k max }, the best or comparable calculation method from this exponentially large number of calculation method candidates. Finding out is an important issue.
そこで本発明では、効率的な計算方法による一括検証を実現することができるペアリング等式一括検証装置を提供することを目的とする。 Therefore, an object of the present invention is to provide a pairing equation batch verification device capable of realizing batch verification by an efficient calculation method.
本発明のペアリング等式一括検証装置は、目的関数生成部と、線形目的関数変換部と、整数計画アルゴリズム実行部と、一括検証方式構成部を含む構成である。 The pairing equation batch verification device of the present invention has a configuration including an objective function generation unit, a linear objective function conversion unit, an integer programming algorithm execution unit, and a batch verification method configuration unit.
目的関数生成部は、kを検証式のインデックス、lを各検証式に存在するペアリングのインデックスとし、ペアリングの積である検証式の集合{Ek}を取得して、k番目の検証式におけるl番目のペアリングにおいて、一方の入力群要素に冪を集めるか他方の入力群要素に冪を集めるかの何れかを表す変数bklの論理式の線形和として、計算量を表す目的関数Bを生成する。 The objective function generator takes k as the index of the validation formula and l as the index of the pairing existing in each validation formula, obtains the set {E k } of the validation formulas that is the product of the pairings, and obtains the kth validation. In the l-th pairing in an expression, the purpose of expressing the amount of calculation as the linear sum of the logical expressions of the variable b kl , which represents either the powers in one input group element or the powers in the other input group element. Generate function B.
線形目的関数変換部は、目的関数Bを、線形制約付き線形目的関数に変換する。 The linear objective function conversion unit converts the objective function B into a linear objective function with linear constraints.
整数計画アルゴリズム実行部は、全ての線形制約および線形目的関数を任意の0-1整数計画アルゴリズムに入力して、厳密解と近似解の少なくとも何れか一方を取得する。 The integer programming algorithm execution unit inputs all linear constraints and linear objective functions into any 0-1 integer programming algorithm to obtain at least one of an exact solution and an approximate solution.
一括検証方式構成部は、厳密解または近似解によって定まる変数bklの値に従って一括検証方式を構成する。 The batch verification method component constructs the batch verification method according to the value of the variable b kl determined by the exact solution or the approximate solution.
本発明のペアリング等式一括検証装置によれば、効率的な計算方法による一括検証を実現することができる。 According to the pairing equation batch verification device of the present invention, batch verification by an efficient calculation method can be realized.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. The components having the same function are given the same number, and duplicate description is omitted.
≪準備:{0,1}変数bkl、目的関数B≫
今、ペアリングe(Xα,Yβ)rに対して、便宜的にb∈{0,1}なる変数を考え、b=0ならば冪を全てYに集め、b=1ならば冪を全てXに集めるとする。従ってε=αβ、
≪Preparation: {0,1} variable b kl , objective function B≫
Now, for the pairing e (X α , Y β ) r , consider a variable b ∈ {0,1} for convenience, and if b = 0, collect all the powers in Y, and if b = 1, then the powers. Are all collected in X. Therefore, ε = αβ,
とすれば、 given that,
と展開出来る。今、非対称ペアリングの場合を想定して一括検証 Can be expanded. Now, batch verification assuming the case of asymmetric pairing
の全てのペアリングに上記の展開を適用すると、 Applying the above expansion to all pairings of
を得る。G0変数Xiの添え字i∈{1,...,imax}の関数Iを To get. G 0 The function I of the subscript i ∈ {1, ..., i max } of the variable X i
と定義すると、上記下線部について有限個のペアリングの積の演算順序を交換し、同じ基底Xiを持つペアリングをまとめる事により、 By exchanging the arithmetic order of the product of a finite number of pairings for the underlined part, and grouping the pairings with the same basis X i ,
として良い。命題Pの関数δを As good as. The function δ of proposition P
と定義すると、上記下線部について有限個の冪乗の積の演算順序を交換する事により、 By exchanging the arithmetic order of the product of a finite number of powers for the underlined part,
として良い。上記下線部について As good as. About the underlined part above
と定義すれば、 If you define
と出来る。同様にG1変数Yjの添え字j∈{1,...,jmax}の関数Jを Can be done. Similarly, the function J of the subscript j ∈ {1, ..., j max } of the G 1 variable Y j
と定義し、 Defined as
と定義し、上記下線部を変形すると And if the above underlined part is deformed
と出来る。大雑把に見積もると、この一括検証の計算コストは最大imax+jmax個のペアリングの積で構成される多重ペアリングのコストと各ペアリングの引数を構成する多重冪乗のコストの総和により決定される。このとき、 Can be done. A rough estimate is that the computational cost of this batch validation is the sum of the cost of multiple pairings, which consists of the product of up to i max + j max, and the cost of multiple powers, which make up the arguments of each pairing. It is determined. At this time,
あるいは Or
なるペアリングは値が1となる事が予め分かっているので、一般には実際に多重ペアリングを構成する有効なペアリングの個数nはimax+jmaxよりも小さい。Lをペアリングを計算する際のMiller loopのコストFをペアリングを計算する際の最終冪のコストとすると、多重ペアリングに必要な演算コストは概ね
F+n・L
と見積もることが出来る。またG1多重冪乗
Since it is known in advance that the value of each pairing is 1, the number n of valid pairings that actually compose multiple pairings is generally smaller than i max + j max . If L is the cost of Miller loop when calculating pairing and F is the cost of the final power when calculating pairing, the calculation cost required for multiple pairing is roughly.
F + n ・ L
Can be estimated. Also G 1 multiple power
に必要な演算コストは、s1,iを全指数の最大bit数、m1,iを全指数の合計bit数とし、S1をG1自乗のコストM1をG1乗算のコストとすると、ある定数 Let s 1 and i be the maximum number of bits of all exponents, m 1 and i be the total number of bits of all exponents, and S 1 be the cost of squared G 1 and M 1 be the cost of G 1 multiplication. , A constant
が存在して、
s1,i・S1+c1・m1,i・M1
と見積もることが出来る。同様にG0多重冪乗
Exists,
s 1, i・ S 1 + c 1・ m 1, i・ M 1
Can be estimated. Similarly G 0 multiple powers
に必要な演算コストはs0,jを全指数の最大bit数、m0,jを全指数の合計bit数とし、S0をG0自乗のコスト、M0をG0乗算のコストとすると、ある定数 Maximum bit number of all index computation cost s 0, j necessary, m 0, and the total bit number of all index j, the cost of the S 0 G 0 squares, when the M 0 to the cost of G 0 multiplied , A constant
が存在して
s0,j・S0+c0・m0,j・M0
と見積もることが出来る。
Exists
s 0, j・ S 0 + c 0・ m 0, j・ M 0
Can be estimated.
と定義すれば、一括検証の全コストBを If you define, the total cost B of batch verification is
とする事が出来る。対称ペアリングの場合も似たような評価が出来る(後述)。 Can be done. A similar evaluation can be made in the case of symmetric pairing (described later).
≪準備:線形制約付き線形目的関数への変換(後述するS12)≫
ところで{0,1}上の変数x,x1,x2,yについて、
<< Preparation: Conversion to a linear objective function with linear constraints (S12 described later) >>
By the way, about the variables x, x 1 , x 2 , y on {0,1}
である。即ち{0,1}変数の任意の連言と否定はある線型制約の元で新しい{0,1}変数に置き換え可能で、従ってどのような命題変数の論理式もこの置き換えを繰り返す事によって{0,1}変数の線型制約付き線型式に変換出来る事が良く知られている(非特許文献3)。 Is. That is, any conjunction and negation of the {0,1} variable can be replaced with a new {0,1} variable under some linear constraint, so any formula of a propositional variable can be replaced by repeating this replacement. It is well known that 0,1} variables can be converted into linearly constrained linear formulas (Non-Patent Document 3).
従って、もしBを{0,1}変数bklの論理式の線形和で見積もる事が出来るなら、上記の変換を用いてBを{0,1}変数の線型制約付き線型式に変換出来、Bの最適値あるいは近似最適値を与えるbklの割り当ては任意の整数線形計画アルゴリズムを用いて求めることが出来る。整数線形計画問題を解くアルゴリズムは例えば、動的計画法、分岐限定法、切除平面法、分岐切除法などの厳密解法、ランダム丸め法、ランダム抽出法などの近似解法、貪欲解法、局所探索法、タブーサーチ、シミュレーテッドアニーリング、遺伝的アルゴリズムなどのヒューリスティック解法などが良く知られている(非特許文献4)。 Therefore, if B can be estimated by the linear sum of the logical expressions of the {0,1} variable b kl , then B can be converted to the linear constrained linear expression of the {0,1} variable using the above transformation. The allocation of b kl that gives the optimal value of B or the approximate optimal value can be obtained by using an arbitrary integer linear programming algorithm. Algorithms for solving integer linear programming problems include, for example, rigorous solutions such as dynamic programming, simulated annealing, cut plane method, and branch cut, approximate solutions such as random rounding and random extraction, greedy solutions, and local search. Heuristic solutions such as tabu search, simulated annealing, and genetic algorithms are well known (Non-Patent Document 4).
≪準備:目的関数Bの生成−非対称ペアリングの場合(後述するS11)≫
rkを確率変数として実際に多重ペアリングを構成する有効なペアリングの個数nは
<< Preparation: Generation of objective function B-In the case of asymmetric pairing (S11 described later) >>
The number of valid pairings n that actually configure multiple pairings with r k as a random variable
である。G1多重冪乗 Is. G 1 multiple power
の全指数の最大bit数s1,iは、 The maximum number of bits s 1, i of all indexes of
と見積もることが出来る。但し Can be estimated. However,
とする。εklおよびrkがどのような集合から選択されるかは予め分かっているため、|εklrk|の値は概算する事が出来、従って整列する事が出来るとする。例えばL=Z/qZのとき、一般に|εkl|は非常に小さい場合(例えば|εkl|〜1の時)あるいは非常に大きい場合(例えば|εkl|〜|q|の時)を想定することが可能で、|rk|は|rk|〜|q|/2あるいは、特定のkについては|rk|〜1等と想定することが可能である。このとき、|εklrk|は表1のように見積もられる。 And. Since we know in advance from what set ε kl and r k are selected, we assume that the values of | ε kl r k | can be estimated and therefore aligned. For example, when L = Z / qZ, it is generally assumed that | ε kl | is very small (for example, | ε kl | ~ 1) or very large (for example, | ε kl | ~ | q |). It is possible to assume that | r k | is | r k | ~ | q | / 2 or | r k | ~ 1 etc. for a specific k. At this time, | ε kl r k | is estimated as shown in Table 1.
同様にG0多重冪乗 Similarly G 0 multiple powers
の全指数の最大bit数s0,jは、 The maximum number of bits s 0, j of all indexes of
と見積もることが出来る。但し Can be estimated. However,
とする。G1多重冪乗 And. G 1 multiple power
の全指数の合計bit数m1,iは、 The total number of bits m 1, i of all indexes of
と見積もることが出来る。但し Can be estimated. However,
とする。同様にG0多重冪乗 And. Similarly G 0 multiple powers
の全指数の合計bit数m0,jは、 The total number of bits m 0, j of all indexes of
と見積もることが出来る。但し Can be estimated. However,
とする。従って、 And. Therefore,
および一括検証の全コスト And the total cost of bulk verification
を考えると、Bを{0,1}変数bklの論理式の線形和で記述できた。 Considering, B could be described by the linear sum of the formulas of the {0,1} variable b kl .
≪準備:目的関数Bの生成−対称ペアリングの場合(後述するS11)≫
対称ペアリングにおいてはG0=G1=Gと考えて良い。従って方式を構成するペアリングの入力群変数の集合
<< Preparation: Generation of objective function B-Symmetric pairing (S11 described later) >>
In symmetric pairing, G 0 = G 1 = G can be considered. Therefore, a set of pairing input group variables that make up the method
および and
を同一視しimax=jmaxとし全てのi∈{1,...,imax}についてXi=Yiと定義し直す。またI(i)とJ(i)のdisjoint unionU(i)を
U(i)=I(i)└┘J(i)={(k,l,t)|(k,l)∈I(i)∧t=1∨(k,l)∈J(i)∧t=0}
と定義し、
Is equated with i max = j max , and all i ∈ {1, ..., i max } are redefined as X i = Y i . Also, disjoint union U (i) of I (i) and J (i)
U (i) = I (i) └┘ J (i) = {(k, l, t) | (k, l) ∈ I (i) ∧ t = 1 ∨ (k, l) ∈ J (i) ∧ t = 0}
Defined as
と定義し Defined as
と定義する。 Is defined as.
である。但し、 Is. However,
とする。このとき有効なペアリングの数nは And. At this time, the number of valid pairings n is
G多重冪乗 G multiple power
の全指数の最大bit数siは、 The maximum number of bits s i of all indexes of
と見積もる事ができる。但し Can be estimated. However,
とする。また、G多重冪乗 And. Also, G multiple power
の全指数の合計bit数miは、 The total number of bits of all indices of m i is
と見積もることが出来る。但し Can be estimated. However,
とする。SをG自乗のコスト、MをG乗算のコストとすると、ある定数 And. Let S be the cost of G square and M be the cost of G multiplication.
が存在してG多重冪乗 Exists and G multiple power
の演算コストを
si・S+c・mi・M
と見積もることが出来る。従って、
Computation cost
s i・ S + c ・ m i・ M
Can be estimated. Therefore,
とすると一括検証の全コスト
B=F+n・L+s・S+c・m・M
を考えると、Bを{0,1}変数bklの論理式の線形和で記述できた。
Then the total cost of batch verification
B = F + n ・ L + s ・ S + c ・ m ・ M
Considering, B could be described by the linear sum of the formulas of the {0,1} variable b kl .
<ペアリング等式一括検証装置>
以下、図1、図2を参照して実施形態に係るペアリング等式一括検証装置の構成、および動作について説明する。図1に示すように、本実施形態のペアリング等式一括検証装置1は、目的関数生成部11と、目的関数記憶部11aと、線形目的関数変換部12と、線形目的関数記憶部12aと、整数計画アルゴリズム実行部13と、厳密解/近似解記憶部13aと、一括検証方式構成部14を含む構成である。
<Pairing equation batch verification device>
Hereinafter, the configuration and operation of the pairing equation batch verification device according to the embodiment will be described with reference to FIGS. 1 and 2. As shown in FIG. 1, the pairing equation batch verification device 1 of the present embodiment includes an objective function generation unit 11, an objective
図2に示すように、目的関数生成部11は、kを検証式のインデックス、lを各検証式に存在するペアリングのインデックスとし、ペアリングの積である検証式の集合{Ek}を取得して、k番目の検証式におけるl番目のペアリングにおいて、一方の入力群要素に冪を集めるか他方の入力群要素に冪を集めるかの何れかを表す{0,1}変数bklの論理式の線形和として、計算量を表す目的関数Bを生成する(S11)。目的関数生成部11は生成した目的関数Bを目的関数記憶部11aに記憶する。
As shown in FIG. 2, the objective function generation unit 11 sets k as the index of the verification formula, l as the index of the pairing existing in each verification formula, and sets {E k } of the verification formulas which are the products of the pairings. Obtain and in the l-th pairing in the k-th validation expression, the {0,1} variable b kl represents either to collect exponentiation to one input group element or to collect exponentiation to the other input group element. As a linear sum of the logical expressions of, an objective function B representing the amount of calculation is generated (S11). The objective function generation unit 11 stores the generated objective function B in the objective
線形目的関数変換部12は、目的関数Bを、線形制約付き線形目的関数に変換する(S12)。線形目的関数変換部12は、変換した線形制約付き線形目的関数を線形目的関数記憶部12aに記憶する。
The linear objective
整数計画アルゴリズム実行部13は、全ての線形制約および線形目的関数を任意の0-1整数計画アルゴリズムに入力して、厳密解と近似解の少なくとも何れか一方を取得する(S13)。整数計画アルゴリズム実行部13は、取得した厳密解、または近似解を厳密解/近似解記憶部13aに記憶する。
The integer programming
一括検証方式構成部14は、厳密解または近似解によって定まる変数bklの値に従って一括検証方式を構成する(S14)。具体的には、bklの値に従って一括検証方式
The batch verification
(非対称ペアリングの場合)、あるいは (For asymmetric pairing), or
(対称ペアリングの場合)等を構成する。一括検証方式構成部14は、構成した一括検証方式を出力する。
(In the case of symmetrical pairing) etc. The batch verification
従来は、ペアリング間で冪の集め方を異ならせるといった発想はあまり一般的でなかった。従来は、同じ種類のデータを扱うことが多かったため、例えばあるペアリングにおいてXに冪を集めることとした場合、他のペアリングにおいても同様にXに冪を集めるのが通常であったためである。このため、従来は各ペアリングにおける冪の集め方を記述した変数である{0,1}変数bklといった着想はなかった。また一括検証方式において任意の0-1整数計画アルゴリズムを利用するという発想が一般的でなかったため、計算量を表す目的関数Bを{0,1}変数bklの論理式の線形和として表したうえで、これを0-1整数計画アルゴリズムにおいて取扱い可能なように、線形制約付き線形目的関数に変換するという発想がなかった。本実施形態のペアリング等式一括検証装置1は、上述の新しい着想を採用したため、効率的な計算方法による一括検証を実現することができた。 In the past, the idea of different ways of collecting powers between pairings was not very common. In the past, the same type of data was often handled, so for example, if it was decided to collect powers in X in one pairing, it was usual to collect powers in X in other pairings as well. .. For this reason, in the past, there was no idea of the {0,1} variable b kl, which is a variable that describes how to collect exponentiation in each pairing. Also, since the idea of using an arbitrary 0-1 integer programming algorithm in the batch verification method was not common, the objective function B representing the amount of calculation was expressed as the linear sum of the logical expressions of the {0,1} variable b kl . Above, there was no idea to convert this to a linear constrained linear objective function so that it could be handled by a 0-1 integer programming algorithm. Since the pairing equation batch verification device 1 of the present embodiment adopts the above-mentioned new idea, batch verification by an efficient calculation method can be realized.
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
<Supplement>
The device of the present invention is, for example, 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 as a single hardware entity. Communication unit to which can be connected, CPU (Central Processing Unit, cache memory, registers, etc.), RAM and ROM as memory, external storage device as hard hardware, and input, output, and communication units of these , CPU, RAM, ROM, has a connecting bus so that data can be exchanged between external storage devices. Further, if necessary, a device (drive) or the like capable of reading and writing a recording medium such as a CD-ROM may be provided in the hardware entity. A general-purpose computer or the like is a physical entity equipped with such hardware resources.
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。 The external storage device of the hardware entity stores the program required to realize the above-mentioned functions and the data required for processing this program (not limited to the external storage device, for example, reading a program). It may be stored in a ROM, which is a dedicated storage device). Further, the data obtained by the processing of these programs is appropriately stored in a RAM, an external storage device, or the like.
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。 In the hardware entity, each program stored in the external storage device (or ROM, etc.) and the data necessary for processing each program are read into the memory as needed, and are appropriately interpreted, executed, and processed by the CPU. .. As a result, the CPU realizes a predetermined function (each configuration requirement represented by the above, ... Department, ... means, etc.).
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。 The present invention is not limited to the above-described embodiment, and can be appropriately modified without departing from the spirit of the present invention. Further, the processes described in the above-described embodiment are not only executed in chronological order according to the order described, but may also be executed in parallel or individually depending on the processing capacity of the device that executes the processes or if necessary. ..
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。 As described above, when the processing function in the hardware entity (device of the present invention) described in the above embodiment is realized by a computer, the processing content of the function that the hardware entity should have is described by a program. Then, by executing this program on the computer, the processing function in the hardware entity is realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。 The program describing the processing content can be recorded on a computer-readable recording medium. The computer-readable recording medium may be, for example, a magnetic recording device, an optical disk, a photomagnetic recording medium, a semiconductor memory, or the like. Specifically, for example, a hard disk device, a flexible disk, a magnetic tape, or the like as a magnetic recording device is used as an optical disk, and a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), or a CD-ROM (Compact Disc Read Only) is used as an optical disk. Memory), CD-R (Recordable) / RW (ReWritable), etc., MO (Magneto-Optical disc), etc. as a magneto-optical recording medium, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. as a semiconductor memory Can be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 Further, the distribution of this program is performed, for example, by selling, transferring, renting, or the like 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 the storage device of the server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, when the process is executed, the computer reads the program stored in its own recording medium and executes the process according to the read program. Further, as another execution form of this program, a computer may read the program directly from a portable recording medium and execute processing according to the program, and further, the program is transferred from the server computer to this computer. It is also possible to execute the process according to the received program one by one each time. Further, the above-mentioned processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and the result acquisition without transferring the program from the server computer to this computer. May be. The program in this embodiment includes information used for processing by a computer and equivalent to the program (data that is not a direct command to the computer but has a property of defining the processing of the computer, etc.).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 Further, in this form, the hardware entity is configured by executing a predetermined program on the computer, but at least a part of these processing contents may be realized in terms of hardware.
なお、明細書、特許請求の範囲に記載された各ステップは各種の情報を生成する方法の各ステップに該当する。ここでいう各種の情報は特許法第二条第四項に規定するプログラム等(プログラム…その他電子計算機による処理の用に供する情報であってプログラムに準ずるもの)に該当するため、ここでいう各種の情報は、特許法第二条第三項第一号に規定する物に該当する。従って、明細書、特許請求の範囲に記載された各種の情報を生成する方法はすなわち、特許法第二条第三項第三号に規定する物を生産する方法に該当することはいうまでもない。 In addition, each step described in the specification and claims corresponds to each step of the method of generating various information. The various types of information referred to here correspond to the programs, etc. (programs ... Other information used for processing by computers and equivalent to the programs) specified in Article 2, Paragraph 4 of the Patent Act. The information in is applicable to the information prescribed in Article 2, Paragraph 3, Item 1 of the Patent Act. Therefore, it goes without saying that the method of generating various types of information described in the description and claims corresponds to the method of producing the product prescribed in Article 2, Paragraph 3, Item 3 of the Patent Act. Absent.
Claims (5)
前記目的関数Bを、線形制約付き線形目的関数に変換する線形目的関数変換部と、
全ての前記線形制約および前記線形目的関数を任意の0-1整数計画アルゴリズムに入力して、厳密解と近似解の少なくとも何れか一方を取得する整数計画アルゴリズム実行部と、
前記厳密解または前記近似解によって定まる前記変数bklの値に従って一括検証方式を構成する一括検証方式構成部と、
を含むペアリング等式一括検証装置。 Let k be the index of the validation expression, l be the index of the pairing existing in each validation expression, get the set {E k } of the validation expression that is the product of the pairing, and get the lth pair in the kth validation expression. In the ring, the purpose of generating the objective function B, which represents the amount of computation, as the linear sum of the well-formed formulas of the variable b kl , which represents either the powers on one input group element or the powers on the other input group element. Function generator and
A linear objective function converter that converts the objective function B into a linear objective function with linear constraints,
An integer programming algorithm execution unit that inputs all the linear constraints and the linear objective function into an arbitrary 0-1 integer programming algorithm and obtains at least one of an exact solution and an approximate solution.
A batch verification method component that configures a batch verification method according to the value of the variable b kl determined by the exact solution or the approximate solution,
Pairing equation batch verification device including.
前記目的関数Bは、多重ペアリングに必要な演算コストに関する項と、多重冪乗に必要な演算コストに関する項を含む
ペアリング等式一括検証装置。 The pairing equation batch verification device according to claim 1.
The objective function B is a pairing equation batch verification device that includes a term related to the calculation cost required for multiple pairing and a term related to the calculation cost required for multiple powers.
kを検証式のインデックス、lを各検証式に存在するペアリングのインデックスとし、ペアリングの積である検証式の集合{Ek}を取得して、k番目の検証式におけるl番目のペアリングにおいて、一方の入力群要素に冪を集めるか他方の入力群要素に冪を集めるかの何れかを表す変数bklの論理式の線形和として、計算量を表す目的関数Bを生成するステップと、
前記目的関数Bを、線形制約付き線形目的関数に変換するステップと、
全ての前記線形制約および前記線形目的関数を任意の0-1整数計画アルゴリズムに入力して、厳密解と近似解の少なくとも何れか一方を取得するステップと、
前記厳密解または前記近似解によって定まる前記変数bklの値に従って一括検証方式を構成するステップと、
を含むペアリング等式一括検証生成方法。 It is a pairing equation batch verification generation method executed by the pairing equation batch verification device.
Let k be the index of the validation formula, l be the index of the pairing existing in each validation formula, get the set {E k } of the validation formulas that is the product of the pairings, and get the lth pair in the kth validation formula. In the ring, the step of generating the objective function B, which represents the amount of computation, as the linear sum of the formulas of the variable b kl , which represents either the powers on one input group element or the powers on the other input group element. When,
The step of converting the objective function B into a linear objective function with linear constraints,
A step of inputting all the linear constraints and the linear objective function into an arbitrary 0-1 integer programming algorithm to obtain at least one of an exact solution and an approximate solution.
A step of constructing a batch verification method according to the value of the variable b kl determined by the exact solution or the approximate solution, and
Pairing equation batch verification generation method including.
前記目的関数Bは、多重ペアリングに必要な演算コストに関する項と、多重冪乗に必要な演算コストに関する項を含む
ペアリング等式一括検証生成方法。 The pairing equation batch verification generation method according to claim 3.
The objective function B is a pairing equation batch verification generation method including a term related to the calculation cost required for multiple pairing and a term related to the calculation cost required for multiple powers.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017160059A JP6791820B2 (en) | 2017-08-23 | 2017-08-23 | Pairing equation batch verification device, pairing equation batch verification generation method, program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017160059A JP6791820B2 (en) | 2017-08-23 | 2017-08-23 | Pairing equation batch verification device, pairing equation batch verification generation method, program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019041166A JP2019041166A (en) | 2019-03-14 |
| JP6791820B2 true JP6791820B2 (en) | 2020-11-25 |
Family
ID=65726553
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017160059A Active JP6791820B2 (en) | 2017-08-23 | 2017-08-23 | Pairing equation batch verification device, pairing equation batch verification generation method, program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6791820B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4117223A1 (en) * | 2021-07-05 | 2023-01-11 | Terra Quantum AG | Method for determining a cryptographic key, computer program, and data processing system |
-
2017
- 2017-08-23 JP JP2017160059A patent/JP6791820B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019041166A (en) | 2019-03-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Xie et al. | Orion: Zero knowledge proof with linear prover time | |
| Liu et al. | Pianist: Scalable zkrollups via fully distributed zero-knowledge proofs | |
| JP7572468B2 (en) | A system for recording verification keys on a blockchain | |
| CN108683669B (en) | Data verification method and secure multi-party computing system | |
| Kuznetsov et al. | Enhanced security and efficiency in blockchain with aggregated zero-knowledge proof mechanisms | |
| Ernstberger et al. | Do you need a zero knowledge proof? | |
| Gu et al. | zk-oracle: Trusted off-chain compute and storage for decentralized applications | |
| Munoz-Tapia et al. | Circom: A robust and scalable language for building complex zero-knowledge circuits | |
| Biller et al. | Moments of genome evolution by double cut-and-join | |
| Balabanov et al. | Resolution proofs and Skolem functions in QBF evaluation and applications | |
| JP6791820B2 (en) | Pairing equation batch verification device, pairing equation batch verification generation method, program | |
| JP5526284B2 (en) | Proxy calculation system, method, request apparatus, and program | |
| CN119070995B (en) | A general zk-SNARK zero-knowledge proof optimization system and method | |
| Xie et al. | Efficient constant-size linkable ring signatures for ad-hoc rings via pairing-based set membership arguments | |
| Bünz et al. | Dewtwo: a transparent pcs with quasi-linear prover, logarithmic verifier and 4.5 kb proofs from falsifiable assumptions | |
| Song et al. | Parallel RSA encryption algorithm based on a ternary optical computer | |
| JP7767707B2 (en) | Machine Learning-Based Cryptanalysis | |
| Bagherpour et al. | Sigma protocol for faster proof of simultaneous homomorphism relations | |
| Hader et al. | An smt-lib theory of finite fields | |
| Modh et al. | Secure Data Sharing in Financial IoT Networks Using Homomorphic Encryption and Distributed Ledger Technologies | |
| Wang | A Survey of Interactive Verifiable Computing: Utilizing Low-degree Polynomials | |
| Akeela et al. | Yafa-108/146: Implementing ed25519-embedding cocks-pinch curves in arkworks-rs | |
| JP6445474B2 (en) | Pairing type conversion device, pairing type conversion method, program | |
| Kim et al. | Efficient transparent polynomial commitments for zk-SNARKs | |
| Abdul-Jabbar | Secure QR-code generation in healthcare |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190819 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200728 |
|
| 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: 20201104 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201105 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6791820 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 |