一种数据加解密方法、数据上传端、数据接收端及系统技术方案

技术编号:29940430 阅读:23 留言:0更新日期:2021-09-04 19:24
本发明专利技术提供一种数据加解密方法、数据上传端、数据接收端及系统,方法包括加密方法与解密方法,加密方法包括:获取数据明文及AES密钥,结合AES密钥对数据明文进行加密,得数据密文;将数据密文编码得字符串密文并写入至区块链数据库中。解密方法包括:获取数据密文、解密口令及预设口令,将解密口令与预设口令进行认证;当认证通过,输出数据明文;当认证不通过,输出数据密文。上述数据加解密方法、数据上传端、数据接收端及系统,通过口令认证的方式,不涉及密钥分配,对于不同组的数据可设置不同的布隆过滤器进行验证,实现数据的差异化验证,保证数据安全,解决了现有技术中的加密算法需要管理密钥,导致数据安全存在安全隐患的技术问题。问题。问题。

【技术实现步骤摘要】
一种数据加解密方法、数据上传端、数据接收端及系统


[0001]本专利技术涉及区块链
,特别涉及一种数据加解密方法、数据上传端、数据接收端及系统。

技术介绍

[0002]信息安全是当今社会广泛关注的热点,其中隐私数据的保护又是重中之重。隐私数据不仅需要对于除数据拥有者的其他用户保密,还需对数据储存单位进行保密,密码学的发展为前者提供了技术支撑,而区块链技术的产生为后者扫除了障碍。
[0003]智能合约是区块链中关键的逻辑代码,运行在一个安全隔离的虚拟机中,是数据从客户端到数据库的中间层。智能合约本质上来说就是一串计算机自动执行的代码,按照预设的条件,当满足合约中的要求时将自动运行逻辑代码。早期智能合约并没有得到特别的重视,直到区块链技术的诞生,极大了推动了智能合约的发展,其不可篡改,去中心化的特性正是智能合约能够正确,安全运行的基石。自此,一系列结合智能合约的应用场景应运而生。
[0004]在基于区块链的农产品溯源系统中,因为数据都保存在区块链中,导致所有隶属联盟链的组织都可以自由查看数据,而对于隐私数据,数据拥有者并不想公开,比如:对于生产商而言,涉及法人身份证号、联系电话、家庭住址等敏感数据就不想被公开,此时可以采用加密技术。
[0005]现有技术中,主要有两种类型的加密算法:对称加密和非对称加密,不管是哪种加密算法都面临着密钥管理的问题,一旦加密密钥丢失,数据的安全就受到威胁。因此,密钥的管理成为了制约信息发展安全的一大难题。

技术实现思路

[0006]基于此,本专利技术的目的是提供一种数据加解密方法、数据上传端、数据接收端及系统,用于解决现有技术中的加密算法需要管理密钥,导致数据安全存在安全隐患的技术问题。
[0007]本专利技术一方面提供一种数据加密方法,所述方法包括:获取数据明文,对所述数据明文进行序列化处理,得到字节流明文;获取AES密钥,结合所述AES密钥对所述字节流明文进行AES算法加密,得到数据密文;将所述数据密文进行编码得到字符串密文;将所述字符串密文经数据上链写入至区块链数据库中。
[0008]本专利技术另一方面提供一种数据解密方法,所述方法包括:获取区块链数据库发送的数据密文;获取用户输入的解密口令,并从所述区块链数据库的布隆过滤器当中获取预设口令,将所述解密口令与所述预设口令进行认证,所述预设口令为所述数据密文上链前预存
到布隆过滤器当中的口令;当认证通过,则对所述数据密文进行AES算法解密,对AES算法解密后的数据密文进行逆序列化,得到与所述数据密文对应的数据明文,输出所述数据明文;当认证不通过,则输出所述数据密文。
[0009]上述数据加解密方法,通过将数据明文结合AES密钥对数据明文进行序列化处理得到的字节流明文进行AES算法加密,得到的数据密文经数据上链至区块链数据库中,当需要访问数据时,从区块链数据库中获取数据密文,根据预设口令认证输入的解密口令是否通过,认证通过后对数据解密并输出与数据密文对应的数据明文,认证失败则输出数据密文,通过口令认证的方式,不涉及密钥的分配,避免因密钥丢失而威胁数据安全,对于不同组的数据可通过设置不同的布隆过滤器进行验证,实现数据的差异化验证,保证了数据安全,解决了现有技术中的加密算法需要管理密钥,导致数据安全存在安全隐患的技术问题。
[0010]另外,根据本申请上述的数据加解密方法,还可以具有如下附加的技术特征:进一步地,所述获取AES密钥的步骤之前包括:通过AES密钥生成算法生成所述AES密钥。
[0011]进一步地,所述AES密钥可重复对多组数据明文进行使用。
[0012]进一步地,所述将所述字符串密文经数据上链写入至区块链数据库中的步骤包括:将所述字符串密文以k

v键值对方式写入至区块链数据库中。
[0013]进一步地,所述从所述区块链数据库的布隆过滤器当中获取预设口令的步骤之前包括:将所述布隆过滤器设于所述区块链数据库中;将所述预设口令储存于布隆过滤器中,当所述预设口令于所述布隆过滤器内的储存时长超过预设时长时,清空储存于所述布隆过滤器内的所述预设口令。
[0014]进一步地,所述布隆过滤器可同时容纳多个不同的预设口令。
[0015]本专利技术另一方面提供一种数据上传端,包括:数据明文获取模块,用于获取数据明文,对所述数据明文进行序列化处理,得到字节流明文;加密模块,用于获取AES密钥,结合所述AES密钥对所述字节流明文进行AES算法加密,得到数据密文;编码模块,用于将所述数据密文进行编码得到字符串密文;写入模块,用于将所述字符串密文经数据上链写入至区块链数据库中。
[0016]本专利技术另一方面还提供一种数据接收端,包括:数据密文获取模块,用于获取区块链数据库发送的数据密文;认证模块,用于获取用户输入的解密口令,并从所述区块链数据库的布隆过滤器当中获取预设口令,将所述解密口令与所述预设口令进行认证,所述预设口令为所述数据密文上链前预存到布隆过滤器当中的口令;第一执行模块,当认证通过,则对所述数据密文进行AES算法解密,对AES算法解密后的数据密文进行逆序列化,得到与所述数据密文对应的数据明文,输出所述数据明文;第二执行模块,当认证不通过,则输出所述数据密文。
[0017]本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实施例了解到。
附图说明
[0018]图1为本专利技术第一实施例中联盟链框架图;图2为本专利技术第一实施例中智能合约设计图;图3为本专利技术第一实施例中数据加密流程图;图4为本专利技术第一实施例中聚合加密过程架构图;图5为本专利技术第一实施例中数据解密流程图;图6为本专利技术第一实施例中布隆过滤器设计图;图7为本专利技术第一实施例中口令认证流程图;图8为本专利技术第一实施例中数据输入

查询流程示意图。
[0019]图9为本专利技术实施例中第四实施例中数据加解密系统架构图。
[0020]如下具体实施方式将结合上述附图进一步说明本专利技术。
具体实施方式
[0021]为了便于理解本专利技术,下面将参照相关附图对本专利技术进行更全面的描述。附图中给出了本专利技术的若干实施例。但是,本专利技术可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本专利技术的公开内容更加透彻全面。
[0022]除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0023]联盟链是区块链的一种类型,在该链中各组织的节点是允许准入的。如图1所示,联盟链中各节点都在同一网络内,节点能够相互通信。智能合约运行在联盟链上,每个节点都安装了智能合约。本申请提出一种基于智能合约的聚合加密方法,聚合加密主要就是基于智能合约进行优化,在添加操作时,对数据进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据解密方法,其特征在于,应用于数据接收端,所述方法包括:获取区块链数据库发送的数据密文;获取用户输入的解密口令,并从所述区块链数据库的布隆过滤器当中获取预设口令,将所述解密口令与所述预设口令进行认证,所述预设口令为所述数据密文上链前预存到布隆过滤器当中的口令;当认证通过,则对所述数据密文进行AES算法解密,对AES算法解密后的数据密文进行逆序列化,得到与所述数据密文对应的数据明文,输出所述数据明文;当认证不通过,则输出所述数据密文。2.根据权利要求1所述的数据解密方法,其特征在于,所述从所述区块链数据库的布隆过滤器当中获取预设口令的步骤之前包括:将所述布隆过滤器设于所述区块链数据库中;将所述预设口令储存于布隆过滤器中,当所述预设口令于所述布隆过滤器内的储存时长超过预设时长时,清空储存于所述布隆过滤器内的所述预设口令。3.根据权利要求1所述的数据解密方法,其特征在于,所述布隆过滤器可同时容纳多个不同的预设口令。4.一种数据加密方法,其特征在于,应用于数据上传端,所述方法包括:获取数据明文,对所述数据明文进行序列化处理,得到字节流明文;获取AES密钥,结合所述AES密钥对所述字节流明文进行AES算法加密,得到数据密文;将所述数据密文进行编码得到字符串密文;将所述字符串密文经数据上链写入至区块链数据库中。5.根据权利要求4所述的数据加密方法,其特征在于,所述获取AES密...

【专利技术属性】
技术研发人员:易文龙赵小敏赵应丁李求德殷华徐亦璐
申请(专利权)人:江西农业大学
类型:发明
国别省市:

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

1