一种基于SM2算法的环签名方法及系统与流程

文档序号:37012947发布日期:2024-02-09 13:02阅读:14来源:国知局
一种基于SM2算法的环签名方法及系统与流程

本发明涉及签名,尤其涉及一种基于sm2算法的环签名方法及系统。


背景技术:

1、传统签名机制中,验证方通常能够获知签名方的身份信息。但在某些场景下,需要隐匿签名方的身份。环签名是可以实现数字签名匿名性的技术,其主要效果为签名的验证方只能验证签名来自于一个群体,但无法准确推断出签名具体来自哪一个个体签名方。

2、环签名过程中,签名方需要收集其它环成员的公钥。签名方可自主选择一组环成员,将自己的公钥混入其公钥列表中,生成本次环公钥。环公钥用于环签名和验证环签名过程。在传统证书公钥体制(pki)中,签名方需要访问ca证书发布系统,在线查询、下载环成员的公钥证书,或通过离线方式收集环成员的公钥证书,从证书中获取公钥,然后生成环公钥。而这种证书收集方式依赖第三方ca,并且在证书收集过程中可能留下痕迹,导致签名方身份暴露。


技术实现思路

1、本发明所要解决的技术问题是:提供一种基于sm2算法的环签名方法及系统,能够避免签名方身份暴露。

2、为了解决上述技术问题,本发明采用的技术方案为:

3、一种基于sm2算法的环签名方法,包括步骤:

4、密钥生成中心构建组合矩阵,并确定与所述组合矩阵对应的映射函数和置换表,所述组合矩阵包括私钥矩阵和公钥矩阵;

5、所述密钥生成中心将所述私钥矩阵加密存储,并将所述公钥矩阵、所述映射函数和所述置换表存储至各用户端中;

6、所述密钥生成中心基于所述私钥矩阵、所述公钥矩阵、所述映射函数、所述置换表和签名用户端标识生成sm2密钥对;

7、签名用户端采集参与环签名的其他环成员标识,并基于所述公钥矩阵、所述映射函数、所述置换表和所述其他环成员标识生成其他环成员的第二sm2公钥;

8、所述签名用户端基于所述sm2密钥对和所述第二sm2公钥对待签名数据进行sm2环签名,得到签名值,并将所述签名值发送给验证用户端。

9、为了解决上述技术问题,本发明采用的另一种技术方案为:

10、一种基于sm2算法的环签名系统,包括密钥生成中心、签名用户端和验证用户端,所述密钥生成中心包括第一存储器、第一处理器及存储在第一存储器上并可在所述第一处理器上运行的第一计算机程序,所述签名用户端包括第二存储器、第二处理器及存储在第二存储器上并可在所述第二处理器上运行的第二计算机程序,所述验证用户端包括第三存储器、第三处理器及存储在第三存储器上并可在所述第三处理器上运行的第三计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:

11、构建组合矩阵,并确定与所述组合矩阵对应的映射函数和置换表,所述组合矩阵包括私钥矩阵和公钥矩阵;

12、将所述私钥矩阵加密存储,并将所述公钥矩阵、所述映射函数和所述置换表存储至各用户端中;

13、基于所述私钥矩阵、所述公钥矩阵、所述映射函数、所述置换表和签名用户端标识生成sm2密钥对;

14、所述第二处理器执行所述第二计算机程序时实现以下步骤:

15、采集参与环签名的其他环成员标识,并基于所述公钥矩阵、所述映射函数、所述置换表和所述其他环成员标识生成其他环成员的第二sm2公钥;

16、基于所述sm2密钥对和所述第二sm2公钥对待签名数据进行sm2环签名,得到签名值,并将所述签名值发送给验证用户端。

17、本发明的有益效果在于:密钥生成中心将构建的私钥矩阵加密存储,并将公钥矩阵、映射函数和置换表存储至各用户端中,基于私钥矩阵、公钥矩阵、映射函数、置换表和签名用户端标识生成sm2密钥对,签名用户端基于公钥矩阵、映射函数、置换表和其他环成员标识生成其他环成员的第二sm2公钥,然后基于sm2密钥对和第二sm2公钥对待签名数据进行sm2环签名,整个过程无需第三方ca的参与,各实体的sm2私钥分散保存,公钥矩阵采用最容易访问的方式存放,签名方只需得到其它环成员的标识,便可以利用公钥矩阵,自行计算出其它环成员的sm2公钥,签名方能够安全、快速地构造环公钥,从而避免了签名方身份暴露。



技术特征:

1.一种基于sm2算法的环签名方法,其特征在于,包括步骤:

2.根据权利要求1所述的一种基于sm2算法的环签名方法,其特征在于,所述密钥生成中心构建组合矩阵包括:

3.根据权利要求1所述的一种基于sm2算法的环签名方法,其特征在于,所述密钥生成中心基于所述私钥矩阵、所述公钥矩阵、所述映射函数、所述置换表和签名用户端标识生成sm2密钥对包括:

4.根据权利要求3所述的一种基于sm2算法的环签名方法,其特征在于,所述签名用户端基于所述sm2密钥对和所述第二sm2公钥对待签名数据进行sm2环签名,得到签名值,并将所述签名值发送给验证用户端包括:

5.根据权利要求4所述的一种基于sm2算法的环签名方法,其特征在于,还包括:

6.一种基于sm2算法的环签名系统,包括密钥生成中心、签名用户端和验证用户端,所述密钥生成中心包括第一存储器、第一处理器及存储在第一存储器上并可在所述第一处理器上运行的第一计算机程序,所述签名用户端包括第二存储器、第二处理器及存储在第二存储器上并可在所述第二处理器上运行的第二计算机程序,所述验证用户端包括第三存储器、第三处理器及存储在第三存储器上并可在所述第三处理器上运行的第三计算机程序,其特征在于,所述第一处理器执行所述第一计算机程序时实现以下步骤:

7.根据权利要求6所述的一种基于sm2算法的环签名系统,其特征在于,所述构建组合矩阵包括:

8.根据权利要求6所述的一种基于sm2算法的环签名系统,其特征在于,所述基于所述私钥矩阵、所述公钥矩阵、所述映射函数、所述置换表和签名用户端标识生成sm2密钥对包括:

9.根据权利要求8所述的一种基于sm2算法的环签名系统,其特征在于,所述基于所述sm2密钥对和所述第二sm2公钥对待签名数据进行sm2环签名,得到签名值,并将所述签名值发送给验证用户端包括:

10.根据权利要求9所述的一种基于sm2算法的环签名系统,其特征在于,所述第三处理器执行所述第三计算机程序时实现以下步骤:


技术总结
本发明公开了一种基于SM2算法的环签名方法及系统,密钥生成中心将构建的私钥矩阵加密存储,并将公钥矩阵、映射函数和置换表存储至各用户端中,基于私钥矩阵、公钥矩阵、映射函数、置换表和签名用户端标识生成SM2密钥对,签名用户端基于公钥矩阵、映射函数、置换表和其他环成员标识生成其他环成员的第二SM2公钥,然后基于SM2密钥对和第二SM2公钥对待签名数据进行SM2环签名,整个过程无需第三方CA的参与,各实体的SM2私钥分散保存,公钥矩阵采用最容易访问的方式存放,签名方只需得到其它环成员的标识,便可以利用公钥矩阵,自行计算出其它环成员的SM2公钥,签名方能够安全、快速地构造环公钥,从而避免了签名方身份暴露。

技术研发人员:吴艳,谢芳炎,林良梁,叶友校,黄方能
受保护的技术使用者:福建凯特信息安全技术有限公司
技术研发日:
技术公布日:2024/2/8
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1