用于数据完整性证明的方法、设备及计算机存储介质技术

技术编号:24996553 阅读:68 留言:0更新日期:2020-07-24 17:59
根据本公开的示例实施例,提供了用于数据完整性证明的方法、设备及存储介质。在该方法中,在数据存储方区块链节点处,获取区块链中的当前区块的哈希值,将N个第一随机数与N个椭圆曲线基点一一对应进行椭圆曲线乘法,以得到N个随机化的椭圆曲线基点,将N个随机化的椭圆曲线基点进行椭圆曲线加法,以得到承诺标签,将承诺标签的哈希值加上当前区块的哈希值,以得到挑战数,对于每个数据块,将挑战数和第一随机数的乘积与数据块相加,以得到经加密的数据块,以及将承诺标签、N个经加密的数据块以及当前区块的哈希值发送给数据验证方区块链节点。由此,本发明专利技术能够使得数据存储方能够向数据验证方提供数据完整性零知识证明,而不泄露原始明文。

【技术实现步骤摘要】
用于数据完整性证明的方法、设备及计算机存储介质
本公开的实施例总体涉及信息处理领域,具体涉及用于生成数据完整性零知识证明的方法、用于验证数据完整性零知识证明的方法、电子设备及计算机存储介质。
技术介绍
数据标签唯一标记了一段数据,数据标签本身不会泄露任何关于数据本身的信息,因此数据标签可以公开存储。但是数据标签所对应的数据可能会丢失,被篡改或者被恶意删除。在某些场景下,需要让数据存储方出示证明,说明数据的完整性仍然没有被破坏。
技术实现思路
本公开的实施例提供了用于生成数据完整性零知识证明的方法、用于验证数据完整性零知识证明的方法、电子设备及计算机存储介质,由此,本专利技术能够使得数据存储方能够向数据验证方提供数据完整性的零知识证明,而不泄露原始明文。在本公开的第一方面,提供了一种用于生成数据完整性零知识证明的方法。该方法包括:在数据存储方区块链节点处,获取区块链中的当前区块的哈希值,所述数据存储方区块链节点存储有包括N个数据块的数据,N为大于1的整数,所述数据块的大小不超过预定大小;将生成的N个第一随机数与所述N个本文档来自技高网...

【技术保护点】
1.一种用于生成数据完整性零知识证明的方法,包括:/n在数据存储方区块链节点处,获取区块链中的当前区块的哈希值,所述数据存储方区块链节点存储有包括N个数据块的数据,N为大于1的整数,所述数据块的大小不超过预定大小;/n将生成的N个第一随机数与所述N个数据块所对应的所述N个椭圆曲线基点一一对应进行椭圆曲线乘法,以得到N个随机化的椭圆曲线基点;/n将所述N个随机化的椭圆曲线基点进行椭圆曲线加法,以得到承诺标签;/n将所述承诺标签的哈希值加上所述当前区块的所述哈希值,以得到挑战数;/n对于所述N个数据块中的每个数据块,将所述挑战数和所述数据块对应的第一随机数的乘积与所述数据块相加,以得到经加密的数据...

【技术特征摘要】
1.一种用于生成数据完整性零知识证明的方法,包括:
在数据存储方区块链节点处,获取区块链中的当前区块的哈希值,所述数据存储方区块链节点存储有包括N个数据块的数据,N为大于1的整数,所述数据块的大小不超过预定大小;
将生成的N个第一随机数与所述N个数据块所对应的所述N个椭圆曲线基点一一对应进行椭圆曲线乘法,以得到N个随机化的椭圆曲线基点;
将所述N个随机化的椭圆曲线基点进行椭圆曲线加法,以得到承诺标签;
将所述承诺标签的哈希值加上所述当前区块的所述哈希值,以得到挑战数;
对于所述N个数据块中的每个数据块,将所述挑战数和所述数据块对应的第一随机数的乘积与所述数据块相加,以得到经加密的数据块;以及
将所述承诺标签、N个经加密的数据块以及所述当前区块的所述哈希值作为数据完整性证明发送给数据验证方区块链节点,所述数据验证方区块链节点存储有用于所述数据的数据标签,所述数据标签基于以下步骤生成:将N+1个不同值分别与预定字符串拼接得到的N+1个结果哈希到椭圆曲线上的点,以得到N+1个椭圆曲线基点,将所述N个数据块与所述N+1个椭圆曲线基点中的N个椭圆曲线基点一一对应进行椭圆曲线乘法操作,以得到N个椭圆曲线点,将所述N+1个椭圆曲线基点中剩余的椭圆曲线基点与第二随机数进行椭圆曲线乘法操作,以得到第N+1个椭圆曲线点,以及将所述N+1个椭圆曲线点进行椭圆曲线加法操作,以得到用于所述数据的所述数据标签。


2.根据权利要求1所述的方法,其中所述预定大小包括椭圆曲线的域宽度。


3.根据权利要求1所述的方法,其中所述N+1个不同值包括整数0到N。


4.根据权利要求1所述的方法,其中将所述N+1个不同值分别与所述预定字符串拼接得到的所述N+1个结果哈希到椭圆曲线上的点包括:
将所述N+1个不同值分别与所述预定字符串拼接,以得到所述N+1个结果;
将所述N+1个结果进行哈希,以得到N+1个哈希结果;以及
将所述N+1个哈希结果映射到椭圆曲线上的点,以得到所述N+1个椭圆曲线基点。


5.根据权利要求1所述的方法,其中将所述N个数据块与所述N+1个椭圆曲线基点中的N个椭圆曲线基点一一对应进行椭圆曲线乘法操作包括:
将所述N个数据块与所述N+1个椭圆曲线基点中的前或后N个椭圆曲线基点一一对应进行椭圆曲线乘法操作,以得到所述N个椭圆曲线点。


6.一种用于验证数据完整性零知识证明的方法,包括:
在数据验证方区块链节点处,从数据存储方区块链节点接收根据权利要求1所述方法生成的作为数据完整性证明的承诺标签、N个加密的数据块以及区块链中的当前区块的哈希值,所述数据存储方区块链节点存储有包括N个数据块的数据,N为大于1的整数...

【专利技术属性】
技术研发人员:郭宇叶存胡宇光孙志鹏卢艺文
申请(专利权)人:苏州链原信息科技有限公司
类型:发明
国别省市:江苏;32

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

1