一种USB数据加密传输方法
文献发布时间:2024-04-18 19:59:31
技术领域
本发明涉及USB数据处理技术领域,具体涉及一种USB数据加密传输方法。
背景技术
随着数据信息处理技术的快速发展,数据优化、数据传输等技术不断进行探索,但是信息化时代,数据信息的安全性是极为重要的。利用USB技术进行数据传输是一种常见的传输数据的方法,为了防止信息泄露,在使用USB技术对数据进行传输时,往往需要利用数据加密技术对信息进行保护,保证重要信息的安全性。
目前,数据加密技术已经逐渐成熟,一般通过数据加密算法将明文数据转化为密文数据,进而保护所需要保护的重要数据。比如,常见的AES数据加密算法所使用的密文长度是固定的,无法根据明文长度进行动态调整,会造成加密压缩时的效率较低,且其形成的初始轮密钥矩阵由于只是单次固定设置的,攻击者可以通过重放加密数据进行攻击,会存在较大信息泄露的风险,导致加密传输的安全性较低。
发明内容
本发明提供一种USB数据加密传输方法,以解决加密传输的安全性较低的问题,所采用的技术方案具体如下:
本发明一个实施例提供了一种USB数据加密传输方法,该方法包括以下步骤:
将原始数据进行编码获取原始二进制编码;
将原始二进制编码分为若干个字节,每个字节为一个二进制序列,对每个二进制序列进行位置交换获取每个字节的混淆二进制序列;根据每个字节的混淆二进制序列与其相邻字节的混淆二进制序列的距离获取每个字节的字节相似程度;
根据每个字节的字节相似程度将原始二进制编码分类,根据分类结果构建初始明文矩阵;
获取密钥字节序列,根据密钥字节序列中每个密钥字节与其余密钥字节的距离关系获取每个密钥字节的位置信息值;根据密钥字节序列中每个密钥字节的位置信息值获取子密钥矩阵,根据子密钥矩阵以及初始明文矩阵获取初始轮密钥矩阵;
根据初始轮密钥矩阵获取密文,完成了加密传输。
优选的,所述将原始数据进行编码获取原始二进制编码的方法为:
将原始数据使用UTF-8编码转换为ASCII码值,将ASCII码进行二进制转换,将所述转换的二进制记为原始二进制编码。
优选的,所述对每个二进制序列进行位置交换获取每个字节的混淆二进制序列的方法为:
在原始二进制编码中,每个字节对应8为二进制数,令每个字节记为一个二进制序列,将二进制序列的首位和末位的值进行交换后得到交换二进制序列,将交换二进制序列的两个中间位的值进行交换后得到混淆二进制序列;
所述中间位表示为二进制序列中的第四位和第五位。
优选的,所述根据每个字节的混淆二进制序列与其相邻字节的混淆二进制序列的距离获取每个字节的字节相似程度的方法为:
每个字节在原始二进制编码中存在顺序,将原始二进制编码中的字节进行标号,根据标号获取字节对应的顺序序列,将字节序号差值为1的字节记为相邻字节,根据混淆二进制序列对应字节的相邻字节的混淆二进制序列的DTW距离获取每个字节的字节相似程度。
优选的,所述根据混淆二进制序列对应字节的相邻字节的混淆二进制序列的DTW距离获取每个字节的字节相似程度的方法为:
式中,V
优选的,所述根据每个字节的字节相似程度将原始二进制编码分类,根据分类结果构建初始明文矩阵的方法为:
将原始二进制编码中的字节作为一个数据点,根据每个字节的字节相似程度将所有数据点排序,将排序后的数据点按照顺序均分为四类,对于每一类抽取四个数据点表示初始文明矩阵的一列,每次抽取时按照字节在类别中的顺序依次抽取按照顺序填充在每一列中,四个类别中平均字节相似程度最小的类别在第一列,最大的在最后一列,初始明文矩阵中每个元素为一个字节。
优选的,所述获取密钥字节序列,根据密钥字节序列中每个密钥字节与其余密钥字节的距离关系获取每个密钥字节的位置信息值的方法为:
使用密钥生成器随机获取一个密钥字节序列,将密钥字节序列中任意一个密钥字节记为标准密钥字节,计算标准密钥字节与其余每个密钥字节编辑距离,对密钥字节序列的所有密钥字节按照顺序编号得到每个密钥字节的序号,计算标准密钥字节与其余每个密钥字节的序号差异,根据标准密钥字节与其余所有密钥字节的编辑距离和序号差异获取标准密钥字节的位置信息值。
优选的,所述根据标准密钥字节与其余所有密钥字节的编辑距离和序号差异获取标准密钥字节的位置信息值的方法为:
式中,e
其中,j和h相等时,δ(j,h)的取值为1,反之,δ(j,h)的取值为0。
优选的,所述根据密钥字节序列中每个密钥字节的位置信息值获取子密钥矩阵,根据子密钥矩阵以及初始明文矩阵获取初始轮密钥矩阵的方法为:
在密钥字节序列中的所有密钥字节对应的位置信息值中,将最大的位置信息值和最小的位置信息值对应的两个密钥字节进行位置交换,位置交换后,将交换位置的两个密钥字节标记,将未标记的所有密钥字节中获取最大的位置信息值和最小的位置信息值对应的两个密钥字节进行交换,位置交换后,将交换位置的两个密钥字节标记,依此类推,直到所有密钥字节交换完成,若在获取最大的位置信息值和最小的位置信息值时,同时获取了多个最大或最小的位置信息值,则对应的多个密钥字节中选取序号靠前的密钥字节进行交换;
将所有密钥字节交换完成后的密钥字节序列记为替换字节序列,将替换字节序列按照顺序均分为四份,每一份分别作为子密钥矩阵的一列,子密钥矩阵利用密钥扩展算法获取密钥扩展矩阵,将密钥扩展矩阵和初始明文矩阵进行异或运算获取初始轮密钥矩阵。
优选的,所述根据初始轮密钥矩阵获取密文,完成了加密传输的方法为:
根据获取的初始轮密钥矩阵和初始明文矩阵使用AES算法获取密文以及最后一轮的密钥矩阵,将密文以及最后一轮的密钥矩阵从输出端通过USB技术传输到输入端完成加密传输。
本发明的有益效果是:而本发明根据所获字节的编码信息,做混淆处理,获取字节的混淆二进制序列。然后,根据相邻字节的字节相似度将所有字节分成四类,从每个类中抽取字节形成初始明文矩阵。同时,根据密钥字节顺序,获取每个密钥字节的位置信息度,利用迭代的思想获取替换密钥字节序列,进而获取子密钥矩阵。其有益效果在于,使初始明文矩阵中字节之间的相似程度较小,打乱传统加密算法中明文字节强规律性的排列方式,同时通过对密钥字节序列中的密钥字节进行替换,最大程度上保护原始密钥字节的信息,进而使得初始轮密钥矩阵的安全性更高,避免了由于规则性较强的明文矩阵以及子密钥矩阵形成的初始轮密钥矩阵会存在较大信息泄露的风险的可能,使数据加密传输的安全性更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例所提供的一种USB数据加密传输方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明一个实施例提供的一种USB数据加密传输方法,该方法包括以下步骤:
步骤S001,将原始数据进行编码获取原始二进制编码。
使用USB技术进行数据传输,数据传输的两端分别为输入端和输出端,数据从输出端通过USB技术传输到输入端,因此在输出端使用爬虫技术获取输出端的所有数据记为原始数据,由于原始数据直接传输时,传输速度较慢且容易被人截获信息,因此将原始数据压缩后通过USB技术从输出端传送到输入端中,此举是为了保证信息的安全性,再在输入端将压缩后的数据解压。
将所采集的原始数据使用UTF-8编码转换为ASCII码值,将ASCII码进行二进制转换,将转换后的二进制记为原始二进制编码。
至此,获取了原始二进制编码。
步骤S002,将原始二进制编码分为若干二进制序列,对每个二进制序列进行位置交换获取混淆二进制序列;根据每个字节的混淆二进制序列及其相邻字节的混淆二进制序列的距离获取每个字节的字节相似程度。
传统AES算法中明文矩阵以及子密钥矩阵一般按照字节的先后顺序,从上到下,从左到右进行排列,使得密钥扩展也具备较强的规律性,那么初始轮密钥矩阵会存在较大信息泄露的风险。
所获取的原始二进制编码即为原始数据转换而来,直接表示原始数据,因此需要对原始二进制编码进行混淆处理,防止直接反映原始数据,将原始二进制编码中每8位组成一个二进制序列,将二进制序列中的第四位和第五位记为中间位,将每个二进制序列的首位和末位的值进行交换以及二进制序列两个中间位的值进行交换获取混淆二进制序列。例如,二进制序列为[10010100],首先将其首位和末位进行交换,得到新的二进制序列[00010101],首位和末位交换后,再交换二进制序列中的两个中间位,得到新的二进制序列[00001101],由此将二进制序列转换为了混淆二进制序列。
通过上述方法将原始二进制数据进行混淆处理,在加密前先增加原始二进制数据信息的安全性。
由于传统AES算法直接按照字节的先后顺序,从上到下,从左到右的直接生成初始明文矩阵,存在较大被破解的风险,为了规避此风险获取字节相似程度构建明文矩阵,所述每个字节对应一个二进制序列。
字节相似程度高的字节一定程度上反映原始字节顺序,这是因为原始二进制编码局部区域字节的相似性往往较高。为了避免字节顺序直接反映原始字节的位置信息,将原始二进制编码中的所有字节获取其在原始二进制编码中的排序,将所有字节的排序结果构成一个顺序序列;混淆二进制序列对应一个字节即对应在顺序序列中的一个位置。
根据顺序序列中每个字节与其相邻字节的DTW距离获取每个字节的字节相似程度,公式如下:
式中,V
字节相似程度一定程度上可以度量每个字节的局部区域上字节之间的关联性,字节与其相邻字节的二进制编码序列之间的dtw距离越小,说明字节的局部的相似程度高,差异较小,字节相似程度越大。
至此,获取了每个字节的字节相似程度。
步骤S003,根据每个字节的字节相似程度将原始二进制编码分类,根据分类结果构建初始明文矩阵。
获取每个字节的字节相似程度后,按照从小到大的顺序排序获取字节相似程度序列,其中每个字节相似程度序列对应一个数据点,将获取的数据点按照顺序均匀划分为4类,由此将所有数据点划分为四个类别,基于四个类别构建明文矩阵。
本实施例在构建初始明文矩阵时,选择128位即16字节的初始明文构建4×4大小的初始明文矩阵。在每个类别中按类别的排序抽取一个数据点,在每个类别抽取到该数据点后,将该数据点从类别中删除,将该数据点作为初始明文矩阵的一个元素,数据点的字节相似程度即为初始明文矩阵中的元素值,在每个类别中抽取四次获取16个字节得到初始明文矩阵:
上述矩阵中D表示初始明文矩阵,A
将四个类别中所有的数据点抽取构成若干个初始明文矩阵,若剩余的数据点不足以构成一个初始明文矩阵时,使用0将数据进行填充。
至此,获取到了原始数据的若干初始明文矩阵。
步骤S004,获取密钥字节序列,根据密钥字节序列中每个密钥字节与其余密钥字节的距离关系获取每个密钥字节的位置信息值;根据密钥字节序列中每个密钥字节的位置信息值获取子密钥矩阵,根据子密钥矩阵获取初始轮密钥矩阵。
在AES算法中除了原始数据字节,还存在密钥字节,其密钥的长度存在多种选择,在本实施例中,令密钥长度为128位,即一个密钥长度由16个密钥字节构成,使用密钥生成器随机获取一个密钥字节序列,密钥字节序列长度为16,传统的AES算法,其子密钥矩阵同样是按照密钥字节的先后顺序从上到下,从左到右进行排列,每四个密钥字节形成一个密钥字,形成子密钥矩阵。若子密钥矩阵中的中的某个密钥字被破解了,此时可以推出来其他的密钥字,存在较大的风险。
在AES原始算法中,密钥字节序列是根据顺序分布形成的子密钥矩阵,这种方式极大的暴漏了原始密钥字节的位置信息,因此为了极大的隐藏原始密钥字节的位置信息,需要对密钥字节序列进行重新排列。
根据密钥字节序列中每个密钥字节与其余密钥字节的距离以及编辑距离获取每个密钥字节的位置信息值,公式如下:
式中,e
所获取的每个密钥字节的位置信息值可以在一定程度上反映每个密钥字节的位置信息,为了隐藏原始密钥字节的位置信息,将密钥字节序列中的密钥字节进行替换,在密钥字节序列中的所有密钥字节对应的位置信息值中,将最大的位置信息值和最小的位置信息值对应的两个密钥字节进行位置交换,位置交换后,将交换位置的两个密钥字节标记,将未标记的所有密钥字节中获取最大的位置信息值和最小的位置信息值对应的两个密钥字节进行交换,位置交换后,将交换位置的两个密钥字节标记,依此类推,直到所有密钥字节交换完成,若在获取最大的位置信息值和最小的位置信息值时,同时获取了多个最大或最小的位置信息值,则对应的多个密钥字节中选取序号靠前的密钥字节进行交换。
由此,获取了替换后的密钥字节序列记为替换字节序列,将替换字节序列构成一个子密钥矩阵,将替换字节序列按照顺序均分为4份,每一份作为子密钥矩阵的一列,每一份从上往下按照替换字节序列的顺序分布。例如替换字节序列的第一个密钥字节为第一行第一列,替换字节序列的第二个密钥字节为第二行第一列,替换字节序列的第五个密钥字节为第一行第二列。
根据获取的子密钥矩阵利用密钥扩展算法获取密钥扩展矩阵,密钥扩展算法为公知技术,在此不多做赘述。
获取了初始明文矩阵以及密钥扩展矩阵后。一般地,选用128位的密钥长度,加密的轮数为10。在此,利用AES数据加密算法,通过对初始明文矩阵与扩展密钥进行异或运算的初始变换,获取初始变换后的初始轮密钥矩阵,将此初始轮密钥矩阵记为LD,异或运算为公知技术,不做多余赘述。
至此,获取了初始轮密钥矩阵。
步骤S005,根据初始轮密钥矩阵获取密文,完成了加密传输。
根据上述步骤最终获取到了初始变换轮密钥矩阵LD,利用传统AES数据加密算法,先进行9轮循环运算,循环运算的内容分别为S盒变换、行变换、列变换以及与扩展密钥的异或运算,进行9轮循环运算后,需要进行第10轮的运算,分别进行S盒变化、行变换以及与扩展密钥的异或运算,进而获取128位密文,AES数据加密算法为公知技术,不做多余赘述。
此为一个明文矩阵即一组的加密,将原始数据全部加密为128位的密文后传输,将压缩后的密文和最后一轮的密钥矩阵在输出端通过USB技术传输到输入端,由此完成了加密传输,保证了传输信息的安全性。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
- 一种具有流量大小调节功能的儿科临床用呼吸装置
- 一种电动调节类活门大流量性能试验装置及其试验方法
- 一种气体流量调节装置及除尘器及除尘系统
- 一种离心泵流量调节装置及其制造方法
- 天然气流量监测电路及流量调节装置
- 一种天然气掺氢的流量调节装置