1. 一种基于SM2数字签名的盲签名生成方法,其特征在于,包括以下步骤: 1) 签名者Signer在集合{1,2, 一,11-1}中选择第一个随机数k,计算第一个临时变量K = [k]G,并将K发送给用户User; 其中,签名者Signer的签名私钥为x,公钥为Q=[x]G;n为基点G的阶;G为椭圆曲线的一 个基点,其阶n为素数; 2) 用户User收到K后,在集合{1,2,…,n-1}中选择两个随机数a,{3,计算第二个临时变 量1(/=|>]1(+[0]6,令1(/=(;1^,巧),计算签名值1 = ;1^+6 1]1〇(111,并计算第三个临时变量;1:/ = a—Vr+e),最后将r7发送给Signer;其中,e为待签名消息M的哈希值,e = Hv(ZA| |M); 3) Signer收到〆后,计算出临时签名V = (l+x)_1 (k-rWmod n,并将s'发送给User; 4) 1^]:收到3/后计算出签名值3 = (1«(3/+1'/)-1',并输出签名(1',3)。
2.—种基于SM2数字签名的盲签名生成系统,其特征在于,包括: 签名者变量生成模块,用于根据签名者Signer在集合{1,2,…,n-1}中选择的第一个随 机数k,计算第一个临时变量K= [k] G,并将第一个临时变量K发送给用户User; 其中,签名者Signer的签名私钥为x,公钥为Q=[x]G;n为基点G的阶;G为椭圆曲线的一 个基点,其阶n为素数; 用户变量生成模块,用于用户User接收到K后,在集合{1,2,…,n-1}中选择两个随机数 a和¢,计算第二个临时变量K' = [a]K+[P]G,令f = (rx,ry),计算签名值r = rx+emodn,并计 算第三个临时变量r/ =€^ (r+©,最后将r'发送给签名者Signer;其中,e为待签名消息M的 哈希值,e = Hv (Za| |M); 临时签名生成模块,用于Signer收到r'后,根据公式s'= (l+x)_1 (k-rWmod n计算出 临时签名,并将临时签名s'发送给U ser ; 盲签名生成模块,用于User收到s7后计算出签名值s二a • (sZ+rQ-r,并输出盲签名 (r, s) 〇