JP2021081591A - Safety evaluation device, safety evaluation method, and safety evaluation program - Google Patents
Safety evaluation device, safety evaluation method, and safety evaluation program Download PDFInfo
- Publication number
- JP2021081591A JP2021081591A JP2019209072A JP2019209072A JP2021081591A JP 2021081591 A JP2021081591 A JP 2021081591A JP 2019209072 A JP2019209072 A JP 2019209072A JP 2019209072 A JP2019209072 A JP 2019209072A JP 2021081591 A JP2021081591 A JP 2021081591A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- lattice
- safety evaluation
- dimension
- cyclotomic polynomial
- 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.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
本発明は、格子暗号の安全性を評価するための装置、方法及びプログラムに関する。 The present invention relates to devices, methods and programs for evaluating the security of lattice-based cryptography.
従来、格子暗号の安全性を評価するにあたって、最短ベクトル問題(SVP:Shortest Vector Problem)の求解時間が指標として用いられている。
非特許文献1では、SVPの高速求解アルゴリズムであるGauss Sieveアルゴリズムが提案された。非特許文献2では、イデアル格子という特殊な格子に関して、ローテーション操作によってベクトルの生成が高速に実現できる条件として、ベクトルの次元が2の冪乗となる場合を示し、円分多項式が既約2項式で定義されるAnti−cyclic格子として提案された。さらに、特許文献1、2及び非特許文献3において、ベクトルの次元が2の冪乗と3の冪乗との積である場合にアルゴリズムを高速化できる、既約3項式で定義されるTrinomial格子が提案された。
Conventionally, in evaluating the security of lattice-based cryptography, the solution time of the shortest vector problem (SVP: Shortest Vector Problem) has been used as an index.
In
イデアル格子を用いた格子暗号の1つとして、次世代公開鍵暗号の候補であるNTRU暗号(非特許文献4参照)がある。より高速なアルゴリズムを用いて暗号に対する攻撃者の計算限界を評価することで、暗号の安全性評価が実施される。これらのアルゴリズムが高速であるほど、暗号の安全性に対するより詳細な評価が可能となる。 As one of the lattice-based cryptosystems using the ideal lattice, there is NTRU encryption (see Non-Patent Document 4), which is a candidate for next-generation public key cryptography. Cryptographic security assessments are performed by assessing the attacker's computational limits on cryptography using faster algorithms. The faster these algorithms are, the more detailed the evaluation of cryptographic security is possible.
しかしながら、非特許文献2のアルゴリズムがローテーション操作によって高速化できるベクトルの次元nは、円分多項式が既約2項式又は既約3項式で定義されるn=2a又はn=2a3bの場合に限られていた。
However, the dimension n of the vector that the algorithm of
本発明は、これまではSVPの求解を高速化できる次元が限定的であったイデアル格子に対して、より一般的な次元でも高速化が可能な安全性評価装置、安全性評価方法及び安全性評価プログラムを提供することを目的とする。 The present invention has a safety evaluation device, a safety evaluation method, and safety that can speed up the solution of SVP even in a more general dimension, as opposed to an ideal lattice that can speed up the solution of SVP. The purpose is to provide an evaluation program.
本発明に係る安全性評価装置は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、m=pb(b≧1)及びn=pb−1(p−1)、又はm=2a・pb(a≧1,b≧1)及びn=2a−1・pb−1(p−1)を満たす奇素数p、及び円分多項式の添字mを選択する選択部と、前記円分多項式の項数t=pの関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解部と、を備える。 The security evaluation device according to the present invention has m = p b (b ≧ 1) and n = p b-1 (p-1) with respect to the dimension n of the ideal lattice in the lattice code to be evaluated for security. , Or select an ideal number p that satisfies m = 2 a · p b (a ≧ 1, b ≧ 1) and n = 2 a-1 · p b-1 (p-1), and the subscript m of the cyclotomic polynomial. A selection unit to be used and a solution unit that repeats vector generation and contraction a predetermined number of times by using the rotation of the vector derived from the relation of the number of terms t = p of the cyclotomic polynomial.
本発明に係る安全性評価装置は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、m=pb・qc(b≧1,c≧1)及びn=pb−1(p−1)・qc−1(q−1)、又はm=2a・pb・qc(a≧1,b≧1,c≧1)及びn=2a−1・pb−1(p−1)・qc−1(q−1)を満たす2つの奇素数p及びq、並びに円分多項式の添字mを選択する選択部と、前記円分多項式の項数tが整数kを用いて、t=2k(p−1)+1及びq=pk+1、t=2k(p−1)+2p−3及びq=p(k+1)−1、t=(1/2)k(p2−1)+p及びq=pk+2、又はt=(1/2)(k+1)(p2−1)−p及びq=p(k+1)−2のいずれかの関係であることから導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解部と、を備える。 The security evaluation device according to the present invention has m = p b · q c (b ≧ 1, c ≧ 1) and n = p b with respect to the dimension n of the ideal lattice in the lattice code to be evaluated for security. -1 (p-1) · q c-1 (q-1), or m = 2 a · p b · q c (a ≧ 1, b ≧ 1, c ≧ 1) and n = 2 a-1 · Two odd prime numbers p and q that satisfy p b-1 (p-1) and q c-1 (q-1), a selection unit that selects the subscript m of the cyclotomic polynomial, and the number of terms of the cyclotomic polynomial. Using the integer k, t = 2k (p-1) + 1 and q = pk + 1, t = 2k (p-1) + 2p-3 and q = p (k + 1) -1, t = (1/2) k (p 2 -1) + p and q = pk + 2, or t = (1/2) (k + 1) since (p 2 -1) is any relationship between -p and q = p (k + 1) -2 It includes a solution unit that repeats vector generation and reduction a predetermined number of times by using the rotation of the derived vector.
本発明に係る安全性評価方法は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、m=pb(b≧1)及びn=pb−1(p−1)、又はm=2a・pb(a≧1,b≧1)及びn=2a−1・pb−1(p−1)を満たす奇素数p、及び円分多項式の添字mを選択する選択ステップと、前記円分多項式の項数t=pの関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解ステップと、をコンピュータが実行する。 The security evaluation method according to the present invention has m = p b (b ≧ 1) and n = p b-1 (p-1) with respect to the dimension n of the ideal lattice in the lattice code to be evaluated for security. , Or select an ideal number p that satisfies m = 2 a · p b (a ≧ 1, b ≧ 1) and n = 2 a-1 · p b-1 (p-1), and the subscript m of the cyclotomic polynomial. The computer executes a selection step to be performed and a solution step in which vector generation and reduction are repeated a predetermined number of times by using the rotation of the vector derived from the relation of the number of terms t = p of the cyclotomic polynomial.
本発明に係る安全性評価方法は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、m=pb・qc(b≧1,c≧1)及びn=pb−1(p−1)・qc−1(q−1)、又はm=2a・pb・qc(a≧1,b≧1,c≧1)及びn=2a−1・pb−1(p−1)・qc−1(q−1)を満たす2つの奇素数p及びq、並びに円分多項式の添字mを選択する選択ステップと、前記円分多項式の項数tが整数kを用いて、t=2k(p−1)+1及びq=pk+1、t=2k(p−1)+2p−3及びq=p(k+1)−1、t=(1/2)k(p2−1)+p及びq=pk+2、又はt=(1/2)(k+1)(p2−1)−p及びq=p(k+1)−2のいずれかの関係であることから導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解ステップと、をコンピュータが実行する。 The security evaluation method according to the present invention has m = p b · q c (b ≧ 1, c ≧ 1) and n = p b with respect to the dimension n of the ideal lattice in the lattice code to be evaluated for security. -1 (p-1) · q c-1 (q-1), or m = 2 a · p b · q c (a ≧ 1, b ≧ 1, c ≧ 1) and n = 2 a-1 · Two odd prime numbers p and q that satisfy p b-1 (p-1) and q c-1 (q-1), a selection step for selecting the subscript m of the cyclotomic polynomial, and the number of terms of the cyclotomic polynomial. Using the integer k, t = 2k (p-1) + 1 and q = pk + 1, t = 2k (p-1) + 2p-3 and q = p (k + 1) -1, t = (1/2) k (p 2 -1) + p and q = pk + 2, or t = (1/2) (k + 1) since (p 2 -1) is any relationship between -p and q = p (k + 1) -2 Using the rotation of the derived vector, the computer executes a solution step that repeats vector generation and reduction a predetermined number of times.
本発明に係る安全性評価プログラムは、前記安全性評価装置としてコンピュータを機能させるためのものである。 The safety evaluation program according to the present invention is for operating a computer as the safety evaluation device.
本発明によれば、これまではSVPの求解を高速化できる次元が限定的であったイデアル格子に対して、より一般的な次元でも高速化が可能となった。 According to the present invention, it has become possible to speed up the solution of SVP even in a more general dimension, as opposed to the ideal lattice, which has been limited in the dimension in which the solution of SVP can be speeded up.
以下、本発明の実施形態の一例について説明する。
本実施形態における安全性評価方法では、イデアル格子を用いた格子暗号の安全性を評価するために、SVPを高速に求解するためのイデアル格子の次元に応じた条件を選択し、条件毎に定義されたローテーション操作により、縮約と呼ばれる処理を高速化する。
Hereinafter, an example of the embodiment of the present invention will be described.
In the security evaluation method in the present embodiment, in order to evaluate the security of the lattice-based cryptography using the ideal grid, conditions according to the dimension of the ideal grid for solving the SVP at high speed are selected and defined for each condition. The rotation operation is performed to speed up a process called contraction.
[定義]
m次元のベクトルv=(v0,…,vm−1)のユークリッドノルムを‖v‖=√(Σi=0 m−1vi 2)とする。ベクトルu=(u0,…,um−1)とv=(v0,…,vm−1)との内積を<u,v>=Σi=0 m−1uiviと表す。
n個の一次独立なm次元列ベクトルからなる行列を、B=(b0,…,bn−1)∈Rm×nと書く。Bによって生成される格子とは、基底ベクトルb0,…,bn−1の整数係数線形結合全体の集合L(B)=L(b0,…,bn−1)={Σi=0 n−1xibi|xi∈Z}のことである。Bを格子Lの基底という。本実施形態では、n=mかつbi∈Znとし、nを格子の次元と呼ぶ。格子L上の非ゼロ最短ベクトルのユークリッドノルムをλ1(L)と書く。
最短ベクトル問題(SVP)とは、格子L(B)が与えられたとき、‖v‖=λ1(L(B))となるベクトルv∈L(B)を求めることである。
[Definition]
Let the Euclidean norm of the m-dimensional vector v = (v 0 , ..., v m-1 ) be ‖v‖ = √ (Σ i = 0 m-1 v i 2 ). The inner product of the vectors u = (u 0 , ..., u m-1 ) and v = (v 0 , ..., v m-1 ) is <u, v> = Σ i = 0 m-1 u i v i . Represent.
A matrix consisting of n first-order independent m-dimensional column vectors is written as B = (b 0 , ..., b n-1 ) ∈ R m × n . The lattice generated by B is the set of all integer coefficient linear combinations of the basis vectors b 0 , ..., b n-1 L (B) = L (b 0 , ..., b n-1 ) = {Σ i = 0 n-1 x i b i | is that x i ∈ Z}. B is called the basis of the lattice L. In this embodiment, the n = m and b i ∈ Z n, referred to as n and dimension of the lattice. The Euclidean norm of the nonzero shortest vector on the lattice L is written as λ 1 (L).
The shortest vector problem (SVP) is to find the vector v ∈ L (B) such that ‖ v ‖ = λ 1 (L (B)) when the lattice L (B) is given.
イデアルIとは、環R=Z[x]/(g(x))の部分加法群のことをいう。ただし、g(x)は、Z上のn次モニック多項式である。v(x)=Σi=0 n−1vixi∈Iに対して、その係数ベクトルv=(v0,…,vn−1)∈Zをv(x)に対応させる。このとき、集合{v=(v0,…,vn−1)∈Z|v(x)=Σi=0 n−1vixi∈I}は格子となる。このような格子を、イデアル格子と呼ぶ。 The ideal I refers to a partial additive group of rings R = Z [x] / (g (x)). However, g (x) is an nth-order monic polynomial on Z. For v (x) = Σ i = 0 n-1 v i x i ∈ I , the coefficient vector v = (v 0 , ..., v n-1 ) ∈ Z is made to correspond to v (x). At this time, the set {v = (v 0 , ..., v n-1 ) ∈ Z | v (x) = Σ i = 0 n-1 v i x i ∈ I} is a lattice. Such a grid is called an ideal grid.
イデアル格子は、ローテーション操作に対して合同である。すなわち、格子ベクトルv∈Lの多項式表現をv(x)としたとき、rot(v)=xv(x) mod g(x)もまたL(B)のベクトルとなる。演算rotをベクトルのローテーションという。i回のローテーションの繰り返しをroti(v)=rot(…rot(rot(v))…)と書く。ただし、rot0(v)=vである。 The ideal grid is congruent for rotation operations. That is, when the polynomial representation of the lattice vector v ∈ L is v (x), rot (v) = xv (x) mod g (x) is also a vector of L (B). The operation rot is called vector rotation. The repetition of i rotations is written as rot i (v) = rot (... rot (rot (v) ...)). However, rot 0 (v) = v.
n次モニック多項式g(x)には、R−LWE(Ring Learning with Error)問題等で用いられている円分多項式を使用する。m番目の円分多項式Φm(x)は次式で定義される。
Φm(x)=Π1≦k≦m,gcd(k,m)=1(x−e2πik/m)
ただし、gcd(i,j)は、自然数i,jの最大公約数を表す。例えば、Φ8(x)=x4+1、Φ12(x)=x4−x2+1等となる。
For the nth-order monic polynomial g (x), the cyclotomic polynomial used in the R-LWE (Ring Learning with Player) problem or the like is used. The m-th cyclotomic polynomial Φ m (x) is defined by the following equation.
Φ m (x) = Π 1 ≦ k ≦ m, gcd (k, m) = 1 (x-e 2πik / m )
However, gcd (i, j) represents the greatest common divisor of the natural numbers i, j. For example, Φ 8 (x) = x 4 + 1, Φ 12 (x) = x 4- x 2 + 1, and so on.
[Gauss Sieveアルゴリズム]
格子L(B)から最短ベクトルを出力するために、Gauss Sieveアルゴリズムでは、格子L(B)に属する2つのベクトルu,vの差が小さくなる場合に、片方のベクトルをベクトルの差に置き換える処理(縮約という)が、ノルムが減少しなくなるまで再帰的に繰り返される。
これにより、格子L(B)上の2つのベクトルu,vが‖u±v‖≧max(‖u‖,‖v‖)を満たし、Gauss−reducedな状態となる。
[Gauss Sieve algorithm]
In order to output the shortest vector from the grid L (B), in the Gauss Sieve algorithm, when the difference between the two vectors u and v belonging to the grid L (B) becomes small, one vector is replaced with the vector difference. (Called contraction) is repeated recursively until the norm no longer decreases.
As a result, the two vectors u and v on the lattice L (B) satisfy ‖u ± v‖ ≧ max (‖u‖, ‖v‖), and the state becomes Gauss-reduced.
図1は、従来(非特許文献1)の求解アルゴリズム(Gauss Sieve)を示す図である。
図2は、従来(非特許文献1)の求解アルゴリズムで実行される縮約関数Reduceのアルゴリズムを示す図である。
FIG. 1 is a diagram showing a conventional (Non-Patent Document 1) solution algorithm (Gauss Seeve).
FIG. 2 is a diagram showing an algorithm of the reduction function Reduce executed by the conventional (Non-Patent Document 1) solution algorithm.
縮約関数Reduceでは、格子L(B)に属する2つのベクトルu,vを入力として、‖u−v‖と‖u‖を比較し、‖u−v‖が小さい場合に、ベクトルuが縮約される。
なお、2つのベクトルが線形従属だった場合、必ず原点ベクトルが出力される。これを衝突という。
In the contraction function Reduce, two vectors u and v belonging to the lattice L (B) are input, and ‖u-v‖ and ‖u‖ are compared. When ‖u-v‖ is small, the vector u is contracted. Is about.
If the two vectors are linearly dependent, the origin vector is always output. This is called a collision.
集合A⊂L(B)に対して、全ベクトルの組み合わせ∀u,v∈A,u≠vがGauss−reducedであるとき、集合AはPairwise−reducedであるという。 For the set A ⊂ L (B), when the combination of all vectors ∀u, v ∈ A, u ≠ v is Gauss-reduced, the set A is said to be Pairwise-reduced.
Gauss Sieveアルゴリズムでは、Pairwise−reducedとなる格子ベクトルの集合Lが徐々に拡張されていく。まず、新しい格子ベクトルvがランダムサンプリングによって生成される。次に、vとLの全ての元との組み合わせがGauss−reducedとなるように縮約が行われ、vのノルムが減少する。このようにして縮約されたvがLに追加される。このとき、L∪{v}もPairwise−reducedである。
このような集合Lを拡張する動作を、衝突が一定回数発生するまで実施した後、L内で最も短いベクトルを格子L(B)が最短ベクトルとして出力される。
In the Gauss Sieve algorithm, the set L of lattice vectors that is Pairwise-reduced is gradually expanded. First, a new lattice vector v is generated by random sampling. Next, the contraction is performed so that the combination of v and all the elements of L is Gauss-reduced, and the norm of v is reduced. The reduced v is added to L in this way. At this time, L∪ {v} is also Pairwise-reduced.
After performing such an operation of expanding the set L until collisions occur a certain number of times, the grid L (B) outputs the shortest vector in L as the shortest vector.
さらに、イデアル格子の性質を利用した非特許文献2及び非特許文献3の手法では、モニック多項式g(x)としての円分多項式が既約2項式となるAnti−cyclic格子、及び既約3項式となるTrinomial格子を定義し、定義式から導かれるローテーションの操作を行うことにより、縮約を試行するためのベクトルvの生成が繰り返される。
この結果、Gauss SieveアルゴリズムによるSVPの求解が高速化された。
Further, in the methods of
As a result, the solution of SVP by the Gauss Seeve algorithm has been accelerated.
図3は、従来(非特許文献2)の求解アルゴリズム(Ideal Gauss Sieve)で実行される縮約関数ReduceRotのアルゴリズムを示す図である。
縮約関数ReduceRotでは、ベクトルvの複製v’に対してローテーションを行うことにより(ステップ3)、縮約を試行するためのベクトルが繰り返し生成される。これにより、短いベクトルを生成する確率が向上した。
FIG. 3 is a diagram showing an algorithm of the reduction function ReduceRot executed by the conventional (Non-Patent Document 2) solution algorithm (Ideal Gauss Seeve).
In the contraction function ReduceRot, by rotating the duplicate v'of the vector v (step 3), a vector for trying the contraction is repeatedly generated. This improves the probability of generating a short vector.
図4は、従来(非特許文献3)の求解アルゴリズムで実行される縮約関数ReduceRot2のアルゴリズムを示す図である。
縮約関数ReduceRot2では、ReduceRotに対して、逆ローテーションによるベクトルの生成を同時に行う、アルゴリズムを並列化する、計算時間が最も短くなるローテーション回数kを求め縮約の試行をk回とする、という改良が施された。
FIG. 4 is a diagram showing an algorithm of the reduction function ReduceRot2 executed by the conventional (Non-Patent Document 3) solution algorithm.
In the reduction function ReduceRot2, the vector is simultaneously generated by the inverse rotation for the ReductionRot, the algorithm is parallelized, the number of rotations k at which the calculation time is the shortest is obtained, and the reduction trial is made k times. Was given.
本実施形態では、さらに、Anti−cyclic格子及びTrinomial格子の概念を一般化したt−nomial格子を定義し、安全性評価装置1は、イデアル格子の次元nと、円分多項式の添字m及び項数tとを対応付けた条件に基づくローテーション及び逆ローテーションにより、縮約の処理を実行する。
In the present embodiment, a t-nomic lattice that generalizes the concepts of the Anti-cyclic lattice and the Trinomial lattice is further defined, and the
[機能構成]
図5は、本実施形態における安全性評価装置1の機能構成を示すブロック図である。
安全性評価装置1は、サーバ又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
[Functional configuration]
FIG. 5 is a block diagram showing a functional configuration of the
The
制御部10は、安全性評価装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
The
記憶部20は、ハードウェア群を安全性評価装置1として機能させるための各種プログラム(安全性評価プログラム等)、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスク(HDD)等であってよい。
The
制御部10は、選択部11と、求解部12と、初期化部13とを備える。制御部10は、これらの機能部により、SVPを解くための縮約の処理を実行する。
このとき、制御部10は、処理時間を計測し、格子暗号の安全性の指標として出力する。
The
At this time, the
t−nomial格子とは、項数がtである円分多項式から生成されるイデアル格子である。ただし、t≧2とする。t−nomial格子を用いることで、一般的な次元nに対して、Gauss Sieveアルゴリズムの高速化が可能となる。 The t-nomic lattice is an ideal lattice generated from a cyclotomic polynomial having t in the number of terms. However, t ≧ 2. By using the t-nomic lattice, it is possible to increase the speed of the Gauss Sieve algorithm for the general dimension n.
選択部11は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、後述の条件1〜3のいずれかを満たす円分多項式の添字m及び項数tを選択する。
なお、これらの条件式は、項数が2であるAnti−cyclic格子の場合と、項数が3であるTrinomial格子の場合とを包含している。
The
In addition, these conditional expressions include the case of the Anti-cyclic lattice having 2 terms and the case of the Trinomial lattice having 3 terms.
求解部12は、次数nと、円分多項式の添字m及び項数tとの関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す。
The solving
初期化部13は、ローテーション又は逆ローテーションの操作を、ローテーションの周期となるまで繰り返すことにより、ベクトルvを初期化する。
このとき、初期化部13は、初期化に掛かるローテーションの回数と、逆ローテーションの回数とを比較し、少ない回数の操作によりベクトルvを初期化してよい。
The
At this time, the
[条件1]
条件1を満たすとき、ベクトルv=(v0,…,vn−1)のローテーションrot(v)及び逆ローテーションrot−1(v)は、0≦i≦n−1に対して、
[条件2]
奇素数pに対して、
For the odd prime number p
ここで、奇素数pに対して、m=2a・pb(a≧0,b≧1)のとき、t=pとなることは、円分多項式Φm(x)=Σi=0 p−1(−1)ixi2^(a−1)p^(b−1)であることから明らかである。例えば、m=36=22・32のとき、t=3となり、m=121=20・112のとき、t=11となる。
なお、p=3の場合は、モニック多項式が円分多項式Φm(x)={xn+xn/2+1(m=3a),xn−xn/2+1(m=2a3b)となるイデアル格子、すなわちTrinomial格子を示している。
Here, for the odd prime number p, when m = 2 a · p b (a ≧ 0, b ≧ 1), t = p means that the cyclotomic polynomial Φ m (x) = Σ i = 0. It is clear from the fact that it is p-1 (-1) i x i2 ^ (a-1) p ^ (b-1). For example, when m = 36 = 2 2 · 3 2, t = 3 , and the case of m = 121 = 2 0 · 11 2, a t = 11.
When p = 3, the monic polynomial is a cyclotomic polynomial Φ m (x) = {x n + x n / 2 +1 (m = 3 a ), x n − x n / 2 +1 (m = 2 a 3). The ideal lattice that becomes b), that is, the Trinomial lattice is shown.
また、nの条件式は、次のように証明される。
x,yを互い素な自然数としたとき、φ(xy)=φ(x)φ(y)が成り立つ。なお、φはオイラーのトーシェント関数であり、m番目の円分多項式の次数nについて、n=φ(m)であることが知られている。また、素数p及び自然数kに対して、φ(pk)=pk−1(p−1)である。以上より、a≧1に対して、φ(2apb)=φ(2a)φ(pb)=2a−1・pb−1(p−1)である。また、a=0に対しては、m=pbより、φ(pb)=pb−1(p−1)である。
Further, the conditional expression of n is proved as follows.
When x and y are natural numbers that are mutually exclusive, φ (xy) = φ (x) φ (y) holds. Note that φ is Euler's totient function, and it is known that n = φ (m) for the degree n of the m-th cyclotomic polynomial. Further, for the prime number p and the natural number k, φ ( pk ) = p k-1 (p-1). From the above, for a ≧ 1, φ (2 a p b ) = φ (2 a ) φ (p b ) = 2 a-1 · p b-1 (p-1). Further, for a = 0, φ (p b ) = p b-1 (p-1) from m = p b.
条件2を満たすとき、ベクトルvのローテーション操作rot(v)及び逆ローテーション操作rot−1(v)は、0≦i≦n−1,1≦l≦t−2に対して、
ローテーション及び逆ローテーションの式は、次のように証明される。
円分多項式Φm(x)とその次数nに対して、Φp^b(x)=Σi=0 p−1xip^(b−1),Φ2^a・p^b(x)=Σi=0 p−1(−1)ixi2^(a−1)p^(b−1)である。よって、それぞれxv(x) mod Φm(x)を計算することにより、ローテーションの式が得られる。
また、逆ローテーションに関しては、Φm(x)を法とする逆元x−1を計算する。a=0の場合、x−1=−Σi=0 p−1xip^(b−1)−1、a≠0の場合、x−1=Σi=0 p−1(−1)ixi2^(a−1)p^(b−1)−1となる。よって、逆ローテーションの式は、x−1v(x) mod Φm(x)に上式を代入することで得られる。
The equations for rotation and reverse rotation are proved as follows.
For the cyclotomic polynomial Φ m (x) and its degree n, Φ p ^ b (x) = Σ i = 0 p-1 x ip ^ (b-1) , Φ 2 ^ a · p ^ b (x) ) = Σ i = 0 p-1 (-1) i x i2 ^ (a-1) p ^ (b-1) . Therefore, the rotation equation can be obtained by calculating xv (x) mod Φ m (x) respectively.
For the inverse rotation, the inverse element x -1 modulo Φ m (x) is calculated. When a = 0, x -1 = −Σ i = 0 p-1 x ip ^ (b-1) -1 , and when a ≠ 0, x -1 = Σ i = 0 p-1 (-1) i x i2 ^ (a-1) p ^ (b-1) -1 . Therefore, the equation for inverse rotation can be obtained by substituting the above equation for x -1 v (x) mod Φ m (x).
[条件3]
2つの奇素数p,q(p<q)を、q≡1,2,p−1,p−2 mod pとなるように選ぶと、k=floor(q/p)とすると、
If the two odd prime numbers p and q (p <q) are selected so as to have q≡1,2, p-1, p-2 mod p, and k = floor (q / p), then
ここで、Φ2^ap^bq^c(x)とΦpq(x)の項数は等しい。このことは、次のように証明される。
奇数n>1に対して、Φ2n(x)=Φn(−x)である。また、互いに素な数s,tに対して、Φs^mt(x)=Φst(xs^(m−1))である。よって、2とpbqcとは互いに素であるため、Φ2^ap^bq^c(x)=Φ2p^bq^c(x2^(a−1))である。y=x2^(a−1)とおくと、Φ2^ap^bq^c(x)とΦ2p^bq^c(y)とは項数が等しい。次に、pbqcは奇数なので、Φ2p^bq^c(y)=Φp^bq^c(−y)である。z=−yとおくと、Φ2p^bq^c(y)とΦp^bq^c(z)とは項数が等しい。また、pとqcとは互いに素であるため、Φp^bq^c(z)=Φpq^c(zp^(b−1))である。w=zp^(b−1)とすると、Φp^bq^c(z)=Φpq^c(w)も項数は同じである。最後に、qとpとは互いに素であるため、Φpq^c(w)=Φpq(wq^(c−1))となり、項数は変化しない。
Here, the numbers of terms of Φ 2 ^ ap ^ bq ^ c (x) and Φ pq (x) are equal. This is proved as follows.
For an odd number n> 1, Φ 2n (x) = Φ n (−x). Further, for relatively prime numbers s and t, Φ s ^ mt (x) = Φ st (x s ^ (m-1) ). Therefore, since 2 and p b q c are relatively prime, Φ 2 ^ ap ^ bq ^ c (x) = Φ 2 p ^ bq ^ c (x 2 ^ (a-1) ). If y = x 2 ^ (a-1) , Φ 2 ^ ap ^ bq ^ c (x) and Φ 2p ^ bq ^ c (y) have the same number of terms. Next, since p b q c is an odd number, Φ 2p ^ bq ^ c (y) = Φ p ^ bq ^ c (−y). If z = −y, Φ 2p ^ bq ^ c (y) and Φ p ^ bq ^ c (z) have the same number of terms. Further, since p and q c are relatively prime, Φ p ^ bq ^ c (z) = Φ pq ^ c (z p ^ (b-1) ). If w = z p ^ (b-1) , the number of terms is the same for Φ p ^ bq ^ c (z) = Φ pq ^ c (w). Finally, since q and p are relatively prime, Φ pq ^ c (w) = Φ pq (w q ^ (c-1) ), and the number of terms does not change.
また、次の文献Aによって、Φpq(x)の項数が示されている。
文献A: L. Carlitz. The number of terms in the cyclotomic polynomial fpq(x). The American Mathematical Monthly, Vol. 73, pp. 979−981, 1966.
Further, the following document A indicates the number of terms of Φ pq (x).
Reference A: L. Carlitz. The number of terms in the cyclotomic polynomial fpq (x). The American Mathematics Monthly, Vol. 73, pp. 979-981, 1966.
したがって、奇素数p,qに対して、上述の項数tの関係式が導出される。
例えば、p=5,q=7に対して、m=70=2・5・7を考えると、k=1に対してt=17となる。また、t<10を満たすm,tの組として、m=2a・3b・5c,t=7がある。
Therefore, the relational expression of the above-mentioned term number t is derived for the odd prime numbers p and q.
For example, considering m = 70 = 2.5.7 for p = 5, q = 7, t = 17 for k = 1. Further, as a set of m and t satisfying t <10, there are m = 2 a , 3 b , 5 c , and t = 7.
条件3を満たすとき、円分多項式Φm(x)の係数は−1,0,1のいずれかになり、n次及び0次の係数は必ず1である。よって、係数ベクトルc=(c1,…,cn−1),ci∈{−1,0,1},Σi=1 n−1|ci|=t−2を用いて、Φm(x)=1+c1x+…+cn−1xn−1+xnと表すことができる。なお、ci≠0である項がt−2個だけ存在する。
このとき、ベクトルvのローテーションrot(v)及び逆ローテーションrot−1(v)は、0≦i≦n−1に対して、
At this time, the rotation rot (v) and the reverse rotation rot -1 (v) of the vector v are set with respect to 0 ≦ i ≦ n-1.
t−nomial格子の具体例として、t=5,7の場合を考える。
m=2a・5bのとき、イデアル格子は5−nomial格子となる。このとき、ローテーション操作は、a≠0の場合、rot(v)=(−vn−1,v0,…,vn/4−1+vn−1,…,vn/2−1−vn−1,…,v3n/4−1+vn−1,…,vn−2)となる。
また、m=2a・7b又はm=2a・3b・5cのとき、イデアル格子は7−nomial格子となる。m=2a・3b・5cのときは,円分多項式Φ2^a3^b5^c(x)=xn−x7n/8+x5n/8−xn/2+x3n/8−xn/8+1、又はxn+x7n/8−x5n/8−xn/2−x3n/8+xn/8+1である。このとき、ローテーション操作は、rot(v)=(−vn−1,v0,…,vn/8−1+vn−1,…,v3n/8−1−vn−1,…,vn/2−1+vn−1,…,v5n/8−1−vn−1,…,v7n/8−1+vn−1,…,vn−2)、又は(−vn−1,v0,…,vn/8−1−vn−1,…,v3n/8−1+vn−1,…,vn/2−1+vn−1,…,v5n/8−1+vn−1,…,v7n/8−1−vn−1,…,vn−2)となる。
As a specific example of the t-nomic lattice, consider the case of t = 5,7.
When m = 2 a and 5 b , the ideal lattice becomes a 5-nomic lattice. At this time, when a ≠ 0, the rotation operation is rot (v) = (−v n-1 , v0,…, v n / 4-1 + v n-1 ,…, v n / 2-1 −v. n-1 , ..., v 3n / 4-1 + v n-1 , ..., v n-2 ).
Further, when m = 2 a・ 7 b or m = 2 a・ 3 b・ 5 c , the ideal lattice becomes a 7-normal lattice. When m = 2 a・ 3 b・ 5 c , the cyclotomic polynomial Φ 2 ^ a3 ^ b5 ^ c (x) = x n −x 7n / 8 + x 5n / 8 −x n / 2 + x 3n / 8 − x n / 8 + 1, or x n + x 7n / 8- x 5n / 8- x n / 2- x 3n / 8 + x n / 8 + 1. At this time, the rotation operation is rot (v) = (-v n-1 , v 0 , ..., v n / 8-1 + v n-1 , ..., v 3n / 8-1 -v n-1 , ... , V n / 2-1 + v n-1 , ..., v 5n / 8-1 -v n-1 , ..., v 7n / 8-1 + v n-1 , ..., v n-2 ), or (- v n-1 , v 0 , ..., v n / 8-1 -v n-1 , ..., v 3n / 8-1 + v n-1 , ..., v n / 2-1 + v n-1 , ..., v 5n / 8-1 + v n-1 , ..., v 7n / 8-1 −v n-1 , ..., v n-2 ).
図6は、本実施形態における縮約関数ReduceRotWiseのアルゴリズムを示す図である。
縮約関数ReduceRot(図3)及びReduceRot2(図4)では、ベクトルvを再利用のために、前処理としてベクトルvの複製(v’及びv’’)が必要となっていた。Gauss Sieveアルゴリズムでは、最短ベクトルが見付かるまで、これらの縮約関数が繰り返し呼び出されるため、多数の複製処理により計算時間が増大していた。
これに対して、縮約関数ReduceRotWiseでは、ベクトルvの複製処理を、ローテーション又は逆ローテーションにより代替することで計算時間が削減される。具体的には、従来(非特許文献3)の手法と比較して、実験的に約1.5倍の高速化が実現された。
FIG. 6 is a diagram showing an algorithm of the reduction function ReduceRotWise in the present embodiment.
In the contraction functions ReduceRot (FIG. 3) and ReduceRot2 (FIG. 4), in order to reuse the vector v, duplication of the vector v (v'and v'') was required as preprocessing. In the Gauss Sieve algorithm, these reduction functions are repeatedly called until the shortest vector is found, so that the calculation time is increased by a large number of duplication processes.
On the other hand, in the reduction function ReduceRotWise, the calculation time is reduced by substituting the duplication process of the vector v by rotation or inverse rotation. Specifically, a speedup of about 1.5 times was experimentally realized as compared with the conventional method (Non-Patent Document 3).
イデアル格子L(B)に属する2つの初期ベクトルu,vに加えて、縮約の試行回数、すなわちローテーション数kが入力として与えられる。
なお、ローテーション数kは、m及びtに応じて適宜定められる。
具体的には、ローテーション操作によってベクトルのノルムが確率的に大きくなることが知られており、項数tが大きくなるほど、その確率が大きくなる。そこで、例えば、t=2のときk=m/2、t=3のときk=13、t=5のときk=6、t=7のときk=3のように、実験等により適切な回数が設定される。
In addition to the two initial vectors u and v belonging to the ideal lattice L (B), the number of trials for contraction, that is, the number of rotations k, is given as an input.
The number of rotations k is appropriately determined according to m and t.
Specifically, it is known that the norm of a vector increases stochastically by a rotation operation, and the larger the number of terms t, the greater the probability. Therefore, for example, k = m / 2 when t = 2, k = 13 when t = 3, k = 6 when t = 5, and k = 3 when t = 7, which are more appropriate for experiments and the like. The number of times is set.
ステップ1〜3において、まず、ベクトルu及びベクトルvに基づく縮約が試行され、ベクトルuが更新される。続いて、更新後のベクトルu、及びローテーション操作によって更新されたベクトルvに基づく縮約がk回試行され、ベクトルuが更新される。
In
ここまでの処理により更新されたベクトルvを初期化するためには、ローテーション又は逆ローテーションのいずれか、必要な回数の少ない方が用いられてよいが、ローテーションの周期分だけ繰り返される必要がある。
ここで、円分多項式の定義から得られる帰納的関係式Φm(x)=(xm−1)/(Πd|m,d≠mΦd(x))より、xm=Φm(x)Πd|m,d≠mΦd(x)+1である。よって、xm≡1 mod Φm(x)となり、rotm(v)=xmv(x)≡v(x) mod Φm(x)=vである。
したがって、円分多項式Φm(x)に対して、ローテーションの周期はmである。なお、mが偶数の場合、周期mの代わりにm/2を使用できる。
In order to initialize the vector v updated by the processing up to this point, either rotation or reverse rotation, whichever is required less frequently, may be used, but it needs to be repeated for the number of rotation cycles.
Here, from the inductive relational expression Φ m (x) = (x m -1) / (Π d | m, d ≠ m Φ d (x)) obtained from the definition of the cyclotomic polynomial, x m = Φ m (X) Π d | m, d ≠ m Φ d (x) +1. Therefore, x m ≡ 1 mod Φ m (x), and rot m (v) = x m v (x) ≡ v (x) mod Φ m (x) = v.
Therefore, for the cyclotomic polynomial Φ m (x), the rotation period is m. When m is an even number, m / 2 can be used instead of the period m.
ステップ4において、初期化部13は、ローテーション数kと、周期までの残り回数m−kとを比較する。k≧m−kの場合、ステップ5が実行され、k<m−kの場合、ステップ7〜11が実行される。
In
ステップ5において、初期化部13は、順方向のローテーションをさらにm−k回繰り返すことにより、ベクトルvを初期化する。
ステップ7において、初期化部13は、k回のローテーションによって更新されたベクトルvを、同じ回数だけ逆ローテーションすることで初期化する。
In
In
ステップ8〜10において、求解部12は、逆方向の逆ローテーションによってもベクトルvを更新しつつ縮約を試みる。
これにより、求解部12は、ローテーション又は逆ローテーションによってベクトルvのノルムが増大するのを抑制し、縮約の成功率を向上させている。
ステップS11において、初期化部13は、k回の逆ローテーションによって更新されたベクトルvを、同じ回数だけローテーションすることで初期化する。
In
As a result, the
In step S11, the
ステップ12において、求解部12は、k+1回又は2k+1回の縮約の試行により短くなったベクトルuを出力する。
In
ここで、t−nomial格子のローテーション及び逆ローテーションの操作は、それぞれO(t)の計算量で実行される。このことは、次のように証明される。
前述のローテーション及び逆ローテーションの式から、更新されるベクトルの位置はt箇所あることがわかる。このうち、ベクトルの先頭と末尾に対しては、削除及び挿入の操作がそれぞれ計算量O(1)で行われる。また、これ以外のt−2箇所では、差又は和の計算がそれぞれ計算量O(1)で行われる。よって、ローテーション及び逆ローテーションの計算量は、それぞれ合計でO(t)である。
Here, the operations of the rotation and the reverse rotation of the t-nomic lattice are executed with the amount of calculation of O (t), respectively. This is proved as follows.
From the above rotation and reverse rotation equations, it can be seen that the position of the vector to be updated is t. Of these, for the beginning and end of the vector, the deletion and insertion operations are performed with the calculation amount O (1), respectively. Further, at the other t-2 points, the difference or the sum is calculated with the calculation amount O (1), respectively. Therefore, the computational complexity of rotation and reverse rotation is O (t) in total.
関数ReduceRotWiseは、ベクトルrotk(v)をvに戻す処理にO(min(k,m−k)t)の計算量が必要となる。前述のように、min(k,m−k)の値は十分に小さくなることが言えるため、実用上は、ベクトルの複製に掛かる計算量O(n)よりO(min(k,m−k)t)の方が小さく、高速化される。 The function ReduceRotWise requires a computational complexity of O (min (k, m−k) t) to return the vector rot k (v) to v. As described above, since it can be said that the value of min (k, m-k) is sufficiently small, in practice, O (min (k, m-k) is larger than the computational complexity O (n) required for vector duplication. ) T) is smaller and faster.
本実施形態によれば、安全性評価装置1は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、条件1〜3のいずれかを満たす奇素数及び円分多項式の添字mを選択し、円分多項式の項数tとの関係から導出されるベクトルvのローテーション操作を用いて、所定回のベクトル生成及び縮約を繰り返す。
これにより、安全性評価装置1は、これまではSVPの求解を高速化できる次元が限定的であったイデアル格子に対して、より一般的な次元でも高速化を可能とした。例えば、これまでイデアル格子の適用がされていなかったn=80次元に対して、Gauss Sieveと比較して約10倍の高速化が達成された。
この結果、安全性評価装置1は、NTRUといったイデアル格子を用いた次世代公開鍵暗号に対して、より厳密な安全性評価を行うことができ、次元等の適切な設計に寄与できる。
According to the present embodiment, the
As a result, the
As a result, the
また、安全性評価装置1は、縮約の処理に伴って更新されるベクトルvを、ローテーション又は逆ローテーションの操作を周期となるまで繰り返すことにより初期化する。
これにより、安全性評価装置1は、ベクトルvの複製に伴う処理時間を削減し、SVPの求解アルゴリズムを、さらに高速化できた。例えば、n=64次元では、Gauss Sieveによる求解時間7432秒、Ideal Gauss Sieveによる求解時間177秒に対して、本実施形態のアルゴリズム(図6)では122秒であった。また、n=80次元では、Gauss Sieveによる求解時間904860秒、Ideal Gauss Sieveによる求解時間98581秒に対して、本実施形態のアルゴリズム(図6)では87473秒であった。
この結果、安全性評価装置1は、次世代公開鍵暗号に対して、より厳密な安全性評価を行うことができ、次元等の適切な設計に寄与できる。
Further, the
As a result, the
As a result, the
安全性評価装置1は、ベクトルの初期化に掛かるローテーションの回数と、逆ローテーションの回数とを比較し、少ない回数の操作によりベクトルvを初期化してもよい。
これにより、安全性評価装置1は、より適切な手順によりSVPの求解アルゴリズムを実行し、処理を高速化できる。
The
As a result, the
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. Moreover, the effects described in the above-described embodiments are merely a list of the most preferable effects arising from the present invention, and the effects according to the present invention are not limited to those described in the embodiments.
安全性評価装置1による安全性評価方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
The safety evaluation method by the
1 安全性評価装置
10 制御部
11 選択部
12 求解部
13 初期化部
20 記憶部
1
Claims (5)
m=pb(b≧1)及び
n=pb−1(p−1)、
又は
m=2a・pb(a≧1,b≧1)及び
n=2a−1・pb−1(p−1)
を満たす奇素数p、及び円分多項式の添字mを選択する選択部と、
前記円分多項式の項数t=pの関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解部と、を備える安全性評価装置。 For the dimension n of the ideal lattice in the lattice-based cryptography that is the object of security evaluation
m = p b (b ≧ 1) and n = p b-1 (p-1),
Or m = 2 a · p b (a ≧ 1, b ≧ 1) and n = 2 a-1 · p b-1 (p-1)
A selection unit that selects the odd prime number p that satisfies the condition and the subscript m of the cyclotomic polynomial,
A safety evaluation device including a solution unit that repeats vector generation and contraction a predetermined number of times by using vector rotation derived from the relationship of the number of terms t = p of the cyclotomic polynomial.
m=pb・qc(b≧1,c≧1)及び
n=pb−1(p−1)・qc−1(q−1)、
又は
m=2a・pb・qc(a≧1,b≧1,c≧1)及び
n=2a−1・pb−1(p−1)・qc−1(q−1)
を満たす2つの奇素数p及びq、並びに円分多項式の添字mを選択する選択部と、
前記円分多項式の項数tが整数kを用いて、
t=2k(p−1)+1及びq=pk+1、
t=2k(p−1)+2p−3及びq=p(k+1)−1、
t=(1/2)k(p2−1)+p及びq=pk+2、
t=(1/2)(k+1)(p2−1)−p及びq=p(k+1)−2
のいずれかの関係であることから導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解部と、を備える安全性評価装置。 For the dimension n of the ideal lattice in the lattice-based cryptography that is the object of security evaluation
m = p b · q c (b ≧ 1, c ≧ 1) and n = p b-1 (p-1) · q c-1 (q-1),
Or m = 2 a · p b · q c (a ≧ 1, b ≧ 1, c ≧ 1) and n = 2 a-1 · p b-1 (p-1) · q c-1 (q-1) )
A selection unit that selects two odd prime numbers p and q that satisfy the conditions, and a subscript m of a cyclotomic polynomial,
Using an integer k for the number of terms t of the cyclotomic polynomial,
t = 2k (p-1) +1 and q = pk + 1,
t = 2k (p-1) + 2p-3 and q = p (k + 1) -1,
t = (1/2) k (p 2 -1) + p and q = pk + 2,
t = (1/2) (k + 1) (p 2 -1) -p and q = p (k + 1) -2
A safety evaluation device including a solution unit that repeats vector generation and contraction a predetermined number of times using vector rotation derived from any of the above relationships.
m=pb(b≧1)及び
n=pb−1(p−1)、
又は
m=2a・pb(a≧1,b≧1)及び
n=2a−1・pb−1(p−1)
を満たす奇素数p、及び円分多項式の添字mを選択する選択ステップと、
前記円分多項式の項数t=pの関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解ステップと、をコンピュータが実行する安全性評価方法。 For the dimension n of the ideal lattice in the lattice-based cryptography that is the object of security evaluation
m = p b (b ≧ 1) and n = p b-1 (p-1),
Or m = 2 a · p b (a ≧ 1, b ≧ 1) and n = 2 a-1 · p b-1 (p-1)
A selection step to select the odd prime number p that satisfies the condition and the subscript m of the cyclotomic polynomial,
A safety evaluation method in which a computer executes a solution step in which vector generation and contraction are repeated a predetermined number of times using vector rotation derived from the relationship of the number of terms t = p of the cyclotomic polynomial.
m=pb・qc(b≧1,c≧1)及び
n=pb−1(p−1)・qc−1(q−1)、
又は
m=2a・pb・qc(a≧1,b≧1,c≧1)及び
n=2a−1・pb−1(p−1)・qc−1(q−1)
を満たす2つの奇素数p及びq、並びに円分多項式の添字mを選択する選択ステップと、
前記円分多項式の項数tが整数kを用いて、
t=2k(p−1)+1及びq=pk+1、
t=2k(p−1)+2p−3及びq=p(k+1)−1、
t=(1/2)k(p2−1)+p及びq=pk+2、
t=(1/2)(k+1)(p2−1)−p及びq=p(k+1)−2
のいずれかの関係であることから導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解ステップと、をコンピュータが実行する安全性評価方法。 For the dimension n of the ideal lattice in the lattice-based cryptography that is the object of security evaluation
m = p b · q c (b ≧ 1, c ≧ 1) and n = p b-1 (p-1) · q c-1 (q-1),
Or m = 2 a · p b · q c (a ≧ 1, b ≧ 1, c ≧ 1) and n = 2 a-1 · p b-1 (p-1) · q c-1 (q-1) )
A selection step to select two odd prime numbers p and q that satisfy, and a cyclotomic polynomial subscript m,
Using an integer k for the number of terms t of the cyclotomic polynomial,
t = 2k (p-1) +1 and q = pk + 1,
t = 2k (p-1) + 2p-3 and q = p (k + 1) -1,
t = (1/2) k (p 2 -1) + p and q = pk + 2,
t = (1/2) (k + 1) (p 2 -1) -p and q = p (k + 1) -2
A safety evaluation method in which a computer executes a solution step in which a predetermined number of vector generations and contractions are repeated using vector rotation derived from any of the above relationships.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019209072A JP7146722B2 (en) | 2019-11-19 | 2019-11-19 | SAFETY EVALUATION DEVICE, SAFETY EVALUATION METHOD AND SAFETY EVALUATION PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019209072A JP7146722B2 (en) | 2019-11-19 | 2019-11-19 | SAFETY EVALUATION DEVICE, SAFETY EVALUATION METHOD AND SAFETY EVALUATION PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021081591A true JP2021081591A (en) | 2021-05-27 |
JP7146722B2 JP7146722B2 (en) | 2022-10-04 |
Family
ID=75965039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019209072A Active JP7146722B2 (en) | 2019-11-19 | 2019-11-19 | SAFETY EVALUATION DEVICE, SAFETY EVALUATION METHOD AND SAFETY EVALUATION PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7146722B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7155534B2 (en) | 2018-02-16 | 2022-10-19 | 富士電機株式会社 | semiconductor equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010049215A (en) * | 2008-08-25 | 2010-03-04 | Toshiba Corp | Parameter generating device, encryption processing system, method, and program |
JP2015001555A (en) * | 2013-06-13 | 2015-01-05 | Kddi株式会社 | SHORTEST VECTOR PROBLEM SOLVING APPARATUS AND SOLVING METHOD USING PARALLEL GaussSieve ALGORITHM IN PUBLIC-KEY ENCRYPTION SCHEME |
-
2019
- 2019-11-19 JP JP2019209072A patent/JP7146722B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010049215A (en) * | 2008-08-25 | 2010-03-04 | Toshiba Corp | Parameter generating device, encryption processing system, method, and program |
JP2015001555A (en) * | 2013-06-13 | 2015-01-05 | Kddi株式会社 | SHORTEST VECTOR PROBLEM SOLVING APPARATUS AND SOLVING METHOD USING PARALLEL GaussSieve ALGORITHM IN PUBLIC-KEY ENCRYPTION SCHEME |
Non-Patent Citations (1)
Title |
---|
石黒 司: "並列Gauss Sieveアルゴリズムを用いた128次元イデアル格子の最短ベクトル問題の求解", CSS2013コンピュータセキュリティシンポジウム2013論文集, vol. 第2013巻, 第4号, JPN6022037043, 14 October 2013 (2013-10-14), JP, pages 62 - 69, ISSN: 0004867159 * |
Also Published As
Publication number | Publication date |
---|---|
JP7146722B2 (en) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Smart et al. | Fully homomorphic SIMD operations | |
Doröz et al. | Homomorphic AES evaluation using the modified LTV scheme | |
JP4334582B2 (en) | Secret sharing apparatus, method and program | |
JP4575283B2 (en) | ENCRYPTION DEVICE, DECRYPTION DEVICE, PROGRAM, AND METHOD | |
EP2962185B1 (en) | Random number generator and stream cipher | |
JP4197710B2 (en) | ENCRYPTION DEVICE, DECRYPTION DEVICE, PROGRAM, AND METHOD | |
JP2016035554A (en) | Compact fuzzy private matching using full homomorphic encryption scheme | |
Dartois et al. | SQISignHD: new dimensions in cryptography | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
Lauter | Postquantum opportunities: lattices, homomorphic encryption, and supersingular isogeny graphs | |
Aguilar Melchor et al. | A comparison of the homomorphic encryption libraries HElib, SEAL and FV-NFLlib | |
JP2009175197A (en) | Encryption device, decryption device, key generation device and program | |
Dey et al. | Progress in multivariate cryptography: Systematic review, challenges, and research directions | |
Ramos-Calderer et al. | Quantum search for scaled hash function preimages | |
JP2009116183A (en) | Encryption device, decryption device, key generating device, and program | |
US11599681B2 (en) | Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program | |
JP2021081591A (en) | Safety evaluation device, safety evaluation method, and safety evaluation program | |
JP2021124679A (en) | Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program | |
JP2007187908A (en) | Modular exponentiation calculation device and method having tolerance to side-channel attack | |
JP6885460B2 (en) | Reverse image sampling device, reverse image sampling method and reverse image sampling program | |
JP2021081592A (en) | Safety evaluation device, safety evaluation method, and safety evaluation program | |
Mono et al. | Implementing and Optimizing Matrix Triples with Homomorphic Encryption | |
JP5210712B2 (en) | Compressed RSA coefficient calculation method | |
JP2021083039A (en) | Secret arithmetic unit, secret arithmetic method, and secret arithmetic program | |
JP2008286964A (en) | Encryption apparatus, decryption apparatus, encryption method, decryption method and program for stream encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211130 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220831 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220921 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7146722 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |