一种基于同态加密的积分换算方法及相关设备技术

技术编号:35026216 阅读:30 留言:0更新日期:2022-09-24 22:58
本申请公开了一种基于同态加密的积分换算方法及相关设备,属于区块链技术领域,本申请通过将一个积分换算请求解析为两笔交易,并分别使用对应公钥加密积分换算数额后将加密密文发送给参与积分换算的双方,对参与积分换算的双方各发起对应的加/减交易提案,参与积分换算的双节点各自在自身peer节点内进行同态模拟运算,通过增加超限判断和积分换算是否成功的判断,实现了链上积分全密文换算,使得各参与方积分自己可见的前提下实现了积分运算,提高积分链上隐私性,防止信息泄露。此外,本申请还通过积分换算是否成功的判断来检测是否存在异换算,在提高积分链上隐私性的同时保证了积分总量不变,避免因换算异常引起积分总量增加或者减少。总量增加或者减少。总量增加或者减少。

【技术实现步骤摘要】
一种基于同态加密的积分换算方法及相关设备


[0001]本申请属于区块链
,具体涉及一种基于同态加密的积分换算方法、装置、计算机设备及存储介质。

技术介绍

[0002]同态加密是基于数学难题的计算复杂性理论的密码学技术,对于经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。即同态加密算法中的两个密文经过加减乘除的同态计算后所得的结果经过解密后与原文的真实数据进行直接计算所得出的结果一致,保证数据隐私性的同时实现了数据可计算。
[0003]目前,通常采用区块链实现私密积分的转账和兑现,区块链可以看做是一个分布式的数据库,上链的数据由各节点共同维护,具有去中心化、可追溯不可篡改特性,区块链的分布式特性使得上链的积分对所有参与方可见,因此有可能存在信息泄露方面的隐患,而如果使用传统加密方式,又无法实现密文状态下的积分之间的转账兑换等功能,只能采用明文换算,同样可能存在信息泄露方面的隐患。

技术实现思路

[0004]本申请实施例的目的在于提出一种基于同态加密的积分换算方法、装置、计算机设备及存储介质,以解决现有积分换算方案存在信息泄露隐患的技术问题。
[0005]为了解决上述技术问题,本申请实施例提供一种基于同态加密的积分换算方法,采用了如下所述的技术方案:
[0006]一种基于同态加密的积分换算方法,基于同态加密的积分换算方法应用于联盟链,联盟链基于区块链搭建,联盟链包括至少包括若干个参与方节点和orderer节点,方法包括:
[0007]接收积分换算请求指令,并根据积分换算请求指令确定积分换算参与方和积分换算数额,其中,积分换算参与方包括第一参与方和第二参与方;
[0008]在预设的公钥列表获取第一公钥,以及在公钥列表获取第二公钥;
[0009]利用第一公钥和第二公钥分别对积分换算数额进行加密,得到第一数额密文和第二数额密文;
[0010]将第一数额密文发送到第一参与方的peer节点,并在第一参与方的peer节点内基于第一数额密文完成第一积分换算,得到第一换算结果;
[0011]将第二数额密文发送到第二参与方的peer节点,并在第二参与方的peer节点内基于第二数额密文完成第二积分换算,得到第二换算结果;
[0012]分别对第一换算结果和第二换算结果进行超限检测;
[0013]当超限检测均通过后,根据第一换算结果判断第一积分换算是否成功,以及根据第二换算结果判断第二积分换算是否成功;
[0014]当第一积分换算和第二积分换算均成功后,获取第一积分换算信息和第二积分换算信息,并将第一积分换算信息和第二积分换算信息发送至orderer节点。
[0015]进一步地,在接收积分换算请求指令,并根据积分换算请求指令确定积分换算参与方和积分换算数额之前,还包括:
[0016]生成每一个参与方节点的同态公私钥对,同态公私钥对包括公钥和私钥;
[0017]将每一个参与方节点的私钥存储在自身本地存储器的数据库;
[0018]将每一个参与方节点的公钥依次上传至区块链账本,形成公钥列表。
[0019]进一步地,在将每一个参与方节点的公钥依次上传至区块链账本,形成公钥列表之后,还包括:
[0020]获取每一个参与方节点的初始积分;
[0021]利用每一个参与方节点的公钥对各自的初始积分进行加密,得到每一个参与方节点的初始积分密文;
[0022]将每一个参与方节点的初始积分密文依次上传至区块链账本,形成初始积分列表。
[0023]进一步地,将第一数额密文发送到第一参与方的peer节点,并在第一参与方的peer节点内基于第一数额密文完成第一积分换算,得到第一换算结果,具体包括:
[0024]获取第一参与方的初始积分密文;
[0025]将初始积分密文和第一数额密文发送到第一参与方的peer节点;
[0026]在第一参与方的peer节点内基于第一参与方的初始积分密文和第一数额密文按照智能合约模拟交易,以完成第一积分换算,得到第一换算结果;
[0027]将第二数额密文发送到第二参与方的peer节点,并在第二参与方的peer节点内基于第二数额密文完成第二积分换算,得到第二换算结果,具体包括:
[0028]获取第二参与方的初始积分密文;
[0029]将初始积分密文和第二数额密文发送到第二参与方的peer节点;
[0030]在第二参与方的peer节点内基于第二参与方的初始积分密文和第二数额密文按照智能合约模拟交易,以完成第二积分换算,得到第二换算结果。
[0031]进一步地,在第一参与方的peer节点内基于第一参与方的初始积分密文和第一数额密文按照智能合约模拟交易,以完成第一积分换算,得到第一换算结果,具体包括:
[0032]根据积分换算请求指令确定第一参与方对应的第一积分换算规则;
[0033]在第一参与方的peer节点内,基于第一积分换算规则对第一参与方的初始积分密文和第一数额密文按照智能合约模拟交易,以进行第一积分换算,得到第一换算结果;
[0034]在第二参与方的peer节点内基于第二参与方的初始积分密文和第二数额密文按照智能合约模拟交易,以完成第二积分换算,得到第二换算结果,具体包括:
[0035]根据积分换算请求指令确定第二参与方对应的第二积分换算规则;
[0036]在第二参与方的peer节点内,基于第二积分换算规则对第二参与方的初始积分密文和第二数额密文按照智能合约模拟交易,以进行第二积分换算,得到第二换算结果。
[0037]进一步地,分别对第一换算结果和第二换算结果进行超限检测,具体包括:
[0038]获取第一参与方的私钥,得到第一私钥;
[0039]利用第一私钥对第一换算结果进行局部解密,得到第一积分的正负信息,其中,第
一积分的正负信息表征第一参与方当前积分的正负;
[0040]获取第二参与方的私钥,得到第二私钥;
[0041]利用第二私钥对第二换算结果进行局部解密,得到第二积分的正负信息,其中,第二积分的正负信息表征第二参与方当前积分的正负;
[0042]根据第一积分的正负信息对第一换算结果进行超限检测,以及根据第二积分的正负信息对第二换算结果进行超限检测。
[0043]进一步地,当超限检测均通过后,根据第一换算结果判断第一积分换算是否成功,以及根据第二换算结果判断第二积分换算是否成功,具体包括:
[0044]当超限检测均通过后,分别对第一换算结果和第二换算结果进行签名,得到第一签名和第二签名,其中,第一签名包含第一换算结果的属性信息,第二签名包含第二换算结果的属性信息;
[0045]根据第一签名判断第一积分换算是否成功,以及根据第二签名判断第二积分换算是否成功。
[0046]为了解决上述技术问题,本申请实施例还提供一种基于同态加密的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于同态加密的积分换算方法,其特征在于,所述基于同态加密的积分换算方法应用于联盟链,所述联盟链基于区块链搭建,所述联盟链包括至少包括若干个参与方节点和orderer节点,所述方法包括:接收积分换算请求指令,并根据所述积分换算请求指令确定积分换算参与方和积分换算数额,其中,所述积分换算参与方包括第一参与方和第二参与方;在预设的公钥列表获取第一公钥,以及在所述公钥列表获取第二公钥;利用所述第一公钥和所述第二公钥分别对所述积分换算数额进行加密,得到第一数额密文和第二数额密文;将所述第一数额密文发送到所述第一参与方的peer节点,并在所述第一参与方的peer节点内基于所述第一数额密文完成第一积分换算,得到第一换算结果;将所述第二数额密文发送到所述第二参与方的peer节点,并在所述第二参与方的peer节点内基于所述第二数额密文完成第二积分换算,得到第二换算结果;分别对所述第一换算结果和所述第二换算结果进行超限检测;当所述超限检测均通过后,根据所述第一换算结果判断所述第一积分换算是否成功,以及根据所述第二换算结果判断所述第二积分换算是否成功;当所述第一积分换算和所述第二积分换算均成功后,获取第一积分换算信息和第二积分换算信息,并将所述第一积分换算信息和所述第二积分换算信息发送至所述orderer节点。2.如权利要求1所述的基于同态加密的积分换算方法,其特征在于,在所述接收积分换算请求指令,并根据所述积分换算请求指令确定积分换算参与方和积分换算数额之前,还包括:生成每一个所述参与方节点的同态公私钥对,所述同态公私钥对包括公钥和私钥;将每一个所述参与方节点的私钥存储在自身本地存储器的数据库;将每一个所述参与方节点的公钥依次上传至区块链账本,形成公钥列表。3.如权利要求2所述的基于同态加密的积分换算方法,其特征在于,在所述将每一个所述参与方节点的公钥依次上传至区块链账本,形成公钥列表之后,还包括:获取每一个所述参与方节点的初始积分;利用每一个所述参与方节点的公钥对各自的初始积分进行加密,得到每一个所述参与方节点的初始积分密文;将每一个所述参与方节点的初始积分密文依次上传至区块链账本,形成初始积分列表。4.如权利要求3所述的基于同态加密的积分换算方法,其特征在于,所述将所述第一数额密文发送到所述第一参与方的peer节点,并在所述第一参与方的peer节点内基于所述第一数额密文完成第一积分换算,得到第一换算结果,具体包括:获取所述第一参与方的初始积分密文;将所述初始积分密文和所述第一数额密文发送到所述第一参与方的peer节点;在所述第一参与方的peer节点内基于所述第一参与方的初始积分密文和所述第一数额密文按照智能合约模拟交易,以完成第一积分换算,得到第一换算结果;将所述第二数额密文发送到所述第二参与方的peer节点,并在所述第二参与方的peer
节点内基于所述第二数额密文完成第二积分换算,得到第二换算结果,具体包括:获取所述第二参与方的初始积分密文;将所述初始积分密文和所述第二数额密文发送到所述第二参与方的peer节点;在所述第二参与方的peer节点内基于所述第二参与方的初始积分密文和所述第二数额密文按照智能合约模拟交易,以完成第二积分换算,得到第二换算结果。5.如权利要求4所述的基于同态加密的积分换算方法,其特征在于,所述在所述第一参与方的peer节点内基于所述第一参与方的初始积分密文和所述第一数额密文按照智能合约模拟交易,以完成第一积分换算,得到第一换算结果,具体包括:根据所述积分换算请求指令确定所述第一参与方对应的第一积分换算规则;在所述第一参与方的peer节点内,基于所述第一积分换算规则对所述第一参与方的初始积分密文和所述第一数额密文按照智能合约模拟交易,以进行第一积分换算,得到所述第一换算结果;所述在所述第二参与方的peer...

【专利技术属性】
技术研发人员:李宗金张健
申请(专利权)人:润联软件系统深圳有限公司
类型:发明
国别省市:

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

1