一种签名验证的方法及设备的制作方法

文档序号:8000292阅读:180来源:国知局
一种签名验证的方法及设备的制作方法
【专利摘要】本发明实施例公开了一种签名验证的方法,所述方法通过密钥生成者PKG根据陷门抽样算法生成所述PKG的公钥A和所述PKG的密钥T;PKG根据固定维数的格代理算法、签名者身份ID、所述PKG的公钥A和所述PKG的密钥T生成所述签名者的公钥ARi和所述签名者的密钥TID;签名者服务器根据原像抽样函数、所述签名者的密钥Tid、所述签名者的公钥ARg、所述指定验证者的公钥B生成指定验证者签名e,并对所述签名e进行加密;指定验证者服务器根据所述指定验证者的密钥\和加密后的签名得到所述签名e,并对所述签名进行验证。在实现算法由公钥环境向基于身份环境扩展的同时,也提高了签名算法的效率。另外,计算量更小,签名长度更短,从而实现较高的效率。
【专利说明】一种签名验证的方法及设备

【技术领域】
[0001] 本发明涉及算法领域,尤其涉及到一种签名验证的方法及设备。

【背景技术】
[0002] 指定验证者签名要求只有指定的验证者能够确定签名者事实上生成了该签名,而 任何第三方都无法验证该签名。不仅如此,指定的验证者也无法使得任何第三方相信该签 名来自签名者。这是因为指定验证者本人也能生成一个与真实指定验证者签名不可区分的 签名。不过,指定验证者签名容易遭受在线的窃听攻击。因为,在线窃听攻击下,第三方有 可能在指定验证者之前就得到了签名者签署的签名,由于第三方确定在指定验证者之前得 到的签名,因而第三方确信该签名是由签名者签署的。强指定验证者签名能够较好的抵御 这种在线攻击,实现上述签名要求。因为,在强指定验证者签名中,签名信息被有效的保护, 只有拥有指定验证者密钥的人才能获得真实的签名信息,第三方只能得到一组近似随机的 数据,这样,即使第三方通过在线窃听在签名者之前得到签名,在第三方看来这些签名是随 机的数字,第三方甚至不清楚该随机的数字包含签名信息。
[0003] 指定验证者签名在版权保护、合同签署等电子商务领域存在广泛的应用。例如,在 电子合同签署领域,两家公司在签署正式合同之前,需要经过多次秘密协商以确定合同条 款。在进行合同草本的协商过程中,合同的双方并不希望将协商的内容公开,或者让另一方 将与本方的合同草本提供给本方的竞争者以获取更高的报价等,同时还要求合同的另一方 完全能够确认本方的利益主张。在这样的应用环境下指定验证者签名能够提供现实需要的 安全防护。合同的双方分别作为强指定验证者签名的签名者和指定验证者。通过强指定验 证者签名方案,能够实现双方安全、隐私的合同草本的协商。
[0004] 2012年,Wang等基于盆景树算法构造了一个基于格工具的强指定验证者签名方 案,并实现了随机预言机模型下的不可伪造性证明。然而该方案是在公钥环境下设计和构 造的,方案自身依赖于公钥证书的使用,这使得方案的实用性较差。因为在公钥环境下,用 户的公钥证书都是由一个证书发放机构发放的,该机构要负责用户公钥的注册及维护。当 用户过多时,该机构的工作效率降低可能影响用户的效率。同时用户的公钥证书还存在过 期、被伪造等安全问题。总之,证书发放机构自身的安全问题及效率问题可能成为公钥基础 设施的应用瓶颈。


【发明内容】

[0005] 本发明实施例提供了一种签名验证的方法,旨在一定程度上解决强指定验证者签 名依赖公钥证书而引起的应用性较差的问题。
[0006] 第一方面,一种签名验证的方法,所述方法包括:
[0007] 密钥生成者PKG根据第一预先设置的算法生成所述PKG的公钥A和所述PKG的密 钥T ;
[0008] 所述PKG根据第二预先设置的算法、签名者身份ID、所述PKG的公钥A和所述PKG 的密钥T生成所述签名者的公钥

【权利要求】
1. 一种签名验证的方法,其特征在于,所述方法包括: 密钥生成者PKG根据第一预先设置的算法生成所述PKG的公钥A和所述PKG的密钥T ; 所述PKG根据第二预先设置的算法、签名者身份ID、所述PKG的公钥A和所述PKG的密 钥T生成所述签名者的公钥
和所述签名者的密钥TID ; 所述PKG根据所述第二预先设置的算法和指定验证者身份ID生成所述指定验证者的 公钥B和指定验证者的密钥TB ; 签名者服务器根据原像抽样函数、所述签名者的密钥TID、所述签名者的公钥
、所 述指定验证者的公钥B生成指定验证者签名e,并对所述签名e进行加密,得到加密后的签 名; 指定验证者服务器根据所述指定验证者的密钥TB和所述加密后的签名计算得到所述 签名e,并对所述签名e进行验证。
2. 根据权利要求1所述的方法,其特征在于,所述签名者服务器根据原像抽样函数、所 述签名者的密钥TID、所述签名者的公钥
、所述指定验证者的公钥B生成指定验证者签 名e,包括: 随机选择向量
5计算H2(M, r);其中,所述安全Hash函数H2映射
,消 息
,安全参数
,安全参数η为素数; 随机选择一个新向量
以满足
5其中,高斯参数
参数限
利用原像抽样函数通过所述签名者的密钥TID计算
以满足
7 令
则e为所述消息的指定验证者签名; 所述对所述签名e进行加密,得到加密后的签名,包括: 随机选择向量
其中,安全hash函数H3映射
按照错误分布
抽取错误向量
,计算
加密后的签名为(σ , r, y)。
3. 根据权利要求2所述的方法,其特征在于,所述根据所述指定验证者的密钥TB和所 述加密后的签名计算得到所述签名e,并对所述签名进行验证,包括: 根据加密后的签名中的y、TB及
,求解X,并根据y=BTt+x(modq)求解
根据t计算H3(M,t),并根据加密后的签名中的〇和比此〇计算e=〇_H 3(M,t) (modq);
,则验证成功。
4. 根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括: 指定验证者服务器根据原像抽样函数、所述指定验证者的密钥TB、所述签名者的公钥
、所述指定验证者的公钥B生成指定验证者签名e,并对所述签名e进行加密; 所述指定验证者服务器根据原像抽样函数、所述指定验证者的密钥TB、所述签名者的 公钥
、所述指定验证者的公钥B生成指定验证者签名e,包括: 随机选择向量
,计算H2 (M, r);

随机选择一个新向量 满足 9 Λ 将ΤΒ作为密钥输入原像抽样函数,并根据所述签名者的公钥
计算
满足

,则e为指定验证者签名; 所述对所述签名e进行加密,得到加密后的签名,包括: 随机选择向量
丨 J 7 按照错误分布
抽取错误向量
计算
加密后的签名副本为(σ,r, y)。
5. -种签名验证的方法,其特征在于,所述方法包括: 密钥生成者PKG根据第一预先设置的算法生成所述PKG的公钥A和所述PKG的密钥T ; 所述PKG根据第二预先设置的算法、和签名者所在系统的每一个签名者ID、所述PKG的 公钥A和所述PKG的密钥T生成所述每一位签名者所在系统的系统公钥和所述所述签名者 的密钥TID ; 所述PKG根据所述第二预先设置的算法和指定验证者身份ID生成所述指定验证者的 公钥B和指定验证者的密钥TB ; 签名者服务器根据原像抽样函数、所述签名者的密钥TID、所述签名者所在系统的系统 公钥、所述指定验证者的公钥B生成指定验证者签名e,并对所述签名e进行加密,得到加密 后的签名; 指定验证者服务器根据所述指定验证者的密钥TB和所述加密后的签名计算得到所述 签名e,并对所述签名e进行验证。
6. 根据权利要求5所述的方法,其特征在于,所述PKG根据第二预先设置的算法、和签 名者所在系统的每一个签名者ID、所述PKG的公钥A和所述PKG的密钥T生成所述每一位 签名者所在系统的系统公钥或者所述所述签名者的密钥T ID,包括: PKG根据第二预先设置的算法、所述PKG的公钥A、所述PKG的密钥T和所述签名者身 份ID生成所述签名者的公钥AR,及所述签名者的密钥
; 将所述签名者所在系统的每一个签名者的公钥级联得到所述签名者所在系统的系统 公钥j
,其中k代表所述签名者所在系统的签名者个数。
7. 根据权利要求6所述的方法,其特征在于,所述签名者服务器根据原像抽样函数、所 述签名者的密钥
、所述签名者所在系统的系统公钥、所述指定验证者的公钥B生成指定 验证者签名e,包括: 随机选择向量
,计算H2 (M, t),其中,所述安全Hash函数H2映射
,消 息
,安全参数
,安全参数η为素数;

随机选择向量 以满足 其中,高斯参数 参数限 ? 5 5
利用原像抽样函数通过所述签名者的密钥TID计算
满足
令eT为所有
的级联,其中j=〇, 1,…,k,则e为所述消息的指定验证者签名; 所述对所述签名e进行加密,得到加密后的签名,包括: 随机选择向量
,其中,安全hash函数H3映射

按照错误分布
抽取错误向量
,计算
加密后的签名为(σ,r, t)。
8. 根据权利要求7所述的方法,其特征在于,所述根据所述指定验证者的密钥TB和所 述加密后的签名计算得到所述签名e,并对所述签名进行验证,包括: 根据加密后的签名中的1"、\及
,求解X,并根据
求解
根据r'计算H3 (M,r'),并根据加密后的签名中的σ和H3 (M,r')计算e= σ -H3 (M,r') (modq);
,则验证成功。
9. 根据权利要求5-8任意一项所述的方法,其特征在于,所述方法还包括: 指定验证者服务器根据原像抽样函数、所述指定验证者的密钥TB、所述签名者所在系 统的系统公钥、所述指定验证者的公钥B生成指定验证者签名e,并对所述签名e进行加 密; 所述根据原像抽样函数、所述指定验证者的密钥TB、所述签名者所在系统的系统公钥、 所述指定验证者的公钥B生成消息的模拟指定验证者签名e,包括: 随机选择向量
,计算H2 (M, t); 随机选择向量
利用原像抽样函数计算?e 6 Γ满足
9 令eT为所有
的级联,其中j=〇,l,一,k。则e为指定验证者签名; 所述对所述签名e进行加密,包括: 随机选择向量·
5计算
按照错误分布
抽取错误向量
计算
加密后的签名副本为(σ,r, t)。
10. -种签名验证的方法,其特征在于,所述方法包括: 密钥生成者PKG根据第一预先设置的算法生成所述PKG的公钥A和所述PKG的密钥T ; 根据第二预先设置的算法、签名者身份ID、所述PKG的公钥A和所述PKG的密钥T生成 所述签名者的公钥
和所述签名者的密钥TID ; 根据所述第二预先设置的算法和指定验证者身份ID生成所述指定验证者的公钥B和 指定验证者的密钥TB,以使得签名者服务器根据原像抽样函数、所述签名者的密钥TID、所述 签名者的公钥
、所述指定验证者的公钥B生成指定验证者签名e,并对所述签名e进行 加密,得到加密后的签名,以及使得指定验证者服务器根据所述指定验证者的密钥TB和所 述加密后的签名计算得到所述签名e,并对所述签名e进行验证。
11. 一种签名验证的方法,其特征在于,所述方法包括: 密钥生成者PKG根据第一预先设置的算法生成所述PKG的公钥A和所述PKG的密钥T ; 根据第二预先设置的算法、和签名者所在系统的每一个签名者ID、所述PKG的公钥A 和所述PKG的密钥T生成所述每一位签名者所在系统的系统公钥和所述所述签名者的密钥 TlD ; 根据所述第二预先设置的算法和指定验证者身份ID生成所述指定验证者的公钥B和 指定验证者的密钥TB,以使得签名者服务器根据原像抽样函数、所述签名者的密钥TID、所述 签名者所在系统的系统公钥、所述指定验证者的公钥B生成指定验证者签名e,并对所述签 名e进行加密,得到加密后的签名;以及,使得指定验证者服务器根据所述指定验证者的密 钥T B和所述加密后的签名计算得到所述签名e,并对所述签名e进行验证。
12. -种签名验证的系统,其特征在于,所述系统包括: 密钥生成者PKG,签名者服务器,指定验证者服务器; 所述PKG根据第一预先设置的算法生成所述PKG的公钥A和所述PKG的密钥T ;根据第 二预先设置的算法、签名者身份ID、所述PKG的公钥A和所述PKG的密钥T生成所述签名者 的公钥
和所述签名者的密钥TID ;根据所述第二预先设置的算法和指定验证者身份ID 生成所述指定验证者的公钥B和指定验证者的密钥TB ; 所述签名者服务器根据原像抽样函数、所述签名者的密钥TID、所述签名者的公钥
、所述指定验证者的公钥B生成指定验证者签名e,并对所述签名e进行加密,得到加 S后的签名; 所述指定验证者服务器根据所述指定验证者的密钥TB和所述加密后的签名计算得到 所述签名e,并对所述签名e进行验证。
13. 根据权利要求12所述的系统,其特征在于,所述签名者服务器执行步骤根据原像 抽样函数、所述签名者的密钥TID、所述签名者的公钥·
、所述指定验证者的公钥B生成指 定验证者签名e,包括: 随机选择向量
,计算Η2 (Μ, r);其中,所述安全Hash函数H2映射
,消 息M e (〇, 1)%安全参数
,安全参数η为素数; 随机选择一个新向量
> 以满足
,其中,高斯参数
,参数限
利用原像抽样函数通过所述签名者的密钥TID计算
以满足

,则e为所述消息的指定验证者签名; 所述对所述签名e进行加密,得到加密后的签名,包括: 随机选择向量
,计算
,其中,安全hash函数H3映射
'丨 按照错误分布
抽取错误向量
,计算σ =e+H3 (M, t) (modq),y=BTt+x (modq); 加密后的签名为(σ,r, y)。
14. 根据权利要求13所述的系统,其特征在于,所述指定者服务器执行步骤根据所述 指定验证者的密钥TB和所述加密后的签名计算得到所述签名e,并对所述签名进行验证,包 括: 根据加密后的签名中的y、TB及
,求解X,并根据y=BTt+x(modq)求解
根据t计算H3(M,t),并根据加密后的签名中的〇和比此〇计算e=〇_H 3(M,t) (modq);
,则验证成功。
15. 根据权利要求12-14任意一项所述的系统,其特征在于,所述系统中的指定验证者 服务器还用于: 指定验证者服务器根据原像抽样函数、所述指定验证者的密钥TB、所述签名者的公钥
、所述指定验证者的公钥B生成指定验证者签名e,并对所述签名e进行加密; 所述指定验证者服务器根据原像抽样函数、所述指定验证者的密钥TB、所述签名者的 公钥j
、所述指定验证者的公钥B生成指定验证者签名e,包括: 随机选择向量
,计算H2 (M, r); 随机选择一个新向量
5满足
将TB作为密钥输入原像抽样函数,并根据所述签名者的公钥
计算
满足
令e2T),则e为指定验证者签名; 所述对所述签名e进行加密,得到加密后的签名,包括: 随机选择向量
按照错误分布
抽取错误向量
计算σ =e+H3 (M, t) (modq),y=BTt+x (modq); 加密后的签名副本为(σ,r, y)。
16. -种签名验证的系统,其特征在于,所述系统包括: 密钥生成者PKG,签名者服务器,指定验证者服务器; 所述PKG,用于根据第一预先设置的算法生成所述PKG的公钥A和所述PKG的密钥T ; 根据第二预先设置的算法、和签名者所在系统的每一个签名者ID、所述PKG的公钥A和所述 PKG的密钥T生成所述每一位签名者所在系统的系统公钥和所述所述签名者的密钥TID ;根 据所述第二预先设置的算法和指定验证者身份ID生成所述指定验证者的公钥B和指定验 证者的密钥TB ; 所述签名者服务器,用于根据原像抽样函数、所述签名者的密钥TID、所述签名者所在系 统的系统公钥、所述指定验证者的公钥B生成指定验证者签名e,并对所述签名e进行加密, 得到加密后的签名; 所述指定验证者服务器,用于根据所述指定验证者的密钥TB和所述加密后的签名计算 得到所述签名e,并对所述签名e进行验证。
17. 根据权利要求16所述的系统,其特征在于,所述PKG执行步骤根据第二预先设置的 算法、和签名者所在系统的每一个签名者ID、所述PKG的公钥A和所述PKG的密钥T生成所 述每一位签名者所在系统的系统公钥或者所述所述签名者的密钥T ID,包括: PKG根据第二预先设置的算法、所述PKG的公钥A、所述PKG的密钥T和所述签名者身 份ID生成所述签名者的公钥AR,及所述签名者的密钥
; 将所述签名者所在系统的每一个签名者的公钥级联得到所述签名者所在系统的系统 公钥
,其中k代表所述签名者所在系统的签名者个数。
18. 根据权利要求17所述的系统,其特征在于,所述签名者服务器执行步骤根据原像 抽样函数、所述签名者的密钥
、所述签名者所在系统的系统公钥、所述指定验证者的公 钥B生成指定验证者签名e,包括: 随机选择向量
,计算H2(M, t),其中,所述安全Hash函数H2映射
,消 息M e (〇, 1)%安全参数
,安全参数η为素数; 随机选择向量
以满足
5其中,高斯参数
参数限
利用原像抽样函数通过所述签名者的密钥TID计算
满足
令eT为所有
的级联,其中j=〇, 1,…,k,则e为所述消息的指定验证者签名; 所述对所述签名e进行加密,得到加密后的签名,包括: 随机选择向量
,计算
5其中,安全hash函数H3映射

按照错误分布
抽取错误向量
计算
加密后的签名为(σ,r, t)。
19. 根据权利要求18所述的系统,其特征在于,所述指定验证者服务器执行步骤,所述 根据所述指定验证者的密钥TB和所述加密后的签名计算得到所述签名e,并对所述签名进 行验证,包括: 根据加密后的签名中的r、1及
,求解X,并根据
求解
根据r'计算H3 (M,r'),并根据加密后的签名中的〇和H3 (M,r')计算e= 〇 -H3 (M,r') (modq);
.则验证成功。
20. 根据权利要求16-19任意一项所述的系统,其特征在于,所述指定验证者服务器还 用于: 指定验证者服务器根据原像抽样函数、所述指定验证者的密钥TB、所述签名者所在系 统的系统公钥、所述指定验证者的公钥B生成指定验证者签名e,并对所述签名e进行加 密; 所述根据原像抽样函数、所述指定验证者的密钥TB、所述签名者所在系统的系统公钥、 所述指定验证者的公钥B生成消息的模拟指定验证者签名e,包括: 随机选择向量
.计算H2 (M, t); 随机选择向量
利用原像抽样函数计算
满足
? 令eT为所有
的级联,其中j=〇,l,一,k。则e为指定验证者签名; 所述对所述签名e进行加密,包括: 随机选择向量
按照错误分布抽取错误向量

加密后的签名副本为(σ,r, t)。
21. -种PKG,其特征在于,所述PKG包括: 第一生成单元,用于根据第一预先设置的算法生成所述PKG的公钥A和所述PKG的密 钥T ; 第二生成单元,用于根据第二预先设置的算法、签名者身份ID、所述PKG的公钥A和所 述PKG的密钥T生成所述签名者的公钥.
和所述签名者的密钥TID ; 第三生成单元,用于根据所述第二预先设置的算法和指定验证者身份ID生成所述指 定验证者的公钥B和指定验证者的密钥TB,以使得签名者服务器根据原像抽样函数、所述签 名者的密钥TID、所述签名者的公钥
、所述指定验证者的公钥B生成指定验证者签名e, 并对所述签名e进行加密,得到加密后的签名,指定验证者服务器根据所述指定验证者的 密钥TB和所述加密后的签名计算得到所述签名e,并对所述签名e进行验证。
22. -种PKG,其特征在于,所述PKG包括: 第一生成单元,用于根据第一预先设置的算法生成所述PKG的公钥A和所述PKG的密 钥T ; 第二生成单元,用于根据第二预先设置的算法、和签名者所在系统的每一个签名者ID、 所述PKG的公钥A和所述PKG的密钥T生成所述每一位签名者所在系统的系统公钥和所述 所述签名者的密钥TID ; 第三生成单元,用于根据所述第二预先设置的算法和指定验证者身份ID生成所述指 定验证者的公钥B和指定验证者的密钥TB,以使得签名者服务器根据原像抽样函数、所述签 名者的密钥T ID、所述签名者所在系统的系统公钥、所述指定验证者的公钥B生成指定验证 者签名e,并对所述签名e进行加密,得到加密后的签名;指定验证者服务器根据所述指定 验证者的密钥T B和所述加密后的签名计算得到所述签名e,并对所述签名e进行验证。
【文档编号】H04L9/32GK104219047SQ201310213531
【公开日】2014年12月17日 申请日期:2013年5月31日 优先权日:2013年5月31日
【发明者】雷浩, 王凤和, 胡予濮 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1