基于门限签名和公平奖励的DPoS共识方法及其系统与设计方案

基于门限签名和公平奖励的DPoS共识方法及其系统与设计方案
基于门限签名和公平奖励的DPoS共识方法及其系统与设计方案

图片简介:

本技术涉及DPoS共识技术领域,且介绍了一种基于门限签名和公平奖励的DPoS共识方法,包括如下步骤:骤一:初始节点投票阶段最终选出多个自提名节点进入见证人候选池;步骤二:使用可验证延迟函数选出21个见证人;步骤三:见证人进行门限签名共识阶段;步骤四;一轮共识结束发放奖励阶段。该基于门限签名和公平奖励的DPoS共识方法及其系统,可以在没有可信第三方的情况下,实现一个公平奖励、去中心化式的的区块链共识系统,能够显著加快验证速度从而使得每秒交易量大幅提高。

技术要求

1.一种基于门限签名和公平奖励的DPoS共识方法,其特征在于:包括如下步骤:

步骤一、初始节点投票阶段,投票阶段最终会选出N(大约数目为441个)自提名节点进入见证人候选池中,具体步骤如下:

a.节点自提名

网络中所有节点都可以在社区中自我提名并注册成为潜在的区块生产者,在这个阶段,节点通常会建立一个竞选网站以吸引用户投票,在网站中,竞选节点一般指定其当选成功后所用到的硬件和软件,有的甚至会给出奖励分配方案吸引用户的投票,自我提名阶段必须在开始投票过程之前全部完成,所有自提名的节点会被列入社区建立的自提名表单中,为下一阶段节点投票提供投票对象;

b.节点投票

在主网未上线时,可借用公信力较强的以太坊的智能合约完成投票过程,待主网建立起来后,可直接在自身的区块链系统中建立合约完成投票过程,社区成员使用以太坊的ERC-20协议代币投票表决后,合约会冻结所有账户并拍摄ERC-20代币持有者的初期余额,在整个投票过程中,设定投票时间为T,节点对每个节点的投票贡献不止是代币的数量多少,而是由代币数量n,投票及时度p与节点的投票权重w三个变量决定,一个节点参与投票的贡献φi可由以下公式计算(之后部分激励机制会涉及到节点的投票贡献):φi=n×p×w,投票及时度指的就是在规定投票的T时间内节点投票越早,就越容易获得更高的贡献,同样投票的权重也是指节点连续投票的影响力,这两个参数都被设为指数级别的下降函数,若是投票不及时或是没有连续投票的话,这两个参数值就会越来越低,当节点收到投票提醒时,立即将代币投给心仪的候选见证人,当代币被锁定到合约中,这部分代币会被锁定无法使用,等投票阶段结束后,合约会自动赎回对应的代币到用户的账户上;

步骤二、随机选人阶段,使用可验证延迟函数(VDF)来生成随机数,具体步骤如下:

c.利用VDF公平可验证的方式选出21个随机数并映射到1~N的数值范围内从而选出21个见证人;

d.将N个节点各自选出一个随机数将其公开发布到区块链公示板上,经哈希函数处理为256位的哈希值作为可验证拖延函数(VDF)的其中一个输入,并将最终生成的第21个随机数的时间t也作为谜题破解时间输入,整个VDF计算最终会产生一个最终随机数,选择计算过程中的其余20个随机数作为输出,因此最后会有21个输出随机数和它们的证明,对于这21个随机数的计算结果,任何节点都可以进行验证,节点可根据初始化阶段的公共参数pp、输入x、输出y以及证明π这4个参数,调用Verify算法验证输出结果是否为accept,并且使用VDF 最大的优势在于验证的时间复杂度远远低于Eval阶段计算的时间复杂度;

步骤三、门限签名-共识阶段,21个见证人通过分布式密钥产生协议,利用多方参与,计算共享的公私钥对,从而克服单点故障和单个节点不可信问题,之后他们的出块顺序由见证人所获得的投票支持率决定,从高到低排序,投票支持率最高的为第一个出块者,具体步骤如下:

e.节点客户端发起一笔交易Tx,通过钱包签名后该交易数据通过P2P网络发送给所连接的节点服务器(全节点);

f.当全节点BP1收到该交易数据后,首先会对交易进行校验。校验主要分为三个部分:

1.校验交易的权限,是否满足对应的权益要求(EOS中账户具有一系列权限);

2.校验交易的签名,是否有校;

3.校验交易Tx数据是否有效,若校验通过,见证人BP1会将该笔交易放入自己的交易池中;

g.见证人BP1在出块时间内,会将多笔交易从交易池中取出,并打包成区块进行门限签名Sig1,最后再广播给其余20个负责验证的见证人;

h.验证节点收到见证人的区块消息后,验证并门限签名,发送给BP1;

i.BP1收到后合成签名,再次发送给其他见证人;

j.其他见证人验证签名是否得到群公钥的验证;

步骤四、激励发放阶段,每次投票选出N个见证人负责出块,并获得一定的奖励,而这其中每一个见证人的投票者也会从中获得一定的奖励,每一次共识过程结束之后,成功生产区块的某个代表节点要将获得的奖励按照相应的比例分给为它投票的所有节点,使用博弈论沙普利值法算法,最终实现按贡献分配奖励,让普通节点能够积极参与投票过程。

2.根据权利要求1所述的一种基于门限签名和公平奖励的DPoS共识方法,其特征在于:所述节点所拥有的的每一个代币都对应着30张选票,对同一个候选节点只能投一票,不能重复给同一个节点多张票,这样可以减少少数人互相勾结控制主链的风险。

3.根据权利要求1所述的一种基于门限签名和公平奖励的DPoS共识方法,其特征在于:所述沙普利值法算法具体如下:

第一步、输入系统所有节点M,为节点Pi投票的节点个数为N、节点Pi的收益为E、节点Ni贡献值Φi

第二步、输出投票节点所得收益Ei

第三步、n←1

第四步、REPEAT

第五步、iF(n≤N)&&(i∈List)&&(i∈Listld)then

//List表示为当前代表节点投票的节点集合,Listid代表参与投票的所有节点集合

第六

步、

//|S|表示联盟S所包含的成员数,成员I参与不同联盟S为自身参与联盟创造的边际贡献记为[V(S)-V(S\\ {i})],S\\{i}表示从集合S中删除元素i后的集合

第七步、Ei=E×Φ_i(v)

第八步、Listld=Listld-List

//第9步和第10步是为了限制节点的投票次数,当为LIST中的节点分配奖励之后,LISTID会删除这些节点,只有节点同时属于两个集合才会获得收益

第九步、n++

第十步、returnEi

第十一步、until n>N and List isfull。

4.一种基于门限签名和公平奖励的DPoS共识系统,包括区块链系统、节点和见证人,其特征在于:所述区块链系统是整个共识机制方案的设计是在区块链系统中完成的,作为底层技术,它本质是一个去中心化的数据库,它是一种不依赖第三方,通过分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案,点对点网络将所有的交易历史都存储在“区块链”中,区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走,区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有交易历史的记录;

所述节点可以是资源受限的设备,或是具备算力资源和网络资源的设备,它们都可以参与到该区块链系统的运行,节点执行区块链程序,注册成为区块链网络中的节点,都具备相同的权利参与见证人投票中,当主网未上线时,通过以太坊主网的ERC-20协议生成对应代币,节点可通过该代币进行投票,节点通过投票最终会产生见证人(BP),它们是一类特殊的节点,参与共识机制的运作中;

每轮所述n个见证人P={P_1,P_2,…P_n}可通过分布式密钥生成协议(DKG)生成对应的私钥份额S={S_1,S_1,…S_n}以及可验证密钥集V={V_1,V_1,…V_n},且有一个公开的群公钥X,当收集了t个及以上的节点签名后可以将其聚合成一个完整的签名并能够得到公钥X的验证,因此整个共识过程中,见证人将自己的私钥作为秘密信息,而公开信息则为群公钥X与可验证密钥集V={V_1,V_1,…V_n},在传统的DPoS机制中,每一轮共识中21个见证人的出块顺序是通过比较节点的账户名大小得出,21个见证人经投票进入候选池,后由可验证延迟函数随机选出,它们的出块顺序可以由投票的支持率决定,支持率由高到低从而决定出块顺序。

技术说明书

一种基于门限签名和公平奖励的DPoS共识方法及其系统

技术领域

本技术涉及DPoS共识技术领域,具体为一种基于门限签名和公平奖励的DPoS共识方法及其系统。

背景技术

区块链是随着比特币等数字加密货币逐渐兴起而盛行的一种新型去中心化分布式系统,具有去中心化、时序数据、集体维护、可编程和安全可信等特点。目前,区块链已引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注。如何在一个去中心化的分布式系统中高效地达成共识是区块链技术研究的重要问题。

要使区块链成为一个难以攻破的、公开的、不可篡改数据记录的去中心化的诚实可信的系统,需要在尽可能短的时间内做到分布式数据记录的安全、明确及不可逆,提供一个最坚实且去中心化的系统。区块链中,共识机制是最为核心的一部分,它可以保证区块链中的数据在分布式节点之间达到账本一致性且账本数据不可被篡改。

股份授权证明机制(Delegated Proof of Stake,DPoS),是一种区块链的共识算法,2014年4月由Bitshares的首席开发者Dan Larimer(现为EOS CTO)提出并应用。当时Dan观察到比特币系统共识算法POW的一些问题:比如矿池导致算力越来越集中、电力耗费过大等。所以他提出了一种更加快速、安全且能源消耗比较小的算法,这就是后来的DPOS。DPOS是一种基于投票选举的共识算法,有点像民主大会,持币人选出几个代表节点来运营网络,用专业运行的网络服务器来保证区块链网络的安全和性能。DPOS机制中,不需要算力解决数学难题,而是由持币者选出谁说生产者,如果生产者不称职,就有随时有可能被投票出局,这也就解决了POS的性能问题。

区块链上的随机数一直是一个热门话题。无论是在一些权益证明)共识协议的设计里,还是在智能合约平台,譬如Ethereum和EOS上一些非常火爆的游戏类应用,随机数都占据了核心的地位。同时,很多这些应用中,实际设计的随机数获取方案还非常不成熟,以至经常会有应用因为不安全的随机数而被黑客攻击的新闻出现。可验证延迟函数(Verifible Delay Function,VDF)对于一些从公共来源获取随机数的方法非常有用。比如从股票市场或者是从PoW区块链上获取。这些随机源拥有足够的随机性。但是高频交易者可以影响股价,同时,PoW区块链的矿工也可以通过不广播自己挖出的区块来降低自己不想要的随机数结果的出现概率。但是这样的攻击方式成立的前提条件是攻击者有时间在其他诚实参与者之前预测出随机数结果。VDF恰好能阻止这一点。如果将VDF的时间参数设置到足够长(比如10个块的间隔),将最新的区块头作为输入扔进VDF中,输出作为随机数结果。那么攻击者只能在10个块之后才能知道随机数的结果是什么,那个时候想要再改变结果已经很难了。此外,VDF也可以增强一些多方参与的随机数方案。比如Commit-and-Reveal方案中,攻击者可以拖到Reveal阶段的最后再决定是否揭示自己的承诺。如果我们去掉Commit阶段,并且协议的最后整合所有人的输入之后不直接作为随机数结果,而是放入VDF中,并且将VDF的时间参数设置到足够长(晚于最后提交期限),那么即使是最后一刻提交的人也无法知道随机数的结果,操纵结果也就无从谈起。与之相比较,其他的多方参与方案通常最多容忍小于一半的恶意节点,并且交互的开销要比上述方案更大。

2014年Bitshares引入了股份授权证明(Delegated Proof of Stake,DPoS)。DPoS共识的目的就是通过更新顺序达成快速共识,使得交易确认速度大幅提升。DPoS共识主张股东投票的方式选出符合他们利益的见证人(票数排行前101位)来完成每一轮的共识。每一轮共识中,见证人有2秒的许可时间按顺利出块,如果不能在给定的时间内生成块,则将出块的权利授予给下一个见证人。因此,区块的生产者都是提前选出来的,这一确定性保证了每秒能处理超10万的交易量,且能在平均仅1秒的时间内被确认。投票选出的101个见证人的权利对等,如果发现它们存在宕机或者作恶,网络可以重新投票进而替换见证人。为了进一步实现上万级别的交易处理量,在Bitshares之后提出了EOS,EOS所推出的共识为BFT-DPoS。EOS在DPoS的基础上最终选出21个主节点,它们有权力生产区块,这些主节点被称为区块生产者(Block Producer,BP)。不仅如此,EOS在此基础上还引入了BFT的机制:每当一个区块在网络中广播时,其余的BP节点就会立即对这个区块进行确认,经过2/3节点确认的区块将会进入不可逆状态。一旦区块上有了15个BP的投票通过,该区块就会被确定。在这个共识机制下,安全确认的时间为0.5s(区块间隔)+0.3s(区块传播延时)<1s,从而达到了秒级的确认性能。

股份授权证明共识机制较其他共识相比,可以实现秒级的共识验证,且该类共识并不需要庞大的计算开销。由于这些优点,EOS项目中采用了DPoS共识,它使用21个见证人并行出块的方式,性能效率极高,被誉为区块链3.0,曾经轰动全国的超级节点竞选热度一度赶上了比特币的讨论。但现有的DPoS共识机制也存在着以下三点缺陷:

1、DPoS方式只有21个节点固定出块,导致中心化问题严重;

2、由于出块奖励只给21个见证人和候选节点,普通节点不会得到任何奖励,使得普通节点的投票积极性很差,该类共识缺乏足够公平的激励机制;

3、最后,在DPoS中,见证人之间通过PBFT对区块进行验证,区块上必须要附上2/3的见证人签名才被认定区块有效,由于各个节点之间需要互相广播区块并更新自己的本地数据库,这么多签名附在区块中需要被其他节点一一验证,使得节点之间的通讯开销变多。

技术内容

(一)解决的技术问题

针对现有技术的不足,本技术提供了一种基于门限签名和公平奖励的DPoS共识方法及其系统,具备可以在没有可信第三方的情况下,实现一个公平奖励、去中心化式的、加快验证速度从而每秒交易量大幅提高的区块链共识系统的优点,解决了DPoS方式只有21个节点固定出块,导致中心化问题严重,由于出块奖励只给21个见证人和候选节点,普通节点不会得到任何奖励,使得普通节点的投票积极性很差,该类共识缺乏足够公平的激励机制,在DPoS中,见证人之间通过PBFT对区块进行验证,区块上必须要附上2/3的见证人签名才被认定区块有效,由于各个节点之间需要互相广播区块并更新自己的本地数据库,这么多签名附在区块中需要被其他节点一一验证,使得节点之间的通讯开销变多的问题。

(二)技术方案

为实现可以在没有可信第三方的情况下,实现一个公平奖励、去中心化式的、加快验证速度从而每秒交易量大幅提高的区块链共识系统的目的,本技术提供如下技术方案:一种基于门限签名和公平奖励的DPoS共识方法,包括如下步骤:

步骤一、初始节点投票阶段,投票阶段最终会选出N(大约数目为441个)自提名节点进入见证人候选池中,具体步骤如下:

a.节点自提名

网络中所有节点都可以在社区中自我提名并注册成为潜在的区块生产者,在这个阶段,节点通常会建立一个竞选网站以吸引用户投票,在网站中,竞选节点一般指定其当选成功后所用到的硬件和软件,有的甚至会给出奖励分配方案吸引用户的投票,自我提名阶段必须在开始投票过程之前全部完成,所有自提名的节点会被列入社区建立的自提名表单中,为下一阶段节点投票提供投票对象;

b.节点投票

在主网未上线时,可借用公信力较强的以太坊的智能合约完成投票过程,待主网建立起来后,可直接在自身的区块链系统中建立合约完成投票过程,社区成员使用以太坊的ERC-20协议代币投票表决后,合约会冻结所有账户并拍摄ERC-20代币持有者的初期余额,在整个投票过程中,设定投票时间为T,节点对每个节点的投票贡献不止是代币的数量多少,而是由代币数量n,投票及时度p与节点的投票权重w三个变量决定,一个节点参与投票的贡献φi可由以下公式计算(之后部分激励机制会涉及到节点的投票贡献):φi=n×p×w,投票及时度指的就是在规定投票的T时间内节点投票越早,就越容易获得更高的贡献,同样投票的权重也是指节点连续投票的影响力,这两个参数都被设为指数级别的下降函数,若是投票不及时或是没有连续投票的话,这两个参数值就会越来越低,当节点收到投票提醒时,立即将代币投给心仪的候选见证人,当代币被锁定到合约中,这部分代币会被锁定无法使用,等投票阶段结束后,合约会自动赎回对应的代币到用户的账户上;

步骤二、随机选人阶段,使用可验证延迟函数(VDF)来生成随机数,具体步骤如下:

c.利用VDF公平可验证的方式选出21个随机数并映射到1~N的数值范围内从而选出21个见证人;

d.将N个节点各自选出一个随机数将其公开发布到区块链公示板上,经哈希函数处理为256位的哈希值作为可验证拖延函数(VDF)的其中一个输入,并将最终生成的第21个随机数的时间t也作为谜题破解时间输入,整个VDF计算最终会产生一个最终随机数,选择计算过程中的其余20个随机数作为输出,因此最后会有21个输出随机数和它们的证明,对于这21个随机数的计算结果,任何节点都可以进行验证,节点可根据初始化阶段的公共参数pp、输入x、输出y以及证明π这4个参数,调用Verify算法验证输出结果是否为accept,并且使用VDF 最大的优势在于验证的时间复杂度远远低于Eval阶段计算的时间复杂度;

步骤三、门限签名-共识阶段,21个见证人通过分布式密钥产生协议,利用多方参与,计算共享的公私钥对,从而克服单点故障和单个节点不可信问题,之后他们的出块顺序由见证人所获得的投票支持率决定,从高到低排序,投票支持率最高的为第一个出块者,具体步骤如下:

e.节点客户端发起一笔交易Tx,通过钱包签名后该交易数据通过P2P网络发送给所连接的节点服务器(全节点);

f.当全节点BP1收到该交易数据后,首先会对交易进行校验。校验主要分为三个部分:

1.校验交易的权限,是否满足对应的权益要求(EOS中账户具有一系列权限);

2.校验交易的签名,是否有校;

3.校验交易Tx数据是否有效,若校验通过,见证人BP1会将该笔交易放入自己的交易池中;

g.见证人BP1在出块时间内,会将多笔交易从交易池中取出,并打包成区块进行门限签名Sig1,最后再广播给其余20个负责验证的见证人;

h.验证节点收到见证人的区块消息后,验证并门限签名,发送给BP1;

i.BP1收到后合成签名,再次发送给其他见证人;

j.其他见证人验证签名是否得到群公钥的验证;

步骤四、激励发放阶段,每次投票选出N个见证人负责出块,并获得一定的奖励,而这其中每一个见证人的投票者也会从中获得一定的奖励,每一次共识过程结束之后,成功生产区块的某个代表节点要将获得的奖励按照相应的比例分给为它投票的所有节点,使用博弈论沙普利值法算法,最终实现按贡献分配奖励,让普通节点能够积极参与投票过程。

优选的,所述节点所拥有的的每一个代币都对应着30张选票,对同一个候选节点只能投一票,不能重复给同一个节点多张票,这样可以减少少数人互相勾结控制主链的风险。

优选的,所述沙普利值法算法具体如下:

第一步、输入系统所有节点M,为节点Pi投票的节点个数为N、节点Pi的收益为E、节点Ni贡献值Φi

第二步、输出投票节点所得收益Ei

第三步、n←1

第四步、REPEAT

第五步、iF(n≤N)&&(i∈List)&&(i∈Listld)then

//List表示为当前代表节点投票的节点集合,Listid代表参与投票的所有节点集合

第六

步、

//|S|表示联盟S所包含的成员数,成员I参与不同联盟S为自身参与联盟创造的边际贡献记为[V(S)-V(S\\ {i})],S\\{i}表示从集合S中删除元素i后的集合

第七步、Ei=E×Φ_i(v)

第八步、Listld=Listld-List

//第9步和第10步是为了限制节点的投票次数,当为LIST中的节点分配奖励之后,LISTID会删除这些节点,只有节点同时属于两个集合才会获得收益

第九步、n++

第十步、returnEi

第十一步、until n>N and List isfull。

一种基于门限签名和公平奖励的DPoS共识系统,包括区块链系统、节点和见证人,所述区块链系统是整个共识机制方案的设计是在区块链系统中完成的,作为底层技术,它本质是一个去中心化的数据库,它是一种不依赖第三方,通过分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案,点对点网络将所有的交易历史都存储在“区块链”中,区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走,区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有交易历史的记录;

所述节点可以是资源受限的设备,或是具备算力资源和网络资源的设备,它们都可以参与到该区块链系统的运行,节点执行区块链程序,注册成为区块链网络中的节点,都具备相同的权利参与见证人投票中,当主网未上线时,通过以太坊主网的ERC-20协议生成对应代币,节点可通过该代币进行投票,节点通过投票最终会产生见证人(BP),它们是一类特殊的节点,参与共识机制的运作中;

每轮所述n个见证人P={P_1,P_2,…P_n}可通过分布式密钥生成协议(DKG)生成对应的私钥份额S={S_1,S_1,…S_n}以及可验证密钥集V={V_1,V_1,…V_n},且有一个公开的群公钥X,当收集了t个及以上的节点签名后可以将其聚合成一个完整的签名并能够得到公钥X的验证,因此整个共识过程中,见证人将自己的私钥作为秘密信息,而公开信息则为群公钥X与可验证密钥集V={V_1,V_1,…V_n},在传统的DPoS机制中,每一轮共识中21个见证人的出块顺序是通过比较节点的账户名大小得出,21个见证人经投票进入候选池,后由可验证延迟函数随机选出,它们的出块顺序可以由投票的支持率决定,支持率由高到低从而决定出块顺序。

(三)有益效果

与现有技术相比,本技术提供了一种基于门限签名和公平奖励的DPoS共识方法及其系统,具备以下有益效果:

1、该基于门限签名和公平奖励的DPoS共识方法及其系统,利用密码学中可公开验证延迟函数生成随机数从候选池中选取见证人,防止敌手腐化攻击以及达到分散中心出块权利的目的,使得整个区块链系统更加去中心化。

2、该基于门限签名和公平奖励的DPoS共识方法及其系统,使用博弈论的沙普利值法重新设计节点的激励机制,使得参与投票的节点、当选见证人、候选见证人三方都能够有充分的奖励制度,解决节点投票积极性不高的问题。

3、该基于门限签名和公平奖励的DPoS共识方法及其系统,使用门限签名技术将最终得到验证的区块签名缩短为单个签名的大小且最后能得到群公钥的验证,加速其他节点的验证过程,同时也改善PBFT协议的性能。

4、该基于门限签名和公平奖励的DPoS共识方法及其系统,利用门限签名技术缩小签名数量从而加速验证签名过程,利用博弈论沙普利值法将奖励公平地分配到参与投票的普通节点,最后利用可验证延迟函数(VDF)生成随机数公平选出每轮共识的见证人,可以在没有可信第三方的情况下,实现一个公平奖励、去中心化式的、加快验证速度从而每秒交易量大幅提高的区块链共识系统。

附图说明

图1为基于门限签名和公平奖励的DPoS方案的系统流程图;

图2为传统区块链上的随机数生成流程图;

图3为VDF随机数生成的流程图;

图4为传统DPoS出块流程图;

图5为EOS的出块流程图。

具体实施方式

下面将对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。

请参阅图1-5,一种基于门限签名和公平奖励的DPoS共识方法,包括如下步骤:

步骤一、初始节点投票阶段,投票阶段最终会选出N(大约数目为441个)自提名节点进入见证人候选池中,具体步骤如下:

a.节点自提名

网络中所有节点都可以在社区中自我提名并注册成为潜在的区块生产者,在这个阶段,节点通常会建立一个竞选网站以吸引用户投票,在网站中,竞选节点一般指定其当选成功后所用到的硬件和软件,有的甚至会给出奖励分配方案吸引用户的投票,自我提名阶段必须在开始投票过程之前全部完成,所有自提名的节点会被列入社区建立的自提名表单中,为下一阶段节点投票提供投票对象;

b.节点投票

在主网未上线时,可借用公信力较强的以太坊的智能合约完成投票过程,待主网建立起来后,可直接在自身的区块链系统中建立合约完成投票过程,社区成员使用以太坊的ERC-20协议代币投票表决后,合约会冻结所有账户并拍摄ERC-20代币持有者的初期余额,在整个投票过程中,设定投票时间为T,节点对每个节点的投票贡献不止是代币的数量多少,而是由代币数量n,投票及时度p与节点的投票权重w三个变量决定,一个节点参与投票的贡献φi可由以下公式计算(之后部分激励机制会涉及到节点的投票贡献):φi=n×p×w,投票及时度指的就是在规定投票的T时间内节点投票越早,就越容易获得更高的贡献,同样投票的权重也是指节点连续投票的影响力,这两个参数都被设为指数级别的下降函数,若是投票不及时或是没有连续投票的话,这两个参数值就会越来越低,这样设置的目的则是积极鼓励节点在投票初期就将代币尽块的投出去,并且该设置对连续投票的节点较为友好,当节点收到投票提醒时,立即将代币投给心仪的候选见证人,当代币被锁定到合约中,这部分代币会被锁定无法使用,等投票阶段结束后,合约会自动赎回对应的代币到用户的账户上;

步骤二、随机选人阶段,使用可验证延迟函数(VDF)来生成随机数,具体步骤如下:

c.利用VDF公平可验证的方式选出21个随机数并映射到1~N的数值范围内从而选出21个见证人;

d.将N个节点各自选出一个随机数将其公开发布到区块链公示板上,经哈希函数处理为256位的哈希值作为可验证拖延函数(VDF)的其中一个输入,并将最终生成的第21个随机数的时间t也作为谜题破解时间输入,整个VDF计算最终会产生一个最终随机数,选择计算过程中的其余20个随机数作为输出,因此最后会有21个输出随机数和它们的证明,对于这21个随机数的计算结果,任何节点都可以进行验证,节点可根据初始化阶段的公共参数pp、输入x、输出y以及证明π这4个参数,调用Verify算法验证输出结果是否为accept,并且使用VDF 最大的优势在于验证的时间复杂度远远低于Eval阶段计算的时间复杂度,由VDF生成了21个随机数,意味着该轮共识的21个见证人(BP)也被选了出来,而其他节点则作为候选节点;

步骤三、门限签名-共识阶段,21个见证人通过分布式密钥产生协议,利用多方参与,计算共享的公私钥对,从而克服单点故障和单个节点不可信问题,之后他们的出块顺序由见证人所获得的投票支持率决定,从高到低排序,投票支持率最高的为第一个出块者,具体步骤如下:

e.节点客户端发起一笔交易Tx,通过钱包签名后该交易数据通过P2P网络发送给所连接的节点服务器(全节点);

f.当全节点BP1收到该交易数据后,首先会对交易进行校验。校验主要分为三个部分:

1.校验交易的权限,是否满足对应的权益要求(EOS中账户具有一系列权限);

2.校验交易的签名,是否有校;

3.校验交易Tx数据是否有效,若校验通过,见证人BP1会将该笔交易放入自己的交易池中;

g.见证人BP1在出块时间内,会将多笔交易从交易池中取出,并打包成区块进行门限签名Sig1,最后再广播给其余20个负责验证的见证人;

h.验证节点收到见证人的区块消息后,验证并门限签名,发送给BP1;

i.BP1收到后合成签名,再次发送给其他见证人;

j.其他见证人验证签名是否得到群公钥的验证;

步骤四、激励发放阶段,每次投票选出N个见证人负责出块,并获得一定的奖励,而这其中每一个见证人的投票者也会从中获得一定的奖励,每一次共识过程结束之后,成功生产区块的某个代表节点要将获得的奖励按照相应的比例分给为它投票的所有节点,使用博弈论沙普利值法算法,最终实现按贡献分配奖励,让普通节点能够积极参与投票过程。

节点所拥有的的每一个代币都对应着30张选票,对同一个候选节点只能投一票,不能重复给同一个节点多张票,这样可以减少少数人互相勾结控制主链的风险。

沙普利值法算法具体如下:

第一步、输入系统所有节点M,为节点Pi投票的节点个数为N、节点Pi的收益为E、节点Ni贡献值Φi

第二步、输出投票节点所得收益Ei

第三步、n←1

第四步、REPEAT

第五步、iF(n≤N)&&(i∈List)&&(i∈Listld)then

//List表示为当前代表节点投票的节点集合,Listid代表参与投票的所有节点集合

第六

步、

//|S|表示联盟S所包含的成员数,成员I参与不同联盟S为自身参与联盟创造的边际贡献记为[V(S)-V(S\\ {i})],S\\{i}表示从集合S中删除元素i后的集合

第七步、Ei=E×Φ_i(v)

第八步、Listld=Listld-List

//第9步和第10步是为了限制节点的投票次数,当为LIST中的节点分配奖励之后,LISTID会删除这些节点,只有节点同时属于两个集合才会获得收益

第九步、n++

第十步、returnEi

第十一步、until n>N and List isfull。

一种基于门限签名和公平奖励的DPoS共识系统,包括区块链系统、节点和见证人,所述区块链系统是整个共识机制方案的设计是在区块链系统中完成的,作为底层技术,它本质是一个去中心化的数据库,它是一种不依赖第三方,通过分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案,点对点网络将所有的交易历史都存储在“区块链”中,区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走,区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有交易历史的记录;

所述节点可以是资源受限的设备,或是具备算力资源和网络资源的设备,它们都可以参与到该区块链系统的运行,节点执行区块链程序,注册成为区块链网络中的节点,都具备相同的权利参与见证人投票中,当主网未上线时,通过以太坊主网的ERC-20协议生成对应代币,节点可通过该代币进行投票,节点通过投票最终会产生见证人(BP),它们是一类特殊的节点,参与共识机制的运作中;

每轮所述n个见证人P={P_1,P_2,…P_n}可通过分布式密钥生成协议(DKG)生成对应的私钥份额S={S_1,S_1,…S_n}以及可验证密钥集V={V_1,V_1,…V_n},且有一个公开的群公钥X,当收集了t个及以上的节点签名后可以将其聚合成一个完整的签名并能够得到公钥X的验证,因此整个共识过程中,见证人将自己的私钥作为秘密信息,而公开信息则为群公钥X与可验证密钥集V={V_1,V_1,…V_n},在传统的DPoS机制中,每一轮共识中21个见证人的出块顺序是通过比较节点的账户名大小得出,21个见证人经投票进入候选池,后由可验证延迟函数随机选出,它们的出块顺序可以由投票的支持率决定,支持率由高到低从而决定出块顺序。

综上所述,该基于门限签名和公平奖励的DPoS共识方法及其系统,利用密码学中可公开验证延迟函数生成随机数从候选池中选取见证人,防止敌手腐化攻击以及达到分散中心出块权利的目的,使得整个区块链系统更加去中心化,使用博弈论的沙普利值法重新设计节点的激励机制,使得参与投票的节点、当选见证人、候选见证人三方都能够有充分的奖励制度,解决节点投票积极性不高的问题,使用门限签名技术将最终得到验证的区块签名缩短为单个签名的大小且最后能得到群公钥的验证,加速其他节点的验证过程,同时也改善PBFT 协议的性能,利用门限签名技术缩小签名数量从而加速验证签名过程,利用博弈论沙普利值法将奖励公平地分配到参与投票的普通节点,最后利用可验证延迟函数(VDF)生成随机数公平选出每轮共识的见证人,可以在没有可信第三方的情况下,实现一个公平奖励、去中心化式的、加快验证速度从而每秒交易量大幅提高的区块链共识系统。

需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

尽管已经示出和描述了本技术的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本技术的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本技术的范围由所附权利要求及其等同物限定。

互联网金融行业电子合同电子签名解决方案

互联网金融业务 手写电子签名解决方案 北京数字认证股份有限公司中国·北京市海淀区北四环西路68号左岸工社15层TEL:86-10-58045600FAX:86-10-58045678 邮政编码:100080 2015.7

目录 1.方案背景 (1) 2.现状分析 (1) 3.需求说明 (1) 4.解决方案 (2) 4.1.整体结构 (2) 4.2.身份认证设计.............................错误!未定义书签。 4.3.线下PC、PAD签约模式方案 (3) 4.3.1. 4.3.2.方案组成 (4) 业务流程 (4) 4.4.线上APP签约模式方案 (5) 4.4.1. 4.4.2.方案组成 (5) 业务流程 (5) 4.5.线上短信签约模式方案 (6) 4.5.1. 4.5.2.方案组成 (6) 业务流程 (7) 4.6.总体部署 (7) 5.司法鉴定服务 (8) 6.产品清单 (9) 7.方案特点 (10) 8.方案应用推广现状 (10)

1.方案背景 在当下多元化的互联网金融模式中,互联网金融门户模式正在快速崛起。互联网金融不是互联网和金融业的简单结合,而是在实现安全、移动等网络技术水平上,被用户熟悉接受后,自然而然为适应新的需求而产生的新模式及新业务。 为规范互联网金融公司网络营销平台业务,保证平台在后续交易中的合规性,维护有关各方的合法权益,提升平台公信力,需要在网络营销涉及的电子协议中加入依靠可靠的第三方电子认证机构提供合法的电子认证。 2.现状分析 互联网金融依托线上、线下平台,快速、便捷、持续地为客户提供服务,目前很多互联网金融公司已完成网贷平台建设,在交易过程中,涉及借款人、出借人、平台、小贷公司/担保机构四方参与者,由于依托互联网平台,交易中各方参与者的真实身份无法确定,而电子交易平台直接关系资金、财产等敏感内容,虚假的用户身份可能直接导致交易各方的财产损失。 各参与者之间需要在网贷平台上签署服务合同或其他文件,为使相关凭证符合《中华人民共和国电子签名法》中的规定要求,需通过电子签章与认证的方式确保平台出具的文档具有法律效力。 3.需求说明 结合互联网金融公司的运营模式和业务情况,交易各方需要在平台上签署电子合同,必须确保签名人身份真实,签名后电子合同符合司法机构的要求,具备法律效力,同时保证业务过程中的签署的安全性,可靠性。核心需求包括:强实名认证:投资人或借款人在平台注册时需要通过身份审核(公安部身份认证)、密码校验、身份证照片留存、人脸识别等。 互联网金融业务电子合同的合法性:电子合同需要具有与纸质合同同样的法

信息安全之电子签名技术的实现

滨江学院 课程论文 题目数字签名的发展 院系计算机系 专业软件工程(动画方向)学生姓名陈婷 学号20092358009 指导教师朱节中 职称副教授 二O一二年五月二十日

数字签名的发展 陈婷 南京信息工程大学滨江学院软件工程(动画方向),南京210044 摘要: 数字签名是电子商务安全的一个非常重要的分支。随着电子商务的发展,电子签名的使用越来越多。实现电子签名的技术手段有很多种,但比较成熟的、世界先进国家目前普遍使用的电子签名技术还是基于PKI的数字签名技术。 关键词: 数字签名信息安全电子商务 1引言 1.1 研究背景 在当今信息社会,计算机网络技术得到了突飞猛进的发展。计算机网络日益成为工业、农业和国防等领域的重要信息交换手段,并逐渐渗透到社会的各个领域。在现实生活中,人们常常需要进行身份鉴别、数据完整性认证和抗否认。身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。随着无纸化办公的发展,计算机网络的安全越来越受到重视,防止信息被未经授权的泄漏、篡改和破坏等都是亟待解决的问题。在Internet上,数字签名作为一项重要的安全技术,在保证数据的保密性、完整性、可用性、真实性和可控性方面起着极为重要的作用。同时由于信息技术的发展及其在商业、金融、法律等部门的普及, 数字签名技术又面临着新的挑战。 1.2 开发意义 数字签名是实现电子交易安全的核心技术之一,它在实现身份认证、数字完整性、不可抵赖性等功 能方面都有重要应用。尤其是在密钥分配、电子银行、电子证券、电子商务和电子政务等许多领域有重要 的应用价值。 2相关技术介绍 2.1PKI/CA 技术的介绍 PKI 就是公开密钥基础设施。它是利用公开密钥技术所构建的,解决网络安全问题的,普遍适用的一种基础设施。公开密钥技术也就是利用非对称算法的技术。说PKI 是基础设施,就意味着它对信息网络的重要。PKI 通过延伸到用户本地的接口,为各种应用提供安全的服务,如认证、身份识别、数字签名、

互联网金融行业电子合同电子签名解决实施方案

互联网金融行业电子合同电子签名解决实施方案

————————————————————————————————作者:————————————————————————————————日期:

互联网金融业务 手写电子签名解决方案 北京数字认证股份有限公司中国·北京市海淀区北四环西路68号左岸工社15层TEL:86-10-58045600 FAX:86-10-58045678 邮政编码:100080 2015.7

目录 1.方案背景 (1) 2.现状分析 (1) 3.需求说明 (1) 4.解决方案 (2) 4.1. .................................................................................................................. 整体结构 2 4.2. ........................................................................................................ 身份认证设计 错误!未定义书签。 4.3. .......................................................................... 线下PC、PAD签约模式方案 4 4.3.1. .............................................................................................. 方案组成 4 4.3.2. .............................................................................................. 业务流程 4 4.4. ..................................................................................... 线上APP签约模式方案 5 4.4.1. .............................................................................................. 方案组成 5 4.4.2. .............................................................................................. 业务流程 5 4.5. ...................................................................................... 线上短信签约模式方案

两种数字签名方案

两种数字签名技术 0902班贺信学号: 1.数字签名的基本概念 1.1 数字签名的定义 所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、DES/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。 1.2 数字签名的基本要求 身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。数字签名技术用来保证信息的完整性。“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并

核实报文是否发生变化的一个字母数字串。数字签名可以解决否认、伪造、篡改及冒充等问题。类似于手书签名,数字签名也应满足一下基本要求: 1)收方能够确认或证实发方的签名,但不能伪造签名。 2)发方向收方发出签名的消息后,就不能再否认他所签发的消息,以保证他不能抵赖之前的交易行为。 3)收方对已收到的签名信息不能否认,即有收报认证。 4)第三者可以确认收发双方之间的信息传递,但不能伪造这一过程。 1.3 数字签名的原理 数字签名是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图像化。它类似于手写签名或印章,也可以说它就是电子印章。我们对一些重要的文件进行签名,以确定它的有效性。但伪造传统的签名并不困难,这就使得数字签名与传统签名之间的重要差别更加突出:如果没有产生签名的私钥,要伪造由安全密码数字签名方案所产生的签名,计算上是不可行的。人们实际上也可以否认曾对一个议论中的文件签过名。但是否认一个数字签名却困难得多,这样做本质上证明在签名生成以前私钥的安全性就受到危害。这是由于数字签名的生成需要使用私钥,而它对应的公钥则用以验证签名。因而数字签名的一个重要性质就是非否认性,目前已经有一些方案,如数字证书,把一个实体(个人,组织或系统)的身份同一个私钥和公钥对"

一种改进的动态门限签名方案

—158 — 一种改进的动态门限签名方案 米军利,张建中 (陕西师范大学数学与信息科学学院,西安 710062) 摘 要:针对WLC 数字签名方案的不安全性,做了一些必要的改进。改进后的方案:只有指定的合成群秘书参与才能生成签名;而当有新成员加入或剔除违规成员时,系统本身的参数及其它成员的密钥对保持不变;系统的成员也可以用唯一的密钥对为不同群的消息签名。关键词:数字签名;门限签名;可追踪性;系统稳定性 Improved Dynamic Threshold Signature Scheme MI Junli, ZHANG Jianzhong (College of Mathematics and Information Science, Shaanxi Normal University, Xi'an 710062 ) 【Abstract 】Contraposed the insecurity of WLC -digital signature scheme, this paper makes some improvement. The main merits are that a valid signature is generated only by the designated clerk participating together: if some new members join the group or some members are deleted left the group, the system parameters and the key pairs of other members remain the same, and that an individual could sign messages for different organizations at the same time with the same secret key pair. 【Key words 】Digital signature; Threshold signature; Traceability; System stability 计 算 机 工 程 Computer Engineering 第33卷 第7期V ol.33 No.7 2007年4月 April 2007 ?安全技术? 文章编号:1000—3428(2007)07—0158—02文献标识码:A 中图分类号:TP309 1 概述 数字签名是实现网络身份认证、数据完整性保护和非否认服务的基础,也是开展电子商务和签订电子合同的重要工具。使用普通的数字签名方案,每个用户都有自己的密钥对,且无论生成签名,还是验证签名,都只有一个用户参与。一旦私钥泄漏,就会造成严重后果。而门限数字签名方案,增加了签名者的数量,一个或少数几个用户的密钥泄漏不会对群系统造成较大的影响,伪冒签名的难度也就大大增加了。因此,关于门限数字签名方案的研究就显得越来越重要。 1991年Desmedt 和Frankel [1]提出了基于R S A 的(t,n)门限签名方案。在这个方案群中t 个或多于t 个成员可以代表群产生一个有效的数字签名,并且验证者在不知道签名者身份的情况下,可验证群签名的有效性。后来Harn 利用Lagrange 插值定理和ELGamal 体制设计了一个具有可跟踪性的(t,n )门限签名方案[2]。但这两个方案都遭到了伪冒攻击,群私钥可能会被泄漏。为了防止这种攻击,Li 等人[3]提出了一种具有可跟踪性的签名方案。这个方案中每个成员利用一个随机数去签名,因而它的安全性有了一定的保证,同时这个随机数使这个方案具有可跟踪的特性。但是Michels 和Horster [4]发现在这个方案中签名者不能确定签名的合作者是谁,因而它又违背了可跟踪的特性。最近Wang 等人也提出了一种具有可跟踪性的(t,n)门限签名方案[5](本文简称WLC 签名方案)。但这种方案也是不安全的,它不能抵抗伪冒攻击。任何恶意攻击者不需要知道群成员的密钥,就能借助一个以前的有效群签名成功伪造另一个新的有效群签名[6]。本文针对此方案的缺陷,做了一些必要的改进。改进后的方案具有以下5个性质: (1)系统稳定性:剔除违规成员或加入新成员时毋须改变系统参数及其他成员的密钥对。 (2)多参与性:一个成员可以同时加入多个群,而用他们唯一的密钥对可以同时为不同群的消息签名。 (3)匿名性:签名的验证者不会知道签名是群中哪些成员签署的。 (4)可跟踪性:发生纠纷时,可追查出签名者的真实身份。 (5)防冒充性:任何小组不能假冒其他小组生成有效的群签名。 2 WLC 签名方案的简单回顾 在这部分中,仅对WLC 签名方案做简单描述。这个方案需要可信的密钥分配中心TDC 和指定的群秘书DC 的参与,他们分别负责群参数的选取、密钥的分发和有效的群签名合成。 这个方案实施过程可以分为3个阶段:系统初始化阶段,部分签名的生成和验证阶段,群签名的生成和验证阶段。描述如下: (1)系统初始化阶段 假定n 是这个群中成员的数目,任何t 个或多于t 个成员组能代表群为消息签名。 1)p, p’, q 3个大素数,且p’|p -1,q|p’-1。 2)g 是GF(p)上的p’阶生成元,α是GF(p’)上的q 阶生成元。 3)一个安全的Hash 函数H 。 4)一个秘密多项式函数??=∈=∑q i t i i i Z a q x a x f ,mod )(1 。 5)群私钥f (0),公钥p g y f mod ) 0(α =。 6)每个成员J i 的私钥p i x f ′mod ) (α,公钥p g y i x f i mod ) (α=。其 中i x 是与J i 的身份等有关的一个公开值。 基金项目:国家自然科学基金资助项目(10271069);陕西省自然科学基金资助项目(2004A14) 作者简介:米军利(1972-),男,硕士生,主研方向:密码学与信息安全;张建中,博士、教授 收稿日期:2006-04-06 E -mail :mijunli1972@https://www.360docs.net/doc/81462903.html, 万方数据

两个基于RSA的特殊数字签名方案

龙源期刊网 https://www.360docs.net/doc/81462903.html, 两个基于RSA的特殊数字签名方案 作者:蒋俊锋 来源:《电脑知识与技术》2008年第35期 摘要:介绍了数字签名背景、签名体制的形式化描述以及两个特殊的数字签名方案。对如何用RSA实现盲签名和多重数字签名方案进行了研究,分析了两种具体方案实现的安全性。最后总结了这两种特殊数字签名实现过程中算法设计的优劣。 关键词:数字签名;RSA;盲签名;多重签名 中图分类号:TP316文献标识码:A文章编号:1009-3044(2008)35-2095-02 Two RSA-based Special Digital Signature Schemes JIANG Jun-feng (Engineering of Information Hohai University,Changzhou 213022,China) Abstract: The background, the formal definition and some special form of digital signature are firstly introduced.The research of how to realize the blind signature and the multisignature with RSA signature scheme are carried out secondly. The virtue and shortcoming of the two realized special digital signature schemes and the research to be continued are lastly put forward. Key words: digital signature;RSA;blind signature;multisignature 1 引言 1.1 背景 签名一直被作为一种证明签名者身份的标识,它表明签名人看过乃至同意文件的内容。签 名人作出签名后将无法否认,并要为自己的签名负责。随着密码学的发展,数字签名(digital signature)克服了手写签名的缺点。数字签名[1]具有签名可信性、不可抵赖性、不可复制性、 不可伪造性和数据完整性的优点。2004年8月我国正式颁布了《中华人民共和国电子签名法》,确立了数字签名在我国的法律效力和地位。 1.2 数字签名的形式化定义

两种数字签名方案

两种数字签名技术 0902班贺信学号:14092400635 1.数字签名的基本概念 1.1 数字签名的定义 所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、DES/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。 1.2 数字签名的基本要求 身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。数字签名技术用来保证信息的完整性。“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并

核实报文是否发生变化的一个字母数字串。数字签名可以解决否认、伪造、篡改及冒充等问题。类似于手书签名,数字签名也应满足一下基本要求: 1)收方能够确认或证实发方的签名,但不能伪造签名。 2)发方向收方发出签名的消息后,就不能再否认他所签发的消息,以保证他不能抵赖之前的交易行为。 3)收方对已收到的签名信息不能否认,即有收报认证。 4)第三者可以确认收发双方之间的信息传递,但不能伪造这一过程。 1.3 数字签名的原理 数字签名是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图像化。它类似于手写签名或印章,也可以说它就是电子印章。我们对一些重要的文件进行签名,以确定它的有效性。但伪造传统的签名并不困难,这就使得数字签名与传统签名之间的重要差别更加突出:如果没有产生签名的私钥,要伪造由安全密码数字签名方案所产生的签名,计算上是不可行的。人们实际上也可以否认曾对一个议论中的文件签过名。但是否认一个数字签名却困难得多,这样做本质上证明在签名生成以前私钥的安全性就受到危害。这是由于数字签名的生成需要使用私钥,而它对应的公钥则用以验证签名。因而数字签名的一个重要性质就是非否认性,目前已经有一些方案,如数字证书,把一个实体(个人,组织或系统)的身份同一个私钥和公钥对

手机银行数字签名实现方案

手机银行数字签名实现方案中国工商银行股份有限公司山东省分行 李顺吉 张昆 刘伟 普通数字签名广泛应用于银行的各类系统中,例如网上银行客户可以用U盾对缴费信息进行数字签名,以确保信息的完整性、保密性、不可否认性。但是手机银行则不同,受硬件环境的约束更加严格:不够强大的CPU、较小的内存,电池功耗受限等特点使其运算能力较低,不同输入设备使用的U盾类硬件设备接口也无法统一。各大银行目前均没有实现支持所有型号手机的数字签名系统,而普通口令卡因为安全性有限从而限制了支付额度。笔者根据手机银行特点,在基于身份的数字签名的基础上,结合门限密钥共享思想,将身份签名体制中的私钥进行拆分,提出无需证书的新型手机银行数字签名方案,使得手机银行客户仅通过口令即可对信息进行数字签名。 一、签名方案背景知识及系统参数介绍 1.基于椭圆曲线的密码系统 首先介绍循环群这一数学概念:一个非空集合G在二元运算乘法下满足结合律(对任意属于G的元素a、b、c都有(a*b)*c=a*(b*c));存在单位元e(任意属于G的元素a都有e*a=a*e=a);任意属于G的元素a均有逆元(存在属于G的元素b,使a*b=e);G中的某个元素g通过与自身的*运算生成了G中的所有元素,g记为生成元,这样的代数系统记为循环群。例如:任取素数q,小于等于q的正整数构成循环群,1为单位元,循环群中任意非单位元x均可作为生成元,对1≤i≤q,xi(mod q)的值恰好就是循环群中的所有元素。 q为素数,方程y2=x3+ax+b(mod q)的所有整数解(x,y)记为椭圆曲线上的点。下面的小写字母全部代表整数,大写字母代表椭圆曲线上的点。对点P及整数m<q,存在另一点Q满足点乘运算为Q=mP,存在另一点R满足点加运算R=P +Q。椭圆曲线模素数的整数解在点加和点乘运算下均构成循环群,点加循环群记为G。简单地说,l为一小正整数,合适的q元素下,y2=x3+ax+b(mod ql)的部分整数解也形成循环群,其点乘循环群记为V,则存在映射e:G×G->V记为双线性映射。双线性映射满足:①双线性性: 对任意G上的P,Q,R有e(P,Q+R) =e(P,Q)*e(P,R),e(P+Q,R)=e(P,R)*e(Q,R),由此可知,对所有G上点P,Q和所有a,b≤q,满足e(aP,bQ)=e(P,Q)ab; ②非退化性: 存在G上点P,Q使得e(P,Q)不等于V的单位元;③可计算性: 对任意G上点P,Q,存在着高效算法来计算e(P,Q)。笔者可以用超奇异椭圆曲线上的weil对或者改造的Tate对构造双线性映射。当q >2160时,上述椭圆曲线系统满足下列密码学性质。 离散对数问题:给定G上点P,Q,找出整数n,使得Q=nP是困难的。 CDH问题:给定三元组(P,aP,bP),对整数a,b,找出abP。 DDH问题:给定四元组(P,aP,bP,cP),整数a,b,c, c=ab(mod q)是否成立。 GDH问题:这是一类CDH问题难解,但是DDH问题易解的问题。 GDH群:CDH难解,DDH易解的群。上述椭圆曲线上的点就是GDH群。

一种可验证的门限RSA签名方案

一种可验证的门限RSA签名方案 0引言 Shoup于2000年提出了一个门限RSA签名[3],解决了上述问题,在Lagrange插值系数中乘以一个数,使得在一般整数环运算下,插值系数是一个整数。同年徐秋亮学者提出了一个改进的门限RSA数字签名体制[4],也用到了类似的技术使插值系数是一个整数。随后王贵林等学者对Shoup 门限RSA签名作了改进[5],使之能够用于门限不可否认签名。笔者对Shoup门限RSA签名方案作了改进,并且使用可验证秘密共享技术(Verifiable Secret Sharing,VSS)提出了一个可验证的门限RSA签名方案。 1预备知识 1.1Feldman可验证秘密共享 3可验证的门限RSA签名方案的分析 本方案的本质改进在于:①可以看到Shoup原方案产生的签名是一个标准的RSA签名;王的改进方案产生的是非标准的RSA签名;本文提出的方案产生的签名也是标准的。这是通过改进每个成员的子密钥实现的。②缩小插值系数为原来的1/n,提高了签名的速度。③为了方便地引入VSS,笔者改变了分发密钥的多项式系数。这样能够简单地把VSS引入本文的方案。④由于引入了VSS,密钥分发者的诚实性得

到了验证,保证了子密钥的正确性。下面具体分析改进方案。 (3)不可伪造性。在标准RSA签名方案是安全的假设下,该方案是不可伪造的。攻击者能在该方案中伪造签名当且仅当他能在Shoup方案中伪造签名。文献[3]中给出了Shoup方案的不可伪造性分析,本文方案的不可伪造性可以 仿此得到。 性能分析:注意在性能分析中为了进行方案间的比较,不讨论改进方案的VSS部分。事实上,VSS部分仅用于子密 钥分发步骤,不影响方案的签名和验签效率。与王的改进方案相比,本方案生成和验证签名的速度均明显快于王的方案。由门限签名的生成式(9)和插值系数(2)可以看出,本方案绑定签名时模幂运算的指数变为王的方案的1/n,模幂运算比 较耗时,指数变小提高了生成签名的速度。验证式(10)不需要计算模幂运算x4 mod N,提高了验签的速度,这在公钥指数e和4比较接近时效果尤为显著。如取e=3时,验签的速度能够提高一倍。在实际应用中,为了提高验签速度公钥指数e一般都取较小的值,所以该方案的改进是很有必要的。王的方案在性能上优于Shoup原方案,本方案在性能上也高于Shoup原方案。 本方案生成的签名是一个标准的RSA签名。在这一点上与Shoup的原方案是一样的,但王的方案产生的签名不是标准RSA签名,从而导致了验签也不是标准的。关于本文的方

RSA算法和RSA数字签名算法的实现

RSA算法和RSA数字签名算法的实现* 顾婷婷李涛 (四川大学计算机系(西区) 成都610065) 摘要RSA算法是一种公钥密码算法.实现RSA算法包括生成RSA密钥,用RSA加密规则和解密规则处理数据。RSA数字签名算法利用RSA算法实现数字签名。本文详述了RSA算法的基本原理, RSA 加密算法的实现以及如何利用RSA实现数字签名. 关键字RSA算法, 数字签名, 公开密钥, 私人密钥, 加密, 解密 中图分类号TP301 一、引言 随着网络技术的飞速发展,信息安全性已成为亟待解决的问题。公钥密码体制中,解密和加密密钥不同,解密和加密可分离,通信双方无须事先交换密钥就可建立起保密通信,较好地解决了传统密码体制在网络通信中出现的问题。另外,随着电子商务的发展,网络上资金的电子交换日益频繁,如何防止信息的伪造和欺骗也成为非常重要的问题。数字签名可以起到身份认证、核准数据完整性的作用。目前关于数字签名的研究主要集中基于公钥密码体制的数字签名。 公钥密码体制的特点是:为每个用户产生一对密钥(PK和SK);PK公开,SK保密;从PK推出SK是很困难的;A、B双方通信时,A通过任何途径取得B的公钥,用B的公钥加密信息。加密后的信息可通过任何不安全信道发送。B收到密文信息后,用自己私钥解密恢复出明文。 公钥密码体制已成为确保信息的安全性的关键技术。RSA公钥密码体制到目前为止还是一种认可为安全的体制。本文详述了RSA算法和用RSA算法实现数字签名的理论,以及它们在实际应用中的实现。 二、RSA算法和RSA数字签名算法的理论描述 1 RSA算法 RSA算法的理论基础是一种特殊的可逆模幂运算。 设n是两个不同奇素数p和q的积,即:n=pq, ?(n)=(p-1)(q-1)。 定义密钥空间 k={(n,p,q,d,e)|n=pq,p和q是素数,de≡1 mod ?(n),e为随机整数}, 对每一个k=(n,p,q,d,e), 定义加密变换为E k(x)=x b mod n,x∈Z n; 解密变换为D k(x)=y a mod n,y∈Z n,Z n为整数集合。 公开n和b,保密p,q和a. 为证明加密变换E k和解密变换 D k满足D k(E k(x))=x,这里不加证明的引用下面两个定理: 定理1(Euler)对任意的a∈Z n*,有a?(n)≡1 mod n,其中Z n*={x∈Z n|gcd(x,n)=1},?(·)表示Euler函数。 定理2 设p和q是两个不同的素数,n=pq, ?(n)=(p-1)(q-1),对任意的x∈Z n及任意的非负整数k,有 x k?(n)+1≡x mod n. 现在来证明RSA算法的加密变换和解密变换的正确性。 证明:对于加密变换E k和解密变换D k。因为ab≡1 mod ?(n),所以可设ab=t?(n)+1,t *本文受国家自然科学基金以及四川省学术带头人基金的资助。 顾婷婷,硕士生,李涛,教授,主要研究领域:人工智能与神经网络。

数字签名技术的实现

软件职业技术学院 课程设计实验报告 课程名称:网络安全 题目:数字签名技术

目录 (一)主要内容 (3) (二)目的和意义 (3) 二、数字签名的概念 (4) (一)数字签名的定义 (4) (二)数字签名的原理 (4) 三、RSA数字签名系统的实现 (6) (一)RSA数字签名所需实现的功能 (6) (二)主要模块流程图 (6) 四、数字签名的前景展望 (9) 结束语 (10) 参考文献 (11)

一、引言 (一)主要内容 数字签名(Digital Signature)技术是非对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证。在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密。 (二)目的和意义 随着信息技术和计算机网络技术的发展,其应用涉及到政府、军事、文教、商业、金融等诸多领域。如商业经济信息系统、政府机关信息系统、银行业务系统、证券业务系统、科研数据传输等,这些系统都涉及到机密信息的传输与存储。信息时代虽然带给我们无限的商机与方便,但也充斥着隐患与危险。由于网络容易受到攻击,导致机密信息的泄密,轻则引发企业、部门工作陷于瘫痪而造成巨大的经济损失,重则危及国家、军事安全和社会稳定。所以网络信息安全已成为保证国民经济信息化建设健康发展的基础,直接关系到国家的安全,其影响重大。如何保证机密信息不泄漏,鉴别信息来源的真实性,确保信息的完整性和不可抵赖性,就是网络信息安全研究需要解决的问题。网络安全的目标应当满足:身份真实性、信息机密性、信息完整性、服务可用性、不可否认性、系统可控性、系统易用性、可审查性等等。数字签名技术是网络安全的重要手段之一,它可以保证信息完整性、鉴别发送者的身份真实性与不可否认性;再运用数字签名本身的基础技术如加密技术可以保证信息机密性;如再运用审计日志的办法,可完成可审查性的功能。数字签名技术是当前网络安全领域的研究热点。数字签名的特性及可防御的网络威胁可以概括为:身份鉴别,可鉴别信源的真实性而防止冒充;数据完整性保护,抵御数据的篡改或重排;不可抵赖性,信源事后不可否认以防止其抵赖;一般还使用加密技术保护信息机密性,以防截听攻击;加入流水号等技术,可防重放攻击。所以,数字签名技术满足网络安全的目标即身份真实性、信息机密性、信息完整性、服务可用性、不可否认性、系统可控性、系统易用性、可审查性等等。特别是其身份鉴别、数据完整性和不可抵赖性在电子商务、电子政务等应用领域中有很重要的作用[1]。作为网络安全的关键性技术之一,数字签名在社会生活的各个领域也都具有十分广阔的应用前景。可见,数字签名技术十分具有研究价值,并具有重要的研究意义

相关文档
最新文档