【技术实现步骤摘要】
基于SM2数字签名算法的群签名标识签发方法
本专利技术属于网络通信
,更进一步涉及一种群签名标识签发方法,可应用于实现联盟网络体系下信息服务实体的群签名标识签发及认证。
技术介绍
群数字签名是由D.Chaum和E.vanHeyst于1991年提出的。J.Camenish、M.Stadler,J.Camenish、M.Michels,G.Ateniese和G.Tsudik等人对其进行了修改和完善。在一个群签名方案中,一个群体中的任意一个成员可以以匿名的方式代表整个群体对消息进行签名。与其它数字签名一样,群签名是可以公开验证的,而且可以只用单个群公钥来验证。由于群签名具有隐私保护与可追踪的双重特性,在现代电子商务、电子货币、可信计算、网络取证、隐藏内部组织架构、电子选举协议等许多领域都起着不可或缺的作用。为满足电子认证服务系统的应用需求,国家密码管理局于2010年12月17日发布了SM2椭圆曲线公钥密码算法,2018年11月SM2签名算法以正文形式随ISO/IEC14888-3:2018《信息安全技术带附录的数字签名第3部分:基于离散对数的机制》最新一版发布。在细节上,SM2算法规定了签名、验证、密钥交换等具体细节。一个好的群签名标识签发方案不仅可以安全高效的产生群签名标识,而且可以安全有效的废除群成员,在发生争议时可以高效的打开群签名标识,确定签名者的真实身份。由于群成员的公钥与其真实身份具有一一对应的关系,群成员若每次使用相同公钥对消息进行签名,那么攻击者就可以利用签名标识推测出此群签名标识是否为同一人所签,这样无法保证群签名标识的不关联性,因此需要 ...
【技术保护点】
1.一种基于SM2数字签名算法的群签名标识签发方法,其特征在于,包括如下:(1)参数初始化:设Fq是阶为q的有限域;选取椭圆曲线方程E为y2=x3+ax+b,其中a、b∈Fq;设有限域Fq上椭圆曲线方程E的所有的有理点组成的集合为E(Fq);设E上的阶为n的基点G=(xG,yG),其中xG,yG为基点的坐标;选取消息长度为v比特的密码杂凑算法Hv();选取安全散列函数H:{0,1}→ZG,其中ZG为基点G的整数值,选取对称加密算法E();(2)密钥生成中心KGC随机选取
【技术特征摘要】
1.一种基于SM2数字签名算法的群签名标识签发方法,其特征在于,包括如下:(1)参数初始化:设Fq是阶为q的有限域;选取椭圆曲线方程E为y2=x3+ax+b,其中a、b∈Fq;设有限域Fq上椭圆曲线方程E的所有的有理点组成的集合为E(Fq);设E上的阶为n的基点G=(xG,yG),其中xG,yG为基点的坐标;选取消息长度为v比特的密码杂凑算法Hv();选取安全散列函数H:{0,1}→ZG,其中ZG为基点G的整数值,选取对称加密算法E();(2)密钥生成中心KGC随机选取作为群私钥,其中是阶为q的整数串,并将群私钥SKGM和基点G的乘积作为群公钥:PKGM=SKGMG;(3)群成员A加入群:(3.1)群管理员GM为群成员A生成公私钥对(SKA,PKA),并通过安全信道发送给群成员A,群成员A将身份和公钥信息(IDA,PKA)通过安全信道发送给群管理员GM,其中IDA为群成员A真实身份,PKA为群成员A的公钥,SKA为群成员A的私钥;群管理员GM将群成员A的身份信息(IDA,PKA)存储到群成员信息列表中,并计算群签名中间量EA,再通过安全信道将EA发送给群成员A;(3.2)群管理员GM先选择多项式其中,t为群成员的总数,xi是第i个群成员的假名,θ为群共享对称秘钥,(C0,C1,…,Ct-1)为多项式的参数;再计算椭圆曲线上基点G的ω倍点W=ωG,及群成员A的假名xA,并将该W点和该多项式参数在群内公开;(3.3)群成员A根据接收的参数(C0,C1,…,Ct-1),计算出群共享对称秘钥θ;(4)群成员A对消息M进行签名:(4.1)群成员A发送对称密文Eθ(IDA,PKA,T,T)给群管理员GM,其中PKA,T为群成员A的临时公钥,T为当前时间的时间戳,Eθ()为对称加密算法;(4.2)群管理员GM接收到密文Eθ(IDA,PKA,T,T)后使用秘钥θ解密,若解密成功且时间戳T有效,则可得到成员A的身份信息(IDA,PKA,T,T),执行步骤(4.3),否则,终止本次签名;(4.3)群成员A产生随机数k∈[1,n-1],其中n为基点G的阶数,并计算椭圆曲线上的点β=(x1,y1)=[k]G,其中x1,y1为所求点的横纵坐标;(4.4)群成员A选取三个随机数并利用待签名消息M,群公钥PKGM以及群成员A的临时私钥SKA,T,通过概率算法输出群签名标识为(c,s1,s2,s3,TA,T,PKA,T,r,s),其中,c是杂凑函数作用于临时公钥PKA,T和群公钥PKGM的杂凑值,s1是第一随机数r1的盲化值,s2是第二随机数r2的盲化值,s3是第三随机数r3和临时私钥SKA,T的盲化值,TA,T为成员私钥SKA,T对签名中间量EA的加密值,r为由椭圆曲线点的横坐标x1求出的余数值,s为群公钥PKGM对随机数r1,r2,r3的盲化值;(5)对群签名标识(c,s1,s2,s3,TA,T,PKA,T,r,s)进行验证:(5.1)验证者D先检验r∈[1,n-1],s∈[1,n-1]是否成立,若成立,则执行(5.2),否则,群签名非法,执行步骤(6);(5.2)验证者D再依次计算待签名消息M的杂凑值e′和验签中间量t′,并计算椭圆曲线点(x′1,y′1)=(s1+s3)-1(s-t′),和验签值R=(e′+x′1)modn,其中x′1,y′1为所求椭圆曲线点的横纵坐标,modn表示一个整数除以n的求余运算;(5.3)验证者D验证R=r是否成立,若成立,则群签名合法,结束群签名过程,否则,群签名非法,执行(6);(6)群管理员GM从群签名中提取出成员私钥SKA,T对签名中间量EA的加密值TA,T,使用群私钥SKGM和群成员A的临时公钥PKA,T计算出签名者的公钥PKA,再通过存储在成员信息列表中的群成员身份信息(IDA,PKA)追踪到签名的群成员真实身份IDA,执行(7);(7)群管理员GM选择一个新的群共享对称秘钥并生成新的多项式f(x)′,计算除追踪到签名的群成员真实身份IDA以外的其余t-1个群成员的假名xi,并将新的多项式参数(C0′,C1′,…Ct-1′)公开,使得被追踪到身份为IDA的群成员将无法通过该参数计算出新的群共享对称秘钥,因而无法进行签名,此时该群成员被撤销。2.根据权利要求1所述的方法,其特征在于,所述(3.1)中密钥生成中心KGC为群成员A生成公私钥对(SKA,PKA),是由群管理员GM选取随机数作为群成员A的私钥,并计算群成员A的公钥PKA=SKAG,其中,G为椭圆曲线的基点。3.根据权利要求1所述的方法,其特征在于,所述(3.1)中群管理员GM计算群签名中间量EA,是由群管理员GM选取群签名中间量随机数利用如下公式计算群签名中...
【专利技术属性】
技术研发人员:马文平,刘威,刘小雪,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。