1.一种基于格的密钥生成方法,其步骤包括:
1)选取公共参数:包括选取正整数p、q、m、n、k和d;其中1<p<q且p与q互素,d<q;选取整系数多项式f(x),并令环rq=zq[x]/f(x),环rp=zp[x]/f(x);zq为剩余类环,选取环rq上的分布χ、χ′;选取
2)生成一矩阵
3)计算
2.一种基于格的加密方法,其步骤包括:
1)选取公共参数:包括选取正整数p、q、m、n、k和d;其中1<p<q且p与q互素,d<q;选取整系数多项式f(x),并令环rq=zq[x]/f(x),环rp=zp[x]/f(x);zq为剩余类环,选取环rq上的分布χ、χ′;选取
2)生成一矩阵
3)计算
4)对于待加密的消息
5)发送方利用接收方公钥计算
6)发送方对矩阵c的各分量多项式的各系数对d求余数,将得到的余数多项式矩阵记为rem(c),并令w=rem(c)·d-1modp;然后计算得到
7)发送方对矩阵c的各分量多项式的各系数对d求商,将得到的商多项式矩阵记为c2=quo(c);然后输出密文(c1,c2)。
3.如权利要求1或2所述的方法,其特征在于,χ、χ′为离散高斯分布或者中心二项分布。
4.如权利要求1或2所述的方法,其特征在于,m=n=k=1。
5.如权利要求1或2所述的方法,其特征在于,对于剩余类环zq,当q为正偶数时选取
6.如权利要求2所述的方法,其特征在于,p(e1s-ve0-e2+ms′-ws′)+rem(c)-wd+md的各分量多项式的各系数以设定概率均落在区间
7.一种与权利要求2所述加密方法对应的解密方法,其步骤包括:
1)接收方对于收到的密文(c1,c2),通过计算c3=d·c2,对c2进行解压缩;
2)接收方利用自己的私钥s,计算m′=(c1s-c3modq)modp;
3)接收方输出恢复的明文m′·d-1modp。
8.一种基于格的加密系统,其特征在于,包括密钥生成单元、加密单元和解密单元;其中,
密钥生成单元,用于选取公共参数,包括选取正整数p、q、m、n、k和d;其中1<p<q且p与q互素,d<q;选取整系数多项式f(x),并令环rq=zq[x]/f(x),环rp=zp[x]/f(x);zq为剩余类环,选取环rq上的分布χ、χ′;选取
加密单元,用于对于待加密的消息m,生成一随机矩阵
解密单元,用于对于收到的密文(c1,c2),通过计算c3=d·c2,对c2进行解压缩;然后利用自己的私钥s,计算m′=(c1s-c3modq)modp,输出恢复的明文m′·d-1modp。
9.如权利要求8所述的系统,其特征在于,对于剩余类环zq,当q为正偶数时选取
10.如权利要求8所述的系统,其特征在于,χ、χ′为离散高斯分布或者中心二项分布;m=n=k=1;多项式p(e1s-ve0-e2+ms′-ws′)+rem(c)-wd+md的各系数以设定概率均落在区间