一种基于区块链技术的数字加密方法及系统与流程

文档序号:23143941发布日期:2020-12-01 13:23阅读:188来源:国知局
一种基于区块链技术的数字加密方法及系统与流程

本发明涉及数字加密技术领域,更具体地,涉及一种基于区块链技术的数字加密方法及系统。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其中,共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链本质上是一个去中心化的数据库,同时作为底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。由于区块链上的数据无法删除和篡改,当用户发现部分地址或交易信息泄露时已经为时已晚,无法采取挽救措施,因此与传统领域相比,区块链的隐私保护问题更加重要。

公开号为cn108615154a(公开(公告)日:2018-10-02)提出的一种基于硬件加密保护的区块链数字签名系统及使用流程,通过采用硬件加密保护模块对数据进行加密后,发送至数字签名保护系统存储。然而,这种方法仅采用hsm硬件加密机或采用intelsgx技术的cpu对数据进行加密,存在加密程度较低、无法有效避免区块链的隐私泄漏的问题。



技术实现要素:

本发明为克服上述现有技术所述的加密程度较低、无法有效避免区块链的隐私泄漏的缺陷,提供一种基于区块链技术的数字加密方法及系统。

为解决上述技术问题,本发明的技术方案如下:

一种基于区块链技术的数字加密方法,包括以下步骤:

s1:验证模块生成私钥和公钥;

s2:终端模块向验证模块发送带有公钥的加密/解密请求,验证模块对终端模块发送的公钥与其私钥进行匹配,若匹配成功则执行s3步骤;若匹配失败,则向终端模块返回匹配失败结果;其中,加密请求包括待加密的原始数据和公钥,解密请求包括待读取的目标数据标签和公钥;

s3:验证模块将终端模块的加密/解密请求发送至控制模块中,控制模块根据其接收的加密/解密请求控制加密模块或解密模块工作,其中:

加密模块对加密请求中的原始数据进行加密后,发送至存储模块中缓存,存储模块将其缓存的完成加密的原始数据标注标签后发送至区块链模块中存储;

解密模块根据解密请求中的待读取的目标数据标签,通过存储模块与区块链模块通讯,获取相应的目标数据,然后对目标数据进行解密后,经控制模块发送至终端模块。

优选地,s3步骤中,加密模块中包括n个子加密单元,n为大于或等于2的正整数;其中对加密请求中的原始数据进行加密的具体步骤如下:

步骤a-1:设置i=1;控制单元向加密模块中的第i子加密单元发送第i加密请求信号,第i子加密单元根据公钥和待加密的原始数据生成第i加密数据和第i完成加密信号后存储在存储模块中;

步骤a-2:设置i=i+1;控制单元根据第i-1完成加密信号,向第i子加密单元发送第i加密请求信号,第i子加密单元根据公钥和第i-1加密数据加密生成第i加密数据和第i完成加密信号后存储在存储模块中;

步骤a-3:重复执行步骤a-2,至i取值为n,则第i子加密单元将第i完成加密信号反馈到控制模块,控制模块根据第i完成加密信号,向存储模块发送工作信号,存储模块将将第i加密数据标注标签后发送至区块链模块中存储。

优选地,s3步骤中,解密单元中包括n个子解密单元,其中对目标数据进行解密的具体步骤如下:

步骤b-1:解密模块根据解密请求中的待读取的目标数据标签,通过存储模块与区块链模块通讯,获取相应的目标数据,即得到目标加密数据;

步骤b-2:设置i=1;控制单元向解密模块中的第i子解密单元发送第i解密请求信号,第i子解密单元根据公钥和目标加密数据,解密生成第i解密数据和第i完成解密信号,然后存储在存储模块中;

步骤b-3:设置i=i+1;控制单元根据第i-1完成解密信号,向第i子解密单元发送第i解密请求信号,第i子解密单元根据公钥和第i-1解密数据进行解密生成第i解密数据和第i完成解密信号,然后存储在存储模块中;

步骤b-4:重复执行步骤b-3,至i取值为n,则第i子解密单元将第i完成解密信号和第i解密数据反馈给控制单元,控制单元将第i解密数据发送至终端模块中。

优选地,s1步骤中,验证模块采用非对称加密算法生成公钥和私钥。

本发明还提出了一种基于区块链技术的数字加密系统,用于实现上述基于区块链技术的数字加密方法,其具体包括:

终端模块,用于发送数字加密/解密请求;加密请求包括待加密的原始数据和公钥,解密请求包括待读取的目标数据标签和公钥;

验证模块,用于生成公钥和私钥验证终端模块的身份信息;验证模块与终端模块通讯连接;

控制模块,用于控制加密模块和解密模块的工作;控制模块的与验证模块连接;

加密模块,用于对数据进行加密;加密模块的输入端与控制模块的第一输出端连接,加密模块的输出端与存储模块的第一输入端连接;

解密模块,用于对读取的加密数据进行解密,得到原始数据;解密模块的输入端与存储模块的输出端连接,解密模块的输出端与控制模块的输入端连接;

存储模块,用于缓存经加密模块加密的原始数据;存储模块的第二输入端与控制模块的第二输出端连接;

区块链模块,用于存储经加密模块加密的原始数据;区块链模块与存储模块通讯连接。

优选地,加密模块包括n个子加密单元,解密模块包括n个子解密单元,其中n为大于或等于2的正整数。

优选地,系统还包括通信模块,通信模块与存储模块连接;通信模块用于与区块链网络通讯,实现存储模块与区块链网络之间的数据交换。

优选地,终端模块写入的待加密原始数据中还包括终端模块的电子签名。

优选地,存储模块包括硬盘、网盘或服务器中的一种。

优选地,区块链模块中包括数据层、网络层、共识层、激励层、合约层和应用层,其中,数据层内设置有底层数据区块以及相关的数据加密技术;网络层包括分布式组网机制、数据传播机制和数据验证机制;共识层设置有网络节点的各类共识算法;激励层暴扣经济激励的发行机制和分配机制;合约层设置有脚本、算法和智能合约;应用层存储设置有区块链应用场景和案例。

与现有技术相比,本发明技术方案的有益效果是:运用区块链技术,将加密模块和解密模块通过存储模块接入区块链模块,可以更好地保护加密数据,同时方便溯源,在发送、接收时,防止他人篡改,并且通过验证公钥和私钥的使用,可以保护发件人和收件人的隐私安全。

附图说明

图1为实施例1的基于区块链技术的数字加密方法的流程图。

图2为实施例2的基于区块链技术的数字加密系统的结构示意图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

本实施例提出一种基于区块链技术的数字加密方法,如图1所示,为本实施例的基于区块链技术的数字加密方法的流程图。

本实施例提出的基于区块链技术的数字加密方法中,具体包括以下步骤:

s1:验证模块2生成私钥和公钥,其中,验证模块2采用非对称加密算法生成公钥和私钥。

s2:终端模块1向验证模块2发送带有公钥的加密/解密请求,验证模块2对终端模块1发送的公钥与其私钥进行匹配,若匹配成功则执行s3步骤;若匹配失败,则向终端模块1返回匹配失败结果;其中,加密请求包括待加密的原始数据和公钥,解密请求包括待读取的目标数据标签和公钥。

s3:验证模块2将终端模块1的加密/解密请求发送至控制模块3中,控制模块3根据其接收的加密/解密请求控制加密模块4或解密模块5工作,其中:

加密模块4对加密请求中的原始数据进行加密后,发送至存储模块6中缓存,存储模块6将其缓存的完成加密的原始数据标注标签后发送至区块链模块7中存储;

解密模块5根据解密请求中的待读取的目标数据标签,通过存储模块6与区块链模块7通讯,获取相应的目标数据,然后对目标数据进行解密后,经控制模块3发送至终端模块1。

本实施例中,加密模块4中包括n个子加密单元41,n为大于或等于2的正整数;其中对加密请求中的原始数据进行加密的具体步骤如下:

步骤a-1:设置i=1;控制单元向加密模块4中的第i子加密单元41发送第i加密请求信号,第i子加密单元41根据公钥和待加密的原始数据生成第i加密数据和第i完成加密信号后存储在存储模块6中;

步骤a-2:设置i=i+1;控制单元根据第i-1完成加密信号,向第i子加密单元41发送第i加密请求信号,第i子加密单元41根据公钥和第i-1加密数据加密生成第i加密数据和第i完成加密信号后存储在存储模块6中;

步骤a-3:重复执行步骤a-2,至i取值为n,则第i子加密单元41将第i完成加密信号反馈到控制模块3,控制模块3根据第i完成加密信号,向存储模块6发送工作信号,存储模块6将将第i加密数据标注标签后发送至区块链模块7中存储。

解密单元中包括n个子解密单元51,其中对目标数据进行解密的具体步骤如下:

步骤b-1:解密模块5根据解密请求中的待读取的目标数据标签,通过存储模块6与区块链模块7通讯,获取相应的目标数据,即得到目标加密数据;

步骤b-2:设置i=1;控制单元向解密模块5中的第i子解密单元51发送第i解密请求信号,第i子解密单元51根据公钥和目标加密数据,解密生成第i解密数据和第i完成解密信号,然后存储在存储模块6中;

步骤b-3:设置i=i+1;控制单元根据第i-1完成解密信号,向第i子解密单元51发送第i解密请求信号,第i子解密单元51根据公钥和第i-1解密数据进行解密生成第i解密数据和第i完成解密信号,然后存储在存储模块6中;

步骤b-4:重复执行步骤b-3,至i取值为n,则第i子解密单元51将第i完成解密信号和第i解密数据反馈给控制单元,控制单元将第i解密数据发送至终端模块1中。

其中,存储模块6用于对子加密单元41或子解密单元51生成的加密数据、完成加密信号或解密数据、完成解密信号进行缓存,便于下一子加密单元41或下一子解密单元51进行取用,实现多层加密/解密,同时有效提高加密/解密的效率。

本实施例中,加密模块4使用非对称加密算法,通过若干个加密模块4的协同作用,可以最大程度低对信息进行多层加密,实现提高信息的保密性。用户可以根据实际情况选择加密密度,即选择设置加密模块4内子加密单元41的数量,实现不同层次的加密,同时减少硬件成本。

本实施例中,主要结合运用区块链技术和多层加密技术,将加密模块4和解密模块5接入存储模块6,实现多层加密和多层解密,且存储模块6通过通信模块8与区块链模块7通讯连接,实现加密数据和解密数据的传输及存储,能够更好地保护加密数据,同时加密数据和解密数据标注有电子标签,方便溯源,在发送、接收时,防止他人篡改,并且通过验证公钥和私钥的使用,可以保护发件人和收件人的信息。

实施例2

本实施例提出一种基于区块链技术的数字加密系统,用于实现实施例1提出的一种基于区块链技术的数字加密方法。如图2所示,为本实施例的基于区块链技术的数字加密系统的结构示意图。

本实施例提出的基于区块链技术的数字加密系统中,其具体包括:

终端模块1,用于发送数字加密/解密请求;加密请求包括待加密的原始数据和公钥,解密请求包括待读取的目标数据标签和公钥;

验证模块2,用于生成公钥和私钥验证终端模块1的身份信息;验证模块2与终端模块1通讯连接;

控制模块3,用于控制加密模块4和解密模块5的工作;控制模块3的与验证模块2连接;

加密模块4,用于对数据进行加密;加密模块4的输入端与控制模块3的第一输出端连接,加密模块4的输出端与存储模块6的第一输入端连接;

解密模块5,用于对读取的加密数据进行解密,得到原始数据;解密模块5的输入端与存储模块6的输出端连接,解密模块5的输出端与控制模块3的输入端连接;

存储模块6,用于缓存经加密模块4加密的原始数据;存储模块6的第二输入端与控制模块3的第二输出端连接;

区块链模块7,用于存储经加密模块4加密的原始数据;区块链模块7与存储模块6通讯连接。

本实施例中,加密模块4包括n个子加密单元41,解密模块5包括n个子解密单元51,其中n为大于或等于2的正整数。

本实施例中,系统还包括通信模块8,通信模块8与存储模块6连接;通信模块8用于与区块链模块7通讯,实现存储模块6与区块链模块7之间的数据交换。

本实施例中,存储模块6采用硬盘、网盘或服务器。用户可以根据实际情况选择存储模块6的类型,可以为硬盘、网盘或服务器其中一个,也可以其中两个配合使用,再者可以三者同时使用,灵活应用,不受类型上的严格限制,在实现不同类型存储的同时减少硬件成本。

本实施例中,区块链模块7中包括数据层、网络层、共识层、激励层、合约层和应用层,其中,数据层内设置有底层数据区块以及相关的数据加密技术;网络层包括分布式组网机制、数据传播机制和数据验证机制;共识层设置有网络节点的各类共识算法;激励层暴扣经济激励的发行机制和分配机制;合约层设置有脚本、算法和智能合约;应用层存储设置有区块链应用场景和案例。

其中,控制单元主要是用于处理数据;存储模块6主要用于存储数据;数据层封装了底层数据区块以及相关的数据加密和时间碳等技术,在使用过程中,内存数据库和磁盘数据库接受或存储的区块链数据均是来自于数据层;网络层包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。通过区块链模块7能够有效保证数据存储的安全性,而且还提高了设备的智能化程度。将加密模块4和解密模块5通过存储模块6接入区块链模块接入区块链,可以更好地保护加密数据,同时方便溯源,在发送、接收时,防止他人篡改。

在具体实施过程中,验证模块2生成私钥和公钥,其中,验证模块2采用非对称加密算法生成公钥和私钥;终端模块1向验证模块2发送带有公钥的加密/解密请求,验证模块2对终端模块1发送的公钥与其私钥进行匹配,若匹配成功则进行数据加密或解密;若匹配失败,则向终端模块1返回匹配失败结果;其中,加密请求包括待加密的原始数据和公钥,解密请求包括待读取的目标数据标签和公钥。

在数据加密或解密过程中,验证模块2将终端模块1的加密/解密请求发送至控制模块3中,控制模块3根据其接收的加密/解密请求控制加密模块4或解密模块5工作,其中:加密模块4对加密请求中的原始数据进行加密后,发送至存储模块6中缓存,存储模块6将其缓存的完成加密的原始数据标注标签后发送至区块链模块7中存储;解密模块5根据解密请求中的待读取的目标数据标签,通过存储模块6与区块链模块7通讯,获取相应的目标数据,然后对目标数据进行解密后,经控制模块3发送至终端模块1。

进一步地,在一具体实施过程中,加密模块4中包括3个子加密单元41,解密模块5中包括3个子解密单元51。其中对加密请求中的原始数据进行加密的具体步骤如下:

(1)控制单元向加密模块4中的第1子加密单元41发送第1加密请求信号,第1子加密单元41根据公钥和待加密的原始数据生成第1加密数据和第1完成加密信号后存储在存储模块6中;

(2)控制单元根据第1完成加密信号,向第2子加密单元41发送第2加密请求信号,第2子加密单元41根据公钥和第1加密数据加密生成第2加密数据和第2完成加密信号后存储在存储模块6中;

(3)控制单元根据第2完成加密信号,向第3子加密单元41发送第3加密请求信号,第3子加密单元41根据公钥和第2加密数据加密生成第3加密数据和第3完成加密信号后存储在存储模块6中;

(4)第3子加密单元41将第3完成加密信号反馈到控制模块3,控制模块3根据第3完成加密信号,向存储模块6发送工作信号,存储模块6将将第3加密数据标注标签后发送至区块链模块7中存储,即完成原始数据的加密。

其中对目标数据进行解密的具体步骤如下:

(1)解密模块5根据解密请求中的待读取的目标数据标签,通过存储模块6与区块链模块7通讯,获取相应的目标数据,即得到目标加密数据;

(2)控制单元向解密模块5中的第1子解密单元51发送第1解密请求信号,第1子解密单元51根据公钥和目标加密数据,解密生成第1解密数据和第1完成解密信号,然后存储在存储模块6中;

(3)控制单元根据第1完成解密信号,向第2子解密单元51发送第2解密请求信号,第2子解密单元51根据公钥和第1解密数据进行解密生成第2解密数据和第2完成解密信号,然后存储在存储模块6中;

(4)控制单元根据第2完成解密信号,向第3子解密单元51发送第3解密请求信号,第3子解密单元51根据公钥和第2解密数据进行解密生成第3解密数据和第3完成解密信号,然后存储在存储模块6中;

(5)第3子解密单元51将第3完成解密信号和第3解密数据反馈给控制单元,控制单元将第3解密数据发送至终端模块1中,即完成目标加密数据的解密。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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