JP7146722B2 - 安全性評価装置、安全性評価方法及び安全性評価プログラム - Google Patents
安全性評価装置、安全性評価方法及び安全性評価プログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
非特許文献1では、SVPの高速求解アルゴリズムであるGauss Sieveアルゴリズムが提案された。非特許文献2では、イデアル格子という特殊な格子に関して、ローテーション操作によってベクトルの生成が高速に実現できる条件として、ベクトルの次元が2の冪乗となる場合を示し、円分多項式が既約2項式で定義されるAnti-cyclic格子として提案された。さらに、特許文献1、2及び非特許文献3において、ベクトルの次元が2の冪乗と3の冪乗との積である場合にアルゴリズムを高速化できる、既約3項式で定義されるTrinomial格子が提案された。
本実施形態における安全性評価方法では、イデアル格子を用いた格子暗号の安全性を評価するために、SVPを高速に求解するためのイデアル格子の次元に応じた条件を選択し、条件毎に定義されたローテーション操作により、縮約と呼ばれる処理を高速化する。
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)を求めることである。
Φ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等となる。
格子L(B)から最短ベクトルを出力するために、Gauss Sieveアルゴリズムでは、格子L(B)に属する2つのベクトルu,vの差が小さくなる場合に、片方のベクトルをベクトルの差に置き換える処理(縮約という)が、ノルムが減少しなくなるまで再帰的に繰り返される。
これにより、格子L(B)上の2つのベクトルu,vが∥u±v∥≧max(∥u∥,∥v∥)を満たし、Gauss-reducedな状態となる。
図2は、従来(非特許文献1)の求解アルゴリズムで実行される縮約関数Reduceのアルゴリズムを示す図である。
なお、2つのベクトルが線形従属だった場合、必ず原点ベクトルが出力される。これを衝突という。
このような集合Lを拡張する動作を、衝突が一定回数発生するまで実施した後、L内で最も短いベクトルを格子L(B)が最短ベクトルとして出力される。
この結果、Gauss SieveアルゴリズムによるSVPの求解が高速化された。
縮約関数ReduceRotでは、ベクトルvの複製v’に対してローテーションを行うことにより(ステップ3)、縮約を試行するためのベクトルが繰り返し生成される。これにより、短いベクトルを生成する確率が向上した。
縮約関数ReduceRot2では、ReduceRotに対して、逆ローテーションによるベクトルの生成を同時に行う、アルゴリズムを並列化する、計算時間が最も短くなるローテーション回数kを求め縮約の試行をk回とする、という改良が施された。
図5は、本実施形態における安全性評価装置1の機能構成を示すブロック図である。
安全性評価装置1は、サーバ又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
このとき、制御部10は、処理時間を計測し、格子暗号の安全性の指標として出力する。
なお、これらの条件式は、項数が2であるAnti-cyclic格子の場合と、項数が3であるTrinomial格子の場合とを包含している。
このとき、初期化部13は、初期化に掛かるローテーションの回数と、逆ローテーションの回数とを比較し、少ない回数の操作によりベクトルvを初期化してよい。
なお、p=3の場合は、モニック多項式が円分多項式Φm(x)={xn+xn/2+1(m=3a),xn-xn/2+1(m=2a3b)となるイデアル格子、すなわちTrinomial格子を示している。
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)である。
円分多項式Φ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)に上式を代入することで得られる。
奇数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))となり、項数は変化しない。
文献A: L. Carlitz. The number of terms in the cyclotomic polynomial fpq(x). The American Mathematical Monthly, Vol. 73, pp. 979-981, 1966.
例えば、p=5,q=7に対して、m=70=2・5・7を考えると、k=1に対してt=17となる。また、t<10を満たすm,tの組として、m=2a・3b・5c,t=7がある。
このとき、ベクトルvのローテーションrot(v)及び逆ローテーションrot-1(v)は、0≦i≦n-1に対して、
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)となる。
縮約関数ReduceRot(図3)及びReduceRot2(図4)では、ベクトルvを再利用のために、前処理としてベクトルvの複製(v’及びv’’)が必要となっていた。Gauss Sieveアルゴリズムでは、最短ベクトルが見付かるまで、これらの縮約関数が繰り返し呼び出されるため、多数の複製処理により計算時間が増大していた。
これに対して、縮約関数ReduceRotWiseでは、ベクトルvの複製処理を、ローテーション又は逆ローテーションにより代替することで計算時間が削減される。具体的には、従来(非特許文献3)の手法と比較して、実験的に約1.5倍の高速化が実現された。
なお、ローテーション数kは、m及びtに応じて適宜定められる。
具体的には、ローテーション操作によってベクトルのノルムが確率的に大きくなることが知られており、項数tが大きくなるほど、その確率が大きくなる。そこで、例えば、t=2のときk=m/2、t=3のときk=13、t=5のときk=6、t=7のときk=3のように、実験等により適切な回数が設定される。
ここで、円分多項式の定義から得られる帰納的関係式Φ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を使用できる。
ステップ7において、初期化部13は、k回のローテーションによって更新されたベクトルvを、同じ回数だけ逆ローテーションすることで初期化する。
これにより、求解部12は、ローテーション又は逆ローテーションによってベクトルvのノルムが増大するのを抑制し、縮約の成功率を向上させている。
ステップS11において、初期化部13は、k回の逆ローテーションによって更新されたベクトルvを、同じ回数だけローテーションすることで初期化する。
前述のローテーション及び逆ローテーションの式から、更新されるベクトルの位置はt箇所あることがわかる。このうち、ベクトルの先頭と末尾に対しては、削除及び挿入の操作がそれぞれ計算量O(1)で行われる。また、これ以外のt-2箇所では、差又は和の計算がそれぞれ計算量O(1)で行われる。よって、ローテーション及び逆ローテーションの計算量は、それぞれ合計でO(t)である。
これにより、安全性評価装置1は、これまではSVPの求解を高速化できる次元が限定的であったイデアル格子に対して、より一般的な次元でも高速化を可能とした。例えば、これまでイデアル格子の適用がされていなかったn=80次元に対して、Gauss Sieveと比較して約10倍の高速化が達成された。
この結果、安全性評価装置1は、NTRUといったイデアル格子を用いた次世代公開鍵暗号に対して、より厳密な安全性評価を行うことができ、次元等の適切な設計に寄与できる。
これにより、安全性評価装置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は、より適切な手順によりSVPの求解アルゴリズムを実行し、処理を高速化できる。
10 制御部
11 選択部
12 求解部
13 初期化部
20 記憶部
Claims (5)
- 安全性の評価対象である格子暗号におけるイデアル格子の次元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の関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解部と、を備える安全性評価装置。 - 安全性の評価対象である格子暗号におけるイデアル格子の次元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
のいずれかの関係であることから導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解部と、を備える安全性評価装置。 - 安全性の評価対象である格子暗号におけるイデアル格子の次元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の関係から導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解ステップと、をコンピュータが実行する安全性評価方法。 - 安全性の評価対象である格子暗号におけるイデアル格子の次元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
のいずれかの関係であることから導出されるベクトルのローテーションを用いて、所定回のベクトル生成及び縮約を繰り返す求解ステップと、をコンピュータが実行する安全性評価方法。 - 請求項1又は請求項2に記載の安全性評価装置としてコンピュータを機能させるための安全性評価プログラム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7155534B2 (ja) | 2018-02-16 | 2022-10-19 | 富士電機株式会社 | 半導体装置 |
Citations (2)
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アルゴリズムを用いた最短ベクトル問題の求解装置および求解方法 |
-
2019
- 2019-11-19 JP JP2019209072A patent/JP7146722B2/ja active Active
Patent Citations (2)
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)
Title |
---|
石黒 司,並列Gauss Sieveアルゴリズムを用いた128次元イデアル格子の最短ベクトル問題の求解,CSS2013コンピュータセキュリティシンポジウム2013論文集,日本,一般社団法人情報処理学会,2013年10月14日,第2013巻, 第4号,pp.62-69,情報処理学会シンポジウムシリーズ |
Cited By (1)
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 |