一种区块链数字存证方法及系统与流程

文档序号:36089770发布日期:2023-11-18 08:11阅读:28来源:国知局
一种区块链数字存证方法及系统与流程

本发明涉及电子数字数据处理,具体涉及一种区块链数字存证方法及系统。


背景技术:

1、在区块链的基础上,数字存证技术可以用于保护和证明数字数据的完整性、真实性和时间戳,在对数据库中的信息,包括结构化数据库中的数据,如客户信息、订单记录、交易记录等进行存证的过程中,数字签名是数字存证的一个重要步骤,其中hash函数在数字签名中起到重要作用,其核心思想是将数据的哈希值存储在区块链上,通过区块链的不可篡改性和去中心化特点,确保数据的完整性和可信性。

2、现有方法中通常采用sha-256方法获取哈希值,但由于存在哈希碰撞,攻击者可以通过将其中一个消息替换为另一个消息来伪造数字签名,导致数据存储和传输安全性低。


技术实现思路

1、本发明提供一种区块链数字存证方法及系统,以解决现有的问题。

2、本发明的一种区块链数字存证方法及系统采用如下技术方案:

3、本发明提供了一种区块链数字存证方法及系统,该方法包括以下步骤:

4、获取待存证数据;

5、获取待存证数据的哈希值,记为第一哈希值;获取待存证数据中若干种字符,对待存证数据中的字符进行替换,将字符替换后的待存证数据记为替换数据,获取替换数据的哈希值,记为第二哈希值;

6、根据第一哈希值和任意替换数据的第二哈希值中相同位置下字符相同的数量,结合第一哈希值包含字符的数量,获得待存证数据和替换数据之间的哈希差异,根据哈希差异获得任意字符的字符哈希差异;将待存证数据中任意种类的字符记为目标字符,将待存证数据中目标字符的相邻位置的字符,记为目标字符的邻域字符,根据字符哈希差异和字符之间的距离,获得目标字符与对应的任意邻域字符之间的哈希关联特征,根据哈希关联特征获得待存证数据中字符之间匹配关系对应的边值,结合边值对待存证数据进行编码获得编码数据;

7、结合编码数据的哈希值,实现区块链数字存证。

8、进一步的,所述对待存证数据中的字符进行替换,将字符替换后的待存证数据记为替换数据,包括的具体步骤如下:

9、将待存证数据中每个位置的字符都分别用每一个种类的字符替换一次,将字符经过替换后的待存证数据记为替换数据,获得待存证数据对应的若干个替换数据,待存证数据中每一个位置的字符在经过每个种类的字符替换后,获得对应的若干个替换数据。

10、进一步的,所述根据第一哈希值和任意替换数据的第二哈希值中相同位置下字符相同的数量,结合第一哈希值包含字符的数量,获得待存证数据和替换数据之间的哈希差异,包括的具体步骤如下:

11、获取待存证数据的哈希值与替换数据的哈希值中,相同位置下字符相同的数量,记为数量a,将数量a与第一哈希值包含字符的数量之间的比值,记为待存证数据和替换数据之间的哈希差异,任意位置的字符对应多个哈希差异。

12、进一步的,所述字符哈希差异的具体获取方法如下:

13、将待存证数据中任意位置的字符对应的所有哈希差异的平均值,记为字符的字符哈希差异。

14、进一步的,所述哈希关联特征的具体获取方法如下:

15、首先,获取任意目标字符在待存证数据中多个位置下的字符以及字符对应的字符哈希差异;

16、然后,根据目标字符中不同位置的字符与对应的若干个邻域字符之间的最近距离,获得距离目标字符中第i个字符最近的第j个邻域字符所对应的距离;

17、最后,目标字符与对应的任意邻域字符之间的哈希关联特征,具体计算方法为:

18、

19、其中,p表示目标字符与对应的任意邻域字符之间的哈希关联特征;fi表示目标字符中的第i个字符的字符哈希差异;dj表示距离目标字符中第i个字符最近的第j个邻域字符所对应的距离。

20、进一步的,所述根据目标字符中不同位置的字符与对应的若干个邻域字符之间的最近距离,获得距离目标字符中第i个字符最近的第j个邻域字符所对应的距离,包括的具体步骤如下:

21、首先,获取任意目标字符在待存证数据中,任意位置下对应字符的邻域字符;

22、然后,获取所述邻域字符在待存证数据中对应的多个位置下的字符,与目标字符在待存证数据中所有位置下对应字符的最小距离,记为距离目标字符中第i个字符最近的第j个邻域字符所对应的距离。

23、进一步的,所述根据哈希关联特征获得待存证数据中字符之间匹配关系对应的边值,结合边值获得字典并对待存证数据进行编码获得编码数据,包括的具体步骤如下:

24、根据哈希关联特征获得目标字符与邻域字符之间匹配关系所对应的边值,根据所有边值的大小进行排列,获得边值序列,根据边值序列获得待存证数据中的特殊字符;

25、将特殊字符所形成的序列作为bwt算法的字典序列,利用bwt算法对待存证数据进行bwt编码,获得编码后的待存证数据,记为编码数据。

26、进一步的,所述根据哈希关联特征获得目标字符与邻域字符之间对应边值,根据根据哈希关联特征获得目标字符与邻域字符之间匹配关系所对应的边值,根据所有边值的大小进行排列,获得边值序列,根据边值序列获得待存证数据中的特殊字符,包括的具体步骤如下:

27、首先,将所有的目标字符作为左侧节点,将所有目标字符的邻域字符作为右侧节点,获得若干个左侧节点和右侧节点;将哈希关联特征作为左侧节点与右侧节点之间对应的边值,利用km匹配算法获取左侧节点与右侧节点之间的匹配关系,一个边值对应一个左侧节点和一个右侧节点;

28、然后,按照从大到小的顺序,对边值进行排列,将排列后的序列记为边值序列,将边值序列中每个元素用对应的左侧节点和右侧节点所形成的二元组表示,获得二元组序列,获取二元组序列中每个二元组首先出现的字符,记为特殊字符。

29、进一步的,所述结合编码数据的哈希值,实现区块链数字存证,包括的具体步骤如下:

30、构建区块链平台或区块链系统,利用sha-256算法获取编码数据的哈希值,作为唯一的数据指纹;创建存证交易,包括数据指纹、存证人以及存证时间,将存证交易广播至区块链网络,等待验证和记录,存证交易被区块链节点验证,并添加到新的区块中,成为不可篡改的存证记录,实现区块链数字存证。

31、进一步的,一种区块链数字存证系统包括以下模块:

32、数据采集模块:获取待存证数据;

33、数据处理模块:获取待存证数据的哈希值,记为第一哈希值;获取待存证数据中若干种字符,对待存证数据中的字符进行替换,将字符替换后的待存证数据记为替换数据,获取替换数据的哈希值,记为第二哈希值;

34、分析编码模块:根据第一哈希值和任意替换数据的第二哈希值中相同位置下字符相同的数量,结合第一哈希值包含字符的数量,获得待存证数据和替换数据之间的哈希差异,根据哈希差异获得任意字符的字符哈希差异;将待存证数据中任意种类的字符记为目标字符,将待存证数据中目标字符的相邻位置的字符,记为目标字符的邻域字符,根据字符哈希差异和字符之间的距离,获得目标字符与对应的任意邻域字符之间的哈希关联特征,根据哈希关联特征获得待存证数据中的特殊字符,利用特殊字符对待存证数据进行编码,获得编码数据;

35、数字存证模块:结合编码数据的哈希值,实现区块链数字存证。

36、本发明的技术方案的有益效果是:通过计算每个字符的字符哈希差异,得到了当数据中的该位置的该字符被替换时,对应的哈希值的变化程度,进而便于后续的保留变化程度大的邻域字符;计算得到每个邻域字符对每个目标字符的哈希关联特征后,通过km匹配得到字符之间一对一的匹配关系,并结合边值降序排序,获得用于编码的bwt字典,通过bwt编码得到编码数据,利用编码数据的哈希值完成区块链数字存证,极大程度避免当某些位置的字符被替代时出现哈希碰撞的问题,大大提高了存证安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1