基于Trivium算法的数据传输加密和解密的方法

文档序号:7822091阅读:630来源:国知局
基于Trivium算法的数据传输加密和解密的方法
【专利摘要】本发明提供了一种基于Trivium算法的数据传输加密和解密的方法,其中,该加密的方法,包括:获取待传输数据,并将所述待传输数据进行编码,获取编码后的数据;判断编码后的数据量是否大于等于预设第一阈值,如果是,将编码后的数据量进行整合,得到整合后的数据包;将所述整合后的数据包进行压缩,获取压缩数据包;根据密钥协商算法,生成第一密钥;根据所述第一密钥,构造Trivium算法的第二密钥;采用所述第二密钥对所述压缩数据包进行加密。上述方法能够增加数据传输过程中的安全性,增强数据的可扩展性,同时提升网路或其他信道的传输效率,减少网路拥塞,增强通信过程中的处理能力。
【专利说明】基于Tr i V i um算法的数据传输加密和解密的方法

【技术领域】
[0001]本发明涉及数据的加密和解密的【技术领域】,尤其涉及一种基于Trivium算法的数据传输加密和解密的方法。

【背景技术】
[0002]Trivium算法是在eSTREAM竞赛中胜出并被选中作为eSTREAM项目一部分的流密码算法。Trivium算法是基于硬件的同步流密码加密算法,它的设计被用来试验是否存在一种在不失去安全性、高效性和可变性的前提下简单的流密码算法,它能够非常简单而快速的在硬件上实现。相应的,人们自然的希望知道Trivium算法是否足够的安全,是否能够抵挡住现在所知道的和将来可能产生的各种形式和类别的攻击,而这些都直接的关系到它是否能够成为新的加密标准并且被广泛使用。
[0003]在实际的应用场景中,常常会遇到大批量的数据传输的需求,这些数据数据量非常庞大,而要求处理的反应时间非常短,同时需要保证数据传输过程中的安全性合准确性合可扩展性,这就对数据传输的编码提出了需求。


【发明内容】

[0004]针对现有技术中的缺陷,本发明提供一种基于Trivium算法的数据传输加密和解密的方法,能够增加数据传输过程中的安全性,增强数据的可扩展性,同时提升网路或者其他信道的传输效率,减少网路拥塞,增强通信过程中的处理能力。
[0005]第一方面,本发明提供一种基于Trivium算法的数据传输加密的方法,包括:
[0006]获取待传输数据,并将所述待传输数据进行编码,获取编码后的数据;
[0007]判断编码后的数据量是否大于等于预设第一阈值,如果是,将编码后的数据量进行整合,得到整合后的数据包;
[0008]将所述整合后的数据包进行压缩,获取压缩数据包;
[0009]根据密钥协商算法,生成第一密钥;
[0010]根据所述第一密钥,构造Trivium算法的第二密钥;
[0011 ] 采用所述第二密钥对所述压缩数据包进行加密。
[0012]可选地,所述将所述待传输数据进行编码,包括:
[0013]将所述待传输数据进行XML数据格式编码;
[0014]和/ 或,
[0015]所述将所述整合后的数据包进行压缩,包括:
[0016]将所述整合后的数据包进行GZip压缩。
[0017]可选地,所述密钥协商算法,包括:E⑶H密钥协商算法。
[0018]可选地,所述根据密钥协商算法,生成第一密钥,还包括:
[0019]根据所述密钥协商算法,定期更新所述第一密钥。
[0020]可选地,所述根据所述第一密钥,构造Trivium算法的第二密钥,包括:[0021 ] 根据所述第一密钥,构造Trivium算法;
[0022]将所述Trivium算法输出的第ik至i k+Nk位的数据作为Trivium算法的第二密钥;
[0023]其中,所述压缩数据包为数据传输过程中的第k个数据包,ik为随机的正整数,Nk为所述压缩数据包的大小,k和Nk为正整数,i k彡i ^+N^o
[0024]可选地,所述方法还包括:
[0025]将加密后的压缩数据包作为传输包的内容,将ik放入传输包的报头,将所述传输包进行传输。
[0026]第二方面,本发明提供一种基于Trivium算法的数据传输解密的方法,包括:
[0027]接收传输包,获取传输包内容中的待解密数据包和传输包报头中的正整数ik,以及根据密钥协商算法,生成第三密钥;
[0028]根据所述第三密钥及所述正整数ik,构造Trivium算法的第四密钥;
[0029]采用所述第四密钥对所述待解密数据包进行解密,获取解密后的数据包;
[0030]将所述解密后的数据包进行解压缩,获取解压缩后的数据包;
[0031]将所述解压缩后的数据包进行拆分,获取多条数据;
[0032]将所述多条数据进行解码,获取传输数据。
[0033]可选地,所述密钥协商算法包括:E⑶H密钥协商算法;
[0034]和/ 或,
[0035]所述根据密钥协商算法,生成第三密钥,还包括:
[0036]根据所述密钥协商算法,定期更新所述第三密钥。
[0037]可选地,所述根据所述第三密钥及所述正整数ik,构造Trivium算法的第四密钥,包括:
[0038]根据所述第三密钥,构造Trivium算法;
[0039]根据所述正整数ik,将所述Trivium算法输出的第ik至i k+Nk位的数据作为Trivium算法的第四密钥;
[0040]其中,所述压缩数据包为数据传输过程中的第k个数据包,Nk为所述压缩数据包的大小,Nk为正整数,i i η+Nhο
[0041]可选地,所述将所述解密后的数据包进行解压缩,包括:
[0042]将所述解密后的数据包进行GZip解压缩;
[0043]和/ 或,
[0044]所述将所述多条数据进行解码,包括:
[0045]将所述多条数据进行XML数据格式解码。
[0046]由上述技术方案可知,本发明提供的一种基于Trivium算法的数据传输加密和解密的方法,其中,基于Trivium算法的数据传输加密的方法,通过获取待传输数据,并将所述待传输数据进行编码,获取编码后的数据,判断编码后的数据量是否大于等于预设第一阈值,如果是,将编码后的数据量进行整合,得到整合后的数据包,将所述整合后的数据包进行压缩,获取压缩数据包,根据密钥协商算法,生成第一密钥,根据所述第一密钥,构造Trivium算法的第二密钥,采用所述第二密钥对所述压缩数据包进行加密,由此,能够增加数据传输过程中的安全性,增强数据的可扩展性,同时提升网路或其他信道的传输效率,减少网路拥塞,增强通信过程中的处理能力。

【专利附图】

【附图说明】
[0047]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]图1为本发明实施例提供的一种基于Trivium算法的数据传输加密的方法流程示意图;
[0049]图2为本发明实施例提供的一种基于Trivium算法的数据传输解密的方法流程示意图。

【具体实施方式】
[0050]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。[0051 ] 在本实施方式中“第一”、“第二”、“第三”和“第四”等并不是对密钥的使用具有先后的顺序做出规定,只是对密钥的名称做出区别,在本实施方式中,不做出任何的限定。
[0052]图1为本发明实施例提供的一种基于Trivium算法的数据传输加密的方法流程示意图,如图1所示,本实施例的基于Trivium算法的数据传输加密的方法如下所述。
[0053]101、获取待传输数据,并将所述待传输数据进行编码,获取编码后的数据。
[0054]在具体应用中,本实施例可以从硬件设备或软件程序中获取待传输数据。
[0055]应说明的是,本实施例并不对所述编码进行限定,举例来说,本实施例可以优选地将所述待传输数据进行XML数据格式编码,获取编码后的数据。
[0056]可理解的是,将所述待传输数据进行编码,能够保证数据传输过程中数据的可扩展性
[0057]102、判断编码后的数据量是否大于等于预设第一阈值,如果是,将编码后的数据量进行整合,得到整合后的数据包。
[0058]应说明的是,在步骤101与102之间,本实施例将所述编码后的数据保存在缓存中。
[0059]可理解的是,在实际的数据传输的过程中传输数据的数量非常庞大,且对反应时间的要求也非常高,因此在数据传输的过程中,将传收发模式从每次必须确认改称批量确认;同时,传输的时间消耗主要在两个方面:一是网路传输小数据包所产生的消耗,二是将数据压入传输队列所产生的时间消耗。如果批量读入数据后,并不直接发送,而是根据一定的时间和数量后整合在一起发送,能够很好的减少压入队列所产生的时间消耗,并可以一定程度上减少网路传输中小数据包过多产生的拥塞。
[0060]103、将所述整合后的数据包进行压缩,获取压缩数据包。
[0061]应说明的是,本实施例并不对所述压缩进行限定,举例来说,本实施例可以优选地将所述整合后的数据包进行GZip压缩,获取压缩数据包。
[0062]104、根据密钥协商算法,生成第一密钥。
[0063]可理解的是,在本实施例中,当发送方与接受方需要进行数据传输时,第一密钥为发送方与接受方双方共用的会话密钥。
[0064]应说明的是,本实施例并不对所述密钥协商算法进行限定,举例来说,在本实施例中,可以优选地根据ECDH密钥协商算法,生成第一密钥。
[0065]在具体应用中,本实施例的步骤104,还可包括:
[0066]根据所述密钥协商算法,定期更新所述第一密钥。
[0067]105、根据所述第一密钥,构造Trivium算法的第二密钥。
[0068]在具体应用中,本实施例的步骤105可以包括图中未示出的步骤105a和105b:
[0069]105a、根据所述第一密钥,构造Trivium算法。
[0070]105b、将所述Trivium算法输出的第ik至i k+Nk位的数据作为Trivium算法的第二密钥。
[0071]其中,所述压缩数据包为数据传输过程中的第k个数据包,ik为随机的正整数,Nk为所述压缩数据包的大小,k和Nk为正整数,i k彡i ^+N^o
[0072]106、采用所述第二密钥对所述压缩数据包进行加密。
[0073]应说明的是,在具体应用中,在步骤106之后,所述方法还包括:
[0074]将加密后的压缩数据包作为传输包的内容,将ik放入传输包的报头,将所述传输包进行传输。
[0075]可理解的是,在本实施例中,可以将所述传输包通过网络或者其他信道进行传输。
[0076]本实施例的基于Trivium算法的数据传输加密的方法,通过获取待传输数据,并将所述待传输数据进行编码,获取编码后的数据,判断编码后的数据量是否大于等于预设第一阈值,如果是,将编码后的数据量进行整合,得到整合后的数据包,将所述整合后的数据包进行压缩,获取压缩数据包,根据密钥协商算法,生成第一密钥,根据所述第一密钥,构造Trivium算法的第二密钥,采用所述第二密钥对所述压缩数据包进行加密,能够增加数据传输过程中的安全性,增强数据的可扩展性,同时提升网路或其他信道的传输效率,减少网路拥塞,增强通信过程中的处理能力。
[0077]图2为本发明实施例提供的一种基于Trivium算法的数据传输解密的方法流程示意图,本实施例的基于Trivium算法的数据传输解密的方法对应图1所示实施例的基于Trivium算法的数据传输加密的方法,如图2所示,本实施例的基于Trivium算法的数据传输解密的方法如下所述。
[0078]201、接收传输包,获取传输包内容中的待解密数据包和传输包报头中的正整数ik,以及根据密钥协商算法,生成第三密钥。
[0079]应说明的是,本实施例接收的传输包为图1所示实施例中在步骤106之后进行传输的传输包,该传输包的内容为图1所示实施例中加密后的压缩数据包,该传输包的报头为正整数ik。
[0080]可理解的是,在本实施例中,当发送方与接受方需要进行数据传输时,第三密钥为发送方与接受方双方共用的会话密钥,即该第三密钥与图1所示实施例中的第一密钥相同。
[0081]举例来说,在本实施例中,若图1所示实施例中的第一密钥优选为根据ECDH密钥协商算法生成的第一密钥时,相应地,本实施例的第三密钥为根据ECDH密钥协商算法生成的第三密钥。
[0082]在具体应用中,本实施例的步骤104中的“根据密钥协商算法,生成第三密钥”,还可包括:
[0083]根据所述密钥协商算法,定期更新所述第三密钥。
[0084]应说明的是,本实施例中定期更新所述第三密钥的频率与图1所示实施例中定期更新所述第一密钥的频率相同。
[0085]202、根据所述第三密钥及所述正整数ik,构造Trivium算法的第四密钥。
[0086]在具体应用中,本实施例的步骤202可以包括图中未示出的步骤202a和202b:
[0087]202a、根据所述第三密钥,构造Trivium算法。
[0088]202b、根据所述正整数ik,将所述Trivium算法输出的第ik至i k+Nk位的数据作为Trivium算法的第四密钥。
[0089]其中,所述压缩数据包为数据传输过程中的第k个数据包,Nk为所述压缩数据包的大小,Nk为正整数,i i η+Nhο
[0090]应说明的是,在本实施例的第四密钥应相应地与图1所示实施例中的第二密钥相同。
[0091]203、采用所述第四密钥对所述待解密数据包进行解密,获取解密后的数据包。
[0092]204、将所述解密后的数据包进行解压缩,获取解压缩后的数据包。
[0093]应说明的是,本实施例的解压缩方式应相应地与图1所示实施例中的压缩方式相对应,举例来说,在本实施例中,若图1所示实施例中优选地将所述整合后的数据包进行GZip压缩,获取压缩数据包时,相应地,本实施例的步骤204为:
[0094]将所述解密后的数据包进行GZip解压缩,获取解压缩后的数据包。
[0095]205、将所述解压缩后的数据包进行拆分,获取多条数据。
[0096]206、将所述多条数据进行解码,获取传输数据。
[0097]应说明的是,本实施例的解码方式应相应地与图1所示实施例中的编码方式相对应,举例来说,在本实施例中,若图1所示实施例中优选地将所述待传输数据进行XML数据格式编码,获取编码后的数据时,相应地,本实施例的步骤206为:
[0098]将所述多条数据进行XML数据格式解码,获取传输数据。
[0099]本实施例的基于Trivium算法的数据传输解密的方法,是对图1所示实施例所传输的传输包进行解码和解密,能够增加数据传输过程中的安全性,增强数据的可扩展性,同时提升网路或其他信道的传输效率,减少网路拥塞,增强通信过程中的处理能力。
[0100]本领域普通技术人员可以理解:实现上述方法实施例的全部或者部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
[0101]以上所述,仅为本发明的【具体实施方式】,但是,本发明的保护范围不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替代,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【权利要求】
1.一种基于1^:1^111111算法的数据传输加密的方法,其特征在于,包括: 获取待传输数据,并将所述待传输数据进行编码,获取编码后的数据; 判断编码后的数据量是否大于等于预设第一阈值,如果是,将编码后的数据量进行整合,得到整合后的数据包; 将所述整合后的数据包进行压缩,获取压缩数据包; 根据密钥协商算法,生成第一密钥; 根据所述第一密钥,构造1^:1^111111算法的第二密钥; 采用所述第二密钥对所述压缩数据包进行加密。
2.根据权利要求1所述的方法,其特征在于,所述将所述待传输数据进行编码,包括: 将所述待传输数据进行XII数据格式编码; 和/或, 所述将所述整合后的数据包进行压缩,包括: 将所述整合后的数据包进行以让压缩。
3.根据权利要求1所述的方法,其特征在于,所述密钥协商算法,包括:20)?密钥协商算法。
4.根据权利要求1所述的方法,其特征在于,所述根据密钥协商算法,生成第一密钥,还包括: 根据所述密钥协商算法,定期更新所述第一密钥。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一密钥,构造1^:1^111111算法的第二密钥,包括: 根据所述第一密钥,构造1^:1^111111算法; 将所述11*1^111111算法输出的第丨&至1 ^队位的数据作为11*1^111111算法的第二密钥;其中,所述压缩数据包为数据传输过程中的第&个数据包,1,为随机的正整数为所述压缩数据包的大小,&和队为正整数,1 # 1
6.根据权利要求1所述的方法,其特征在于,所述方法还包括: 将加密后的压缩数据包作为传输包的内容,将1,放入传输包的报头,将所述传输包进行传输。
7.一种基于1^:1^111111算法的数据传输解密的方法,其特征在于,包括: 接收传输包,获取传输包内容中的待解密数据包和传输包报头中的正整数认,以及根据密钥协商算法,生成第三密钥; 根据所述第三密钥及所述正整数1,,构造11*1411111算法的第四密钥; 采用所述第四密钥对所述待解密数据包进行解密,获取解密后的数据包; 将所述解密后的数据包进行解压缩,获取解压缩后的数据包; 将所述解压缩后的数据包进行拆分,获取多条数据; 将所述多条数据进行解码,获取传输数据。
8.根据权利要求7所述的方法,其特征在于,所述密钥协商算法包括:20)?密钥协商算法; 和/或, 所述根据密钥协商算法,生成第三密钥,还包括: 根据所述密钥协商算法,定期更新所述第三密钥。
9.根据权利要求7所述的方法,其特征在于,所述根据所述第三密钥及所述正整数1卜构造11*1^111111算法的第四密钥,包括: 根据所述第三密钥,构造1^:1^111111算法; 根据所述正整数,将所述11*1^111111算法输出的第丨&至1 ^队位的数据作为11*1^111111算法的第四密钥; 其中,所述压缩数据包为数据传输过程中的第&个数据包,队为所述压缩数据包的大小,队为正整数,1 ? 1卜丨+队十
10.根据权利要求7所述的方法,其特征在于,所述将所述解密后的数据包进行解压缩,包括: 将所述解密后的数据包进行以让解压缩; 和/或, 所述将所述多条数据进行解码,包括: 将所述多条数据进行XII数据格式解码。
【文档编号】H04L9/32GK104506318SQ201410738671
【公开日】2015年4月8日 申请日期:2014年12月5日 优先权日:2014年12月5日
【发明者】王思叶, 张诗永, 朱大立, 陈恭亮, 罗元剑 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1