[0032] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0033] 如图1所示,给出了本发明实施例的一种大数据安全传输方法结构示意图,包括:
[0034] 101.设定初始密钥,将初始密钥分为四个字数据,根据AES密钥扩展法对初始密钥的四个字数据进行扩充,得到第一轮子密钥对应的四个字数据。
[0035] AES加密算法的秘钥有三种,分别为128位,196位和256位,本发明以128位为例,但改进方法对于196位和256位的秘钥扩展过程同样有效,均属于本发明的保护范围。
[0036] 如图3所示,给出了图1中一种大数据安全传输方法的AES秘钥扩展过程示意图,其中,W0、W1、W2以及W3为初始密钥中的四个字数据,W4、W5、W6以及W7为第一轮子密钥中的四个字数据,AES采用了对种子秘钥进行扩充的方法来得到子秘钥,算法的128位初始秘钥即为种子秘钥,首先将每轮的128位秘钥均分为4个字W0、W1、W2、W3,每个字为32位,这128位秘钥同时也是第一次轮变换中参与计算的轮秘钥,接着利用W0和W3计算得到W4,W1和W4计算得到W5,W2和W5计算得到W6,W3和W6计算得到W7。生成的W4、W5、W6、W7即为第一轮的秘钥,同时也是第二次轮变换中使用的轮秘钥。
[0037] 本发明中,通过以此类推的方法计算得到10轮变换的所有子密钥秘钥。
[0038] 102.分别获取初始密钥四个字数据的hash值和第一轮子密钥四个字数据的hash值;对初始密钥四个字数据的hash值和第一轮子密钥四个字数据的hash值分别进行算术编码,获取初始密钥和第一轮子密钥中每个字数据hash值的算术编码值。
[0039] hash算法是将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值,hash编码是不可逆的,即不能通过hash编码的结果推算得到hash编码的输入。
[0040] 本发明所述大数据中包括汉字,字符,数字等,经过国标码,Ascll码等都可以实现数字化的转换,即转化为二进制的格式。
[0041] 103.根据初始密钥中每个字数据hash值的算数编码值与第一轮子密钥中每个字数据hash值的算数编码值进行KM匹配,根据匹配结果对第一轮子密钥四个字数据的顺序进行调整,得到调整后的第一轮子密钥的四个字数据。
[0042] 如图4所示,根据初始密钥与第一轮子密钥四个字数据的hash编码值进行KM匹配的方法为:
[0043] 分别计算初始密钥及第一轮子密钥四个字数据的hash值,对初始密钥四个字数据的hash值与第一轮子密钥四个字数据hash值分别进行算数编码计算,算术编码的结果是一个区间,从得到的区间中任意选择一个数字均可以作为编码结果,本发明中选择编码区间的中数作为算术编码的结果,将得到的算术编码的结果作为权值获取KM匹配结果。
[0044] 其中,W0、W1、W2以及W3为初始密钥中的四个字数据,W4、W5、W6以及W7为第一轮子密钥中的四个字数据,将每个字数据hash值对应的算术编码的结果作为权值,通过对每个字数据进行KM匹配,获取权值最小的匹配结果。
[0045] 对第一轮子密钥四个字数据进行调整,根据KM匹配结果调整第一轮子密钥四个字数据的顺序,如图3所示,调整前初始密钥中W0与W3在第一轮子密钥中的计算结果为W4,根据KM匹配后的结果中,W7为最优匹配结果,则将W4与W7的位置进行调整,利用相同的方法依次对四个字数据进行调整。
[0046] 104.对调整后的第一轮子密钥的四个字数据再次进行扩充,得到第二轮子密钥的四个字数据;按照102‑103的方法,获取调整后的第二轮子密钥的四个字数据;依次进行迭代,获取设定轮次调整后的子密钥的四个字数据。
[0047] 扩充方法与上述步骤101至步骤103相同,其中,每一轮子密钥均为通过其上一轮密钥扩充得到,即根据调整后的第一轮子密钥进行扩充得到第二轮子密钥,对调整后的第一轮子密钥和第二轮子密钥进行步骤102至步骤103后,得到调整后的第二轮子密钥;
[0048] 同样的,根据调整后的第二轮子密钥得到第三轮子密钥,并对第三轮子密钥进行调整,依次进行密钥扩充,本发明获取十轮子密钥。
[0049] 根据得到的十轮子密钥对传输的数据进行加密,其加密方法为AES密钥加密过程,具体内容为现有手段,不做过多解释说明。
[0050] 数据接收方在接收到加密数据后,根据初始密钥对加密的数据进行解密,得到传输的数据。
[0051] 具体解密方法同AES数据加密过程相反,根据初始密钥对加密后的密钥进行逆扩展,完成解密。
[0052] 如图2所示,给出了本发明实施例的一种大数据安全传输系统结构示意图,包括密钥扩展模块、hash编码计算模块、KM匹配模块、数据加密模块以及数据接收模块;
[0053] 本发明中,数据发送端将需要传输的数据通过服务器进行上传,该服务器保存在计算机介质中,该服务器通过连接公共互联网或私密网络信道对数据进行传输,同时通过对服务器进行安全防护,即对传输的数据先进行加密处理,该加密过程于计算机介质中进行,具体过程包括如图2所示的各个模块及模块对应的功能,加密完成后,数据发送端将初始密钥以其他形式发送或告知数据接收端。
[0054] 数据接收端通过服务器接收加密后的数据,操作者根据数据发送端告知的初始密钥对加密数据进行解密,从而得到传输的数据。
[0055] 密钥扩展模块,用于设定初始密钥,将初始密钥分为四个字数据,根据AES密钥扩展法对初始密钥的四个字数据进行扩充,得到第一轮子密钥对应的四个字数据;
[0056] Hash编码计算模块,用于接受初始密码以及密钥扩展模块中得到的第一轮子密钥,分别获取初始密钥四个字数据的hash值以及第一轮子密钥四个字数据的hash值;对初始密钥四个字数据的hash值与第一轮子密钥四个字数据的hash值进行算术编码,分别获取初始密钥与第一轮子密钥中每个字数据hash值的算术编码值;
[0057] KM匹配模块,用于根据初始密钥中每个字数据hash值的算数编码值与第一轮子密钥中每个字数据hash值的算数编码值进行KM匹配,根据匹配结果对第一轮子密钥四个字数据进行调整,得到调整后的第一轮子密钥;
[0058] 数据加密模块,用于重复密钥扩展模块、hash编码计算模块以及KM匹配模块的步骤,获取设定轮次的调整后的子密钥;根据得到的设定轮次调整后的子密钥对需要传输的数据进行加密传输。
[0059] 根据本发明提出的技术手段,利用hash编码的不可逆性增强破译难度,同时根据得到扩展后每轮子密钥的hash编码结果进行算数编码,从而根据算术编码对每轮子密钥中字数据的顺序进行调整,增加每一轮子密钥之间秘钥产生的随机性,使得攻击者破解得到子秘钥的前提下也难以通过得到的子秘钥得到其它的子秘钥,保证了数据传输的安全性。
[0060] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。