发明名称 |
一种公钥认证加密方法及数字签名方法 |
摘要 |
本发明涉及信息安全技术领域,尤其涉及一种公钥认证加密方法及数字签名方法。本发明采用多变量公钥密码系统为主体部分、结合哈希函数认证技术,通过二者有效化合来提供双重安全性保护,运用此方案加密或数字签名时,具有实现效率高、不需要密码算法协处理器、高度安全性、抗量子计算机的攻击等优点,在智能卡、无线传感网络等安全领域、比传统公钥密码算法如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>Σ</mi> <mrow> <mn>1</mn> <mo>≤</mo> <mi>j</mi> <mo>≤</mo> <mi>k</mi> <mo>≤</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>Σ</mi> <mrow> <mn>1</mn> <mo>≤</mo> <mi>j</mi> <mo>≤</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>α</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>β</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mo>·</mo> </mtd> </mtr> <mtr> <mtd> <mo>·</mo> </mtd> </mtr> <mtr> <mtd> <mo>·</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>δ</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>α</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>δ</mi> </mrow> </msub> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>δ</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>β</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>δ</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>δ</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>α</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>δ</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>δ</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>α</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>Σ</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>-</mo> <mi>δ</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>β</mi> <mrow> <mi>n</mi> <mo>-</mo> <mi>δ</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>·</mo> </mtd> </mtr> <mtr> <mtd> <mo>·</mo> </mtd> </mtr> <mtr> <mtd> <mo>·</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>n</mi> </msub> <mo>=</mo> <msub> <mi>α</mi> <mi>n</mi> </msub> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>+</mo> <msub> <mi>α</mi> <mrow> <mi>n</mi> <mo>+</mo> <mi>δ</mi> </mrow> </msub> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mo>+</mo> <mi>δ</mi> </mrow> </msub> <mo>+</mo> <munderover> <mi>Σ</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>δj</mi> </msub> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>+</mo> <msub> <mi>β</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 湖北省武汉市武昌珞珈山 |