一种基于区块链发送数据加密保护的方法
文献发布时间:2023-06-19 12:24:27
技术领域
本发明涉及区块链技术领域,数据安全技术领域,尤其涉及一种基于区块链发送数据加密保护的方法。
背景技术
区块链技术是一种分布式存储账本,因其无中心服务器,每次写入数据需要大量的节点进行共识,并产生记账者,进行记账;该过程中记账者的选择具有绝对的随机性,同时无中心服务器,每个区块都有区块生成的时间戳;正是由于这些特性使得存入区块链中的数据具有绝对的安全性,不可攥改和可追溯性,因此在区块链中存储的数据往往比其他存储技术安全很多。
数据安全技术不但涉及到数据的存储安全,还涉及到数据的加密和解密;传统的加密方法主要包括对称加密和非对称加密,对称加密的优点为加密过程比较简单,传输速度快,解密比较简单;非对称密码优点较对称加密大大提高了加密过程的安全性;但对称加密和非对称加密的结果和明文均是一一对应的,这就使得窃取者可以通过获取密文,公钥,以及加密方法,通过大量计算暴力破解该密码算法,进而窃取到明文;因此寻找一种新的数据保护的加密解密方法十分有必要。
发明内容
为克服以上技术中存在的问题,本发明提供一种基于区块链发送数据加密保护的方法的流程图,该方法包括:
用户在注册时,生成两个随机数r
进行随机数的组合,该组合为:函数f(r
用户向其他用户发送信息时,发送者需要进行明文的加密保护,若明文为g,接收者的公钥为r
接收方接收到发送方的加密链接后,点开链接,将弹出一条秘钥输入的请求,接收方输入私钥,获取明文信息;
所述获取明文信息的过程需要区块链系统根据接收方的私钥r
所述用户在注册时,生成两个随机数r
所述进行随机数的组合,该组合为:函数f(r
所述函数f(r
所述明文为g为数字串,是通过一种可反向计算的方式,所述可反向计算的方式为将含有各种符号信息的明文转化成数字串明文,以便于建立明文和用户密钥信息的关系,生成用户的第二加密标识,若接收方的公钥为r
所述接收者的第一加密标识为:f(r
所述接收方接收到发送方的加密链接,接收者收到的将是一个链接,该链接需要接收者输入正确的私钥密码,系统根据用户输入的正确密码,对保存到区块链区块中的密钥进行解密过程。
所述密钥的解密过程为:区块链系统根据接收方的私钥r
所述将g对应的明文发送给接收方,还包括:根据特定函数将明文转化为数字串g的方式,进行该特定函数的逆运算,得到与g对应的明文,再将获得的明文发送给接收者。
本发明的有益效果是:
本发明通过对数据加密时建立的加密函数:f(r
附图说明
图1:一种基于区块链发送数据加密保护的方法的流程图。
图2:用户第一加密标识生成流程框图。
图3:用户第二加密标识生成流程框图。
图4:发送者加密过程图。
图5:系统解密过程图。
具体实施方式
以下结合附图对本发明的具体实施例进行详细说明,应该理解的是此处所给出的具体实施例仅用于说明和解释本发明,并不能用来限制本发明。
如图1所示:为本发明的一种基于区块链发送数据加密保护的方法的流程图;该流程图包括如下步骤:步骤S100,用户在注册时,生成两个随机数r
该方法通过获得的两个随机数r
在上述实施例中,步骤S100,所述用户在注册时,生成两个随机数r
具体地,要求生成的随机数r
优选地,下面介绍一种通过区块链技术建立智能合约随机生成两个毫不相干随机数的方法:1.确定生成随机数的范围,假如要求生成随机数的大小为[0,N);2.任意选择区块链中的一个区块,提取出区块中的数据;3.将数据打乱重排,尽量均等的分成两部分,并计算两部分数据的哈希值H
优选地,采用上述生成随机数的方法,能够快速的生成两个足够随机,但毫无关联的随机数r
优选地,将随机数r
步骤S101,进行随机数的组合,该组合为:函数f(r
具体地,将随机数进行组合就是建立两个随机数r
具体地,在建立联系函数f(r
优选地,选择加密函数为
优选地,选择加密函数为
通过上述实施例建立起用户的公钥和私钥联系以后,作为用户的第一加密标识存储在区块链的新区块。
步骤S102,用户向其他用户发送信息时,发送者需要进行明文的加密保护,若明文为g,接收者的公钥为r
具体地,当用户A需要向用户B通过网络发送重要文件时,即用户A为发送方,用户B为接收方;通过该方法加密的步骤为:用户A通过区块链网络公开的用户的公钥,假如查找到用户B的公钥r
在上述实施例中需要指出的明文g为数字明文,它是由真实明文通过一定的加密计算得到的,加密方法可以选择任何一种将明文转化为数字明文的方法。
优选地,通过明文哈希值生成数字明文,该方法为:计算真实明文的哈希值H
优选地,将哈希值H
步骤S103,接收方接收到发送方的加密链接后,点开链接,将弹出一条秘钥输入的请求,接收方输入私钥,获取明文信息。
具体地,依照上述实施例,发送方为用户A,接收方为用户B;用户A输入明文和用户B的公钥r
区块链系统解密获得明文的过程为:通过用户B的私钥地址r
在上述技术方案中,区块链系统通过用户B私钥r
与传统加密方法接收方获取密文以后,还要通过密文和密码算法计算获得明文相比较,该方法明显操作起来更加方便;因为这里的解密过程涉及到的算法都是区块链系统自动完成。
如图2所示:为用户第一加密标识生成流程框图,具体地,该图展示了从生成随机数到生成r
但伪随机数生成器存在被人为控制干扰随机数生成的风险,进而达到作弊的嫌疑;该生成随机数的方法,提供一种依照区块链加密技术,区块链的哈希值生成两个毫无关联的随机数的方法,该方法为:1.确定生成随机数的范围,假如要求生成随机数的大小为[0,N);2.任意选择区块链中的一个区块,提取出区块中的数据;3.将数据打乱重排,尽量均等的分成两部分,并计算两部分数据的哈希值H
由图中可知,通过上述实施例生成随机数r
如图3所示:为用户第二加密标识生成流程框图,具体地,该图介绍了发送方向接收方发送数据,区块链系统中的智能合约对数据进行加密的过程;图中r
优选地,下面介绍一种通过区块链智能合约由真实明文x转化为数字明文g的方法:计算真实明文的哈希值H
具体地,计算真实明文的哈希值H
需要指出的是区块链系统需记忆哈希值H
优选地,通过上述实施例发送者将获得的数字明文g和接收者的公钥r
如图4所示:为发送者加密过程图;具体地,该图包括发送者的第一加密标识和第二加密标识,第一加密标识为:f(r
具体地,第一加密标识的加密过程为:第一步,生成随机数r
具体地,第二加密标识的加密过程为:第一步,获得接收者的公钥r
如图5所示:为系统解密过程图;具体地,发送方建立输入接收方公钥r
区块链系统解密获得明文的过程分为:第一步,通过接收方的私钥r
具体地,获得接收方的公钥r
具体地,经过一步与加密过程相同的计算,获得r
具体地,获得数字明文g的方法为:将上述实施例获得的接收方公钥r
该方法与传统加密方法接收方获取密文以后,还要通过密文和密码算法计算获得明文相比较,该方法明显操作起来更加方便;因为这里的解密过程涉及到的算法都是区块链系统自动完成。
- 一种基于区块链发送数据加密保护的方法
- 一种区块链应用中链上数据的加密保护及密文检索方法