JP7146722B2 - 安全性評価装置、安全性評価方法及び安全性評価プログラム - Google Patents

安全性評価装置、安全性評価方法及び安全性評価プログラム Download PDF

Info

Publication number
JP7146722B2
JP7146722B2 JP2019209072A JP2019209072A JP7146722B2 JP 7146722 B2 JP7146722 B2 JP 7146722B2 JP 2019209072 A JP2019209072 A JP 2019209072A JP 2019209072 A JP2019209072 A JP 2019209072A JP 7146722 B2 JP7146722 B2 JP 7146722B2
Authority
JP
Japan
Prior art keywords
vector
lattice
safety evaluation
security
rotation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019209072A
Other languages
English (en)
Other versions
JP2021081591A (ja
Inventor
真太郎 成定
晋作 清本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2019209072A priority Critical patent/JP7146722B2/ja
Publication of JP2021081591A publication Critical patent/JP2021081591A/ja
Application granted granted Critical
Publication of JP7146722B2 publication Critical patent/JP7146722B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、格子暗号の安全性を評価するための装置、方法及びプログラムに関する。
従来、格子暗号の安全性を評価するにあたって、最短ベクトル問題(SVP:Shortest Vector Problem)の求解時間が指標として用いられている。
非特許文献1では、SVPの高速求解アルゴリズムであるGauss Sieveアルゴリズムが提案された。非特許文献2では、イデアル格子という特殊な格子に関して、ローテーション操作によってベクトルの生成が高速に実現できる条件として、ベクトルの次元が2の冪乗となる場合を示し、円分多項式が既約2項式で定義されるAnti-cyclic格子として提案された。さらに、特許文献1、2及び非特許文献3において、ベクトルの次元が2の冪乗と3の冪乗との積である場合にアルゴリズムを高速化できる、既約3項式で定義されるTrinomial格子が提案された。
イデアル格子を用いた格子暗号の1つとして、次世代公開鍵暗号の候補であるNTRU暗号(非特許文献4参照)がある。より高速なアルゴリズムを用いて暗号に対する攻撃者の計算限界を評価することで、暗号の安全性評価が実施される。これらのアルゴリズムが高速であるほど、暗号の安全性に対するより詳細な評価が可能となる。
特開2015-1555号公報 特開2014-186097号公報
D. Micciancio and P. Voulgaris. Faster exponential time algorithms for the shortest vector problem. In Proceedings of the Twenty-first Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’10, pp. 1468-1480. Society for Industrial and Applied Mathematics, 2010. M. Schneider. Sieving for shortest vectors in ideal lattices. In Progress in Cryptology - AFRICACRYPT 2013, pp. 375-391. Springer, 2013. T. Ishiguro, S. Kiyomoto, Y. Miyake, and T. Takagi. Parallel gauss sieve algorithm: Solving the svp challenge over a 128-dimensional ideal lattice. In Public-Key Cryptography - PKC 2014, pp. 411-428. Springer, 2014. J. Hoffstein, J. Pipher, and J. Silverman. NTRU: A ring-based public key cryptosystem. In Algorithmic Number Theory, pp. 267-288. Springer, 1998.
しかしながら、非特許文献2のアルゴリズムがローテーション操作によって高速化できるベクトルの次元nは、円分多項式が既約2項式又は既約3項式で定義されるn=2又はn=2の場合に限られていた。
本発明は、これまではSVPの求解を高速化できる次元が限定的であったイデアル格子に対して、より一般的な次元でも高速化が可能な安全性評価装置、安全性評価方法及び安全性評価プログラムを提供することを目的とする。
本発明に係る安全性評価装置は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、m=p(b≧1)及びn=pb-1(p-1)、又はm=2・p(a≧1,b≧1)及びn=2a-1・pb-1(p-1)を満たす奇素数p、及び円分多項式の添字mを選択する選択部と、前記円分多項式の項数t=pの関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解部と、を備える。
本発明に係る安全性評価装置は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、m=p・q(b≧1,c≧1)及びn=pb-1(p-1)・qc-1(q-1)、又はm=2・p・q(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(p-1)+p及びq=pk+2、又はt=(1/2)(k+1)(p-1)-p及びq=p(k+1)-2のいずれかの関係であることから導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解部と、を備える。
本発明に係る安全性評価方法は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、m=p(b≧1)及びn=pb-1(p-1)、又はm=2・p(a≧1,b≧1)及びn=2a-1・pb-1(p-1)を満たす奇素数p、及び円分多項式の添字mを選択する選択ステップと、前記円分多項式の項数t=pの関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解ステップと、をコンピュータが実行する。
本発明に係る安全性評価方法は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、m=p・q(b≧1,c≧1)及びn=pb-1(p-1)・qc-1(q-1)、又はm=2・p・q(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(p-1)+p及びq=pk+2、又はt=(1/2)(k+1)(p-1)-p及びq=p(k+1)-2のいずれかの関係であることから導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解ステップと、をコンピュータが実行する。
本発明に係る安全性評価プログラムは、前記安全性評価装置としてコンピュータを機能させるためのものである。
本発明によれば、これまではSVPの求解を高速化できる次元が限定的であったイデアル格子に対して、より一般的な次元でも高速化が可能となった。
求解アルゴリズムを示す図である。 縮約関数Reduceのアルゴリズムを示す図である。 縮約関数ReduceRotのアルゴリズムを示す図である。 縮約関数ReduceRot2のアルゴリズムを示す図である。 安全性評価装置の機能構成を示すブロック図である。 縮約関数ReduceRotWiseのアルゴリズムを示す図である。
以下、本発明の実施形態の一例について説明する。
本実施形態における安全性評価方法では、イデアル格子を用いた格子暗号の安全性を評価するために、SVPを高速に求解するためのイデアル格子の次元に応じた条件を選択し、条件毎に定義されたローテーション操作により、縮約と呼ばれる処理を高速化する。
[定義]
m次元のベクトルv=(v,…,vm-1)のユークリッドノルムを∥v∥=√(Σi=0 m-1 )とする。ベクトルu=(u,…,um-1)とv=(v,…,vm-1)との内積を<u,v>=Σi=0 m-1と表す。
n個の一次独立なm次元列ベクトルからなる行列を、B=(b,…,bn-1)∈Rm×nと書く。Bによって生成される格子とは、基底ベクトルb,…,bn-1の整数係数線形結合全体の集合L(B)=L(b,…,bn-1)={Σi=0 n-1|x∈Z}のことである。Bを格子Lの基底という。本実施形態では、n=mかつb∈Zとし、nを格子の次元と呼ぶ。格子L上の非ゼロ最短ベクトルのユークリッドノルムをλ(L)と書く。
最短ベクトル問題(SVP)とは、格子L(B)が与えられたとき、∥v∥=λ(L(B))となるベクトルv∈L(B)を求めることである。
イデアルIとは、環R=Z[x]/(g(x))の部分加法群のことをいう。ただし、g(x)は、Z上のn次モニック多項式である。v(x)=Σi=0 n-1∈Iに対して、その係数ベクトルv=(v,…,vn-1)∈Zをv(x)に対応させる。このとき、集合{v=(v,…,vn-1)∈Z|v(x)=Σi=0 n-1∈I}は格子となる。このような格子を、イデアル格子と呼ぶ。
イデアル格子は、ローテーション操作に対して合同である。すなわち、格子ベクトルv∈Lの多項式表現をv(x)としたとき、rot(v)=xv(x) mod g(x)もまたL(B)のベクトルとなる。演算rotをベクトルのローテーションという。i回のローテーションの繰り返しをrot(v)=rot(…rot(rot(v))…)と書く。ただし、rot(v)=vである。
n次モニック多項式g(x)には、R-LWE(Ring Learning with Error)問題等で用いられている円分多項式を使用する。m番目の円分多項式Φ(x)は次式で定義される。
Φ(x)=Π1≦k≦m,gcd(k,m)=1(x-e2πik/m
ただし、gcd(i,j)は、自然数i,jの最大公約数を表す。例えば、Φ(x)=x+1、Φ12(x)=x-x+1等となる。
[Gauss Sieveアルゴリズム]
格子L(B)から最短ベクトルを出力するために、Gauss Sieveアルゴリズムでは、格子L(B)に属する2つのベクトルu,vの差が小さくなる場合に、片方のベクトルをベクトルの差に置き換える処理(縮約という)が、ノルムが減少しなくなるまで再帰的に繰り返される。
これにより、格子L(B)上の2つのベクトルu,vが∥u±v∥≧max(∥u∥,∥v∥)を満たし、Gauss-reducedな状態となる。
図1は、従来(非特許文献1)の求解アルゴリズム(Gauss Sieve)を示す図である。
図2は、従来(非特許文献1)の求解アルゴリズムで実行される縮約関数Reduceのアルゴリズムを示す図である。
縮約関数Reduceでは、格子L(B)に属する2つのベクトルu,vを入力として、∥u-v∥と∥u∥を比較し、∥u-v∥が小さい場合に、ベクトルuが縮約される。
なお、2つのベクトルが線形従属だった場合、必ず原点ベクトルが出力される。これを衝突という。
集合A⊂L(B)に対して、全ベクトルの組み合わせ∀u,v∈A,u≠vがGauss-reducedであるとき、集合AはPairwise-reducedであるという。
Gauss Sieveアルゴリズムでは、Pairwise-reducedとなる格子ベクトルの集合Lが徐々に拡張されていく。まず、新しい格子ベクトルvがランダムサンプリングによって生成される。次に、vとLの全ての元との組み合わせがGauss-reducedとなるように縮約が行われ、vのノルムが減少する。このようにして縮約されたvがLに追加される。このとき、L∪{v}もPairwise-reducedである。
このような集合Lを拡張する動作を、衝突が一定回数発生するまで実施した後、L内で最も短いベクトルを格子L(B)が最短ベクトルとして出力される。
さらに、イデアル格子の性質を利用した非特許文献2及び非特許文献3の手法では、モニック多項式g(x)としての円分多項式が既約2項式となるAnti-cyclic格子、及び既約3項式となるTrinomial格子を定義し、定義式から導かれるローテーションの操作を行うことにより、縮約を試行するためのベクトルvの生成が繰り返される。
この結果、Gauss SieveアルゴリズムによるSVPの求解が高速化された。
図3は、従来(非特許文献2)の求解アルゴリズム(Ideal Gauss Sieve)で実行される縮約関数ReduceRotのアルゴリズムを示す図である。
縮約関数ReduceRotでは、ベクトルvの複製v’に対してローテーションを行うことにより(ステップ3)、縮約を試行するためのベクトルが繰り返し生成される。これにより、短いベクトルを生成する確率が向上した。
図4は、従来(非特許文献3)の求解アルゴリズムで実行される縮約関数ReduceRot2のアルゴリズムを示す図である。
縮約関数ReduceRot2では、ReduceRotに対して、逆ローテーションによるベクトルの生成を同時に行う、アルゴリズムを並列化する、計算時間が最も短くなるローテーション回数kを求め縮約の試行をk回とする、という改良が施された。
本実施形態では、さらに、Anti-cyclic格子及びTrinomial格子の概念を一般化したt-nomial格子を定義し、安全性評価装置1は、イデアル格子の次元nと、円分多項式の添字m及び項数tとを対応付けた条件に基づくローテーション及び逆ローテーションにより、縮約の処理を実行する。
[機能構成]
図5は、本実施形態における安全性評価装置1の機能構成を示すブロック図である。
安全性評価装置1は、サーバ又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
制御部10は、安全性評価装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
記憶部20は、ハードウェア群を安全性評価装置1として機能させるための各種プログラム(安全性評価プログラム等)、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスク(HDD)等であってよい。
制御部10は、選択部11と、求解部12と、初期化部13とを備える。制御部10は、これらの機能部により、SVPを解くための縮約の処理を実行する。
このとき、制御部10は、処理時間を計測し、格子暗号の安全性の指標として出力する。
t-nomial格子とは、項数がtである円分多項式から生成されるイデアル格子である。ただし、t≧2とする。t-nomial格子を用いることで、一般的な次元nに対して、Gauss Sieveアルゴリズムの高速化が可能となる。
選択部11は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、後述の条件1~3のいずれかを満たす円分多項式の添字m及び項数tを選択する。
なお、これらの条件式は、項数が2であるAnti-cyclic格子の場合と、項数が3であるTrinomial格子の場合とを包含している。
求解部12は、次数nと、円分多項式の添字m及び項数tとの関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す。
初期化部13は、ローテーション又は逆ローテーションの操作を、ローテーションの周期となるまで繰り返すことにより、ベクトルvを初期化する。
このとき、初期化部13は、初期化に掛かるローテーションの回数と、逆ローテーションの回数とを比較し、少ない回数の操作によりベクトルvを初期化してよい。
[条件1]
Figure 0007146722000001
なお、この条件は、モニック多項式が円分多項式Φ(x)=x+1となるイデアル格子、すなわちAnti-cyclic格子を示している。
条件1を満たすとき、ベクトルv=(v,…,vn-1)のローテーションrot(v)及び逆ローテーションrot-1(v)は、0≦i≦n-1に対して、
Figure 0007146722000002
である。すなわち、ベクトルvの先頭及び末尾のみに、挿入又は削除の処理が行われる。
[条件2]
奇素数pに対して、
Figure 0007146722000003
ここで、奇素数pに対して、m=2・p(a≧0,b≧1)のとき、t=pとなることは、円分多項式Φ(x)=Σi=0 p-1(-1)i2^(a-1)p^(b-1)であることから明らかである。例えば、m=36=2・3のとき、t=3となり、m=121=2・11のとき、t=11となる。
なお、p=3の場合は、モニック多項式が円分多項式Φ(x)={x+xn/2+1(m=3),x-xn/2+1(m=2)となるイデアル格子、すなわちTrinomial格子を示している。
また、nの条件式は、次のように証明される。
x,yを互い素な自然数としたとき、φ(xy)=φ(x)φ(y)が成り立つ。なお、φはオイラーのトーシェント関数であり、m番目の円分多項式の次数nについて、n=φ(m)であることが知られている。また、素数p及び自然数kに対して、φ(p)=pk-1(p-1)である。以上より、a≧1に対して、φ(2)=φ(2)φ(p)=2a-1・pb-1(p-1)である。また、a=0に対しては、m=pより、φ(p)=pb-1(p-1)である。
条件2を満たすとき、ベクトルvのローテーション操作rot(v)及び逆ローテーション操作rot-1(v)は、0≦i≦n-1,1≦l≦t-2に対して、
Figure 0007146722000004
である。すなわち、ベクトルvの先頭及び末尾に挿入又は削除の処理が行われ、t-2の箇所において差又は和の演算が行われる。なお、上式の演算子「-/+」は、a=0のとき-、a≠0のとき+となる。
ローテーション及び逆ローテーションの式は、次のように証明される。
円分多項式Φ(x)とその次数nに対して、Φp^b(x)=Σi=0 p-1ip^(b-1),Φ2^a・p^b(x)=Σi=0 p-1(-1)i2^(a-1)p^(b-1)である。よって、それぞれxv(x) mod Φ(x)を計算することにより、ローテーションの式が得られる。
また、逆ローテーションに関しては、Φ(x)を法とする逆元x-1を計算する。a=0の場合、x-1=-Σi=0 p-1ip^(b-1)-1、a≠0の場合、x-1=Σi=0 p-1(-1)i2^(a-1)p^(b-1)-1となる。よって、逆ローテーションの式は、x-1v(x) mod Φ(x)に上式を代入することで得られる。
[条件3]
2つの奇素数p,q(p<q)を、q≡1,2,p-1,p-2 mod pとなるように選ぶと、k=floor(q/p)とすると、
Figure 0007146722000005
ここで、Φ2^ap^bq^c(x)とΦpq(x)の項数は等しい。このことは、次のように証明される。
奇数n>1に対して、Φ2n(x)=Φ(-x)である。また、互いに素な数s,tに対して、Φs^mt(x)=Φst(x(m-1))である。よって、2とpとは互いに素であるため、Φ2^ap^bq^c(x)=Φ2p^bq^c(x2^(a-1))である。y=x2^(a-1)とおくと、Φ2^ap^bq^c(x)とΦ2p^bq^c(y)とは項数が等しい。次に、pは奇数なので、Φ2p^bq^c(y)=Φp^bq^c(-y)である。z=-yとおくと、Φ2p^bq^c(y)とΦp^bq^c(z)とは項数が等しい。また、pとqとは互いに素であるため、Φp^bq^c(z)=Φpq^c(z(b-1))である。w=z(b-1)とすると、Φp^bq^c(z)=Φpq^c(w)も項数は同じである。最後に、qとpとは互いに素であるため、Φpq^c(w)=Φpq(wq^(c-1))となり、項数は変化しない。
また、次の文献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.
したがって、奇素数p,qに対して、上述の項数tの関係式が導出される。
例えば、p=5,q=7に対して、m=70=2・5・7を考えると、k=1に対してt=17となる。また、t<10を満たすm,tの組として、m=2・3・5,t=7がある。
条件3を満たすとき、円分多項式Φ(x)の係数は-1,0,1のいずれかになり、n次及び0次の係数は必ず1である。よって、係数ベクトルc=(c,…,cn-1),c∈{-1,0,1},Σi=1 n-1|c|=t-2を用いて、Φ(x)=1+cx+…+cn-1n-1+xと表すことができる。なお、c≠0である項がt-2個だけ存在する。
このとき、ベクトルvのローテーションrot(v)及び逆ローテーションrot-1(v)は、0≦i≦n-1に対して、
Figure 0007146722000006
である。すなわち、ベクトルvの先頭及び末尾に挿入又は削除の処理が行われ、t-2の箇所において差又は和の演算が行われる。
t-nomial格子の具体例として、t=5,7の場合を考える。
m=2・5のとき、イデアル格子は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=2・7又はm=2・3・5のとき、イデアル格子は7-nomial格子となる。m=2・3・5のときは,円分多項式Φ2^a3^b5^c(x)=x-x7n/8+x5n/8-xn/2+x3n/8-xn/8+1、又はx+x7n/8-x5n/8-xn/2-x3n/8+xn/8+1である。このとき、ローテーション操作は、rot(v)=(-vn-1,v,…,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,v,…,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)となる。
図6は、本実施形態における縮約関数ReduceRotWiseのアルゴリズムを示す図である。
縮約関数ReduceRot(図3)及びReduceRot2(図4)では、ベクトルvを再利用のために、前処理としてベクトルvの複製(v’及びv’’)が必要となっていた。Gauss Sieveアルゴリズムでは、最短ベクトルが見付かるまで、これらの縮約関数が繰り返し呼び出されるため、多数の複製処理により計算時間が増大していた。
これに対して、縮約関数ReduceRotWiseでは、ベクトルvの複製処理を、ローテーション又は逆ローテーションにより代替することで計算時間が削減される。具体的には、従来(非特許文献3)の手法と比較して、実験的に約1.5倍の高速化が実現された。
イデアル格子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のように、実験等により適切な回数が設定される。
ステップ1~3において、まず、ベクトルu及びベクトルvに基づく縮約が試行され、ベクトルuが更新される。続いて、更新後のベクトルu、及びローテーション操作によって更新されたベクトルvに基づく縮約がk回試行され、ベクトルuが更新される。
ここまでの処理により更新されたベクトルvを初期化するためには、ローテーション又は逆ローテーションのいずれか、必要な回数の少ない方が用いられてよいが、ローテーションの周期分だけ繰り返される必要がある。
ここで、円分多項式の定義から得られる帰納的関係式Φ(x)=(x-1)/(Πd|m,d≠mΦ(x))より、x=Φ(x)Πd|m,d≠mΦ(x)+1である。よって、x≡1 mod Φ(x)となり、rot(v)=xv(x)≡v(x) mod Φ(x)=vである。
したがって、円分多項式Φ(x)に対して、ローテーションの周期はmである。なお、mが偶数の場合、周期mの代わりにm/2を使用できる。
ステップ4において、初期化部13は、ローテーション数kと、周期までの残り回数m-kとを比較する。k≧m-kの場合、ステップ5が実行され、k<m-kの場合、ステップ7~11が実行される。
ステップ5において、初期化部13は、順方向のローテーションをさらにm-k回繰り返すことにより、ベクトルvを初期化する。
ステップ7において、初期化部13は、k回のローテーションによって更新されたベクトルvを、同じ回数だけ逆ローテーションすることで初期化する。
ステップ8~10において、求解部12は、逆方向の逆ローテーションによってもベクトルvを更新しつつ縮約を試みる。
これにより、求解部12は、ローテーション又は逆ローテーションによってベクトルvのノルムが増大するのを抑制し、縮約の成功率を向上させている。
ステップS11において、初期化部13は、k回の逆ローテーションによって更新されたベクトルvを、同じ回数だけローテーションすることで初期化する。
ステップ12において、求解部12は、k+1回又は2k+1回の縮約の試行により短くなったベクトルuを出力する。
ここで、t-nomial格子のローテーション及び逆ローテーションの操作は、それぞれO(t)の計算量で実行される。このことは、次のように証明される。
前述のローテーション及び逆ローテーションの式から、更新されるベクトルの位置はt箇所あることがわかる。このうち、ベクトルの先頭と末尾に対しては、削除及び挿入の操作がそれぞれ計算量O(1)で行われる。また、これ以外のt-2箇所では、差又は和の計算がそれぞれ計算量O(1)で行われる。よって、ローテーション及び逆ローテーションの計算量は、それぞれ合計でO(t)である。
関数ReduceRotWiseは、ベクトルrot(v)をvに戻す処理にO(min(k,m-k)t)の計算量が必要となる。前述のように、min(k,m-k)の値は十分に小さくなることが言えるため、実用上は、ベクトルの複製に掛かる計算量O(n)よりO(min(k,m-k)t)の方が小さく、高速化される。
本実施形態によれば、安全性評価装置1は、安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、条件1~3のいずれかを満たす奇素数及び円分多項式の添字mを選択し、円分多項式の項数tとの関係から導出されるベクトルvのローテーション操作を用いて、所定回のベクトル生成及び縮約を繰り返す。
これにより、安全性評価装置1は、これまではSVPの求解を高速化できる次元が限定的であったイデアル格子に対して、より一般的な次元でも高速化を可能とした。例えば、これまでイデアル格子の適用がされていなかったn=80次元に対して、Gauss Sieveと比較して約10倍の高速化が達成された。
この結果、安全性評価装置1は、NTRUといったイデアル格子を用いた次世代公開鍵暗号に対して、より厳密な安全性評価を行うことができ、次元等の適切な設計に寄与できる。
また、安全性評価装置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は、次世代公開鍵暗号に対して、より厳密な安全性評価を行うことができ、次元等の適切な設計に寄与できる。
安全性評価装置1は、ベクトルの初期化に掛かるローテーションの回数と、逆ローテーションの回数とを比較し、少ない回数の操作によりベクトルvを初期化してもよい。
これにより、安全性評価装置1は、より適切な手順によりSVPの求解アルゴリズムを実行し、処理を高速化できる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
安全性評価装置1による安全性評価方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
1 安全性評価装置
10 制御部
11 選択部
12 求解部
13 初期化部
20 記憶部

Claims (5)

  1. 安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、
    m=p(b≧1)及び
    n=pb-1(p-1)、
    又は
    m=2・p(a≧1,b≧1)及び
    n=2a-1・pb-1(p-1)
    を満たす奇素数p、及び円分多項式の添字mを選択する選択部と、
    前記円分多項式の項数t=pの関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解部と、を備える安全性評価装置。
  2. 安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、
    m=p・q(b≧1,c≧1)及び
    n=pb-1(p-1)・qc-1(q-1)、
    又は
    m=2・p・q(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(p-1)+p及びq=pk+2、
    t=(1/2)(k+1)(p-1)-p及びq=p(k+1)-2
    のいずれかの関係であることから導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解部と、を備える安全性評価装置。
  3. 安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、
    m=p(b≧1)及び
    n=pb-1(p-1)、
    又は
    m=2・p(a≧1,b≧1)及び
    n=2a-1・pb-1(p-1)
    を満たす奇素数p、及び円分多項式の添字mを選択する選択ステップと、
    前記円分多項式の項数t=pの関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解ステップと、をコンピュータが実行する安全性評価方法。
  4. 安全性の評価対象である格子暗号におけるイデアル格子の次元nに対して、
    m=p・q(b≧1,c≧1)及び
    n=pb-1(p-1)・qc-1(q-1)、
    又は
    m=2・p・q(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(p-1)+p及びq=pk+2、
    t=(1/2)(k+1)(p-1)-p及びq=p(k+1)-2
    のいずれかの関係であることから導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解ステップと、をコンピュータが実行する安全性評価方法。
  5. 請求項1又は請求項2に記載の安全性評価装置としてコンピュータを機能させるための安全性評価プログラム。
JP2019209072A 2019-11-19 2019-11-19 安全性評価装置、安全性評価方法及び安全性評価プログラム Active JP7146722B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019209072A JP7146722B2 (ja) 2019-11-19 2019-11-19 安全性評価装置、安全性評価方法及び安全性評価プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019209072A JP7146722B2 (ja) 2019-11-19 2019-11-19 安全性評価装置、安全性評価方法及び安全性評価プログラム

Publications (2)

Publication Number Publication Date
JP2021081591A JP2021081591A (ja) 2021-05-27
JP7146722B2 true JP7146722B2 (ja) 2022-10-04

Family

ID=75965039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019209072A Active JP7146722B2 (ja) 2019-11-19 2019-11-19 安全性評価装置、安全性評価方法及び安全性評価プログラム

Country Status (1)

Country Link
JP (1) JP7146722B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7155534B2 (ja) 2018-02-16 2022-10-19 富士電機株式会社 半導体装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049215A (ja) 2008-08-25 2010-03-04 Toshiba Corp パラメータ生成装置、暗号処理システム、方法およびプログラム
JP2015001555A (ja) 2013-06-13 2015-01-05 Kddi株式会社 公開鍵暗号化方式における並列GaussSieveアルゴリズムを用いた最短ベクトル問題の求解装置および求解方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049215A (ja) 2008-08-25 2010-03-04 Toshiba Corp パラメータ生成装置、暗号処理システム、方法およびプログラム
JP2015001555A (ja) 2013-06-13 2015-01-05 Kddi株式会社 公開鍵暗号化方式における並列GaussSieveアルゴリズムを用いた最短ベクトル問題の求解装置および求解方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石黒 司,並列Gauss Sieveアルゴリズムを用いた128次元イデアル格子の最短ベクトル問題の求解,CSS2013コンピュータセキュリティシンポジウム2013論文集,日本,一般社団法人情報処理学会,2013年10月14日,第2013巻, 第4号,pp.62-69,情報処理学会シンポジウムシリーズ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7155534B2 (ja) 2018-02-16 2022-10-19 富士電機株式会社 半導体装置

Also Published As

Publication number Publication date
JP2021081591A (ja) 2021-05-27

Similar Documents

Publication Publication Date Title
Bajard et al. A full RNS variant of FV like somewhat homomorphic encryption schemes
Buchanan et al. Will quantum computers be the end of public key encryption?
CN108718231B (zh) 一种全同态加密方法、装置和计算机可读存储介质
JP4334582B2 (ja) 秘密分散装置、方法及びプログラム
Fazio et al. Homomorphic secret sharing from paillier encryption
JP6730741B2 (ja) 処理装置、処理方法、処理プログラム、及び暗号処理システム
US7995764B2 (en) Sharing a secret using hyperplanes over GF(2m)
Karpman et al. Practical free-start collision attacks on 76-step SHA-1
Baena et al. Improving support-minors rank attacks: applications to G e MSS and Rainbow
JP2022540857A (ja) ハッシュベースのデジタル署名スキームにおける暗号ハッシュ木のノードの管理
Perriello et al. A complete quantum circuit to solve the information set decoding problem
US11599681B2 (en) Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program
Lin et al. A framework to optimize implementations of matrices
Plantard et al. Lll for ideal lattices: re-evaluation of the security of gentry–halevi’s fhe scheme
JP7146722B2 (ja) 安全性評価装置、安全性評価方法及び安全性評価プログラム
May et al. Too Many Hints–When LLL Breaks LWE
Perriello et al. Improving the efficiency of quantum circuits for information set decoding
Cheon et al. Approximate algorithms on lattices with small determinant
Akiyama et al. A public-key encryption scheme based on non-linear indeterminate equations
JP7191804B2 (ja) 安全性評価装置、安全性評価方法及び安全性評価プログラム
JPWO2019092804A1 (ja) 乱数生成システム、乱数生成方法および乱数生成プログラム
Bi et al. Lower bounds of shortest vector lengths in random NTRU lattices
Liu et al. Privacy-Preserving Federated Unlearning with Certified Client Removal
Smith-Tone et al. A rank attack against extension field cancellation
Löndahl et al. Improved algorithms for finding low-weight polynomial multiples in F _ 2^ x F 2 x and some cryptographic applications

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