主权项 |
一种多变量公钥加密方法,其特征在于,包括如下步骤:(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>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>)。 |