发明内容
针对相关技术中使用加密和解密算法时消耗的系统计算资源较多的问题而提出本发明,为此,本发明的主要目的在于提供一种改进的数据发送、接收和传输方案,以解决上述问题。
根据本发明的一个方面,提供了一种数据发送方法。
根据本发明的数据发送方法包括:发送方将待发送的明文数据分组为待加密集合和非加密集合;发送方按照预设的加密算法对待加密集合中的明文数据进行加密得到密文数据;发送方将密文数据和非加密集合中的明文数据进行组合后发送给接收方。
优选地,在将待发送的明文数据分组为待加密集合和非加密集合之前,上述方法还包括:发送方与接收方进行协商,确定预设的加密算法、进行加密时使用的密钥、随机数、随机数序列产生算法、数据分组算法、数据组合算法,其中,数据分组算法用于根据随机数对待发送的明文数据进行分组,数据组合算法用于根据随机数对密文数据和非加密集合中的明文数据进行组合。
优选地,上述将待发送的明文数据分组为待加密集合和非加密集合包括:如果发送方是第一次向接收方发送数据,则发送方根据随机数和数据分组算法将待发送的明文数据分组为待加密集合和非加密集合。
优选地,上述将密文数据和非加密集合中的明文数据进行组合包括:如果发送方是第一次向接收方发送数据,则发送方根据随机数和数据组合算法对密文数据和非加密集合中的明文数据进行组合。
优选地,在发送方发送密文数据和非加密集合中的明文数据之后,上述方法还包括:发送方根据随机数序列产生算法以及随机数产生新的随机数,其中,新的随机数用于在下一次发送数据时进行数据分组和数据组合。
根据本发明的另一个方面,提供了一种数据接收方法。
根据本发明的数据接收方法包括:接收方将接收到的数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合;按照预设的解密算法对待解密集合中的密文数据进行解密得到明文数据;接收方将解密得到的明文数据和非解密集合中的明文数据进行组合。
优选地,在将接收到的数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合之前,上述方法还包括:接收方与发送方进行协商,确定预设的解密算法、对密文数据进行解密时使用的密钥、随机数、随机数序列产生算法、数据分组算法、数据组合算法,其中,数据分组算法用于根据随机数对接收到的数据进行分组,数据组合算法用于根据随机数对解密得到的明文数据与非解密集合中的明文数据进行组合。
优选地,上述将接收到的密文数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合包括:如果接收方是第一次接收发送方发送的数据,则接收方根据随机数和数据分组算法将接收到的数据分组为待解密集合和非解密集合。
优选地,上述将解密得到的明文数据和非解密集合中的明文数据进行组合包括:如果接收方是第一次接收发送方发送的数据,则接收方根据随机数和数据组合算法对解密得到的明文数据与非解密集合中的明文数据进行组合。
优选地,将解密得到的明文数据和非解密集合中的明文数据进行组合之后,上述方法还包括:接收方根据随机数序列产生算法以及随机数产生新的随机数,其中,新的随机数用于在下一次接收来自发送方的数据时进行数据分组和数据组合。
根据本发明的又一方面,提供了一种数据发送装置。
根据本发明的数据发送装置包括:分组器、加密模块、组合器、以及发送模块,其中,分组器,用于将待发送的明文数据分为待加密集合和非加密集合;加密模块,用于按照预设的加密算法对待加密集合中的明文数据进行加密得到密文数据;组合器,用于将加密模块得到的密文数据和非加密集合中的明文数据进行组合;发送模块,用于将组合器组合后的数据发送给接收方。
优选地,上述装置还包括:第一存储模块,用于保存与接收方协商确定的预设的加密算法、对明文数据进行加密时使用的密钥、随机数、随机数序列产生算法、数据分组算法和数据组合算法,其中,上述数据分组算法用于分组器根据随机数对待发送的明文数据进行分组,上述数据组合算法用于组合器对密文数据和非加密集合中的明文数据进行组合。
优选地,上述装置还包括:随机数产生器,用于根据数据分组算法、数据组合算法使用的随机数,随机数序列产生算法产生新的随机数;第二存储模块,与随机数产生器相连接,用于存储随机数产生器产生的新的随机数;上述分组器还用于在下一次向接收方发送数据时,根据新的随机数使用数据分组算法对待发送的明文数据进行数据分组;上述组合器还用于在下一次向接收方发送数据时,根据新的随机数使用数据组合算法对非加密集合中的明文数据和被加密模块加密后的密文数据进行组合。
根据本发明的再一方面,提供了一种数据接收装置。
根据本发明的数据接收装置包括:接收模块、分组器、解密模块和组合器,其中,接收模块,用于接收来自发送方的数据;分组器,用于将接收到的数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合;解密模块,用于按照预设的解密算法将待解密集合中的密文数据进行解密得到明文数据;组合器,用于将解密模块解密得到的明文数据和非解密集合中的明文数据进行组合。
优选地,上述装置还包括:第一存储模块,用于保存与发送方协商确定的预设的解密算法、对密文数据进行解密时使用的密钥、随机数、随机数序列产生算法、数据分组算法和数据组合算法,其中,数据分组算法用于分组器根据随机数对接收模块接收到的数据进行分组,数据组合算法用于组合器根据随机数对解密得到的明文数据和非解密集合中的明文数据进行组合。
优选地,上述装置还包括:随机数产生器,用于根据数据分组算法、数据组合算法使用的随机数,随机数序列产生算法产生新的随机数;第二存储模块,与随机数产生器相连接,用于存储随机数产生器产生的新的随机数;分组器还用于在下一次接收来自发送方的数据时,根据新的随机数使用数据分组算法对接收到的数据进行数据分组;组合器还用于在下一次接收来自发送方的数据时,根据新的随机数使用数据组合算法对解密得到的明文数据和非解密集合中的明文数据进行组合。
根据本发明的再一方面,提供了一种数据传输方法。
根据本发明的数据传输方法包括:发送方将待发送的明文数据分组为待加密集合和非加密集合,并根据预设的密钥采用预设的加密算法对待加密集合中的明文数据进行加密得到密文数据,再将密文数据和非加密集合中的明文数据进行组合后发送给接收方;接收方将接收到的数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合,并根据预设的密钥采用预设的解密算法对待解密集合中的密文数据进行解密得到明文数据,再将解密得到的明文数据与非解密集合中的明文数据进行组合。
优选地,在发送将待发送的明文数据分组为待加密集合和非加密集合之前,上述方法还包括:发送方与接收方进行协商,确定预设的加密算法和预设的解密算法、预设的密钥、随机数、随机数序列产生算法、第一数据分组算法、第一数据组合算法、第二数据分组算法和第二数据组合算法,其中,第一数据分组算法用于发送方根据随机数对待发送的明文数据进行分组,第一数据组合算法用于发送方根据随机数对密文数据和非加密集合中的明文数据进行组合,第二数据分组算法用于接收方根据随机数对接收到的数据进行分组,第二数据组合算法用于接收方根据随机数对解密得到的明文数据与非解密集合中的明文数据进行组合,并且,第一数据组合算法与第二数据分组算法互为可逆,第一数据分组算法与第二数据组合算法互为可逆。
根据本发明的再一方面,提供了一种数据传输系统。
根据本发明的数据传输系统包括:发送装置和接收装置,其中,发送装置,包括:第一分组器,用于将待发送的明文数据分为待加密集合和非加密集合;加密模块,用于按照预设的加密算法对待加密集合中的明文数据进行加密得到密文数据;第一组合器,用于将非加密集合中的明文数据和加密模块加密后的密文数据进行组合;发送模块,用于将第一组合器组合得到的数据发送给接收装置;其中,接收装置,包括:接收模块,用于接收来自发送装置的数据;第二分组器,用于将接收模块接收到的数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合;解密模块,用于按照预设的解密算法将待解密集合中的密文数据进行解密得到明文数据;第二组合器,用于将解密模块解密得到的明文数据和非解密集合中的明文数据进行组合。
优选地,上述发送装置还包括:第一存储模块,用于保存与接收装置协商确定的预设的加密算法、对明文数据进行加密时使用的密钥、随机数、随机数序列产生算法、第一数据分组算法和第一数据组合算法,其中,第一数据分组算法用于第一分组器根据随机数对待发送的明文数据进行分组,第一数据组合算法用于第一组合器对密文数据和非加密集合中的明文数据进行组合;上述接收装置还包括:第二存储模块,用于保存与发送装置协商确定的预设解密算法、对密文数据进行解密时使用的密钥、随机数、随机数序列产生算法、第二数据分组算法和第二数据组合算法,其中,第二数据分组算法用于第二分组器根据随机数对接收模块接收到的数据进行分组,第二数据组合算法用于第二组合器根据随机数对解密得到的明文数据和非解密集合中的明文数据进行组合,并且,第一数据组合算法与第二数据分组算法互为可逆,第一数据分组算法与第二数据组合算法互为可逆。
通过本发明,发送方在发送通信信息时对随机部分进行加密,接收方在接收通信信息时对上述随机部分进行解密,解决了相关技术中使用加密和解密算法时需要消耗较多系统计算资源的问题,进而节省了大量系统计算资源。
具体实施方式
功能概述
考虑到相关技术中使用加密和解密算法时需要消耗较多系统计算资源的问题,本发明实施例提供了一种改进的数据发送、接收和传输方案,在发送数据时,发送方将待发送的明文数据分组为待加密集合和非加密集合,并按照预设的加密算法对待加密集合中的明文数据进行加密得到密文数据,然后将加密数据得到的密文数据和非加密集合中的明文数据进行组合后发送给接收方;而在接收方接收数据时,将接收到的数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合,并按照预设的解密算法将待解密集合中的密文数据进行解密得到明文数据,然后将解密得到的明文数据和非解密集合中的明文数据进行组合获取发送方发送的明文数据。其中,在发送和接收数据时,需要利用随机数完成部分加密和部分解密的功能。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
方法实施例
根据本发明实施例,首先提供了一种数据发送方法。
图1是根据本发明实施例的数据发送方法的流程图。如图1所示,根据本发明实施例的数据发送方法包括以下步骤(步骤S101-步骤S105):
步骤S101:发送方将待发送的明文数据分组为待加密集合和非加密集合;
在具体实施过程中,在执行步骤S101之前,发送方与接收方需要进行协商,以确定预设的加密算法、进行加密时使用的密钥、初始随机数、随机数序列产生算法、数据分组算法、数据组合算法,其中,该数据分组算法用于根据随机数对待发送的明文数据进行分组,该数据组合算法用于根据随机数对非加密集合中的明文数据和对加密得到的密文数据进行组合以供发送方发送。
具体地,将待发送的明文数据分组为待加密集合和非加密集合分为以下两种情况:
(1)如果发送方是第一次向接收方发送数据,则发送方根据初始随机数,采用上述数据分组算法将待发送的明文数据分组为待加密集合和非加密集合;
(2)如果发送方不是第一次向接收方发送数据,则发送方根据上一次向接收方发送数据时产生的新的随机数,采用上述数据分组算法将待发送的明文数据分组为待加密集合和非加密集合。
步骤S103:发送方按照预设的加密算法对上述待加密集合中的明文数据进行加密得到密文数据;
在具体实施过程中,发送方根据与接收方协商的上述密钥,采用上述预设的加密算法,对待加密集合中的明文数据进行加密得到这部分数据的密文数据。
步骤S105:发送方将上述非加密集合中的明文数据和上述步骤S103中得到的密文数据进行组合后发送给接收方。
在具体实施过程中,发送方将非加密集合中的明文数据和密文数据进行组合可以分为以下两种情况:
(1)如果发送方是第一次向接收方发送数据,则发送方根据与接收方协商的初始随机数,采用上述数据组合算法对非加密集合中的明文数据和密文数据进行组合;
(2)如果发送方不是第一次向接收方发送数据,则发送方根据上一次向接收方发送数据时产生的随机数,采用上述数据组合算法对非加密集合中的明文数据和加密后的密文数据进行组合。
具体地,在将上述密文数据和非加密集合中的明文数据进行组合并发送之后,发送方需要根据当前使用的随机数,采用上述随机数序列产生算法产生并保存新的随机数,发送方在下一次向接收方发送数据时,可以首先以该新的随机数为参数,使用数据分组算法将待发送的数据分组为非加密集合和待加密集合,在对待加密集合进行加密后,在发送数据之前,发送方以该新的随机数为参数,使用上述数据组合算法,将加密后的密文数据和非加密集合中的明文数据进行组合。
图2是根据本发明优选实施例的数据发送方法的详细流程图。如图2所示,根据本发明优选实施例的数据发送方法包括以下步骤(步骤S201-步骤S217):
步骤S201:发送方与接收方协商加密方法、密钥、初始随机数、随机数序列产生算法以及随机数使用算法,其中,发送方在发送数据时使用的密钥和随机数与接收方在接收数据时使用的密钥和随机数相同,并且,发送方发送数据时采用的随机数序列产生算法和接收方接收数据时采用的随机数序列产生算法相同;
其中,上述随机数使用算法包括:发送方发送数据时使用的上述数据分组算法和上述数据组合算法;
步骤S203:发送方获取待发送的数据;
步骤S205:发送方判断是否是第一次向接收方发送数据,如果是,则执行步骤S207,否则,执行步骤S209;
步骤S207:在发送方第一次发送数据的情况下,选择上述协商的初始随机数作为当前使用的随机数;
步骤S209:在发送方不是第一次发送数据的情况下,选择上次发送时存储的随机数作为当前使用的随机数;
步骤S211:根据上述选择的随机数,采用上述随机数使用算法(即上述的数据分组算法)结合,对发送的明文数据进行分组,分为待加密集合和非加密集合;
上述步骤S201-步骤S211相当于图1中的步骤S101。
步骤S213:发送方使用上述协商的密钥和加密算法,对待加密集合中的数据进行加密得到密文;
该步骤相当于图1中的步骤S103。
步骤S215:根据上述选择的随机数采用随机数使用算法(即上述数据组合算法)对上述加密得到的密文和非加密集合中的明文进行组合,得到一个数据报文并发送;
步骤S217:根据当前使用的随机数采用随机数序列产生算法产生新的随机数,并保存等待下一次发送时使用。
步骤S215和步骤S217相当于图1中的步骤S105。
根据本发明实施例提供的上述数据发送方法,可以在发送数据前,对待发送的数据进行部分加密,从而减少了数据加密时消耗的系统资源。
根据本发明实施例,还提供了一种数据接收方法。
图3是根据本发明实施例的数据接收方法的流程图。如图3所示,根据本发明实施例的数据接收方法包括主要包括以下步骤(步骤S301-步骤S305):
步骤S301:接收方将接收到的数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合;
在具体实施过程中,在执行步骤S301之前,发送方与接收方需要进行协商,以确定预设的解密算法、对密文数据进行解密时使用的密钥(与上述发送方加密数据时使用的密钥相同)、初始随机数、随机数序列产生算法、数据分组算法、数据组合算法,其中,数据分组算法(与上述发送方发送数据前使用的数据组合算法互为可逆)用于根据随机数对接收到的数据进行分组,数据组合算法(与上述发送方发送数据前使用的数据分组算法互为可逆)用于根据随机数对解密得到的明文数据与非解密集合中的明文数据进行组合。
具体地,接收方将接收到的数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合分为以下两种情况:
(1)如果接收方是第一次接收发送方发送的数据,则接收方以上述初始随机数为参数,使用数据分组算法将接收到的数据分组为待解密集合和非解密集合。
(2)如果接收方不是第一次接收发送方发送的数据,则接收方以上一次接收来自发送方的数据时产生的新的随机数为参数,采用上述协商的数据分组算法将接收到的数据分组为待解密集合和非解密集合,其中,待解密集合中的数据为密文数据,非解密集合中的数据为明文数据。
步骤S303:按照预设的解密算法对待解密集合中的密文数据进行解密得到明文数据;
在具体实施过程中,接收方根据上述协商的密钥采用解密算法,对待解密集合中的密文数据进行解密得到明文数据。
步骤S305:接收方将解密得到的明文数据与非解密集合中的明文数据进行组合。
在具体实施过程中,接收方将解密得到的明文数据与非解密集合中的明文数据进行组合可以分为以下两种情况:
(1)如果接收方是第一次接收来自发送方的数据,则接收方以上述初始随机数为参数,采用步骤S301中协商的数据组合算法将解密得到的明文数据与非解密集合中的明文数据进行组合。
(2)如果接收方不是第一次接收来自发送方的数据,则接收方以上一次接收来自发送方的数据时产生的新的随机数为参数,采用步骤S301中协商的数据组合算法将解密得到的明文数据与非解密集合中的明文数据进行组合。
在具体实施过程中,将非解密集合中的明文数据和解密得到的明文数据进行组合之后,接收方需要根据当前使用的随机数,采用上述协商的随机数序列产生算法产生并保存新的随机数,其中,该随机数可以在接收方下一次接收来自发送方的数据时,对接收到的数据进行分组,以及对解密后的数据进行组合。
图4是根据本发明优选实施例的数据接收方法的详细流程图。如图4所示,根据本发明优选实施例的数据接收方法包括以下步骤(步骤S401-步骤S417):
步骤S401:发送方与接收方协商解密方法、密钥、初始随机数、随机数序列产生算法、数据分组算法和数据组合算法;
步骤S403:接收方接收发送方发送的数据报文;
步骤S405:判断是否是第一次解密来自发送方的数据,如果是,则执行步骤S407,否则,执行步骤S409;
步骤S407:在接收方第一次解密数据的情况下,选择协商的初始随机数作为当前使用的随机数;
步骤S409:在接收方不是第一次解密数据的情况下,选择上次解密来自发送方的数据时产生的随机数作为当前使用的随机数;
步骤S411:将以上述选择的随机数为参数,采用步骤S401中协商的数据分组算法对接收到的数据进行分组,将数据分为待解密集合和非解密集合,其中,待解密集合中包含的数据为密文数据,非解密集合中包含的数据为明文数据,并且,该分组过程与发送方发送数据时的组合过程互为逆过程,即采用步骤S411中使用数据分组算法与图2中发送数据时的组合过程中采用的数据组合算法相对应;
上述步骤S401-步骤S413相当于图3中的步骤S301。
步骤S413:使用上述协商的密钥,采用上述协商的解密算法对待解密集合进行解密得到明文数据;
步骤S413相当于图3中的步骤S303。
步骤S415:以上述选择的随机数为参数,采用步骤S401中协商的数据组合算法,对上述解密得到的明文数据和非解密集合的密文数据进行组合,得到一个数据报文并提交,其中,此组合过程与发送数据时的分组过程互为逆过程,即步骤S415中使用的数据组合算法与图2中发送数据的分组过程中采用的数据分组算法相对应;
步骤S417:以当前使用的随机数为参数,使用步骤S401中协商的随机数序列产生算法产生新的随机数,并保存等待下一次解密时使用。
上述步骤S415和步骤S417相当于图3中的步骤S305。
根据本发明实施例的上述数据接收方法,可以减少数据解密过程中消耗的系统资源。
本发明实施例提供的上述数据发送方法和数据接收方法可以结合使用,下面对上述数据发送方法和数据接收方法结合使用进行说明。
图5是根据本发明实施例的发送和接收方法相结合过程中数据报文的示意图。如图5所示,分别示出了第N次、第N+1次、第N+2次(不仅限于此,其他次数发送及接收过程中的报文形式未示出)发送及接收的数据报文形式,其中,将发送前为加密的数据报文(即,明文数据)分为待加密集合和非加密集合,对待加密集合中的数据报文进行加密(即,图中阴影部分数据报文),并将加密后的数据报文与非加密集合中的数据报文进行组合后发送,接收方接收到上述数据后,对接收到的数据进行分组,将接收到的数据分为待解密集合和非解密集合,其中,待解密集合中的数据为密文数据,非解密集合中的数据为明文数据。然后,接收方将待解密集合中的数据报文进行解密,并将解密后的数据报文与非解密集合中的数据报文进行组合,得到发送方发送的完整的数据报文。
根据本发明实施例,还提供了一种数据传输方法。
图6是根据本发明实施例的数据传输方法的流程图。如图6所示,根据本发明实施例的数据传输方法包括以下步骤(步骤S601-步骤603):
步骤S601:发送方将待发送的明文数据分组为待加密集合和非加密集合,并根据预设的密钥,采用预设的加密算法对待加密集合中的明文数据进行加密得到密文数据,再将该密文数据和非加密集合中的明文数据进行组合后发送给接收方;
步骤S603:接收方将接收到的数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合,并根据上述密钥,采用预设的解密算法对待解密集合中的密文数据进行解密得到明文数据,再将解密得到的明文数据与非解密集合中的明文数据进行组合。
在具体实施过程,发送方向接收方发送数据时,首先与接收方进行协商,具体地,发送方与接收方进行协商确定的参数包括:上述的加密算法和解密算法、预设的密钥(发送方加密时使用的密钥和接收方解密时使用的密钥相同)、随机数(发送方发送数据时使用的随机数与接收方接收数据时使用的随机数相同)、随机数序列产生算法(发送方和接收方采用的随机数序列产生算法相同)、第一数据分组算法(即发送方发送数据时采用的数据分组算法)、第一数据组合算法(即发送方发送数据时采用的数据组合算法)、第二数据分组算法(即接收方接收数据时采用的数据分组算法)和第二数据组合算法(即接收方接收数据时采用的数据组合算法),其中,第一数据分组算法用于发送方根据随机数对待发送的明文数据进行分组,第一数据组合算法用于发送方根据随机数对密文数据和非加密集合中的明文数据进行组合,第二数据分组算法用于接收方根据随机数对接收到的数据进行分组,第二数据组合算法用于接收方根据随机数对解密得到的明文数据与非解密集合中的明文数据进行组合,并且,第一数据组合算法与第二数据分组算法互为可逆,第一数据分组算法与第二数据组合算法互为可逆。
图7是根据本发明实施例的数据传输方法的详细流程图。如图7所示,根据本发明实施例的数据传输方法主要包括以下步骤(步骤S701-步骤S737):
步骤S701:发送方与接收方协商加/解密算法,加/解密密钥,初始随机数R0,确定随机数使用方法X(包括:上述步骤S201中协商的数据分组算法X1和数据组合算法X2,以及上述步骤S401中协商的数据组合算法X3和数据组合算法X4)和随机数序列产生算法Y;
步骤S703:获取待发送数据(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);
步骤S705:选择初始随机数R0;
步骤S707:以初始随机数R0为参数采用随机数使用方法X(数据分组算法X1)对待发送数据进行分组,将待发送数据分为待加密集合:(a1,a3,a4,a5,a7,a9,a10),以及非加密集合:(a2,a6,a8);
步骤S709:以协商的密钥的参数,采用协商的加密算法对待加密集合中的数据进行加密,以初始随机数为参数,采用数据组合算法X2将加密得到的密文数据与非加密集合的明文数据进行组合得到以下集合:(A1,a2,A3,A4,A5,a6,A7,a8,A9,A10),并将组合后的集合发送给接收方;
步骤S711:以初始随机数R0为参数采用随机数序列产生算法Y方法产生随机数R1,并保存;
步骤S713:接收方接收到来自发送方的数据集合:(A1,a2,A3,A4,A5,a6,A7,a8,A9,A10),当前为第一次解密来自发送方的数据,因此,选择随机数为R0;
步骤S715:以初始随机数R0为参数,采用数据分组算法X3将接收到的数据分组为待解密集合:(A1,A3,A4,A5,A7,A9,A10)和非解密集合:(a2,a6,a8);
步骤S717:对待解密集合进行解密,并以初始随机数R0为参数,采用数据组合算法X4对解密得到的明文数据和非解密集合中的明文数据进行重组,得到明文数据:(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);
步骤S719:以初始随机数R0为参数,采用随机数序列产生算法Y产生新的随机数R1,并保存;
上述步骤S701到步骤S719为发送方与接收方之间的第一次数据传输,下面为发送方与接收方之间的第二次数据传输过程。
步骤S721:发送方获取待发送数据为以下集合(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b7);
步骤S723:选择上次保存随机数R1;
步骤S725:以随机数R1为参数,采用数据分组算法X1将待发送数据分组为待加密集合:(b2,b3,b4,b6,b7,b10,b11,b12,b7),以及非加密集合:(b1,b5,b8,b9);
步骤S727:对待加密集合加密,以随机数R1为参数,采用数据组合算法X2对加密得到的数据与非加密集合中的数据进行重组得到以下集合:(b1,B2,B3,B4,b5,B6,B7,b8,b9,B10,B11,B12,B13),并将该集合发送给接收方;
步骤S729:发送方以随机数R1为参数,采用随机数序列产生算法Y产生得到新的随机数R2,并保存;
步骤S731:接收方接收来自发送方的数据:(b1,B2,B3,B4,b5,B6,B7,b8,b9,B10,B11,B12,B13),选择上次保存的随机数R1;
步骤S733:以随机数R1为参数,采用数据分组算法X3将接收到的数据分组为待解密集合:(B2,B3,B4,B6,B7,B10,B11,B12,B13),非解密集合:(b1,b5,b8,b9);
步骤S735:接收方对待解密集合解密,并以随机数R1为参数,采用数据分组算法X4对解密后的待解密集合和非解密集合进行组合,得到明文数据:(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13);
步骤S737:接收方以随机数R1为参数,采用随机数序列产生算法Y产生得到新的随机数R2,并保存。
对于发送方与接收方后续的数据传输,其过程与上述第二次数据传输过程相似,再此不再赘述。
通过上述实施例,发送方在发送通信信息时对待发送的数据进行分组,对待加密部分进行加密,而不是对全部通信信息进行加密;接收方在接收到通信信息后进行分组,对待解密部分进行解密,无需对全部通信信息进行解密,从而节省了大量系统计算资源。
装置实施例
根据本发明实施例,还提供了一种数据发送装置。
图8是根据本发明实施例的数据发送装置示意图,图9是根据本发明优选实施例的数据发送装置示意图。如图8所示,根据本发明实施例的数据发送装置包括:分组器80、加密模块84、组合器82和发送模块86。其中,分组器80,用于将待发送的明文数据分为待加密集合和非加密集合;加密模块84,与分组器80相连接,用于按照预设的加密算法对待加密集合中的明文数据进行加密得到密文数据;组合器82,与加密模块84和分组器80相连接,用于将加密模块84得到的密文数据和非加密集合中的明文数据进行组合;发送模块86,与组合器82相连接,用于将组合器82组合后的数据和发送给接收方。
进一步地,如图9所示,根据本发明优选实施例的数据发送装置还可以包括:第一存储模块81,和/或,随机数产生器83和第二存储模块85。其中,第一存储模块81,用于保存与接收方协商确定的预设的加密算法、对明文数据进行加密时使用的密钥、随机数、随机数序列产生算法、数据分组算法和数据组合算法,其中,数据分组算法用于分组器80根据随机数对待发送的明文数据进行分组,数据组合算法用于组合器82对加密模块84加密得到的密文数据和非加密集合中的明文数据进行组合;随机数产生器83,与第一存储模块81和组合器80相连接,用于以数据分组算法和数据组合算法当前使用的随机数为参数,根据上述随机数序列产生算法产生新的随机数;第二存储模块85,与随机数产生器83相连接,用于存储随机数产生器83产生的新的随机数;则上述分组器80还用于在下一次向接收方发送数据时,根据新的随机数使用数据分组算法对待发送的明文数据进行数据分组;上述组合器82还用于在下一次向接收方发送数据时,根据新的随机数使用数据组合算法对非加密集合中的明文数据和被加密模块84加密后的密文数据进行组合。
图10是根据本发明另一优选实施例的数据发送装置示意图。如图10所示,本实例的数据发送装置的主要包括:随机数产生器91、分组器93、组合器95、加密模块97、发送模块99。其中,随机数产生器91用于根据初始随机数或者当前分组使用的随机数采用随机数序列产生算法产生一个新的随机数,将该新随机数分别提供给分组器93和组合器95,以及反馈至该随机数产生器91以使下一次发送数据时使用,分组器93和组合器95根据输入的随机数对待处理数据分别进行分组和组合。发送的明文数据经由分组器93分组为待加密集合和非加密集合后,待加密集合的数据经过加密模块97进行加密得到已加密数据,该已加密数据和非加密集合的数据经过组合器95进行组合得到密文数据,该密文数据经过发送模块99发送给接收方。
通过本发明实施例提供的上述数据发送装置,可以在发送通信信息时对待发送信息的部分进行加密,无需对全部通信信息进行加密,节省了大量系统计算资源。
根据本发明实施例,还提供了一种数据接收装置,该数据接收装置可以与图8、9和10中的数据发送装置结合使用。
图11是根据本发明实施例的数据接收装置示意图。如图11所示,根据本发明实施例的数据接收装置包括:分组器110、组合器112、解密模块114以及接收模块116,其中,接收模块116,用于接收来自发送方的数据;分组器110,与接收模块116相连接,用于将接收到的数据分组为待解密集合和非解密集合,其中,待解密集合中的数据为密文数据,非解密集合中的数据为明文数据;解密模块114,与分组器110相连接,用于按照预设的解密算法将待解密集合中的密文数据进行解密得到明文数据;组合器112,与解密模块114相连接,用于将非解密集合中的明文数据和解密后得到的明文数据进行组合。
图12是根据本发明优选实施例的数据接收装置示意图。如图12所示,根据本发明优选实施例的数据接收装置还可以包括:第一存储模块111、随机数产生器113、第二存储模块115。其中,第一存储模块111,用于保存与发送方协商确定的预设解密算法、对密文数据进行解密时使用的密钥、随机数、随机数序列产生算法、数据分组算法和数据组合算法;分组器110可以根据该数据分组算法和随机数对接收模块116接收到的数据进行分组,并且,组合器110还可以根据该数据组合算法和随机数对解密得到的明文数据和非解密集合中的明文数据进行组合;随机数产生器113,与分组器110和组合器112相连接,用于根据当前分组接收到的密文数据时使用的随机数和随机数序列产生算法产生新的随机数。第二存储模块115,与随机数产生器113相连接,用于存储随机数产生器113产生的新的随机数。
进一步地,上述分组器110还用于在下一次接收发送方发送的数据时,根据上述新的随机数采用上述数据分组算法对接收到的数据进行数据分组;上述组合器112还用于在下一次接收发送方发送的数据时,根据上述新的随机数采用上述数据组合算法对解密得到的明文数据和非解密集合中的明文数据进行组合。
图13是根据本发明另一优选实施例的数据接收装置示意图。如图13所示,本实例的数据接收装置的主要包括:随机数产生器131、分组器133、组合器135、解密模块136、接收模块139。其中,随机数产生器131用于根据初始随机数或者当前分组使用的随机数结合随机数序列产生算法产生一个新的随机数,将该新随机数分别提供给分组器133和组合器135,并反馈至该随机数产生器131。分组器133和组合器135分别以输入的随机数为参数,使用数据分组算法和数据组合算法对待处理数据进行分组和组合,接收的密文数据经由分组器133分组为待解密集合和非解密集合,其中,待加密集合的数据经过解密模块136进行解密得到已解密数据,该已解密数据和非解密集合的数据经过组合器135进行组合得到明文数据。
通过上述实施例提供的上述接收装置,可以对接收到的数据的部分进行解密,无需对全部通信信息进行解密,节省了大量系统计算资源。
根据本发明实施例,还提供了一种数据传输系统。
图14为根据本发明实施例的数据传输系统示意图。如图14所示,根据本发明实施例的数据传输装置包括:发送装置1和接收装置3。其中,发送装置1可以为上述图8中的数据发送装置,接收装置3可以为上述图11中的数据接收装置。
其中,发送装置1可以包括:第一分组器11,用于将待发送的明文数据分为待加密集合和非加密集合;加密模块13,与第一分组器11相连接,用于按照预设的加密算法对待加密集合中的明文数据进行加密得到密文数据;第一组合器17,与加密模块13连接,用于将非加密集合中的明文数据和加密模块13加密后的密文数据进行组合;发送模块15,与第一组合器17连接,用于将第一组合器17组合得到的数据发送给接收装置3;
进一步地,发送装置1还可以包括:第一存储模块19,用于保存与接收装置3协商确定的预设的加密算法、对明文数据进行加密时使用的密钥、随机数、随机数序列产生算法、第一数据分组算法和第一数据组合算法,其中,第一数据分组算法用于第一分组器11根据随机数对待发送的明文数据进行分组,第一数据组合算法用于第一组合器17对密文数据和非加密集合中的明文数据进行组合;
接收装置3包括:接收模块31,用于接收来自发送装置1的数据;第二分组器33,用于将接收到的数据分组为包括密文数据的待解密集合和包括明文数据的非解密集合;解密模块35,与第二分组器33相连接,用于按照预设的解密算法将待解密集合中的密文数据进行解密得到明文数据;第二组合器37,与解密模块35相连接,用于将解密模块35解密得到的明文数据和非解密集合中的明文数据进行组合。
进一步地,上述接收装置还包括:第二存储模块37,用于保存与发送装置1协商确定的预设解密算法、对密文数据进行解密时使用的密钥、随机数、随机数序列产生算法、第二数据分组算法和第二数据组合算法,其中,第二数据分组算法用于第二分组器33根据随机数对接收模块接收到的数据进行分组,第二数据组合算法用于第二组合器37根据随机数对解密得到的明文数据和非解密集合中的明文数据进行组合,并且,第一数据组合算法与第二数据分组算法互为可逆,第一数据分组算法与第二数据组合算法互为可逆。
综上所述,通过本发明的上述实施例,发送方在发送通信信息时,对信息进行随机分组,再利用密钥和加密算法对分组后的随机部分进行加密,之后将上述加密的随机部分与非加密部分组合后进行发送;接收方在接收到通信信息时,对信息进行随机分组,再利用密钥和解密算法对分组后的随机部分进行解密,之后将上述解密的随机部分与非解密部分组合后进行提交,解决了相关技术中使用加密和解密算法时需要消耗较多系统计算资源的问题,节省了大量系统计算资源,便于大量通信数据在网络中的安全传输,进而降低了传输数据开销。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。