Fast Triangularization of Ideal Latttice Basis
-
摘要:
为了提高理想格上格基的三角化算法的效率,该文通过研究理想格上的多项式结构提出了一个理想格上格基的快速三角化算法,其时间复杂度为O(n3log2B),其中n是格基的维数,B是格基的无穷范数。基于该算法,可以得到一个计算理想格上格基Smith标准型的确定算法,且其时间复杂度也比现有的算法要快。更进一步,对于密码学中经常所使用的一类特殊的理想格,可以用更快的算法将三角化矩阵转化为格基的Hermite标准型。
-
关键词:
- 理想格 /
- Hermite标准型 /
- Smith标准型 /
- 三角化
Abstract:To improve the efficiency of the triangularization of ideal lattice basis, a fast algorithm for triangularizing an ideal lattice basis is proposed by studying the polynomial structure, which runs in time O(n3log2B), where n is the dimension of the lattice, B is the infinity norm of lattice basis. Based on the algorithm, a deterministic algorithm for computing the Smith Normal Form (SNF) of ideal lattice is given, which has the same time complexity and thus is faster than any previously known algorithms. Moreover, for a special class of ideal lattices, a method to transform such triangular bases into Hermite Normal Form (HNF) faster than previous algorithms will be present.
-
Key words:
- Ideal lattice /
- Hermite Normal Form (HNF) /
- Smith Normal Form (SNF) /
- Triangularization
-
1. 引言
Hermite标准型和Smith标准型是两种定义在整数矩阵上的重要标准型,它们在很多方面都有应用,比如,Hermite标准型可以用于解丢番图方程[1],整数规划[2]和格上的计算问题[3],Smith标准型可以用来确定有限生成阿贝尔群的基础理论中的不变常量[4]。而计算Hermite标准型和Smith标准型通常来说需要将格基三角化以后才能进行。所以为了提高计算Hermite标准型和Smith标准型的算法的效率,提高矩阵三角化算法的效率有很重要的意义。
从另一个角度来看,格是数论中很重要的概念,而基于格的密码学由于其高效、多功能和潜在抗量子攻击等性质吸引了众多密码学家的注意。对于同一个格而言,由于所有的格基都有相同的Hermite标准型,所以一般在基于格的公钥密码体制中将Hermite标准型作为公钥[5]。
为了提高基于格的密码算法的效率,密码学家提出了理想格的概念。理想格相比于一般的格拥有更多的代数结构,可以加速运算并减少空间存储。目前已经有一些算法在理想格上运行比在一般格上要快,比如Lyubashevsky等人[6]在理想格上给出了更快的Gram-Schmit正交化和高斯采样算法(循环格)。但是目前还没有理想格上对三角化的加速算法。
目前最快的格基三角化算法是Hafner和McCurley[7]在1991年提出的。对于一个
n×n 的整数矩阵A,其每个元素的上界为B ,那么计算A的三角化矩阵可以在O(n1+ωlog2B) 时间复杂度内完成,其中O(nω) 是两个n×n 维矩阵相乘所需要的乘法次数,目前最快的算法中ω 可以降低到2.372[8]。该算法使用快速矩阵乘法来实现三角化,但是并没有结果说明如何在相同的时间内得到矩阵的Hermite标准型。直到1996年,Storjohann等人[9]利用快速矩阵乘法技术将计算Hermite标准型的时间复杂度降低到O(n1+ωlog2B) 。至于Smith标准型的计算,确定性算法步骤基本是先计算出Hermite标准型然后再通过初等变换来计算。所以目前计算Smith标准型最快的时间复杂度和计算Hermite标准型是一样的。
本文利用理想格上的特殊结构来降低对理想格上格基三角化的复杂度,该算法的时间复杂度可以降低到
O(n3log2B) 。同时,基于在文献[10]和文献[11]中提出的理想格性质,本文可以确定地得到理想格上格基的Smith标准型,其时间复杂度也低于目前最快的算法。虽然和文献[7]中类似,本文还不能在O(n3log2B) 时间复杂度内得到任意理想格上格基的Hermite标准型,但是针对格密码学中经常使用的一类理想格,本文可以得到一个在O(n3log2B) 时间内计算格基的Hermite标准型的算法。本文的结构安排如下:第2部分介绍预备知识和现有的结果;第3部分提出新的理想格上格基三角化算法;第4部分说明对一类特殊的理想格可以在
O(n3log2B) 时间内计算格基的Hermite标准型。2. 预备知识
2.1 符号约定
本文用斜体粗体大写字母来表示矩阵,用粗体小写字母来表示行向量。对于矩阵
A∈Zn×m ,在第i 行、第j 列的元素表示为aij ,矩阵A 的i 行表示为Ai 。一个整数矩阵的三角化矩阵用T 来表示,且用H 和S 分别表示该矩阵的Hermite标准型和Smith标准型。对于一个多项式
f(x) ,其首项系数用lc(f) 来表示,最高次数用deg(f) 来表示。零多项式的次数定义为−∞ 。2.2 多项式的最大公因式及扩展欧几里得算法
给定某个唯一分解整环上两个多项式
f(x) 和g(x) ,判定它们的最大公因子的最高次数是否≥1 是一个经典问题。为此,下面介绍两个多项式的结式,其定义如下。定义 1(结式) 令
f(x)=fnxn+fn−1xn−1+···+ f1x+f0 ,g(x)=gmxm+gm−1xm−1+···+g1x+g0 为次数分别为n 和m 的两个多项式。定义f(x) 和g(x) 的Sylvester矩阵:Sylv(f(x),g(x))=[xm−1f(x)xm−2f(x)⋮f(x)xn−1g(x)xn−2g(x)⋮g(x)]=[fnfn−1···f0fnfn−1···f0⋱⋱fnfn−1···f1f0gmgm−1···g1g0gmgm−1···g1g0⋱⋱gmgm−1···g1g0](m+n)×(m+n) 则
f(x) 和g(x) 的结式定义为Sylv(f(x),g(x)) 的行列式,用Res(f(x),g(x)) 来表示。结式的概念可用来判定
f(x) 和g(x) 是否存在次数大于1的最大公因式,而为了计算f(x) 和g(x) 的最大公因式,需要多项式上扩展欧几里得算法来计算。下列等式给出了计算f(x) 和g(x) 的最大公因式的过程:α1f(x)=q1(x)g(x)+r1(x)α2r1(x)=q2(x)r1(x)+r2(x)⋮αlrl−2(x)αl+1rl−1(x)⋮ =ql(x)rl−1(x)+rl(x)=ql+1(x)rl(x)} (1) 这里
deg(g)>deg(r1)>deg(r2)>···>deg(rl−1)> deg(rl)=0 。如果上述计算是在一个域中进行(比如
Q ),那么所有的αi 都可以取为1,则rl(x) 就为f(x) 和g(x) 在域中拥有最大次数的公因式。从上述过程中,可以用
f(x) 和g(x) 来表示所有的余式ri(x) ,即si(x)f(x)+ti(x)g(x) ,其中i=1, 2,···,l−1,l ,那么有如下性质。引理 1 令
f(x) ,g(x) 为次数分别为n 和m 的两个多项式,这里n>m 。令r1(x),r2(x),···,rl(x) 为式(1)中定义的余式。若deg(r1)=ni ,且ri(x)= si(x)f(x)+ti(x)g(x) ,则deg(si)=m−ni−1<m, deg(ti)=n−ni−1<n 并且满足si(x)=αisi−2(x)− qi(x)si−1(x) ,ti(x)=αiti−2(x)−qi(x)ti−1(x) 。欧几里得算法是最古老的算法之一,其应用非常广泛。本文给出文献[12]中关于
Z 上多项式的扩展欧几里得算法的相关结论。引理2对于证明本文算法的正确性和分析复杂度有重要作用。引理 2 令
F 为一个域,f(x) ,g(x) ,s(x) ,t(x)∈ F[x] ,且deg(f(x))=n ,r(x)=s(x)f(x)+t(x)g(x) ,t(x)≠0 ,并假设deg(r)+deg(t)<n=deg(f) 。令ri(x)=si(x)f(x)+ti(x)g(x) 为通过式(1)得到的余式,其中0≤i≤l+1 。定义整数j 满足条件deg(rj)≤deg(r)<deg(rj−1) 。那么存在一个非零元素α(x)∈F[x] 使得r(x)=α(x)rj(x),s(x)=α(x)sj(x),t(x)=α(x)tj(x) (2) 引理 3 对于
f(x) ,g(x)∈Z[x] ,且满足deg(f)= n>deg(g)=m≥1 。令0≤k≤m<n ,那么k 不会出现在式(1)中余式序列的次数中当且仅当存在s(x) 和t(x) 满足t(x)≠0,deg(s)<m−k,deg(t)<n−k,deg(sf+tg)<k (3) 引理 4 对于
f(x) ,g(x)∈Z[x] ,且满足deg(f)= n>deg(g)=m≥1 。那么存在快速的扩展欧几里得算法可以O(n3log2B) 时间内计算出Q[x] 上的ri(x) ,si(x) ,ti(x) ,这里B 是f(x) 和g(x) 的系数上界。2.3 格
定义 2(格) 给定
m 个线性无关的向量,b1 ,b2 ,··· ,bm ,其中bi∈Rn 。B∈Rm×n 定义为Bi=bi 。则由B 生成的格L(B) 定义为L(B)={m∑i=1xibi,xi∈Z}={xB:x∈Zn} (4) 则称
B 是格L(B) 的一组基,其中m 和n 分别称为格L(B) 的秩和维数。当m=n 时,称格L(B) 是满秩的。定义 3(行列式) 给定格
L(B) ,其行列式定义为det(L(B))=√det(BTB) 。当
L(B) 是满秩的时候,B 是一个非奇异的方阵,此时det(L(B))=|det(B)| 。注意到,当从给定格
L 中选取任意格向量时,并不是每一组选取的格向量集合都可以扩展为格L 的一组基。下面的引理给出了判定一组选取的格向量集合是否能扩展为一组格基的方法[13]。引理 5 给定满秩格
L(b1,b2,···,bn) 中r 个线性无关的向量v1,v2,···,vr ,且满足(v1v2⋮vr)=Ar×n⋅(b1b2⋮br) (5) 则下列的条件是等价的:
(1) 存在格向量
ur+1 ,ur+2 , ··· ,un 使得v1 ,v2 , ···,vr ,ur+1 ,ur+2 , ···,un 是L 的一组基;(2)
A 的所有r×r 阶子式的最大公因子为1;(3)
v1 ,v2 , ···,vr 是L∩span(v1,v2,···,vr) 的一组基;(4) 存在一个矩阵
P∈Zn×n 使得A⋅P= [IrOr×(n−r)]r×n ;(5) 存在一个矩阵
B∈Z(n−r)×n 使得[AB]n×n 是一个幺模矩阵。引理 6 令
A∈Zm×n ,其中n>m 。假设A 可以通过添加(n−m) 个合适的行成为幺模矩阵。如果A 的每一行都是一个格L 的格向量,那么A 可以扩充为L 的一组基。由引理5可知,因为
A 可以扩充为一个幺模矩阵,则存在P∈Zn×n 使得A···P=(Im,0,···,0)n ,其中等式右边有(n−m) 个0。假设L 的一组基是B∈Zn′×n ,其中m≤n′≤n 。因为
A∈L ,所以存在矩阵U∈Zm×n′ 使得A=U⋅B 。所以A⋅P=U⋅B⋅P=Im, 0,···,0n 。记P′=B⋅P 然后将P′ 分为两个部分,P1′∈Zn′×n′ 和P2′∈Zn′×(n−n′) ,即P′=[P1′|P2′] 。于是有U⋅[P1′|P2′]=[U⋅P1′|U⋅P2′]=(Im,0,···,0)n (6) 因为
U⋅P1′=Zm×n′ ,m≤n′ ,所以U⋅P1′= (Im,0,···,0)n′ 。则U 可扩充为一个幺模矩阵。假设U′=[UT|ˉUT]T 是一个幺模矩阵,U′⋅B= [AT|ˉAT]T 是L 的一组基。所以A 可以扩充为L 的一组基。2.4 理想格
理想格是定义在多项式环上的一类特殊的格,同时具有加法和乘法封闭的性质。一般来说,考虑环
R=Z[x]/⟨f(x)⟩ ,这里f(x)∈Z[x] 是一个次数为n 的首一多项式,⟨f(x)⟩ 表示f(x) 在多项式环Z[x] 中生成的理想。然后考虑式(7)的嵌入σ:R→Znn−1∑i=0aixi↦(an−1,an−2,···,a0)} (7) 对于任何一个多项式
v(x)∈R ,用v 来表示v(x) 在嵌入σ 下的像,并且将v 和v(x) 考虑为等价的表达式。令
g(x)∈R 为一个次数小于n 的多项式且v(x)∈⟨g(x)⟩ ,则存在一个次数小于n 的多项式w(x)∈Z[x] 使得v(x)=w(x)g(x)modf(x) 。如果将w(x) 表示为w(x)=wn−1xn−1+wn−2xn−2+···+ w0 ,那么v(x)=∑n−1i=0wixig(x)modf(x) 。于是每一个⟨g(x)⟩ 中的元素都可以由g(x)modf(x) ,xg(x)modf(x) , ···,xn−1g(x)modf(x) 整系数线性表示的。所以⟨g(x)⟩ 在嵌入σ 下构成一个格。于是有:定义 4(理想格) 给定
g(x)∈R=Z[x]/ ⟨f(x)⟩ ,这里f(x)∈Z[x] 是一个次数为n 的首一多项式,那么由g(x) 在嵌入σ 下构成一个格L ,称L 为由g(x) 生成的理想格。更进一步,如果
g(x) 和f(x) 在Z 上互素,则g(x)modf(x) ,xg(x)modf(x) , ···,xn−1g(x)modf(x) 是线性无关的。否则存在不全为零的整系数a0 ,a1 ,···,an−1 使得∑n−1i=0aixig(x)modf(x)=0 ,即(∑n−1i=0aixi)g(x)=0modf(x) ,而这说明g(x) 和f(x) 并不是互素的,矛盾。所以此时由g(x) 生成的理想格是满秩的。定义 5(本原格向量) 一个格向量
v∈L 如果是格L 中的一个本原格向量当且仅当对任意的整数k>1 ,v/k∉L 。定义 6(本原向量) 对于一个向量
v= (v1,v2,···,vn)∈L ,如果gcd(v1,v2,···,vn)=1 ,则称v 是一个本原向量。定义 7(本原多项式) 一个多项式
a(x)∈ Z[x] 称为本原多项式当且仅当对任意整数满足k>1 都有a(x)/k∉Z[x] 。定义 8(容度) 给定一个多项式
a(x)=anxn+ an−1xn−1+···+a0∈Z[x] ,其容度定义为a(x) 的各系数的最大公因子,即gcd(an,an−1,···,a0) ,并将容度表示为cont(a(x)) 。很明显,对于任意的多项式
a(x)∈Z[x] ,a(x)/cont(a(x)) 是一个本原的多项式,称之为a(x) 的本原部分。一个格向量
v=xB∈L(B) 是一个本原的格向量当且仅当x 是一个本原向量。和在一般格中类似,在由g(x)∈R=Z[x]/⟨f(x)⟩ 生成的理想格中,一个格向量v(x)=t(x)g(x)modf(x) 是本原的当且仅当t(x) 是一个本原多项式。2.5 Hermite标准型
对于整数矩阵而言,Hermite标准型是一个非常重要的概念,其定义如下:
定义 8(Hermite标准型) 一个非奇异的方阵
H∈Zn×n 是Hermite标准型,如果满足如下条件:(1)
hii>0 ,1≤i≤n ;(2)
hij>0 ,1≤j<i≤n ;(3)
0≤hji<hii ,1≤j<i≤n 。需要注意的是,这里只给出了Hermite标准型的一种定义,是作行变换得到一个上三角矩阵。根据是行列变换以及最后是上三角矩阵还是下三角矩阵,Hermite标准型会有不同的定义。
对于高维随机生成的矩阵,其Hermite标准型的对角元素是非常不平衡的:大多数都很小(实际上大多数都为1),而且经常最后一个元素非常大,该类Hermite标准型通常会有密码学意义。由此定义如下一个非常特别的Hermite标准型:
定义 8(简单Hermite标准型) 一个非奇异的方阵
H∈Zn×n 是简单Hermite标准型当且仅当其是Hermite标准型且满足hii=1 ,其中1≤i≤n−1 。通常在格密码中选择具有简单Hermite标准型的格,可以使得计算更简单、密钥尺寸更小。
2.6 Smith标准型
对于整数矩阵而言,另一个重要的标准型是Smith标准型。其定义如下:
定义 8(Smith标准型) 一个方阵
S∈Zn×n 是Hermite标准型,如果满足如下条件:(1)
sii|sjj ,i<j ;(2)
sij>0 ,i≠j 。文献[10,11]说明在理想格中,格基的Hermite标准型具有非常特殊的形式。
引理 7 令
L 为由g(x)∈R=Z[x]/⟨f(x)⟩ 生成的理想格,这里f(x) 是Z[x] 中一个次数为n 的首一多项式,g(x) 的次数为m ,且n>m 。假设g(x) 与f(x) 互素,那么L 的Hermite标准型由式(8)表示H=[h11h12h22⋯h1n⋯h2n⋱⋮hnn] (8) 满足
hii|h1j ,对于1≤i≤l≤j≤n 。由上所述,对于一个理想格而言,其格基的Hermite标准型的对角线构成了其Smith标准型。
3. 理想格上格基三角化的快速算法
这节给出对于理想格
L 上格基快速三角化的算法,该算法可以在O(n3log2B) 时间内完成,这里L 是由g(x)∈R=Z[x]/⟨f(x)⟩ 生成的理想格,f(x) 是Z[x] 上一个首一n 次的不可约多项式,B 是f(x) 和g(x) 的系数上界(在本文中,不作特殊说明外,考虑g(x) 为一个本原多项式)。本文算法包括两个步骤,首先利用扩展欧几里得算法计算出一系列次数递减的本原格向量,然后从这些格向量中构造出L 的一个三角化格基。为了简单表达,先给出一些符号:对于由
f(x) 和g(x) 得到的余式序列表示为r1(x) ,r2(x) , ···,rl(x) 。将f(x) 和g(x) 分别表示为r−1(x) 和r0(x) ,余式的次数分别用ni 来表示,即ni=deg(ri) ,且用δi 来表示相邻次数之差,即δi=ni−ni−1 ,对于i=−1,0,···,l−1 。3.1 计算本原格向量序列
这节给出计算本原格向量序列的算法,该算法源于理想格上三角化和使用欧几里得算法来计算多项式的余式时情况很类似。表1给出了计算本原格向量序列的过程。
表 1 本原格向量序列输入:Z[x]中f(x)和g(x),次数分别为n和m,且n>m; (1) 利用扩展欧几里得算法计算Q[x]上ri′(x), si′(x), ti′(x),使得ri′(x)=ri−2′(x)+qi′(x)ri−1′(x) 和ri′(x)=si′(x)f(x)+ti′(x)g(x)成立,这里 i=1,2,···,l; (2) 计算每一个ti′(x)系数分母的最小公倍数Ci, i=1,2,···,l; (3) 令ri(x)=ri′(x)⋅Ci为余式序列中第i个余式, i=1,2,···,l; 输出:r1(x), r2(x), ···, rl(x) 引理 8 令
f(x) 和(x) 为Z[x] 中次数分别为n 和m 两个多项式,f(x) 是首一不可约多项式且次数满足n>m 。定义L 是由g(x)∈R=Z[x]/⟨f(x)⟩ 生成的理想格。令B 为f(x) 和g(x) 所有系数的上界,那么表1算法可以在O(n3log2B) 内输出L 中次数递减的本原格向量。首先,可以看到
ti(x)=ti′(x)⋅Ci 是本原多项式。注意到Ciri′(x)=Cisi′(x)f(x)+Citi′(x)g(x) ,由于f(x) 是首一的,那么从理想格的角度来看,ti(x) 对应于格基的整系数表示,所以可以得到Cisi′(x) 和Citi′(x) 都是整系数多项式。因此,算法1中输出的余式ri(x) 为格L 中的本原格向量,i=1,2,···,l 。至于表1算法的时间复杂度,根据引理4,在
O(n3log2B) 时间内计算出Q[x] 上所有的ri′(x) ,si′(x) ,ti′(x) ,这意味着输出长度最大为O(n3log2B) 。另一方面,在表1算法中计算ti′(x) 所有系数分母的最小公倍数,其最大为所有分母的乘积,于是可以得到ti′(x) 的系数大小是由行列式O(nlog2B) 唯一决定的。所以算法1的输出尺寸最大为O(n3log2B) ,当考虑快速整数乘法时,步骤(2)中时间复杂度也最大为O(n3log2B) 。所以表1算法可以在O(n3log2B) 时间内输出次数递减的本原格向量序列。表1算法是将域上面多项式的扩展欧几里得算法延伸到了整数多项式环上,因为在由
g(x)∈R= Z[x]/⟨f(x)⟩ 生成的理想格L 中有r(x)=s(x)f(x)+ t(x)g(x) ,所以当t(x) 的系数为整数时,相当于x(x) 在格L 中是由格基的整系数线性表示的,可以得到r(x) 的系数也必然为整数。3.2 理想格上格基的三角化
这节说明怎么利用次数递减的本原格向量序列来对格基进行三角化。为了便于表述,将集合
{1,2,···,n} 划分为l 个子集合:{n−ni−1+1,n− ni−1+2···,n−ni}=⋃li=1Ii 。具体算法如表2所示。表 2 理想格上格基的三角化输入:本原格向量序列,r0(x), r1(x), ···, rl(x)(向量形式为r0,
r1, ···, rl)(1) 令T←0n×n (2) 如果k∈Il,Tk(x)=rl(x)xn−k,i←l−1 (3) 如果k∈Ii, (a) 计算ϕ和ψ使得
ϕlc(ri)+ψlc(Tn−ni+1)=gcd(lc(Tn−ni+1),
lc(ri))(b) 令Tn−ni(x)=ϕri(x)+ψTn−ni+1(x)xδi (c) 如果lc(Tn−ni)=1,则令
Tj(x)=Tn−ni(x)xn−ni−j,
j=1,2,···,n−ni,并结束循环(d) 否则Tk(x)=Tn−ni(x)xn−ni−k, i←i−1 (e) 如果i>0,到(3)开始循环,否则结束循环 输出:T 引理 9 令
f(x) 和g(x) 为Z[x] 中次数分别为n 和m 两个多项式,f(x) 是首一不可约多项式且次数满足n>m 。定义L 是由g(x)∈R=Z[x]/⟨f(x)⟩ 生成的理想格。那么存在一个确定性算法,输入表1算法中得到的本原格向量序列,输出L 的一个三角化格基,运行时间为O(n3log2B) ,其中B 为f(x) 和g(x) 所有系数的上界。现在来分析表2算法的时间复杂度。根据Hadmard界,
ri(x) 的各系数的上界为(√n+mB)n+m ,所以ri(x) 的系数由(√n+mB)n+m 界定。每一次迭代需要ni+ni+1+2 次O(nlog2B) 比特数字的乘法,所以总的时间复杂度为∑l−1i=0((ni+ni+1+2) O(nlog2B))=O(n3log2B) 。由于
tnn 为格L 中的常数,且tnnxi∈L ,其中i=0,1,···,n−1 。所以在进行表2算法时,实际可以在计算中通过模tnn 来降低计算量,这种操作并不会增加总的时间复杂度。定理 1 令
f(x) 和g(x) 为Z[x] 中次数分别为n 和m 两个多项式,f(x) 是首一不可约多项式且次数满足n>m ,B 为f(x) 和g(x) 所有系数的上界。定义L 是由g(x)∈R=Z[x]/⟨f(x)⟩ 生成的理想格。那么存在一个确定的算法输入f(x) 和g(x) ,在O(n3log2B) 时间内输出L 的一个三角化格基T 。特别地,T 的对角线为L 上格基的Smith标准型。证明 根据算法1和算法2,定理的第1部分是正确的。
对于定理的第2部分,利用引理7来证明。根据T的结构,可知
Ti=Hi+∑nk=i+1Hk 。由引理7,tii=hii|hjk ,其中i≤j≤k≤n ,所以tii|Ti 。然后利用矩阵的初等列变换可知T 的对角线正好构成L 上格基的Smith标准型。 证毕3.3 例子
根据本文的算法,给出一个例子来形象地表示算法过程。假设
f(x)=x8+x6−3x4−3x3+8x2+ 2x−5 ,g(x)=3x6+5x4−4x2−9x+21 。利用算法1,得到本原格向量如式(9)r0(x)=3x6+5x4−4x2−9x+21r1(x)=−5x4+x2−3r2(x)=13x2+25x−49r3(x)=−9326x+12300r4(x)=130354} (9) 这里
n1=4 ,n2=2 ,n3=1 ,n4=0 。然后利用算法2,得到T2(x)=x6+30596x5+591x4+2x2−9x+21T4(x)=x4+115056x3−293x2−3T6(x)=x2+84353x−49T7(x)=2x+72848T8(x)=130354} (10) 于是一个三角化矩阵为
T=[184353−49000000184353−49000000184353−49000000184353−49000000184353−49000000184353−490000002728480000000130354] (11) 并且Smith标准型为
S=[100000000100000000100000000100000000100000000100000000200000000130354] (12) 4. 快速计算Hermite标准型
这一节说明怎么在
O(n3log2B) 时间内计算一类特殊的理想格的Hermite标准型。事实上,这一类特殊的理想格的Hermite标准型是具有简单形式的。同样,计算是基于文献[11]中发现的理想格的性质。对于具有简单Hermite标准型的理想格,其Hermite标准型可以隐式地由两个整数
(d,r) 来表示,其中d 为理想格的行列式,r=−h(n−1)n 。而唯一非平凡的列是最后一列,且hin=rn−imodd ,对于i=1,2,···,n−1 。所以最后一列可以在O(n3log2B) 时间内平凡地计算出来。但是目前还不清楚对于Hermite标准型为一般形式的理想格怎么来加速计算过程,这也将是下一步的研究内容。5. 结论
本文通过利用理想格本身特殊的多项式结构,提出了一个新的算法可以在
O(n3log2B) 时间内对理想格格基进行三角化,并且利用理想格上Hermite标准型的特殊性质,同样可以在O(n3log2B) 内计算出Smith标准型。最后,针对某一类应用于密码学的理想格,可以在O(n3log2B) 时间内计算出Hermite标准型。 -
表 1 本原格向量序列
输入:Z[x]中f(x)和g(x),次数分别为n和m,且n>m; (1) 利用扩展欧几里得算法计算Q[x]上ri′(x), si′(x), ti′(x),使得ri′(x)=ri−2′(x)+qi′(x)ri−1′(x) 和ri′(x)=si′(x)f(x)+ti′(x)g(x)成立,这里 i=1,2,···,l; (2) 计算每一个ti′(x)系数分母的最小公倍数Ci, i=1,2,···,l; (3) 令ri(x)=ri′(x)⋅Ci为余式序列中第i个余式, i=1,2,···,l; 输出:r1(x), r2(x), ···, rl(x) 表 2 理想格上格基的三角化
输入:本原格向量序列,r0(x), r1(x), ···, rl(x)(向量形式为r0,
r1, ···, rl)(1) 令T←0n×n (2) 如果k∈Il,Tk(x)=rl(x)xn−k,i←l−1 (3) 如果k∈Ii, (a) 计算ϕ和ψ使得
ϕlc(ri)+ψlc(Tn−ni+1)=gcd(lc(Tn−ni+1),
lc(ri))(b) 令Tn−ni(x)=ϕri(x)+ψTn−ni+1(x)xδi (c) 如果lc(Tn−ni)=1,则令
Tj(x)=Tn−ni(x)xn−ni−j,
j=1,2,···,n−ni,并结束循环(d) 否则Tk(x)=Tn−ni(x)xn−ni−k, i←i−1 (e) 如果i>0,到(3)开始循环,否则结束循环 输出:T -
FRUMKIN M A. Complexity questions in number theory[J]. Journal of Soviet Mathematics, 1985, 29(4): 1502–1517. doi: 10.1007/bf02104748 HUNG M S and ROM W O. An application of the Hermite normal form in integer programming[J]. Linear Algebra and its Applications, 1990, 140: 163–179. doi: 10.1016/0024-3795(90)90228-5 HAFNER J L and MCCURLEY K S. A rigorous subexponential algorithm for computation of class groups[J]. Journal of the American Mathematical Society, 1989, 2(4): 837–850. doi: 10.1090/S0894-0347-1989-1002631-0 HARTLEY B and HAWKES T O. Rings, Modules and Linear Algebra[M]. London: Chapman and Hall, 1970: 73. MICCIANCIO D. Improving lattice based cryptosystems using the Hermite normal form[C]. International Conference on Cryptography and Lattices, Providence, 2001: 126–145. doi: 10.1007/3-540-44670-2_1. LYUBASHEVSKY V and PREST T. Quadratic time, linear space algorithms for Gram-Schmidt orthogonalization and Gaussian sampling in structured lattices[C]. The 34th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, 2015: 789–815. doi: 10.1007/978-3-662-46800-5_30. HAFNER J L and MCCURLEY K S. Asymptotically fast triangulation of matrices over rings[C]. The 1st Annual ACM-SIAM Symposium on Discrete Algorithm, San Francisco, 1990: 197–200. LE GALL F. Powers of tensors and fast matrix multiplication[C]. The 39th International Symposium on Symbolic and Algebraic Computation, Kobe, 2014: 296–303. doi: 10.1145/2608628.2608664. STORJOHANN A and LABAHN G. Asymptotically fast computation of Hermite normal forms of integer matrices[C]. 1996 International Symposium on Symbolic and Algebraic Computation, Zurich, 1996: 259–266. DING Jintai and LINDNER R. Identifying ideal lattices[EB/OL]. http://eprint.iacr.org/2007/322, 2007. ZHANG Yang, LIU Renzhang, and LIN Dongdai. Improved key generation algorithm for Gentry’s fully homomorphic encryption scheme[C]. The 20th International Conference on Information Security and Cryptology, Seoul, 2018: 93–111. doi: 10.1007/978-3-319-78556-1_6. VON ZUR GATHEN J and GARHARD J. Modern Computer Algebra[M]. 3rd ed. Cambridge: Cambridge University Press, 2013: 313–332. 刘仁章. 格算法及其密码学应用[D]. [博士论文], 中国科学院大学数学与系统科学研究院, 2016. -
计量
- 文章访问数: 3163
- HTML全文浏览量: 1017
- PDF下载量: 74
- 被引次数: 0