【技术实现步骤摘要】
用于数据完整性证明的方法、设备及计算机存储介质
本公开的实施例总体涉及信息处理领域,具体涉及用于生成数据完整性零知识证明的方法、用于验证数据完整性零知识证明的方法、电子设备及计算机存储介质。
技术介绍
数据标签唯一标记了一段数据,数据标签本身不会泄露任何关于数据本身的信息,因此数据标签可以公开存储。但是数据标签所对应的数据可能会丢失,被篡改或者被恶意删除。在某些场景下,需要让数据存储方出示证明,说明数据的完整性仍然没有被破坏。
技术实现思路
本公开的实施例提供了用于生成数据完整性零知识证明的方法、用于验证数据完整性零知识证明的方法、电子设备及计算机存储介质,由此,本专利技术能够使得数据存储方能够向数据验证方提供数据完整性的零知识证明,而不泄露原始明文。在本公开的第一方面,提供了一种用于生成数据完整性零知识证明的方法。该方法包括:在数据存储方处,从数据验证方接收第一随机数,数据存储方存储有包括N个数据块的数据,N为大于1的整数,数据块的大小不超过预定大小,数据验证方存储有用于数据的数据标签,数据标签基于以下步骤生成:将N+1个不同值分别与预定字符串拼接得到的N+1个结果哈希到椭圆曲线上的点,以得到N+1个椭圆曲线基点,将N个数据块与N+1个椭圆曲线基点中的N个椭圆曲线基点一一对应进行椭圆曲线乘法操作,以得到N个椭圆曲线点,将N+1个椭圆曲线基点中剩余的椭圆曲线基点与第二随机数进行椭圆曲线乘法操作,以得到第N+1个椭圆曲线点,以及将N+1个椭圆曲线点进行椭圆曲线加法操作,以得到用于数据的数据标 ...
【技术保护点】
1.一种用于生成数据完整性零知识证明的方法,包括:/n在数据存储方处,从数据验证方接收第一随机数,所述数据存储方存储有包括N个数据块的数据,N为大于1的整数,所述数据块的大小不超过预定大小,所述数据验证方存储有用于所述数据的数据标签,所述数据标签基于以下步骤生成:将N+1个不同值分别与预定字符串拼接得到的N+1个结果哈希到椭圆曲线上的点,以得到N+1个椭圆曲线基点,将所述N个数据块与所述N+1个椭圆曲线基点中的N个椭圆曲线基点一一对应进行椭圆曲线乘法操作,以得到N个椭圆曲线点,将所述N+1个椭圆曲线基点中剩余的椭圆曲线基点与第二随机数进行椭圆曲线乘法操作,以得到第N+1个椭圆曲线点,以及将所述N+1个椭圆曲线点进行椭圆曲线加法操作,以得到用于所述数据的所述数据标签;/n将生成的N个第三随机数与所述N个数据块所对应的所述N个椭圆曲线基点一一对应进行椭圆曲线乘法,以得到N个随机化的椭圆曲线基点;/n将所述N个随机化的椭圆曲线基点进行椭圆曲线加法,以得到承诺标签;/n将所述承诺标签的哈希值加上第一随机数,以得到挑战数;/n对于所述N个数据块中的每个数据块,将所述挑战数和所述数据块对应的第三随 ...
【技术特征摘要】
1.一种用于生成数据完整性零知识证明的方法,包括:
在数据存储方处,从数据验证方接收第一随机数,所述数据存储方存储有包括N个数据块的数据,N为大于1的整数,所述数据块的大小不超过预定大小,所述数据验证方存储有用于所述数据的数据标签,所述数据标签基于以下步骤生成:将N+1个不同值分别与预定字符串拼接得到的N+1个结果哈希到椭圆曲线上的点,以得到N+1个椭圆曲线基点,将所述N个数据块与所述N+1个椭圆曲线基点中的N个椭圆曲线基点一一对应进行椭圆曲线乘法操作,以得到N个椭圆曲线点,将所述N+1个椭圆曲线基点中剩余的椭圆曲线基点与第二随机数进行椭圆曲线乘法操作,以得到第N+1个椭圆曲线点,以及将所述N+1个椭圆曲线点进行椭圆曲线加法操作,以得到用于所述数据的所述数据标签;
将生成的N个第三随机数与所述N个数据块所对应的所述N个椭圆曲线基点一一对应进行椭圆曲线乘法,以得到N个随机化的椭圆曲线基点;
将所述N个随机化的椭圆曲线基点进行椭圆曲线加法,以得到承诺标签;
将所述承诺标签的哈希值加上第一随机数,以得到挑战数;
对于所述N个数据块中的每个数据块,将所述挑战数和所述数据块对应的第三随机数的乘积与所述数据块相加,以得到经加密的数据块;以及
将所述承诺标签和N个经加密的数据块作为数据完整性证明发送给所述数据验证方。
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.一种用于验证数据完整性零知识证明的方法,包括:
在数据验证方处,向数据存储方发送第一随机数,所述数据存储方存储有包括N个数据块的数据,N为大于1的整数,所述数据块的大小不超过预定大小,所述数据验证方存储有用于所述数据的第一数据标签,所述第一数据标签基于以下步骤生成:将N+1个不同值分别与预定字符...
【专利技术属性】
技术研发人员:郭宇,卢艺文,叶存,胡宇光,孙志鹏,
申请(专利权)人:苏州链原信息科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。