CN107241185A - 数据传输与接收方法及传输与接收装置 - Google Patents

数据传输与接收方法及传输与接收装置 Download PDF

Info

Publication number
CN107241185A
CN107241185A CN201610186553.XA CN201610186553A CN107241185A CN 107241185 A CN107241185 A CN 107241185A CN 201610186553 A CN201610186553 A CN 201610186553A CN 107241185 A CN107241185 A CN 107241185A
Authority
CN
China
Prior art keywords
data
key
length
encryption
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610186553.XA
Other languages
English (en)
Inventor
黄松柏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201610186553.XA priority Critical patent/CN107241185A/zh
Publication of CN107241185A publication Critical patent/CN107241185A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

本申请公开了数据传输与接收方法及传输与接收装置。所述数据传输方法的一具体实施方式包括:获取待传输的数据;随机生成加密长度;将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据;生成包括所述加密长度的报文头信息;将所述报文头信息和所述加密后的数据组成完整报文进行传输。该实施方式解决了数据传输端CPU占用率高的问题。所述数据接收方法的一具体实施方式包括:获取接收到的数据;读取所述数据中的报文头信息,提取解密长度;将所述数据从预定位置开始解密直到解密的长度达到所述解密长度以生成解密后的数据。该实施方式解决了数据接收端CPU占用率高的问题。

Description

数据传输与接收方法及传输与接收装置
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及数据传输与接收方法及传输与接收装置。
背景技术
随着互联网的快速发展,数据传输量也越来越大,同时对于数据传输的速率和安全性的要求也越来越高。针对安全性问题,主要采用对数据进行加密来解决。目前,对数据进行加密大都采用全报文加密。然而,由于全报文加密对全部报文都要进行加密和解密,因此导致传输端和接收端的CPU(Central Processing Unit,中央处理器)占用率较高。
发明内容
本申请的目的在于提出一种改进的数据传输方法和数据传输装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种数据传输方法,所述方法包括:获取待传输的数据;随机生成加密长度,其中,所述加密长度是小于等于所述数据的长度的整数;将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据;生成包括所述加密长度的报文头信息;将所述报文头信息和所述加密后的数据组成完整报文进行传输。
在一些实施例中,所述将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据,包括:生成密钥;使用所生成的密钥将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据。
在一些实施例中,所述生成密钥,包括:随机选取用于预置候选密钥集合的候选密钥索引,其中,所述候选密钥索引是用于指示候选密钥在所述预置候选密钥集合中所在位置的数据;按照所述候选密钥索引所指示的位置在所述预置候选密钥集合中选取候选密钥作为第一密钥;生成第二密钥;将所述第一密钥和所述第二密钥做异或运算生成密钥。
在一些实施例中,所述使用所生成的密钥将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据,包括:从预定位置开始将所述数据与所生成的密钥做异或运算进行加密直到加密的长度达到所述加密长度以生成加密后的数据。
在一些实施例中,所述生成包括所述加密长度的报文头信息,包括:对所述候选密钥索引、所述第二密钥和所述加密长度计算校验和作为校验码;生成包括所述候选密钥索引、所述第二密钥、所述加密长度和所述校验码的报文头信息。
第二方面,本申请提供了一种数据接收方法,所述方法包括:获取接收到的数据;读取所述数据中的报文头信息,提取解密长度,其中所述解密长度是小于等于所述数据的长度的整数;将所述数据从预定位置开始解密直到解密的长度达到所述解密长度以生成解密后的数据。
在一些实施例中,所述将所述数据从预定位置开始解密直到解密的长度达到所述解密长度以生成解密后的数据,包括:读取所述报文头信息,提取候选密钥索引和第二密钥;按照所述候选密钥索引所指示的位置在预置候选密钥集合中选取候选密钥作为第一密钥;将所述第一密钥和所述第二密钥做异或运算生成密钥。从预定位置开始将所述数据与所生成的密钥做异或运算进行解密直到解密的长度达到所述解密长度以生成解密后的数据。
第三方面,本申请提供了一种数据传输装置,所述装置包括:第一获取单元,配置用于获取待传输的数据;加密长度生成单元,配置用于随机生成加密长度,其中,所述加密长度是小于等于所述数据的长度的整数;加密单元,配置用于将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据;报文头信息生成单元,配置用于生成包括所述加密长度的报文头信息;传输单元,配置用于将所述报文头信息和所述加密后的数据组成完整报文进行传输。
在一些实施例中,所述加密单元包括:密钥生成模块,配置用于生成密钥;加密模块,配置用于使用所生成的密钥将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据。
在一些实施例中,所述密钥生成模块,包括:候选密钥索引选取子模块,配置用于随机选取用于预置候选密钥集合的候选密钥索引,其中,所述候选密钥索引是用于指示候选密钥在所述预置候选密钥集合中所在位置的数据;第一密钥选取子模块,配置用于按照所述候选密钥索引所指示的位置在所述预置候选密钥集合中选取候选密钥作为第一密钥;第二密钥生成子模块,配置用于生成第二密钥;密钥生成子模块,配置用于将所述第一密钥和所述第二密钥做异或运算生成密钥。
在一些实施例中,所述加密模块进一步配置用于:从预定位置开始将所述数据与所生成的密钥做异或运算进行加密直到加密的长度达到所述加密长度以生成加密后的数据。
在一些实施例中,所述报文头信息生成单元包括:校验码生成模块,配置用于对所述候选密钥索引、所述第二密钥和所述加密长度计算校验和作为校验码;报文头信息生成模块,配置用于生成包括所述候选密钥索引、所述第二密钥、所述加密长度和所述校验码的报文头信息。
第四方面,本申请提供了一种数据接收装置,所述装置包括:第二获取单元,配置用于获取接收到的数据;解密长度提取单元,配置用于读取所述数据中的报文头信息,提取解密长度,其中所述解密长度是小于等于所述数据的长度的整数;解密单元,配置用于将所述数据从预定位置开始解密直到解密的长度达到所述解密长度以生成解密后的数据。
在一些实施例中,所述解密单元包括:提取模块,配置用于读取所述报文头信息,提取候选密钥索引和第二密钥;选取模块,配置用于按照所述候选密钥索引所指示的位置在预置候选密钥集合中选取候选密钥作为第一密钥;解密密钥生成模块,配置用于将所述第一密钥和所述第二密钥做异或运算生成密钥;解密模块,配置用于从预定位置开始将所述数据与所生成的密钥做异或运算进行解密直到解密的长度达到所述解密长度以生成解密后的数据。
本申请提供的数据传输方法和装置,通过随机生成小于等于待传输数据的长度的加密长度,对待传输数据从预定位置开始加密,直到加密的长度达到加密长度,而不是对全报文加密,减少了加密运算。从而减少了传输端的CPU负荷,降低了传输端的CPU占用率。同时,本申请提供的数据接收方法和装置,通过读取报文头信息中的小于等于接收到的数据的长度的解密长度,对接收到的数据从预定位置开始解密,直到解密的长度达到解密长度,而不是对全报文解密,减少了解密运算。从而减少了接收端的CPU负荷,降低了接收端的CPU占用率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的数据传输方法的一个实施例的流程图;
图3是根据本申请的数据传输方法的一个应用场景的示意图;
图4是根据本申请的数据传输方法的又一个实施例的流程图;
图5是根据本申请的数据接收方法的一个实施例的流程图;
图6是根据本申请的数据传输装置的一个实施例的结构示意图;
图7是根据本申请的数据接收装置的一个实施例的结构示意图;
图8是适于用来实现本申请实施例的对等设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的数据传输方法或数据传输装置、数据接收方法或数据接收装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括对等设备101、102和网络103。网络103用以在对等设备101和102之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
对等设备101和102既能充当网络服务的请求者,又对其它对等设备的请求作出响应,提供资源和服务。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU)的共享、存储(如缓存和磁盘空间)的共享等。
对等设备101、102可以是包含有处理器的各种电子设备,包括但不限于膝上型便携计算机和台式计算机等等。
需要说明的是,本申请实施例所提供的数据传输和/或数据接收方法可以由对等设备101或102中任意一个执行,相应地,数据传输和/或数据接收装置可以设置于对等设备101或102中。
应该理解,图1中的对等设备和网络数目仅仅是示意性的。根据实现需要,可以具有任意数目的对等设备和网络。
继续参考图2,其示出了根据本申请的数据传输方法的一个实施例的流程200。所述的数据传输方法,包括以下步骤:
步骤201,获取待传输的数据。
在本实施例中,用户使用对等设备(作为数据请求方,例如图1中所示的对等设备101)上安装的应用程序向对该应用程序进行内容支持的对等设备(作为数据提供方,例如图1中所示的对等设备102)发出数据传输的请求,之后对该应用程序进行内容支持的对等设备(作为数据提供方,例如图1中所示的对等设备102)响应于上述请求,获取该应用程序所请求的数据。
在本实施例中,数据传输方法运行于其上的对等设备(作为数据提供方,例如图1所示的对等设备102)可以从本地或者远程地获取待传输的数据。其中,上述远程地获取待传输的数据可以通过有线连接方式或者无线连接方式获取待传输的数据。
步骤202,随机生成加密长度。
在本实施例中,作为数据提供方的上述对等设备(例如图1中所示的对等设备102)可以首先获取步骤201中所获取的待传输的数据的长度,然后随机生成小于等于数据的长度的整数作为加密长度,用于后续加密过程使用。
作为示例,随机生成加密长度的方法可以采用线性同余法。上述线性同余法生成随机数的方法是目前广泛研究和应用的公知技术,在此不再赘述。
在本实施例的一些可选的实现方式中,数据的长度可以是数据的二进制表示中的比特(bit)数目,相应的加密长度也是对应的比特数目。例如8个比特的数据的长度是8,相应的加密长度是随机生成的小于等于8的整数。
在本实施例的一些可选的实现方式中,数据的长度还可以是存储数据所占据的空间字节(Byte)数目,相应的加密长度也是对应的字节数目。例如10个字节的数据的长度是10,相应的加密长度是随机生成的小于等于10的整数。
步骤203,将数据从预定位置开始加密直到加密的长度达到加密长度以生成加密后的数据。
在本实施例中,预定位置可以是默认设置的,例如都是从待传输数据的第17位或者第二个字节开始加密。预定位置也可以是用户设置的,例如提供用户设置的界面,让用户设置加密的起始位置。
在本实施例中,每次加密数据的长度单位与步骤202中生成的加密长度对应的单位是一致的,例如都是以比特为单位或者都是以字节为单位。
在本实施例中,作为数据提供方的上述对等设备可以将数据从预定位置开始加密直到加密的长度达到步骤202中生成的加密长度,从而得到加密后的数据供后续传输使用。
步骤204,生成包括加密长度的报文头信息。
在本实施例中,作为数据提供方的上述对等设备可以生成包括加密长度的报文头信息供后续传输使用。
在本实施例的一些可选的实现方式中,报文头信息还可以包括上述步骤203中的预定位置信息。
步骤205,将报文头信息和加密后的数据组成完整报文进行传输。
在本实施例中,作为数据提供方的上述对等设备可以将步骤204中生成的报文头信息和步骤203中加密处理后的数据组合成完整报文按时序传输给发出数据请求的其他对等设备。
本申请的上述实施例提供的方法通过随机生成小于等于待传输数据长度的加密长度,对待传输数据从预定位置开始加密,直到加密的长度达到加密长度,而不是对全报文加密,减少了加密运算,从而减少了数据提供方的CPU负荷,降低了CPU占用率。
继续参见图3,图3是根据本实施例的数据传输方法的应用场景的一个示意图。在图3的应用场景中,首先用户启用对等设备上安装的视频类应用;然后用户发起了视频搜索和在线收看视频的请求(如图中图标301所示);之后该视频类应用向对该视频类应用进行内容支持的对等设备发出视频数据传输的请求;接着对该视频类应用进行内容支持的对等设备响应于上述请求,将与该请求对应的视频数据进行部分加密后传输给用户所使用的对等设备上的该视频类应用;最后用户所使用的对等设备上的该视频类应用在如图中图标302所示的视频窗口播放接收到的视频。
本申请的上述实施例提供的方法通过对对待传输的数据进行部分加密,降低了数据传输端的CPU占用率。
进一步参考图4,其示出了数据传输方法的又一个实施例的流程400。该数据传输方法的流程400,包括以下步骤:
步骤401,获取待传输的数据。
在本实施例中,数据传输方法运行于其上的对等设备(作为数据提供方,例如图1所示的对等设备102)可以从本地或者远程地获取待传输的数据。其中,上述远程地获取待传输的数据可以通过有线连接方式或者无线连接方式获取待传输的数据。
步骤402,随机生成加密长度。
在本实施例中,作为数据提供方的上述对等设备可以首先获取步骤401中所获取的待传输的数据的长度,然后随机生成小于等于数据的长度的整数作为加密长度,用于后续加密过程使用。
步骤403,随机选取用于预置候选密钥集合的候选密钥索引。
在本实施例中,预置候选密钥集合可以是预先存储在作为数据提供方的上述对等设备上的由候选密钥组成的集合,并且预置候选密钥集合内的候选密钥之间按照一定顺序排列。
在本实施例中,候选密钥索引是用于指示候选密钥在预置候选密钥集合中所在位置的数据。
在本实施例中,作为数据提供方的上述对等设备可以首先获取预置候选密钥集合,然后随机选取用于预置候选密钥集合的候选密钥索引。
作为示例,预置候选密钥集合可以是256*256的二维数组,其中每一个元素都是2个字节(即16个比特)的整数,取值范围为0-65535,而对应的候选密钥索引可以是用来指示数组中元素所在的行和列的下标数据(i,j),其中,i用来指示数组中元素所在的行数,j用来指示数组中元素所在的列数。i和j都是取值范围在0-255之间的1个字节(即8个比特)的整数。预置候选密钥集合对应的行数从0到255,对应的列数从0到255。例如第4行第5列的候选密钥索引是(4,5)。
作为示例,随机选取用于预置候选密钥集合的候选密钥索引的算法可以采用线性同余法。上述线性同余法是目前广泛研究和应用的公知技术,在此不再赘述。
步骤404,按照候选密钥索引所指示的位置在预置候选密钥集合中选取候选密钥作为第一密钥。
在本实施例中,作为数据提供方的上述对等设备可以按照步骤403中所生成的候选密钥索引所指示的位置在其上预先存储的预置候选密钥集合中选取候选密钥作为第一密钥。例如,针对步骤403中所示预置候选密钥集合的256*256的二维数组,按照候选密钥索引(4,5)选取对应的第一密钥为“128”。
步骤405,生成第二密钥。
在本实施例中,作为数据提供方的上述对等设备可以生成第二密钥用于后续生成密钥使用。
在本实施例的一些可选的实现方式中,作为数据提供方的上述对等设备可以随机生成第二密钥,作为示例,随机生成第二密钥的算法可以采用线性同余法。上述线性同余法是目前广泛研究和应用的公知技术,在此不再赘述。
在本实施例的一些可选的实现方式中,作为数据提供方的上述对等设备还可以在其上预先存储的预置候选密钥集合中随机选取候选密钥作为第二密钥。例如,针对步骤403中所示预置候选密钥集合的256*256的二维数组,随机选取候选密钥“64”作为第二密钥。
步骤406,将第一密钥和第二密钥做异或运算生成密钥。
在本实施例中,作为数据提供方的上述对等设备可以将步骤404中取得的第一密钥和步骤405中生成的第二密钥做异或运算生成密钥,生成的密钥用于后续加密步骤使用。
作为示例,将第一密钥“128”和第二密钥“64”做异或运算。其中,“128”的两字节二进制表示是:“0000 0000 1000 0000”,而“64”的两字节二进制表示是:“0000 0000 0100 0000”,二者按位进行异或运算得到“0000 0000 1100 0000”,“0000 0000 1100 0000”就是密钥。
步骤407,使用所生成的密钥将数据从预定位置开始加密直到加密的长度达到加密长度以生成加密后的数据。
在本实施例中,作为数据提供方的上述对等设备每次加密数据的长度单位与步骤402中生成的加密长度对应的单位是一致的,例如都是以比特为单位或者都是以字节为单位。
在本实施例的一些可选实现方式中,加密可以是从预定位置开始将数据与密钥做异或运算进行加密,直到加密的长度达到加密长度,加密完成后即得到加密后的数据。例如步骤406中的密钥“0000 00001100 0000”是两个字节(16位),则加密过程为从预定位置开始每次取两个字节数据与密钥“0000 0000 1100 0000”做异或运算进行加密,直到加密的长度达到加密长度。
步骤408,对候选密钥索引、第二密钥和加密长度计算校验和作为校验码。
在本实施中,由于二进制数据在存取、传输等环节可能会发生误码,例如从1变成0或从0变成1。因此作为数据提供方的上述对等设备可以对候选密钥索引、第二密钥和加密长度计算校验和作为校验码,用于后续传输,确保数据传输的正确。上述校验和的计算方法是目前广泛研究和应用的公知技术,在此不再赘述。
步骤409,生成包括候选密钥索引、第二密钥、加密长度和校验码的报文头信息。
在本实施例中,作为数据提供方的上述对等设备可以生成包括上述候选密钥索引、上述第二密钥、上述加密长度和上述校验码的报文头信息,用于后续传输使用。
在本实施例的一些可选的实现方式中,报文头信息还可以包括上述步骤407中的预定位置信息。
步骤410,将报文头信息和加密后的数据组成完整报文进行传输。
在本实施例中,作为数据提供方的上述对等设备可以将步骤408中生成的报文头信息和步骤407中加密处理后的数据组合成完整报文按时序传输给发出数据请求的其他对等设备。
从图4中可以看出,与图2对应的实施例相比,本实施例中的数据传输方法的流程400多出了生成密钥的步骤403到步骤406、生成校验码的步骤408,加密的步骤407突出了使用密钥进行加密,以及生成报文头信息的步骤409突出了将候选密钥索引、第二密钥和校验码添加到报文头信息中。因此,本实施例描述的方案能更有效的提高数据传输的安全性。
继续参考图5,其示出了根据本申请的数据接收方法的一个实施例的流程500。所述的数据接收方法,包括以下步骤:
步骤501,获取接收到的数据。
在本实施例中,用户使用数据接收方法运行于其上的对等设备(作为数据请求方,例如图1中所示的对等设备101)上安装的应用程序向对该应用程序进行内容支持的对等设备(作为数据提供方,例如图1中所示的对等设备102)发出数据传输的请求,之后对该应用程序进行内容支持的对等设备(作为数据提供方,例如图1中所示的对等设备102)响应于上述请求,将该应用程序所请求的数据传输给数据接收方法运行于其上的对等设备,作为数据接收方的上述对等设备获取接收到的上述数据。
步骤502,读取数据中的报文头信息,提取解密长度。
在本实施例中,作为数据接收方的上述对等设备可以读取上述步骤501中获取的接收到的数据中的报文头信息,并从中提取出解密长度。其中,解密长度是小于等于接收到的数据的长度的整数。
步骤503,将数据从预定位置开始解密直到解密的长度达到解密长度以生成解密后的数据。
在本实施例中,作为数据接收方的上述对等设备可以将上述步骤501中获取的数据从预定位置开始解密直到解密的长度达到解密长度以生成解密后的数据。
在本实施例的一些可选的实现方式中,上述对等设备可以通过如下步骤解密:首先,读取上述报文头信息,提取候选密钥索引和第二密钥;然后,按照上述候选密钥索引所指示的位置在预置候选密钥集合中选取候选密钥作为第一密钥;接着,将上述第一密钥和上述第二密钥做异或运算生成密钥;最后,从预定位置开始将步骤501中获取的数据与所生成的密钥做异或运算进行解密直到解密的长度达到上述解密长度以生成解密后的数据。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种数据传输装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例所述的数据传输装置600包括:第一获取单元601、加密长度生成单元602、加密单元603、报文头信息生成单元604和传输单元605。其中,第一获取单元601,配置用于获取待传输的数据;加密长度生成单元602,配置用于随机生成加密长度,其中,上述加密长度是小于等于上述数据的长度的整数;加密单元603,配置用于将上述数据从预定位置开始加密直到加密的长度达到上述加密长度以生成加密后的数据;报文头信息生成单元604,配置用于生成包括上述加密长度的报文头信息;传输单元605,配置用于将上述报文头信息和上述加密后的数据组成完整报文进行传输。
在本实施例中,数据传输装置600中:第一获取单元601、加密长度生成单元602、加密单元603、报文头信息生成604和传输单元605的具体处理可参看图2对应实施例中的步骤201、步骤202、步骤203、步骤204和步骤205的实现方式的相关描述,在此不再赘述。
在本实施例的一些可选的实现方式中,数据传输装置600的加密单元603可以包括:密钥生成模块(图中未示出),配置用于生成密钥;加密模块(图中未示出),配置用于使用所生成的密钥将上述数据从预定位置开始加密直到加密的长度达到上述加密长度以生成加密后的数据。密钥生成模块和加密模块的具体处理可参看图4对应实施例中的步骤403至406和步骤407的实现方式的相关描述,在此不再赘述。
本实施例的一些可选的实现方式中,上述加密单元603的密钥生成模块可以包括:候选密钥索引选取子模块(图中未示出),配置用于随机选取用于预置候选密钥集合的候选密钥索引,其中,上述候选密钥索引是用于指示候选密钥在上述预置候选密钥集合中所在位置的数据;第一密钥选取子模块(图中未示出),配置用于按照上述候选密钥索引所指示的位置在上述预置候选密钥集合中选取候选密钥作为第一密钥;第二密钥生成子模块(图中未示出),配置用于生成第二密钥;密钥生成子模块(图中未示出),配置用于将上述第一密钥和上述第二密钥做异或运算生成密钥。其中,候选密钥索引选取子模块、第一密钥选取子模块、第二密钥生成子模块和密钥生成子模块的具体处理可参考图4实施例中步骤403、步骤404、步骤405和步骤406的实现方式的相关描述,在此不再赘述。
在本实施例的一些可选的实现方式中,上述加密单元603的加密模块可以进一步配置用于:从预定位置开始将上述数据与所生成的密钥做异或运算进行加密直到加密的长度达到上述加密长度以生成加密后的数据。加密模块的具体处理可参考图4实施例中步骤407的实现方式的相关描述,在此不再赘述。
在本实施例的一些可选的实现方式中,上述报文头信息生成单元604可以包括:校验码生成模块(图中未示出),配置用于对上述候选密钥索引、上述第二密钥和上述加密长度计算校验和作为校验码;报文头信息生成模块(图中未示出),配置用于生成包括上述候选密钥索引、上述第二密钥、上述加密长度和上述校验码的报文头信息。其中,校验码生成模块和报文头信息生成模块的具体处理可参考图4实施例中的步骤408和步骤409的实现方式的相关描述,在此不再赘述。
下面参考图7,作为对上述各图所示方法的实现,本申请提供了一种数据接收装置的一个实施例,该装置实施例与图5所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例所述的数据接收装置700包括:第二获取单元701、解密长度提取单元702和解密单元703。其中,第二获取单元701,配置用于获取接收到的数据;解密长度提取单元702,配置用于读取上述数据中的报文头信息,提取解密长度,其中上述解密长度是小于等于上述数据的长度的整数;解密单元703,配置用于将上述数据从预定位置开始解密直到解密的长度达到上述解密长度以生成解密后的数据。
在本实施例中,数据接收装置700中:第二获取单元701、解密长度提取单元702和解密单元703的具体处理可参看图5对应实施例中的步骤501、步骤502和步骤503的实现方式的相关描述,在此不再赘述。
在本实施例的一些可选的实现方式中,数据接收装置700的解密单元703可以包括:提取模块7031,配置用于读取上述报文头信息,提取候选密钥索引和第二密钥;选取模块7032,配置用于按照上述候选密钥索引所指示的位置在预置候选密钥集合中选取候选密钥作为第一密钥;解密密钥生成模块7033,配置用于将上述第一密钥和上述第二密钥做异或运算生成密钥;解密模块7034,配置用于从预定位置开始将上述数据与所生成的密钥做异或运算进行解密直到解密的长度达到上述解密长度以生成解密后的数据。提取模块7031、选取模块7032、解密密钥生成模块7033和解密模块7034的具体处理可参看图5对应实施例中的步骤503的实现方式的相关描述,在此不再赘述。
下面参考图8,其示出了适于用来实现本申请实施例的对等设备的计算机系统800的结构示意图。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一获取单元、加密长度生成单元、加密单元、报文头信息生成单元和传输单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取待传输数据的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当上述一个或者多个程序被一个设备执行时,使得上述设备:获取待传输的数据;随机生成加密长度,其中,上述加密长度是小于等于上述数据的长度的整数;将上述数据从预定位置开始加密直到加密的长度达到上述加密长度以生成加密后的数据;生成包括上述加密长度的报文头信息;将上述报文头信息和上述加密后的数据组成完整报文进行传输。上述非易失性计算机存储介质还可以存储有一个或者多个程序,当上述一个或者多个程序被一个设备执行时,使得上述设备:获取接收到的数据;读取上述数据中的报文头信息,提取解密长度,其中上述解密长度是小于等于上述数据的长度的整数;将上述数据从预定位置开始解密直到解密的长度达到上述解密长度以生成解密后的数据。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (14)

1.一种数据传输方法,其特征在于,所述方法包括:
获取待传输的数据;
随机生成加密长度,其中,所述加密长度是小于等于所述数据的长度的整数;
将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据;
生成包括所述加密长度的报文头信息;
将所述报文头信息和所述加密后的数据组成完整报文进行传输。
2.根据权利要求1所述的数据传输方法,其特征在于,所述将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据,包括:
生成密钥;
使用所生成的密钥将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据。
3.根据权利要求2所述的数据传输方法,其特征在于,所述生成密钥,包括:
随机选取用于预置候选密钥集合的候选密钥索引,其中,所述候选密钥索引是用于指示候选密钥在所述预置候选密钥集合中所在位置的数据;
按照所述候选密钥索引所指示的位置在所述预置候选密钥集合中选取候选密钥作为第一密钥;
生成第二密钥;
将所述第一密钥和所述第二密钥做异或运算生成密钥。
4.根据权利要求2或3所述的数据传输方法,其特征在于,所述使用所生成的密钥将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据,包括:
从预定位置开始将所述数据与所生成的密钥做异或运算进行加密直到加密的长度达到所述加密长度以生成加密后的数据。
5.根据权利要求3所述的数据传输方法,其特征在于,所述生成包括所述加密长度的报文头信息,包括:
对所述候选密钥索引、所述第二密钥和所述加密长度计算校验和作为校验码;
生成包括所述候选密钥索引、所述第二密钥、所述加密长度和所述校验码的报文头信息。
6.一种数据接收方法,其特征在于,所述方法包括:
获取接收到的数据;
读取所述数据中的报文头信息,提取解密长度,其中所述解密长度是小于等于所述数据的长度的整数;
将所述数据从预定位置开始解密直到解密的长度达到所述解密长度以生成解密后的数据。
7.根据权利要求6所述的数据接收方法,其特征在于,所述将所述数据从预定位置开始解密直到解密的长度达到所述解密长度以生成解密后的数据,包括:
读取所述报文头信息,提取候选密钥索引和第二密钥;
按照所述候选密钥索引所指示的位置在预置候选密钥集合中选取候选密钥作为第一密钥;
将所述第一密钥和所述第二密钥做异或运算生成密钥。
从预定位置开始将所述数据与所生成的密钥做异或运算进行解密直到解密的长度达到所述解密长度以生成解密后的数据。
8.一种数据传输装置,其特征在于,所述装置包括:
第一获取单元,配置用于获取待传输的数据;
加密长度生成单元,配置用于随机生成加密长度,其中,所述加密长度是小于等于所述数据的长度的整数;
加密单元,配置用于将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据;
报文头信息生成单元,配置用于生成包括所述加密长度的报文头信息;
传输单元,配置用于将所述报文头信息和所述加密后的数据组成完整报文进行传输。
9.根据权利要求8所述的数据传输装置,其特征在于,所述加密单元包括:
密钥生成模块,配置用于生成密钥;
加密模块,配置用于使用所生成的密钥将所述数据从预定位置开始加密直到加密的长度达到所述加密长度以生成加密后的数据。
10.根据权利要求9所述的数据传输装置,其特征在于,所述密钥生成模块,包括:
候选密钥索引选取子模块,配置用于随机选取用于预置候选密钥集合的候选密钥索引,其中,所述候选密钥索引是用于指示候选密钥在所述预置候选密钥集合中所在位置的数据;
第一密钥选取子模块,配置用于按照所述候选密钥索引所指示的位置在所述预置候选密钥集合中选取候选密钥作为第一密钥;
第二密钥生成子模块,配置用于生成第二密钥;
密钥生成子模块,配置用于将所述第一密钥和所述第二密钥做异或运算生成密钥。
11.根据权利要求9或10所述的数据传输装置,其特征在于,所述加密模块进一步配置用于:
从预定位置开始将所述数据与所生成的密钥做异或运算进行加密直到加密的长度达到所述加密长度以生成加密后的数据。
12.根据权利要求10所述的数据传输装置,其特征在于,所述报文头信息生成单元包括:
校验码生成模块,配置用于对所述候选密钥索引、所述第二密钥和所述加密长度计算校验和作为校验码;
报文头信息生成模块,配置用于生成包括所述候选密钥索引、所述第二密钥、所述加密长度和所述校验码的报文头信息。
13.一种数据接收装置,其特征在于,所述装置包括:
第二获取单元,配置用于获取接收到的数据;
解密长度提取单元,配置用于读取所述数据中的报文头信息,提取解密长度,其中所述解密长度是小于等于所述数据的长度的整数;
解密单元,配置用于将所述数据从预定位置开始解密直到解密的长度达到所述解密长度以生成解密后的数据。
14.根据权利要求13所述的数据接收装置,其特征在于,所述解密单元包括:
提取模块,配置用于读取所述报文头信息,提取候选密钥索引和第二密钥;
选取模块,配置用于按照所述候选密钥索引所指示的位置在预置候选密钥集合中选取候选密钥作为第一密钥;
解密密钥生成模块,配置用于将所述第一密钥和所述第二密钥做异或运算生成密钥;
解密模块,配置用于从预定位置开始将所述数据与所生成的密钥做异或运算进行解密直到解密的长度达到所述解密长度以生成解密后的数据。
CN201610186553.XA 2016-03-29 2016-03-29 数据传输与接收方法及传输与接收装置 Pending CN107241185A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610186553.XA CN107241185A (zh) 2016-03-29 2016-03-29 数据传输与接收方法及传输与接收装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610186553.XA CN107241185A (zh) 2016-03-29 2016-03-29 数据传输与接收方法及传输与接收装置

Publications (1)

Publication Number Publication Date
CN107241185A true CN107241185A (zh) 2017-10-10

Family

ID=59983942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610186553.XA Pending CN107241185A (zh) 2016-03-29 2016-03-29 数据传输与接收方法及传输与接收装置

Country Status (1)

Country Link
CN (1) CN107241185A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110034926A (zh) * 2019-03-08 2019-07-19 平安科技(深圳)有限公司 物联网动态密码的生成及验证方法、系统和计算机设备
CN111245790A (zh) * 2019-12-31 2020-06-05 潍柴动力股份有限公司 一种报文数据的按位配置方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030167397A1 (en) * 2002-03-01 2003-09-04 Intel Corporation Transparently embedding non-compliant data in a data stream
CN102063598A (zh) * 2009-11-17 2011-05-18 北大方正集团有限公司 一种数据加密、解密方法及装置
CN102469345A (zh) * 2010-11-19 2012-05-23 康佳集团股份有限公司 多媒体媒体数据加解密方法
US20150143109A1 (en) * 2013-11-21 2015-05-21 Mstar Semiconductor, Inc. Data Decryption Circuit and Associated Method
CN104717053A (zh) * 2013-12-11 2015-06-17 晨星半导体股份有限公司 数据解密电路与方法
CN105245505A (zh) * 2015-09-14 2016-01-13 深圳市优友互联有限公司 数据发送方法及装置、数据接收方法及装置、收发系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030167397A1 (en) * 2002-03-01 2003-09-04 Intel Corporation Transparently embedding non-compliant data in a data stream
CN102063598A (zh) * 2009-11-17 2011-05-18 北大方正集团有限公司 一种数据加密、解密方法及装置
CN102469345A (zh) * 2010-11-19 2012-05-23 康佳集团股份有限公司 多媒体媒体数据加解密方法
US20150143109A1 (en) * 2013-11-21 2015-05-21 Mstar Semiconductor, Inc. Data Decryption Circuit and Associated Method
CN104717053A (zh) * 2013-12-11 2015-06-17 晨星半导体股份有限公司 数据解密电路与方法
CN105245505A (zh) * 2015-09-14 2016-01-13 深圳市优友互联有限公司 数据发送方法及装置、数据接收方法及装置、收发系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110034926A (zh) * 2019-03-08 2019-07-19 平安科技(深圳)有限公司 物联网动态密码的生成及验证方法、系统和计算机设备
CN110034926B (zh) * 2019-03-08 2021-11-05 平安科技(深圳)有限公司 物联网动态密码的生成及验证方法、系统和计算机设备
CN111245790A (zh) * 2019-12-31 2020-06-05 潍柴动力股份有限公司 一种报文数据的按位配置方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
EP3229397B1 (en) Method for fulfilling a cryptographic request requiring a value of a private key
US10951595B2 (en) Method, system and apparatus for storing website private key plaintext
CN106899607A (zh) 一种信息加密发送及解密接收的方法及装置
CN106101150B (zh) 加密算法的实现方法和系统
CN104602238A (zh) 一种无线网络连接方法、装置和系统
CN110535641A (zh) 密钥管理方法和装置、计算机设备和存储介质
CN106651734A (zh) 二值二维码图像加密、解密的方法和装置
KR101348249B1 (ko) Qr코드를 이용한 otp 인증방법 및 장치
CN104050431A (zh) 一种rfid芯片的自签名方法及其装置
CN108199847A (zh) 数字安全处理方法、计算机设备及存储介质
CN107342966A (zh) 权限凭证发放方法和装置
CN112653719A (zh) 汽车信息安全存储方法、装置、电子设备和存储介质
CN104038336A (zh) 一种基于3des的数据加密方法
CN107707562A (zh) 一种非对称动态令牌加、解密算法的方法、装置
JP2013128175A (ja) 文字列がオートマトンに受理されるか否かを認証するシステム
JP5969716B1 (ja) データ管理システム、データ管理プログラム、通信端末及びデータ管理サーバ
CN100459495C (zh) 一种公开加密方式的口令动态加密输入方法
JP2007058487A (ja) ログイン情報管理装置及び方法
CN107920060A (zh) 基于账号的数据访问方法和装置
CN107241185A (zh) 数据传输与接收方法及传输与接收装置
CN116455572B (zh) 数据加密方法、装置及设备
CN106161000A (zh) 对数据文件进行加密和解密的方法和系统
CN113326499A (zh) 电子设备的正版验证方法、服务端、设备端和用户端
CN113922976A (zh) 设备日志传输方法、装置、电子设备及存储介质
EP3515010A1 (en) Transmission and reception system, transmission device, reception device, method, and computer program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171010