发明内容
为了解决上述方案存在的问题,本发明提供了一种基于数据加密的信息传输系统。
本发明的目的可以通过以下技术方案实现:
一种基于数据加密的信息传输系统,包括密钥库、共享模块、加密模块、数据接收模块、编码库和服务器;
所述密钥库用于储存加密数据,编码库用于对密钥进行编码,所述共享模块用于将密钥库和编码库共享给数据发送方和数据接收方;
所述加密模块用于对需要加密的数据进行加密传输,具体方法包括:
建立N个数据传输通道,N为正整数,且N≥3;识别需要进行加密的数据的标签,根据识别的标签在密钥库中匹配到对应的储存节点,储存节点内的随机选择模型随机输出N个加密数据,在加密数据上设置排列编号,获取加密数据的加密算法和密钥;
将获取的需要进行加密的数据分成N个部分,并标记各个部分与加密数据上排列编号相对应的编号,将每部分需要进行加密的数据标记为前端明文,通过对应编号的加密算法和密钥对前端明文进行加密,将加密后的前端明文标记为加密密文,将加密密文通过对应数据传输通道发送给数据接收模块;
将密钥发送到编码库中,获得数字密钥编码,将获得的数字密钥编码发送到区块链平台进行上链,获得唯一的识别ID,将识别ID通过对应数据传输通道发送给数据接收模块;
数据接收模块对接收到的加密密文进行解密。
进一步地,密钥库的建立方法包括:
从互联网中采集大量的加密数据,加密数据包括加密算法、解密算法和密钥,获取对应加密数据的特性,对加密数据特性进行赋值,建立加密数据特性向量和向量空间,将加密数据特性向量输入到向量空间中,基于K-means聚类算法对加密数据特性向量进行聚类,获得k个聚类;建立数据库,在数据库内设置k个储存节点,并对储存节点进行标注,将聚类内对应的加密数据储存到对应的储存节点中,所述储存节点内设有随机选择模型,当匹配到对应的储存节点时,储存节点内的随机选择模型随机输出对应数量储存节点内的加密数据,将当前数据库标记为密钥库。
进一步地,编码库的工作方法包括:
获取密钥库中具有的所有密钥的元素种类,为每个元素种类均设置一个唯一的匹配数字,根据元素种类与对应的匹配数字建立密钥数字表;识别密钥的元素种类关联数,为每个关联数设置一个唯一的匹配数字,将关联数和对应的匹配数字整合到密钥数字表中;
当需要进行密钥编码时,识别密钥中的关联数和元素种类,将识别的关联数和元素种类发送到密钥数字表中进行匹配,获得对应的匹配数字,形成数字密钥编码。
进一步地,加密模块中在进行数据加密前,数据发送方需要在标签库中选择一个标签标记在需要进行加密的数据上;标签库中的标签是根据对应储存节点中的标注进行设置的。
进一步地,数据接收模块对接收到的加密密文进行解密的方法包括:
获取接收到的识别ID和加密密文,采集区块链平台上对应的数字密钥编码,将采集的数字密钥编码发送到编码库中的密钥数字表内进行匹配,获得对应的密钥元素种类,形成密钥;通过密钥在密钥库中匹配到对应的加密数据,获取加密数据中的解密算法,通过解密算法和密钥对对应数据传输通道传输的加密密文进行解密,获得后端明文,根据编号将多个后端明文进行整合,获得数据发送方发送的数据。
进一步地,加密模块获取的需要进行加密的数据为原数据处理后数据,对原数据进行处理的方法包括:
获取原数据,建立文本缩放模型,通过文本缩放模型对原数据进行关键字提取,获得关键字文本;获取进行关键字提取的记录数据,将关键字文本和记录数据整合为需要进行加密的数据。
进一步地,将文本缩放模型通过共享模块共享给数据发送方和数据接收方。
进一步地,数据接收模块在解密出数据发送方发送的数据时,将解密出的数据发送方发送的数据标记为待扩充数据,获取数据接收模块解密出的记录数据,将记录数据和待扩充数据输入到文本缩放模型中,获得原数据。
与现有技术相比,本发明的有益效果是:通过对传输的数据进行加密,提高数据传输的安全性,保护数据传输双方的隐私,避免数据被泄露;将数字密钥编码进行上链,保障数字密钥编码的不可修改性,而数字密钥编码又是通过密钥编码获得,使得无关人员并不能从区块链平台上获得对应的密钥,实现密钥的不可更改的同时,保证密钥的保密性;通过对原数据进行处理,使得传输的数据保密性更加的强,即使加密密文被破译,也无法通过关键字文本了解到全部的原数据信息。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种基于数据加密的信息传输系统,包括密钥库、共享模块、加密模块、数据接收模块、编码库和服务器;
所述密钥库用于储存加密数据,具体建立方法包括:
从互联网中采集大量的加密数据,加密数据包括加密算法、解密算法和密钥,获取对应加密数据的特性,加密数据特性包括优点、缺点、分类,例如IDEA算法属于对称加密算法,速度比非对称加密算法快,保密性比非对称加密算法低,对加密数据特性进行赋值,建立加密数据特性向量和向量空间,将加密数据特性向量输入到向量空间中,基于K-means聚类算法对加密数据特性向量进行聚类,获得k个聚类;建立数据库,在数据库内设置k个储存节点,并对储存节点进行标注,即为标记当前储存节点对应的聚类的特性,聚类的特性是根据聚类内加密数据特性设置的;将聚类内对应的加密数据储存到对应的储存节点中,所述储存节点内设有随机选择模型,当匹配到对应的储存节点时,储存节点内的随机选择模型随机输出对应数量储存节点内的加密数据;随机选择模型是基于现有随机选择算法进行设置的,用于随机选择一个储存节点内的加密数据进行输出;将当前数据库标记为密钥库;
对加密数据特性进行赋值可以采用人工赋值方式或者通过建立神经网络学习模型的方式机械能赋值;例如IDEA算法是在DES算法的基础上发展出来的,类似于三重DES,主要弥补DES密钥太短等缺点,因此IDEA算法特性中优点赋值就高于DES算法;
K-means聚类算法中的k值由专家组根据现有的加密数据的分类和特性进行讨论设置的,具体的聚类方法是:设置k个初始聚类中心,计算每个待聚类对象到所有聚类中心的欧氏距离;并将每个聚类对象划分到距离它最近的聚类中心,作为该类别的一个成员;重新计算每个类别的均值,作为该类别新的聚类中心;进行迭代,直到每个待聚类对象到其所属类别聚类中心的距离之和不能再减小时,完成聚类。
编码库用于对密钥进行编码,具体方法包括:
获取密钥库中具有的所有密钥的元素种类,元素种类指的是密钥中的元素是什么,例如符号、数字等,为每个元素种类均设置一个唯一的匹配数字,且元素种类为数字的,匹配数字与元素种类对应的数字并不相同;根据元素种类与对应的匹配数字建立密钥数字表;识别密钥的元素种类关联数,元素种类关联性即为多个元素并列出现,如1358这个四个经常出现,则1358则为一个关联数,可以设置一个次数阈值,将并列出现的次数超过次数阈值的多个元素标记关联数;为每个关联数设置一个唯一的匹配数字,将关联数和对应的匹配数字整合到密钥数字表中;
当需要进行密钥编码时,识别密钥中的关联数和元素种类,即关联数优先于元素种类,将识别的关联数和元素种类发送到密钥数字表中进行匹配,获得对应的匹配数字,形成数字密钥编码。
所述共享模块用于将密钥库和编码库共享给数据发送方和数据接收方,保证数据发送方和数据接收方使用的密钥库和编码库相同;在一个实施例中,因为这个密钥库和编码库并不需要实时共享,因此可以通过线下的方式进行保密传输,在另一个实施例中,可以通过现有的线上保密通道进行传输。
所述加密模块用于对需要加密的数据进行加密传输,具体方法包括:
建立N个数据传输通道,N为正整数,且N≥3;获取需要进行加密的数据,识别需要进行加密的数据的标签,根据识别的标签在密钥库中匹配到对应的储存节点,储存节点内的随机选择模型随机输出N个加密数据,在加密数据上设置排列编号,获取加密数据的加密算法和密钥;
将获取的需要进行加密的数据分成N个部分,并标记各个部分与加密数据上排列编号相对应的编号,将每部分需要进行加密的数据标记为前端明文,通过对应编号的加密算法和密钥对前端明文进行加密,将加密后的前端明文标记为加密密文,将加密密文通过对应数据传输通道发送给数据接收模块;
将密钥发送到编码库中,获得数字密钥编码,将获得的数字密钥编码发送到区块链平台进行上链,获得唯一的识别ID,将识别ID通过对应数据传输通道发送给数据接收模块;
通过将数字密钥编码进行上链,保障数字密钥编码的不可修改性,而数字密钥编码又是通过密钥编码获得,使得无关人员并不能从区块链平台上获得对应的密钥,实现密钥的不可更改的同时,保证密钥的保密性。
在进行数据加密前,数据发送方需要在标签库中选择一个标签标记在需要进行加密的数据上;标签库中的标签是根据对应储存节点中的标注进行设置的。
所述数据接收模块用于接收加密模块发送的加密密文,并进行加密密文的解密,具体方法包括:
获取接收到的识别ID和加密密文,采集区块链平台上对应的数字密钥编码,将采集的数字密钥编码发送到编码库中的密钥数字表内进行匹配,获得对应的密钥元素种类,形成密钥;通过密钥在密钥库中匹配到对应的加密数据,获取加密数据中的解密算法,通过解密算法和密钥对对应数据传输通道传输的加密密文进行解密,获得后端明文,根据编号将多个后端明文进行整合,获得数据发送方发送的数据。
在一个实施例中,本实施例与上一实施例的区别在于:加密模块获取的需要进行加密的数据为原数据处理后数据,具体处理方法包括:
获取原数据,原数据即为数据发送方想要发送的原始数据,建立文本缩放模型,通过文本缩放模型对原数据进行关键字提取,获得关键字文本;获取进行关键字提取的记录数据,将关键字文本和记录数据整合为需要进行加密的数据。
将文本缩放模型通过共享模块共享给数据发送方和数据接收方。
建立文本缩放模型的方法是:获取现有的文本关键字提取模型和对应的关键字本文扩充模型,文本关键字提取模型用于提取文本中每句话的关键字,并将文本中提取的每句关键字进行整合,形成关键字文本;关键字本文扩充模型用于根据文本关键字提取模型的关键字提取记录,对关键字文本进行扩充,获得原文本,将文本关键字提取模型和对应的关键字本文扩充模型整合为文本缩放模型。
数据接收模块在解密出数据发送方发送的数据时,将解密出的数据发送方发送的数据标记为待扩充数据,获取数据接收模块解密出的记录数据,将记录数据和待扩充数据输入到文本缩放模型中,获得原数据。
本实施例与上一实施例相比,传输的数据保密性更加的强,即使加密密文被破译,也无法通过关键字文本了解到全部的原数据信息,因为没有记录数据进行关键字文本扩充具有极大的不确定性。
本发明的工作原理:建立N个数据传输通道,识别需要进行加密的数据的标签,根据识别的标签在密钥库中匹配到对应的储存节点,储存节点内的随机选择模型随机输出N个加密数据,在加密数据上设置排列编号,获取加密数据的加密算法和密钥;将获取的需要进行加密的数据分成N个部分,并标记各个部分与加密数据上排列编号相对应的编号,将每部分需要进行加密的数据标记为前端明文,通过对应编号的加密算法和密钥对前端明文进行加密,将加密后的前端明文标记为加密密文,将加密密文通过对应数据传输通道发送给数据接收模块;将密钥发送到编码库中,获得数字密钥编码,将获得的数字密钥编码发送到区块链平台进行上链,获得唯一的识别ID,将识别ID通过对应数据传输通道发送给数据接收模块;数据接收模块对接收到的加密密文进行解密。
以上实施例仅用以说明本发明的技术方法而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方法进行修改或等同替换,而不脱离本发明技术方法的精神和范围。