代理签名及验证方法、代理秘钥生成方法、装置和系统制造方法及图纸

技术编号:33350097 阅读:15 留言:0更新日期:2022-05-08 09:53
本公开提供了一种代理签名及验证方法、代理秘钥生成方法、装置和系统,其中该代理签名方法包括:获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,系统参数包括双线性映射函数、预设大素数、加法循环群、乘法循环群、生成元和哈希函数;将代理秘钥和生成元输入双线性映射函数,得到第一输出值,将利用哈希函数处理授权信息所得结果、第一公钥输入双线性映射函数,得到第二输出值;在第一输出值等于第二输出值的情况下,以第二私钥为幂指数对利用哈希函数处理目标消息所得结果执行幂运算,得到第三数值,将第三数值与代理秘钥的和作为对目标消息的代理签名。代理签名及验证过程简短高效且安全性高。名及验证过程简短高效且安全性高。名及验证过程简短高效且安全性高。

【技术实现步骤摘要】
代理签名及验证方法、代理秘钥生成方法、装置和系统


[0001]本公开属于数据安全领域,具体涉及一种代理签名及验证方法、代理秘钥生成方法、装置和系统。

技术介绍

[0002]本部分旨在为本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认其为现有技术。
[0003]现实社会中,有些用户(以下称原始用户)在业务办理期间中可能由于一些原因无法亲自进行数字签名,因而需要将自己的签名权临时委托给可靠的代理用户以便代理用户代替自己进行数字签名。
[0004]为保障委托用户和代理用户的权益,提高代理签名过程的安全性,一方面要保证代理用户和原始用户对同一消息的签名是可区分的,另一方面要保证代理用户无法推导出原始用户的私钥。

技术实现思路

[0005]本公开提供一种代理签名及验证方法、代理秘钥生成方法、装置和系统。
[0006]本公开的实施例中提供了以下方案:一种代理签名方法,包括:
[0007]获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,所述系统参数包括双线性映射函数、预设大素数、加法循环群、乘法循环群、生成元和哈希函数,所述加法循环群的阶为所述预设大素数,所述乘法循环群的阶为所述预设大素数,所述生成元属于所述加法循环群,所述双线性映射的第一输入值和第二输入值属于所述加法循环群,所述双线性映射的输出值属于所述乘法循环群,所述哈希函数的输入值为二进制比特串,所述哈希函数的输出值属于所述加法循环群,所述代理秘钥为以所述第一私钥为幂指数对利用所述哈希函数处理所述授权信息所得的输出值执行幂运算得到的计算结果,所述第一公钥为以所述第一私钥为幂指数对所述生成元执行幂运算得到的数值,所述第一私钥为小于或等于所述第一预设大素数的正整数,所述第二私钥为小于或等于所述预设大素数的正整数,以所述第二私钥为幂指数对所述生成元执行幂运算得到的数值作为所述第二私钥对应的第二公钥;
[0008]将所述代理秘钥和所述生成元输入所述双线性映射函数,得到第一输出值,将利用所述哈希函数处理所述授权信息所得结果、所述第一公钥输入所述双线性映射函数,得到第二输出值;
[0009]在所述第一输出值等于所述第二输出值的情况下,以所述第二私钥为幂指数对利用所述哈希函数处理所述目标消息所得结果执行幂运算,得到第三数值,将所述第三数值与所述代理秘钥的和作为对所述目标消息的代理签名。
[0010]本公开的实施例中提供了以下方案:一种代理签名验证方法,所述代理签名是根据前述的代理签名方法所生成的,所述代理签名验证方法包括:
[0011]获取所述系统参数、所述第一公钥、所述第二公钥、目标消息、所述授权信息和对所述目标消息的代理签名;
[0012]签名验证步骤,其中,将所述代理签名和所述生成元输入所述双线性映射函数,得到第三输出值,将利用所述哈希函数处理所述目标消息所得结果和所述第二公钥输入所述双线性映射函数,得到第四输出值,将利用所述哈希函数处理所述授权信息所得结果和所述第一公钥输入所述双线性映射函数,得到第五输出值,在所述第四输出值和所述第五输出值的乘积与所述第三输出值相等的情况下,所述代理签名验证通过。
[0013]本公开的实施例中提供了以下方案:一种代理秘钥的生成方法,包括:
[0014]获取系统公开参数、授权信息、和第一私钥,所述系统参数包括双线性映射函数、预设大素数、加法循环群、乘法循环群、生成元和哈希函数,所述加法循环群的阶为所述预设大素数,所述乘法循环群的阶为所述预设大素数,所述生成元属于所述加法循环群,所述双线性映射的第一输入值和第二输入值属于所述加法循环群,所述双线性映射的输出值属于所述乘法循环群,所述哈希函数的输入值为二进制比特串,所述哈希函数的输出值属于所述加法循环群,所述第一私钥为小于或等于所述第一预设大素数的正整数;
[0015]以所述第一私钥为幂指数对利用所述哈希函数处理所述授权信息所得的输出值执行幂运算得到的对应于所述授权信息的代理秘钥。
[0016]本公开的实施例中提供了以下方案:一种代理签名生成装置,包括:
[0017]第一获取模块,用于获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,所述系统参数包括双线性映射函数、预设大素数、加法循环群、乘法循环群、生成元和哈希函数,所述加法循环群的阶为所述预设大素数,所述乘法循环群的阶为所述预设大素数,所述生成元属于所述加法循环群,所述双线性映射的第一输入值和第二输入值属于所述加法循环群,所述双线性映射的输出值属于所述乘法循环群,所述哈希函数的输入值为二进制比特串,所述哈希函数的输出值属于所述加法循环群,所述代理秘钥为以所述第一私钥为幂指数对利用所述哈希函数处理所述授权信息所得的输出值执行幂运算得到的计算结果,所述第一公钥为以所述第一私钥为幂指数对所述生成元执行幂运算得到的数值,所述第一私钥为小于或等于所述第一预设大素数的正整数,所述第二私钥为小于或等于所述预设大素数的正整数,以所述第二私钥为幂指数对所述生成元执行幂运算得到的数值作为所述第二私钥对应的第二公钥;
[0018]第一验证模块,用于将所述代理秘钥和所述生成元输入所述双线性映射函数,得到第一输出值,将利用所述哈希函数处理所述授权信息所得结果、所述第一公钥输入所述双线性映射函数,得到第二输出值;
[0019]代理签名模块,用于在所述第一输出值等于所述第二输出值的情况下,以所述第二私钥为幂指数对利用所述哈希函数处理所述目标消息所得结果执行幂运算,得到第三数值,将所述第三数值与所述代理秘钥的和作为对所述目标消息的代理签名。
[0020]本公开的实施例中提供了以下方案:一种代理签名生成装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:前述的代理签名方法。
[0021]本公开的实施例中提供了以下方案:一种代理签名验证装置,所述代理签名是前
述的代理签名生成装置所生成的,所述代理签名验证装置包括:
[0022]第二获取模块,用于获取所述系统参数、所述第一公钥、所述第二公钥、目标消息、所述授权信息和对所述目标消息的代理签名;
[0023]第二验证模块,用于执行签名验证步骤,其中,将所述代理签名和所述生成元输入所述双线性映射函数,得到第三输出值,将利用所述哈希函数处理所述目标消息所得结果和所述第二公钥输入所述双线性映射函数,得到第四输出值,将利用所述哈希函数处理所述授权信息所得结果和所述第一公钥输入所述双线性映射函数,得到第五输出值,在所述第四输出值和所述第五输出值的乘积与所述第三输出值相等的情况下,所述代理签名验证通过。
[0024]本公开的实施例中提供了以下方案:一种代理签名验证装置包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代理签名方法,其特征在于,包括:获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,所述系统参数包括双线性映射函数、预设大素数、加法循环群、乘法循环群、生成元和哈希函数,所述加法循环群和所述乘法循环群的阶均为所述预设大素数,所述生成元属于所述加法循环群,所述双线性映射的第一输入值和第二输入值属于所述加法循环群,所述双线性映射的输出值属于所述乘法循环群,所述哈希函数的输入值为二进制比特串,所述哈希函数的输出值属于所述加法循环群,所述代理秘钥为以第一私钥为幂指数对利用所述哈希函数处理所述授权信息所得的输出值执行幂运算得到的计算结果,所述第一公钥为以所述第一私钥为幂指数对所述生成元执行幂运算得到的数值,所述第一私钥为小于或等于所述第一预设大素数的正整数,所述第二私钥为小于或等于所述预设大素数的正整数,以所述第二私钥为幂指数对所述生成元执行幂运算得到的数值作为所述第二私钥对应的第二公钥;将所述代理秘钥和所述生成元输入所述双线性映射函数,得到第一输出值,将利用所述哈希函数处理所述授权信息所得结果、所述第一公钥输入所述双线性映射函数,得到第二输出值;在所述第一输出值等于所述第二输出值的情况下,以所述第二私钥为幂指数对利用所述哈希函数处理所述目标消息所得结果执行幂运算,得到第三数值,将所述第三数值与所述代理秘钥的和作为对所述目标消息的代理签名。2.根据权利要求1所述的方法,其特征在于,还包括:将所述代理签名发送至时间戳服务器,以获得所述代理签名的数字时间戳;其中,所述授权信息包括授权方、被授权方和授权有效期,所述代理签名附带所述数字时间戳。3.一种代理签名验证方法,其特征在于,所述代理签名是根据权利要求1或2所述的代理签名方法所生成的,所述代理签名验证方法包括:获取所述系统参数、所述第一公钥、所述第二公钥、目标消息、所述授权信息和对所述目标消息的代理签名;签名验证步骤,其中,将所述代理签名和所述生成元输入所述双线性映射函数,得到第三输出值,将利用所述哈希函数处理所述目标消息所得结果和所述第二公钥输入所述双线性映射函数,得到第四输出值,将利用所述哈希函数处理所述授权信息所得结果和所述第一公钥输入所述双线性映射函数,得到第五输出值,在所述第四输出值和所述第五输出值的乘积与所述第三输出值相等的情况下,所述代理签名验证通过。4.根据权利要求3所述的方法,其特征在于,所述授权信息包括授权方、被授权方和授权有效期,所述代理签名附带数字时间戳;所述方法还包括:判断所述代理签名附带的数字时间戳所标识的时间是否位于所述授权有效期内,如果是则执行所述签名验证步骤,否则判断所述代理签名无效。5.一种代理秘钥的生成方法,其特征在于,包括:获取系统公开参数、授权信息、和第一私钥,所述系统参数包括双线性映射函数、预设大素数、加法循环群、乘法循环群、生成元和哈希函数,所述加法循环群的阶为所述预设大素数,所述乘法循环群的阶为所述预设大素数,所述生成元属于所述加法循环群,所述双线性映射的第一输入值和第二输入值属于所述加法循环群,所述双线性映射的输出值属于所
述乘法循环群,所述哈希函数的输入值为二进制比特串,所述哈希函数的输出值属于所述加法循环群,所述第一私钥为小于或等于所述第一预设大素数的正整数;以所述第一私钥为幂指数对利用所述哈希函数处理所述授权信息所得的输出值执行幂运算得到对应于所述授权信息的代理秘钥。6.根据权利要求5所述的方法,其特征在于,所述授权信息包括:授权方、被授权方和授权有效期。7.一种代理签名生成装置,其特征在于,包括:第一获取模块,用于获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,所述系统参数包括双线性映射函数、预设大素数、加法循环群、乘法循环群、生成元和哈希函数,所述加法循环群的阶和所述乘法循环群的阶均为所述预设大素数,所述生成元属于所述加法循环群,所述双线性映射的第一输入值和第二输入值属于所述加法循环群,所述双线性映射的输出值属于所述乘法循环群,所述哈希函数的输入值为二进制比特串,所述哈希函数的输出值属于所述加法循环群,所述代理秘钥为以第一私钥为幂指数对利用所述哈希函数处理所述授权信息所得的输出值执行幂运算得到的计算结果,所述第一公钥为以所述第一私钥为幂指数对所述生成元执行幂运算得到的数值,所述第一私钥为小于或等于所述第一预设大素数的正整数,所述第二私钥为小于或等于所述预设大素数的正整数,以所述第二私钥为幂指数...

【专利技术属性】
技术研发人员:沈建祥韦张勇廖永光冯硕
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1