用于生成数据标签的方法、电子设备及计算机存储介质技术

技术编号:24684674 阅读:24 留言:0更新日期:2020-06-27 08:18
根据本公开的示例实施例,提供了用于生成数据标签的方法、电子设备及计算机存储介质。在该方法中,将目标数据分成N个数据块,每个数据块的大小不超过预定大小,N为大于1的整数;将N+1个不同值分别与预定字符串拼接得到的N+1个结果哈希到椭圆曲线上的点,以得到N+1个椭圆曲线基点;将N个数据块与N+1个椭圆曲线基点中的N个椭圆曲线基点一一对应进行椭圆曲线乘法操作,以得到N个椭圆曲线点;将剩余的椭圆曲线基点与随机数进行椭圆曲线乘法操作,以得到第N+1个椭圆曲线点;以及将N+1个椭圆曲线点进行椭圆曲线加法操作,以得到用于目标数据的数据标签。由此,本发明专利技术能够支持数据在更新后,重新计算数据标签只需要消耗较小的计算资源。

Methods, electronic devices and computer storage media for generating data labels

【技术实现步骤摘要】
用于生成数据标签的方法、电子设备及计算机存储介质
本公开的实施例总体涉及信息处理领域,具体涉及用于生成数据标签的方法、电子设备及计算机存储介质。
技术介绍
目前把数据提交到区块链是一种保证数据真实性的方法。区块链具有防窜改的功能,提交到区块链,并经过共识协议达成一致性之后,上链的数据被篡改的成本将会变得非常高。为了保证数据的隐秘性,我们不能直接把数据明文直接提交到区块链,这样数据的信息将会被所有的区块链节点得到,造成敏感信息泄露。如果将数据加密提交上链,一是会造成区块链存储的浪费,因为区块链采用大规模复制的方式保证数据不被篡改。另外,加密过后的数据无法被区块链上的智能合约所验证。如果数据较大,直接提交完整数据或者数据的密文上链,则会造成区块链网络通讯协议拥堵,并且严重耗费区块链节点的资源。在现实应用场景中,这种方案局限性非常明显。常见的数据上链做法是采用哈希算法,对数据进行运算,得到一个数据的「摘要」,然后将「摘要」提交到区块链。同时通过SHA256,SM3等哈希算法运算得到的「摘要」具有密码学安全性,这样可以通过较小的信息提交,防止链下数据被篡改。但是哈希算法有个明显的问题是,一旦数据有非常小的改动,就需要对整个数据进行重新计算哈希。这对于较大规模的数据集而言,重新计算的成本较高,难以实用。另外采用哈希算法不支持数据的合并。
技术实现思路
本公开的实施例提供了用于生成数据标签的方法、电子设备及计算机存储介质,由此能够支持数据在小范围更新,添加、删除操作后,重新计算数据标签只需要消耗较小的计算资源,当两个大数据集进行合并后,数据标签支持直接合并操作,无需对合并后的数据进行重新计算。在本公开的第一方面,提供了一种用于生成数据标签的方法。该方法包括:将目标数据分成N个数据块,N个数据块中的每个数据块的大小不超过预定大小,N为大于1的整数;将N+1个不同值分别与预定字符串拼接得到的N+1个结果哈希到椭圆曲线上的点,以得到N+1个椭圆曲线基点;将N个数据块与N+1个椭圆曲线基点中的N个椭圆曲线基点一一对应进行椭圆曲线乘法操作,以得到N个椭圆曲线点;将N+1个椭圆曲线基点中剩余的椭圆曲线基点与随机数进行椭圆曲线乘法操作,以得到第N+1个椭圆曲线点;以及将N+1个椭圆曲线点进行椭圆曲线加法操作,以得到用于所述目标数据的数据标签。在本公开的第二方面,提供了一种电子设备。该电子设备包括:至少一个处理单元;以及至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行根据本公开的第一方面所述的方法的步骤。在本公开的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被机器执行时实现根据本公开的第一方面所述的方法。提供
技术实现思路
部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。附图说明通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。图1示出了根据本公开的实施例的用于生成数据标签的方法100的示意流程图;图2示出了根据本公开的实施例的用于生成数据标签的方法200的示意流程图;以及图3示意性示出了适于用来实现本公开实施例的电子设备300的框图。在各个附图中,相同或对应的标号表示相同或对应的部分。具体实施方式下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。应当理解,本文中的“数据标签”也可以称为“数据摘要”、“数据指纹”等。如上所述,采用哈希算法生成数据摘要或数据标签有个明显的问题是,一旦数据有非常小的改动,就需要对整个数据进行重新计算哈希。这对于较大规模的数据集而言,重新计算的成本较高,难以实用。另外采用哈希算法不支持数据的合并。为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种用于生成数据标签的方案。在该方案中,将目标数据分成N个数据块,N个数据块中的每个数据块的大小不超过预定大小,N为大于1的整数;将N+1个不同值分别与预定字符串拼接得到的N+1个结果哈希到椭圆曲线上的点,以得到N+1个椭圆曲线基点;将N个数据块与N+1个椭圆曲线基点中的N个椭圆曲线基点一一对应进行椭圆曲线乘法操作,以得到N个椭圆曲线点;将N+1个椭圆曲线基点中剩余的椭圆曲线基点与随机数进行椭圆曲线乘法操作,以得到第N+1个椭圆曲线点;以及将N+1个椭圆曲线点进行椭圆曲线加法操作,以得到用于所述目标数据的数据标签。在上述方案中,基于椭圆曲线的数据标签技术,通过椭圆曲线离散对数难题来保证数据标签本身的安全性;数据标签不超过预定大小,例如椭圆曲线的域宽度,因此其尺寸非常短小,适合各种区块链场景;由于采用了椭圆曲线基点对数据原文进行加密并对数据标签进行随机化,数据标签不会泄露数据原文的任何信息,实现信息隐藏的效果;数据标签保证唯一性,一旦数据标签上链,则与原始数据绑定,有效阻止恶意用户篡改原始数据;数据在小范围更新,添加、删除操作后,重新计算数据标签只需要消耗较小的计算资源;当两个大数据集进行合并后,数据标签支持直接合并操作,无需对合并后的数据进行重新计算。图1显示出了根据本公开的实施例的用于生成数据标签的方法100的示意流程图。例如,方法100可以由如图3所示的电子设备300来执行。应当理解的是,方法100还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。在框102处,将目标数据分成N个数据块,N个数据块中的每个数据块的大小不超过预定大小,N为大于1的整数。预定大小可以包括椭圆曲线的域宽度。例如,椭圆曲线的域宽度为256比特,则数据块的大小可以不超过256比特,例如不超过31字节。每个数据块的大小可以相同或不同。在框104处,将N+1个不同值分别与预定字符串拼接得到的N+1个结果哈希到椭圆曲线上的点,以得到N+1个椭圆曲线基点。N+1个不同值可以包括N+1个连续整数,例如0到N,1到N+1等。预定字符串例如可以是任何公开的随本文档来自技高网
...

【技术保护点】
1.一种用于生成数据标签的方法,包括:/n将目标数据分成N个数据块,所述N个数据块中的每个数据块的大小不超过预定大小,N为大于1的整数;/n将N+1个不同值分别与预定字符串拼接得到的N+1个结果哈希到椭圆曲线上的点,以得到N+1个椭圆曲线基点;/n将所述N个数据块与所述N+1个椭圆曲线基点中的N个椭圆曲线基点一一对应进行椭圆曲线乘法操作,以得到N个椭圆曲线点;/n将所述N+1个椭圆曲线基点中剩余的椭圆曲线基点与随机数进行椭圆曲线乘法操作,以得到第N+1个椭圆曲线点;以及/n将所述N+1个椭圆曲线点进行椭圆曲线加法操作,以得到用于所述目标数据的数据标签。/n

【技术特征摘要】
1.一种用于生成数据标签的方法,包括:
将目标数据分成N个数据块,所述N个数据块中的每个数据块的大小不超过预定大小,N为大于1的整数;
将N+1个不同值分别与预定字符串拼接得到的N+1个结果哈希到椭圆曲线上的点,以得到N+1个椭圆曲线基点;
将所述N个数据块与所述N+1个椭圆曲线基点中的N个椭圆曲线基点一一对应进行椭圆曲线乘法操作,以得到N个椭圆曲线点;
将所述N+1个椭圆曲线基点中剩余的椭圆曲线基点与随机数进行椭圆曲线乘法操作,以得到第N+1个椭圆曲线点;以及
将所述N+1个椭圆曲线点进行椭圆曲线加法操作,以得到用于所述目标数据的数据标签。


2.根据权利要求1所述的方法,还包括:
响应于确定所述N个数据块中的至少一个数据块进行了更新,对于所述至少一个数据块中的每个数据块:
确定更新后的所述数据块与更新前的所述数据块之间的差;
将所确定的所述差与所述数据块所对应的椭圆曲线基点进行椭圆曲线乘法操作,以得到经更新的所述数据块所对应的椭圆曲线点;以及
将经更新的所述至少一个数据块所对应的至少一个椭圆曲线点与所述数据标签进行椭圆曲线加法操作,以得到用于经更新的所述目标数据的数据标签。


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


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


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

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

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

1