发明名称 一种多变量公钥加密方法
摘要 本发明公开了一种多变量公钥加密方法。在密钥生成过程中,采用迭代方法构造矩阵,大大缩短了密钥的长度,便于密钥管理;采用概率加密,在加密中引入随机参数,解密方必须通过解密过程求解出该随机参数,并参与明文的解密,只有知道随机参数的大小才能正确解密明文,增加了攻击者破解密文的难度,即使在公钥相同的情况下密文也是不同的,公钥能以类似电话号码的形式公布,提高了加密安全性;基于组合优化困难问题和多变量二次多项式问题,能抵抗量子计算机的攻击,加解密速度快,能够运用于移动终端,如手机等;基于有限域上的运算,简化了运算过程;具有加法同态和减法同态,在特殊条件下具有乘法同态,能应用于云计算等新兴领域。
申请公布号 CN103973439B 申请公布日期 2017.03.08
申请号 CN201410192418.7 申请日期 2014.05.08
申请人 华中科技大学 发明人 王祖喜;胡汉平;余百慕;邓涯双
分类号 H04L9/30(2006.01)I 主分类号 H04L9/30(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 廖盈春
主权项 一种多变量公钥加密方法,其特征在于,包括如下步骤:(1)生成密钥,进一步包括如下步骤:选取有限域Z及有限域Z中的k个整数p<sub>1</sub>,p<sub>2</sub>,…,p<sub>i</sub>,…,p<sub>k</sub>,其中,i为不大于k的正整数;在有限域Z上选取如下整数:(β<sub>11</sub>,β<sub>12</sub>),(β<sub>21</sub>,β<sub>22</sub>),…,(β<sub>i1</sub>,β<sub>i2</sub>),…,(β<sub>k1</sub>,β<sub>k2</sub>)和(x<sub>1</sub>,x<sub>2</sub>,…,x<sub>i</sub>,…,x<sub>k</sub>);构造与(β<sub>11</sub>,β<sub>12</sub>),(β<sub>21</sub>,β<sub>22</sub>),…,(β<sub>i1</sub>,β<sub>i2</sub>),…,(β<sub>k1</sub>,β<sub>k2</sub>)和p<sub>1</sub>,p<sub>2</sub>,,p<sub>i</sub>,…,p<sub>k</sub>相关的两组参数a<sub>11</sub>,a<sub>21</sub>,…,a<sub>i1</sub>,…,a<sub>k1</sub>和a<sub>12</sub>,a<sub>22</sub>,…,a<sub>i2</sub>,…,a<sub>k2</sub>,使a<sub>i1</sub>和a<sub>i2</sub>的二进制长度相同;构造k×n维满秩矩阵A=(a<sub>ij</sub>),j=1,…,n,其中,j&gt;2时,<img file="FDA0001115581410000011.GIF" wi="731" he="92" />构造矩阵K<sub>l×k</sub>和矩阵D<sub>k×l</sub>,使其满足D·K=λ·E<sub>k×k</sub>,且k≥l,其中,E<sub>k×k</sub>是单位矩阵,λ为任意非零整数;计算矩阵C=K·A=(c<sub>yj</sub>),y=1,...,l,选取正整数h,0<h<n,确定随机参数ε的取值范围[1,e],其中,<img file="FDA0001115581410000012.GIF" wi="284" he="133" />t为任意正整数;选取l个整数P<sub>1</sub>,...,P<sub>l</sub>,满足不等式<img file="FDA0001115581410000013.GIF" wi="710" he="393" />得到P<sub>1</sub>,...,P<sub>l</sub>的最小公倍数N;求解同余方程组<img file="FDA0001115581410000014.GIF" wi="410" he="262" />得到向量d=(d<sub>1</sub>,d<sub>2</sub>,…,d<sub>j</sub>,…,d<sub>n</sub>);将d和h一起作为公钥,或者将d、h和N一起作为公钥,对应的私钥至少包括(x<sub>1</sub>,x<sub>2</sub>,…,x<sub>i</sub>,…,x<sub>k</sub>)、p<sub>1</sub>,p<sub>2</sub>,…,p<sub>i</sub>,…,p<sub>k</sub>、P<sub>1</sub>,...,P<sub>l</sub>、(β<sub>11</sub>,β<sub>12</sub>),(β<sub>21</sub>,β<sub>22</sub>),…,(β<sub>i1</sub>,β<sub>i2</sub>),…,(β<sub>k1</sub>,β<sub>k2</sub>)和D;(2)用公钥加密,进一步包括如下步骤:获取明文M=(m<sub>1</sub>,…,m<sub>n</sub>),选定随机参数ε;用步骤(1)得到的公钥以概率加密的方式对明文进行加密,得到密文C;(3)用私钥解密,进一步包括如下步骤:求解同余方程组<img file="FDA0001115581410000021.GIF" wi="403" he="260" />计算[S<sub>A1</sub> … S<sub>Ak</sub>]<sup>T</sup>=D[C<sub>P1</sub> … C<sub>Pl</sub>]<sup>T</sup>;通过解密方法或者同步方法获取随机参数ε;通过(S<sub>A1</sub>,…,S<sub>Ak</sub>)和随机参数ε求解得到明文M=(m<sub>1</sub>,…,m<sub>n</sub>)。
地址 430074 湖北省武汉市洪山区珞喻路1037号