1.一种抵抗密钥恢复攻击的多变量签名方法,其特征在于,包括以下步骤:步骤1,选择系统参数
取一个有限域 正整数n和m,的n次扩域记为 的m次扩域记为 取 到 上的一组多变量二次多项式方程q1(x1,…,xn),…,qm(x1,…,xn),记为Q,则Q就表示多变量公钥密码体制的中心映射,其中输入变量为n个,输出变量为m个,用Q-1表示多项式Q的逆多项式,Q-1为合法用户所有,另取 和 上可逆仿射变换S和T为秘密钥,其逆多项式分别记为S-1和T-1,再随机选取 上的一组n个n元二次多变量多项式方程组(g1(x1,…,xn),…,gn(x1,…,xn)),该多项式向量记为G,即G(x1,…,xn)=(g1(x1,…,xn),…,gn(x1,…,xn)),以及两个单向不可逆的多项式方程组H和 用户的秘密钥由S、T、G三部分构成,H和 为可信第三方秘密选取,但仅用于公钥的产生,其中G的逆多项式表示为G-1,对应的公钥由五个多项式构成,分别为: 其中运算符表示运算的合成,即从右向左依次进行代入计算;
步骤2,签名的产生
已知消息M的编码为向量(u1,…,um),记做u,签名按以下步骤生成签名:(2.1)产生前向签名
-1 -1
(2.1a)由秘密钥T ,将消息M的编码u=(u1,…,um)代入到T 中,得到(y1,…,ym),记为y;
(2.1b)将所得结果y代入到中心映射Q的逆变换Q-1中,得到(x1,…,xn),记为x;
(2.1c)将所得结果x代入到秘密钥S的逆S-1中,得到(v1,…,vn),记为v,则v即为消息M的编码u的前向签名;
(2.2)产生后向签名
(2.2a)将所得结果x代入到秘密钥G中,得到G(x1,…,xn)=(g1(x1,…,xn),…,gn(x1,…,xn))=(g1,…,gn),记为g;
(2.2b)将所得结果g代入到秘密钥S的逆S-1中,得到记为vg,则vg即为消息M的编码u的后向签名;
(2.3)前向签名和后向签名的级联v||vg即为消息M的编码u的签名;
步骤3,签名的验证
(3.1)利用公钥P进行验证
(3.1a)将前向签名v=(v1,…,vn)代入公钥P中,得到P(v1,…,vn)=(p1(v1,…,vn),…,pm(v1,…,vn)),其结果记为u′=(u′1,…,u′n);
(3.1b)判断u′是否和原消息M的编码u相等;
(3.2)利用公钥 和 进行验证
( 3 .2a )将 前向 签 名v =( v 1 ,… ,v n )代 入到 公钥 中 ,得 到其结果记为h=(h1,…,hn);
(3.2b)将后向签名vg=(vg1,…,vgn)代入到公钥 中,得到其结果记为h′=(h′1,…,
h′n);
(3.2c)判断h和h′是否相等;
(3.3)利用公钥 和 进行验证
(3.3a)对消息M的编码u,将u代入公钥 得到 其结果记为
(3.3b)对后向签名vg,将vg代入公钥 得到
其结果记为
(3.3c)判断 和 是否相等;
若(3.1b)、(3.2c)和(3.3c)均成立时,则v||vg即为消息M的编码u的合法签名,否则为无效签名,拒绝。
2.根据权利要求1所述抵抗密钥恢复攻击的多变量签名方法,其特征在于,所述步骤1中,S、T、G均为可逆仿射变换。