区块链中生成和验证可链接环签名的方法及装置制造方法及图纸

技术编号:26305340 阅读:32 留言:0更新日期:2020-11-10 20:02
本说明书一个或多个实施例提供一种区块链中生成和验证可链接环签名的方法及装置,该方法可以包括:确定签名方数组(P_j,ID_j),所述签名方数组(P_j,ID_j)包含签名方的公钥P_j和所述签名方所持的待花费资产的唯一标识ID_j,其中G为椭圆曲线的基点,|G|=p且p为素数,x_j为签名方的私钥且0<x_j<p;根据所述签名方的私钥x_j和所述签名方数组(P_j,ID_j)生成密钥镜像I;在针对与所述待花费资产相关的交易M生成可链接环签名时,将所述密钥镜像I添加至所述可链接环签名中。

【技术实现步骤摘要】
区块链中生成和验证可链接环签名的方法及装置
本说明书一个或多个实施例涉及区块链
,尤其涉及一种区块链中生成和验证可链接环签名的方法及装置。
技术介绍
区块链技术(也被称之为,分布式账本技术)是一种去中性化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。但是,由于区块链账本完全公开,导致信息隐私性无法得到保障。
技术实现思路
有鉴于此,本说明书一个或多个实施例提供一种区块链中生成和验证可链接环签名的方法及装置。为实现上述目的,本说明书一个或多个实施例提供技术方案如下:根据本说明书一个或多个实施例的第一方面,提出了一种区块链中生成可链接环签名的方法,包括:确定签名方数组(P_j,ID_j),所述签名方数组(P_j,ID_j)包含签名方的公钥P_j=x_j×G和所述签名方所持的待花费资产的唯一标识ID_j,其中G为椭圆曲线的基点,|G|=p且p为素数,x_j为签名方的私钥且0<x_j<p;根据所述签名方的私钥x_本文档来自技高网...

【技术保护点】
1.一种区块链中生成可链接环签名的方法,包括:/n确定签名方数组(P_j,ID_j),所述签名方数组(P_j,ID_j)包含签名方的公钥P_j=x_j×G和所述签名方所持的待花费资产的唯一标识ID_j,其中G为椭圆曲线的基点,|G|=p且p为素数,x_j为所述签名方的私钥且0<x_j<p;/n根据所述签名方的私钥x_j和所述签名方数组(P_j,ID_j)生成密钥镜像I;/n在针对与所述待花费资产相关的交易M生成可链接环签名时,将所述密钥镜像I添加至所述可链接环签名中。/n

【技术特征摘要】
1.一种区块链中生成可链接环签名的方法,包括:
确定签名方数组(P_j,ID_j),所述签名方数组(P_j,ID_j)包含签名方的公钥P_j=x_j×G和所述签名方所持的待花费资产的唯一标识ID_j,其中G为椭圆曲线的基点,|G|=p且p为素数,x_j为所述签名方的私钥且0<x_j<p;
根据所述签名方的私钥x_j和所述签名方数组(P_j,ID_j)生成密钥镜像I;
在针对与所述待花费资产相关的交易M生成可链接环签名时,将所述密钥镜像I添加至所述可链接环签名中。


2.根据权利要求1所述的方法,还包括:确定所述签名方数组(P_j,ID_j)对应的掩护方数组(P_i,ID_i),所述掩护方数组(P_i,ID_i)包含掩护方i的公钥P_i和所述掩护方i所持资产的唯一标识ID_i,i、j∈[1,n],i、j和n为正整数,i≠j,n≧2;
根据所述签名方的私钥x_j和数组集合[(P_1,ID_1),……,(P_n,ID_n)],生成所述可链接环签名。


3.根据权利要求2所述的方法,根据所述签名方的私钥x_j和数组集合[(P_1,ID_1),……,(P_n,ID_n)],生成所述可链接环签名,包括:
根据所述签名方的私钥x_j和数组集合[(P_1,ID_1),……,(P_n,ID_n)],分别生成对应于所述签名方的中间参数L_j、R_j,以及对应于掩护方i的中间参数L_i、R_i;其中,中间参数L_j与L_i之间符合环形取值规则、中间参数R_j与R_i之间符合环形取值规则,且中间参数L_j、R_j、L_i、R_i的取值与至少一个被选取的随机数和/或其衍生数值相关;
根据被选取的随机数和/或其衍生数值,生成针对所述交易M的可链接环签名。


4.根据权利要求3所述的方法,
生成对应于所述签名方的中间参数L_j、R_j,包括:根据在所述椭圆曲线所处的数域Z_q中选取的随机数a,计算中间参数L_j、R_j,其中L_j=a×G、R_j=a×Hash_G(P_j,ID_j),Hash_G()为从所述椭圆曲线到其自身的哈希函数;
生成对应于掩护方i的中间参数L_i、R_i,包括:根据中间参数L_j、R_j的取值,分别生成中间参数L_i、R_i,使得L_i=(s_i×G+c_i×P_i)modp、R_i=(s_i×Hash_G(P_i,ID_i)+c_i×I)modp;其中,s_i为数域Z_q中的随机数,当i=1时c_1=Hash(M,L_n,R_n)、当i∈[2,j-1]∪[j+1,n]时c_i=Hash(M,L_(i-1),R_(i-1)),Hash()为从所述椭圆曲线到数域Z_q的哈希函数;
其中,被选取的随机数和/或其衍生数值包括:随机数s_i、衍生数值c_1、衍生数值s_j;其中,s_j=(a-c_j×x_j)modp,当j的取值被确定为1时c_j=Hash(M,L_n,R_n)、当j的取值被确定为属于[2,n]时c_j=Hash(M,L_(j-1),R_(j-1))。


5.根据权利要求4所述的方法,所述根据中间参数L_j、R_j的取值,分别生成中间参数L_i、R_i,包括:
针对i∈[j+1,n],分别生成中间参数L_i、R_i,使得L_i=(s_i×G+c_i×P_i)modp、R_i=(s_i×Hash_G(P_i,ID_i)+c_i×I)modp,其中s_i为数域Z_q中的随机数、c_i=Hash(M,L_(i-1),R_(i-1));
针对i=1,生成中间参数L_1、R_1,使得L_1=(s_1×G+c_1×P_1)modp、R_1=(s_1×Hash_G(P_1,ID_1)+c_1×I)modp,其中s_1为数域Z_q中的随机数、c_1=Hash(M,L_n,R_n);
针对i∈[2,j-1],分别生成中间参数L_i、R_i,使得L_i=(s_i×G+c_i×P_i)modp、R_i=(s_i×Hash_G(P_i,ID_i)+c_i×I)modp,其中s_i为数域Z_q中的随机数、c_i=Hash(M,L_(i-1),R_(i-1))。


6.根据权利要求1所述的方法,通过下述公式计算所述密钥镜像I:
I=x_j×Hash_G(P_j,ID_j);
其中,Hash_G()为所述椭圆曲线到其自身的哈希函数。


7.根据权利要求1所述的方法,所述签名方所持的待花费资产包括区块链资产和/或链外资产。


8.根据权利要求1所述的方法,所述唯一标识ID_j包括所述待花费资产的数字摘要,所述数字摘要由以下信息中至少之一生成...

【专利技术属性】
技术研发人员:张文彬
申请(专利权)人:创新先进技术有限公司
类型:发明
国别省市:开曼群岛;KY

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

1