发明名称 一种公钥认证加密方法及数字签名方法
摘要 本发明涉及信息安全技术领域,尤其涉及一种公钥认证加密方法及数字签名方法。本发明采用多变量公钥密码系统为主体部分、结合哈希函数认证技术,通过二者有效化合来提供双重安全性保护,运用此方案加密或数字签名时,具有实现效率高、不需要密码算法协处理器、高度安全性、抗量子计算机的攻击等优点,在智能卡、无线传感网络等安全领域、比传统公钥密码算法如RSA、ECC等有优势。本发明提供的方法可广泛应用于网络安全、电子商务、票据以及身份认证等信息安全系统领域。
申请公布号 CN101834724A 申请公布日期 2010.09.15
申请号 CN201010162304.X 申请日期 2010.04.27
申请人 武汉大学 发明人 王后珍;张焕国
分类号 H04L9/30(2006.01)I;H04L9/32(2006.01)I 主分类号 H04L9/30(2006.01)I
代理机构 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人 张火春
主权项 一种公钥认证加密方法,其特征在于,包括以下步骤:(I)系统建立:选择一个输出至少160位的标准哈希函数H(·)和有限域GF(q),其中q=2k、整数k小于哈希函数H(·)的输出值长度;根据用户安全性需求指定整数参数n、δ和μ的值(0<μ<δ<n);随机选取GF(q)上的n维仿射双射变换U、n+μ维仿射双射变换T以及n维可逆多变量二次非线性变换F,其中F表示为:(t1…,tn)=F(z1,…,zn)=(f1(z1…,zn),…,fn(z1…,zn))其中,fi为n元二次多项式函数,形式如下: <mrow> <msub> <mi>f</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>z</mi> <mn>1</mn> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>z</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mi>&Sigma;</mi> <mrow> <mn>1</mn> <mo>&le;</mo> <mi>j</mi> <mo>&le;</mo> <mi>k</mi> <mo>&le;</mo> <mi>n</mi> </mrow> </munder> <msub> <mi>c</mi> <mi>ijk</mi> </msub> <msub> <mi>z</mi> <mi>j</mi> </msub> <msub> <mi>z</mi> <mi>k</mi> </msub> <mo>+</mo> <munder> <mi>&Sigma;</mi> <mrow> <mn>1</mn> <mo>&le;</mo> <mi>j</mi> <mo>&le;</mo> <mi>n</mi> </mrow> </munder> <msub> <mi>b</mi> <mi>ij</mi> </msub> <msub> <mi>z</mi> <mi>j</mi> </msub> <mo>+</mo> <msub> <mi>a</mi> <mi>i</mi> </msub> </mrow>将非线性变换F扩展为加密方案的中心映射F′:随机选取μ个形如fi的n元二次多项式tn+i=fn+i(z1,…,zn),(1≤i≤μ)连接到F后构成F′;构造基于哈希函数H(·)的可逆压缩变换L:(y1,…,yn)←(χ1,…,χn,χn+1,…,χn+δ), <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>&alpha;</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>&delta;</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>&delta;</mi> </mrow> </msub> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>&delta;</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>&beta;</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>&delta;</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>&delta;</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>&delta;</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>&delta;</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>-</mo> <mi>&delta;</mi> </mrow> </munderover> <msub> <mi>a</mi> <mrow> <mn>1</mn> <mi>j</mi> </mrow> </msub> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>+</mo> <msub> <mi>&beta;</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>&delta;</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <mo>&CenterDot;</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>n</mi> </msub> <mo>=</mo> <msub> <mi>&alpha;</mi> <mi>n</mi> </msub> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>+</mo> <msub> <mi>&alpha;</mi> <mrow> <mi>n</mi> <mo>+</mo> <mi>&delta;</mi> </mrow> </msub> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mo>+</mo> <mi>&delta;</mi> </mrow> </msub> <mo>+</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>a</mi> <mi>&delta;j</mi> </msub> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>+</mo> <msub> <mi>&beta;</mi> <mi>n</mi> </msub> </mtd> </mtr> </mtable> </mfenced>其中χn+i=Hk(χ1||χ2||…||χn-δ+i-1),1≤i≤δ、Hk(·)表示取H(·)输出值的前k位、“||”表示将两个比特串连接起来、系数αi≠0(1≤i≤n+δ),其它系数为随机选取;系统的公钥为上述4个映射T、F′、U和L的复合,即G′=TоF′оU оL,公钥G′是有限域GF(q)上n+δ输入变量、n+μ输出的二次多项式方程组,私钥为映射T、F′、U以及L的相应逆变换组成,即D={U-1,T-1,F-1,L-1};(II)用公钥加密过程:假设要加密的明文已编码为(χ1,…,χn),然后利用哈希函数结合上述方法将其扩展为(χ1,…,χn+δ)、并代入公钥方程G′,得到相应的密文(y1,…,yn+μ);(III)用私钥解密过程包括4个子步骤:(1)用私钥T-1计算得到(t1…,tn+μ)=T-1(y1…,yn+μ),然后丢掉加密时是增加的μ个冗余信息tn+1,…,tn+μ。(2)用私钥F-1计算得到(z1,…,zn)=F-1(t1,…,tn);(3)用私钥U-1计算得到(h1,…,hn)=U-1(z1,…,zn);(4)用私钥L-1计算便可得到相应明文(χ1…,χn)=L-1(h1,…,hn)。
地址 430072 湖北省武汉市武昌珞珈山