[发明专利]一种区块链中基于群签名的投票方法在审
申请号: | 201910268577.3 | 申请日: | 2019-04-04 |
公开(公告)号: | CN110009354A | 公开(公告)日: | 2019-07-12 |
发明(设计)人: | 王利朋;胡明生;贾志娟;刘新新;徐二锋;张晓菲;崔文军 | 申请(专利权)人: | 郑州师范学院 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;H04L9/32 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450044 河南*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可信中心 区块 用户签名信息 基于群 备份 用户身份信息 动态调整 离散对数 签名信息 签名验证 身份验证 算法计算 椭圆曲线 信用评估 应用场景 不可用 困难度 门限群 投票 并合 可用 适配 等价 抵抗 撤销 攻击 漏洞 协作 | ||
1.一种区块链中基于群签名的投票方法,其特征在于,包括以下步骤:
S01:选择可信中心:所述选择可信中心步骤在区块链初始化、可信节点退出等场景执行;
S02:注册:新节点加入区块链网络时,需要和可信中心进行互相认证,区块链节点需要生成自己的密钥信息,然后执行身份和密钥信息的双向认证,为了达到匿名目的,需要对身份信息进行盲化处理;
S03:份额签名:根据所述密钥信息和身份信息生成份额签名;
S04:合成群签名:所述可信中心对份额签名进行验证,然后合成群签名;
S05:签名验证:所述可信中心利用公钥信息对群签名信息进行验证,验证通过后,生成用户签名信息,所述用户签名信息包括用户身份信息与用户密钥信息的对应关系;
S06:备份签名信息:为了防止可信中心被攻破后用户签名信息丢失,所述可信中心根据步骤S01选择出次优节点作为备份节点,并将用户签名信息备份到该节点;
S07:打开签名:所述可信中心打开用户签名信息,对所述用户身份信息进行确认;
S08:撤销签名:当某一节点离开区块链网络时,可信中心更新用户密钥信息,并将该信息发布到其它节点。
2.根据权利要求1所述一种区块链中基于群签名的投票方法,其特征在于,所述步骤S02中注册的具体方法如下:
在所述步骤S01筛选出可信中心后,通过对门限群签名算法相关参数进行设置,继而生成对应的密钥信息和哈希函数,当某一个节点在加入区块链网络时,需要与可信中心进行交互,执行身份盲化流程,并对所述密钥信息进行验证,所述密钥信息进行验证的方法具体如下:
首先,选择合适的参数生成椭圆曲线,对于(t,n)门限群,p为大素数,Fp为有限域;随机选择a和b,其中a,b∈Fp,构造非奇异椭圆曲线y3≡x3+ax+b,4a3+27b2≠0(mod p),G为生成元,ord(G)=γ,γ为大素数;
选定可信中心私钥TCs=s,则其公钥TCp=sG,基于Shamir秘密共享算法进行密钥分发,即选定一个多项式:f(x)=a0+a1x+a2x2+...+at-1xt-1,其中ai∈GF(p),(i=1,2,...,t-1),群私钥cs=a0=f(0),群公钥为cp=csG=f(0)G=a0G;选择一个单向哈希函数h(x)用于后续的用户身份盲化处理流程;
其中,<a,b,G,cp,p,h(x)>为公共信息,在区块链代码实现中,上述公共信息实现为全局信息,所有节点均能访问这些信息;
其中,<cs,f(x)>为保密信息,这些信息存放到可信中心节点上,并进行备份,防止中心节点出现故障或正常下线时,影响区块链网络的可用性;
某一节点i在加入区块链网络时,需要与可信中心执行交互过程,其中包括验证身份信息和盲化处理,然后可信中心为用户颁发部分密钥,经加密后发送给对应的用户节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州师范学院,未经郑州师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910268577.3/1.html,转载请声明来源钻瓜专利网。