高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

理想格上格基的快速三角化算法研究

张洋 刘仁章 林东岱

张洋, 刘仁章, 林东岱. 理想格上格基的快速三角化算法研究[J]. 电子与信息学报, 2020, 42(1): 98-104. doi: 10.11999/JEIT190725
引用本文: 张洋, 刘仁章, 林东岱. 理想格上格基的快速三角化算法研究[J]. 电子与信息学报, 2020, 42(1): 98-104. doi: 10.11999/JEIT190725
Yang ZHANG, Renzhang LIU, Dongdai LIN. Fast Triangularization of Ideal Latttice Basis[J]. Journal of Electronics & Information Technology, 2020, 42(1): 98-104. doi: 10.11999/JEIT190725
Citation: Yang ZHANG, Renzhang LIU, Dongdai LIN. Fast Triangularization of Ideal Latttice Basis[J]. Journal of Electronics & Information Technology, 2020, 42(1): 98-104. doi: 10.11999/JEIT190725

理想格上格基的快速三角化算法研究

doi: 10.11999/JEIT190725
详细信息
    作者简介:

    张洋:男,1991年生,博士生,研究方向为基于理想格算法的密码算法分析

    刘仁章:男,1989年生,博士,研究方向为格算法及格密码算法分析

    林东岱:男,1964年生,研究员,研究方向为密码学与安全协议、网络与系统安全、分布式密码计算

    通讯作者:

    张洋 zhangyang9091@iie.ac.cn

  • 中图分类号: TP309.7; O157.4

Fast Triangularization of Ideal Latttice Basis

  • 摘要:

    为了提高理想格上格基的三角化算法的效率,该文通过研究理想格上的多项式结构提出了一个理想格上格基的快速三角化算法,其时间复杂度为O(n3log2B),其中n是格基的维数,B是格基的无穷范数。基于该算法,可以得到一个计算理想格上格基Smith标准型的确定算法,且其时间复杂度也比现有的算法要快。更进一步,对于密码学中经常所使用的一类特殊的理想格,可以用更快的算法将三角化矩阵转化为格基的Hermite标准型。

  • 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标准型。

    本文用斜体粗体大写字母来表示矩阵,用粗体小写字母来表示行向量。对于矩阵AZn×m,在第i行、第j列的元素表示为aij,矩阵Ai行表示为Ai。一个整数矩阵的三角化矩阵用T来表示,且用HS分别表示该矩阵的Hermite标准型和Smith标准型。

    对于一个多项式f(x),其首项系数用lc(f)来表示,最高次数用deg(f)来表示。零多项式的次数定义为

    给定某个唯一分解整环上两个多项式f(x)g(x),判定它们的最大公因子的最高次数是否1是一个经典问题。为此,下面介绍两个多项式的结式,其定义如下。

    定义 1(结式) 令f(x)=fnxn+fn1xn1+···+f1x+f0, g(x)=gmxm+gm1xm1+···+g1x+g0为次数分别为nm的两个多项式。定义f(x)g(x)的Sylvester矩阵:

    Sylv(f(x),g(x))=[xm1f(x)xm2f(x)f(x)xn1g(x)xn2g(x)g(x)]=[fnfn1···f0fnfn1···f0fnfn1···f1f0gmgm1···g1g0gmgm1···g1g0gmgm1···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)αlrl2(x)αl+1rl1(x)  =ql(x)rl1(x)+rl(x)=ql+1(x)rl(x)}
    (1)

    这里deg(g)>deg(r1)>deg(r2)>···>deg(rl1)>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,···,l1,l,那么有如下性质。

    引理 1 令f(x), g(x)为次数分别为nm的两个多项式,这里n>m。令r1(x),r2(x),···,rl(x)为式(1)中定义的余式。若deg(r1)=ni,且ri(x)=si(x)f(x)+ti(x)g(x),则deg(si)=mni1<m,deg(ti)=nni1<n并且满足si(x)=αisi2(x)qi(x)si1(x), ti(x)=αiti2(x)qi(x)ti1(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)得到的余式,其中0il+1。定义整数j满足条件deg(rj)deg(r)<deg(rj1)。那么存在一个非零元素α(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)=m1。令0km<n,那么k不会出现在式(1)中余式序列的次数中当且仅当存在s(x)t(x)满足

    t(x)0,deg(s)<mk,deg(t)<nk,deg(sf+tg)<k
    (3)

    引理 4 对于f(x), g(x)Z[x],且满足deg(f)=n>deg(g)=m1。那么存在快速的扩展欧几里得算法可以O(n3log2B)时间内计算出Q[x]上的ri(x), si(x), ti(x),这里Bf(x)g(x)的系数上界。

    定义 2(格) 给定m个线性无关的向量,b1, b2, ···, bm,其中biRnBRm×n定义为Bi=bi。则由B生成的格L(B)定义为

    L(B)={mi=1xibi,xiZ}={xB:xZn}
    (4)

    则称B是格L(B)的一组基,其中mn分别称为格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,且满足

    (v1v2vr)=Ar×n(b1b2br)
    (5)

    则下列的条件是等价的:

    (1) 存在格向量ur+1, ur+2, ··· , un使得v1, v2, ···, vr, ur+1, ur+2, ···, unL的一组基;

    (2) A的所有r×r阶子式的最大公因子为1;

    (3) v1, v2, ···, vrLspan(v1,v2,···,vr)的一组基;

    (4) 存在一个矩阵PZn×n使得AP=[IrOr×(nr)]r×n

    (5) 存在一个矩阵BZ(nr)×n使得[AB]n×n是一个幺模矩阵。

    引理 6 令AZm×n,其中n>m。假设A可以通过添加(nm)个合适的行成为幺模矩阵。如果A的每一行都是一个格L的格向量,那么A可以扩充为L的一组基。

    由引理5可知,因为A可以扩充为一个幺模矩阵,则存在PZn×n使得A···P=(Im,0,···,0)n,其中等式右边有(nm)个0。假设L的一组基是BZn×n,其中mnn

    因为AL,所以存在矩阵UZm×n使得A=UB。所以AP=UBP=Im,0,···,0n。记P=BP然后将P分为两个部分,P1Zn×nP2Zn×(nn),即P=[P1|P2]。于是有

    U[P1|P2]=[UP1|UP2]=(Im,0,···,0)n
    (6)

    因为UP1=Zm×n, mn,所以UP1=(Im,0,···,0)n。则U可扩充为一个幺模矩阵。假设U=[UT|ˉUT]T是一个幺模矩阵,UB=[AT|ˉAT]TL的一组基。所以A可以扩充为L的一组基。

    理想格是定义在多项式环上的一类特殊的格,同时具有加法和乘法封闭的性质。一般来说,考虑环R=Z[x]/f(x),这里f(x)Z[x]是一个次数为n的首一多项式,f(x)表示f(x)在多项式环Z[x]中生成的理想。然后考虑式(7)的嵌入

    σ:RZnn1i=0aixi(an1,an2,···,a0)}
    (7)

    对于任何一个多项式v(x)R,用v来表示v(x)在嵌入σ下的像,并且将vv(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)=wn1xn1+wn2xn2+···+w0,那么v(x)=n1i=0wixig(x)modf(x)。于是每一个g(x)中的元素都可以由g(x)modf(x), xg(x)modf(x), ···, xn1g(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), ···, xn1g(x)modf(x)是线性无关的。否则存在不全为零的整系数a0, a1, ···,an1使得n1i=0aixig(x)modf(x)=0,即(n1i=0aixi)g(x)=0modf(x),而这说明g(x)f(x)并不是互素的,矛盾。所以此时由g(x)生成的理想格是满秩的。

    定义 5(本原格向量) 一个格向量vL如果是格L中的一个本原格向量当且仅当对任意的整数k>1v/kL

    定义 6(本原向量) 对于一个向量v=(v1,v2,···,vn)L,如果gcd(v1,v2,···,vn)=1,则称v是一个本原向量。

    定义 7(本原多项式) 一个多项式a(x)Z[x]称为本原多项式当且仅当对任意整数满足k>1都有a(x)/kZ[x]

    定义 8(容度) 给定一个多项式a(x)=anxn+an1xn1+···+a0Z[x],其容度定义为a(x)的各系数的最大公因子,即gcd(an,an1,···,a0),并将容度表示为cont(a(x))

    很明显,对于任意的多项式a(x)Z[x]a(x)/cont(a(x))是一个本原的多项式,称之为a(x)的本原部分。

    一个格向量v=xBL(B)是一个本原的格向量当且仅当x是一个本原向量。和在一般格中类似,在由g(x)R=Z[x]/f(x)生成的理想格中,一个格向量v(x)=t(x)g(x)modf(x)是本原的当且仅当t(x)是一个本原多项式。

    对于整数矩阵而言,Hermite标准型是一个非常重要的概念,其定义如下:

    定义 8(Hermite标准型) 一个非奇异的方阵HZn×n是Hermite标准型,如果满足如下条件:

    (1) hii>0, 1in;

    (2) hij>0, 1j<in;

    (3) 0hji<hii, 1j<in

    需要注意的是,这里只给出了Hermite标准型的一种定义,是作行变换得到一个上三角矩阵。根据是行列变换以及最后是上三角矩阵还是下三角矩阵,Hermite标准型会有不同的定义。

    对于高维随机生成的矩阵,其Hermite标准型的对角元素是非常不平衡的:大多数都很小(实际上大多数都为1),而且经常最后一个元素非常大,该类Hermite标准型通常会有密码学意义。由此定义如下一个非常特别的Hermite标准型:

    定义 8(简单Hermite标准型) 一个非奇异的方阵HZn×n是简单Hermite标准型当且仅当其是Hermite标准型且满足hii=1,其中1in1

    通常在格密码中选择具有简单Hermite标准型的格,可以使得计算更简单、密钥尺寸更小。

    对于整数矩阵而言,另一个重要的标准型是Smith标准型。其定义如下:

    定义 8(Smith标准型) 一个方阵SZn×n是Hermite标准型,如果满足如下条件:

    (1) sii|sjj, i<j

    (2) sij>0, ij

    文献[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=[h11h12h22h1nh2nhnn]
    (8)

    满足hii|h1j,对于1iljn

    由上所述,对于一个理想格而言,其格基的Hermite标准型的对角线构成了其Smith标准型。

    这节给出对于理想格L上格基快速三角化的算法,该算法可以在O(n3log2B)时间内完成,这里L是由g(x)R=Z[x]/f(x)生成的理想格,f(x)Z[x]上一个首一n次的不可约多项式,Bf(x)g(x)的系数上界(在本文中,不作特殊说明外,考虑g(x)为一个本原多项式)。本文算法包括两个步骤,首先利用扩展欧几里得算法计算出一系列次数递减的本原格向量,然后从这些格向量中构造出L的一个三角化格基。

    为了简单表达,先给出一些符号:对于由f(x)g(x)得到的余式序列表示为r1(x), r2(x), ···, rl(x)。将f(x)g(x)分别表示为r1(x)r0(x),余式的次数分别用ni来表示,即ni=deg(ri),且用δi来表示相邻次数之差,即δi=nini1,对于i=1,0,···,l1

    这节给出计算本原格向量序列的算法,该算法源于理想格上三角化和使用欧几里得算法来计算多项式的余式时情况很类似。表1给出了计算本原格向量序列的过程。

    表 1  本原格向量序列
     输入:Z[x]f(x)g(x),次数分别为nm,且n>m
        (1) 利用扩展欧几里得算法计算Q[x]ri(x), si(x),      ti(x),使得ri(x)=ri2(x)+qi(x)ri1(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)
    下载: 导出CSV 
    | 显示表格

    引理 8 令f(x)(x)Z[x]中次数分别为nm两个多项式,f(x)是首一不可约多项式且次数满足n>m。定义L是由g(x)R=Z[x]/f(x)生成的理想格。令Bf(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)的系数也必然为整数。

    这节说明怎么利用次数递减的本原格向量序列来对格基进行三角化。为了便于表述,将集合{1,2,···,n}划分为l个子集合:{nni1+1,nni1+2···,nni}=li=1Ii。具体算法如表2所示。

    表 2  理想格上格基的三角化
     输入:本原格向量序列,r0(x), r1(x), ···, rl(x)(向量形式为r0,
        r1, ···, rl)
        (1) 令T0n×n
        (2) 如果kIl,Tk(x)=rl(x)xnk,il1
        (3) 如果kIi
        (a) 计算ϕψ使得
          ϕlc(ri)+ψlc(Tnni+1)=gcd(lc(Tnni+1),
          lc(ri))
        (b) 令Tnni(x)=ϕri(x)+ψTnni+1(x)xδi
        (c) 如果lc(Tnni)=1,则令
          Tj(x)=Tnni(x)xnnij,
          j=1,2,···,nni,并结束循环
        (d) 否则Tk(x)=Tnni(x)xnnik, ii1
        (e) 如果i>0,到(3)开始循环,否则结束循环
     输出:T
    下载: 导出CSV 
    | 显示表格

    引理 9 令f(x)g(x)Z[x]中次数分别为nm两个多项式,f(x)是首一不可约多项式且次数满足n>m。定义L是由g(x)R=Z[x]/f(x)生成的理想格。那么存在一个确定性算法,输入表1算法中得到的本原格向量序列,输出L的一个三角化格基,运行时间为O(n3log2B),其中Bf(x)g(x)所有系数的上界。

    现在来分析表2算法的时间复杂度。根据Hadmard界,ri(x)的各系数的上界为(n+mB)n+m,所以ri(x)的系数由(n+mB)n+m界定。每一次迭代需要ni+ni+1+2O(nlog2B)比特数字的乘法,所以总的时间复杂度为l1i=0((ni+ni+1+2)O(nlog2B))=O(n3log2B)

    由于tnn为格L中的常数,且tnnxiL,其中i=0,1,···,n1。所以在进行表2算法时,实际可以在计算中通过模tnn来降低计算量,这种操作并不会增加总的时间复杂度。

    定理 1 令f(x)g(x)Z[x]中次数分别为nm两个多项式,f(x)是首一不可约多项式且次数满足n>m, Bf(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,其中ijkn,所以tii|Ti。然后利用矩阵的初等列变换可知T的对角线正好构成L上格基的Smith标准型。 证毕

    根据本文的算法,给出一个例子来形象地表示算法过程。假设f(x)=x8+x63x43x3+8x2+2x5, g(x)=3x6+5x44x29x+21。利用算法1,得到本原格向量如式(9)

    r0(x)=3x6+5x44x29x+21r1(x)=5x4+x23r2(x)=13x2+25x49r3(x)=9326x+12300r4(x)=130354}
    (9)

    这里n1=4, n2=2, n3=1, n4=0。然后利用算法2,得到

    T2(x)=x6+30596x5+591x4+2x29x+21T4(x)=x4+115056x3293x23T6(x)=x2+84353x49T7(x)=2x+72848T8(x)=130354}
    (10)

    于是一个三角化矩阵为

    T=[1843534900000018435349000000184353490000001843534900000018435349000000184353490000002728480000000130354]
    (11)

    并且Smith标准型为

    S=[100000000100000000100000000100000000100000000100000000200000000130354]
    (12)

    这一节说明怎么在O(n3log2B)时间内计算一类特殊的理想格的Hermite标准型。事实上,这一类特殊的理想格的Hermite标准型是具有简单形式的。

    同样,计算是基于文献[11]中发现的理想格的性质。对于具有简单Hermite标准型的理想格,其Hermite标准型可以隐式地由两个整数(d,r)来表示,其中d为理想格的行列式,r=h(n1)n。而唯一非平凡的列是最后一列,且hin=rnimodd,对于i=1,2,···,n1。所以最后一列可以在O(n3log2B)时间内平凡地计算出来。但是目前还不清楚对于Hermite标准型为一般形式的理想格怎么来加速计算过程,这也将是下一步的研究内容。

    本文通过利用理想格本身特殊的多项式结构,提出了一个新的算法可以在O(n3log2B)时间内对理想格格基进行三角化,并且利用理想格上Hermite标准型的特殊性质,同样可以在O(n3log2B)内计算出Smith标准型。最后,针对某一类应用于密码学的理想格,可以在O(n3log2B)时间内计算出Hermite标准型。

  • 表  1  本原格向量序列

     输入:Z[x]f(x)g(x),次数分别为nm,且n>m
        (1) 利用扩展欧几里得算法计算Q[x]ri(x), si(x),      ti(x),使得ri(x)=ri2(x)+qi(x)ri1(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)
    下载: 导出CSV

    表  2  理想格上格基的三角化

     输入:本原格向量序列,r0(x), r1(x), ···, rl(x)(向量形式为r0,
        r1, ···, rl)
        (1) 令T0n×n
        (2) 如果kIl,Tk(x)=rl(x)xnk,il1
        (3) 如果kIi
        (a) 计算ϕψ使得
          ϕlc(ri)+ψlc(Tnni+1)=gcd(lc(Tnni+1),
          lc(ri))
        (b) 令Tnni(x)=ϕri(x)+ψTnni+1(x)xδi
        (c) 如果lc(Tnni)=1,则令
          Tj(x)=Tnni(x)xnnij,
          j=1,2,···,nni,并结束循环
        (d) 否则Tk(x)=Tnni(x)xnnik, ii1
        (e) 如果i>0,到(3)开始循环,否则结束循环
     输出:T
    下载: 导出CSV
  • 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.
  • 加载中
表(2)
计量
  • 文章访问数:  3163
  • HTML全文浏览量:  1017
  • PDF下载量:  74
  • 被引次数: 0
出版历程
  • 收稿日期:  2019-09-19
  • 修回日期:  2019-11-15
  • 网络出版日期:  2020-01-01
  • 刊出日期:  2020-01-21

目录

/

返回文章
返回