CN108023724A - 数据传输方法及装置 - Google Patents

数据传输方法及装置 Download PDF

Info

Publication number
CN108023724A
CN108023724A CN201610974638.4A CN201610974638A CN108023724A CN 108023724 A CN108023724 A CN 108023724A CN 201610974638 A CN201610974638 A CN 201610974638A CN 108023724 A CN108023724 A CN 108023724A
Authority
CN
China
Prior art keywords
data
exclusive
transmitted
result
random number
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.)
Granted
Application number
CN201610974638.4A
Other languages
English (en)
Other versions
CN108023724B (zh
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.)
Beijing Spreadtrum Hi Tech Communications Technology Co Ltd
Original Assignee
Beijing Spreadtrum Hi Tech Communications 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 Spreadtrum Hi Tech Communications Technology Co Ltd filed Critical Beijing Spreadtrum Hi Tech Communications Technology Co Ltd
Priority to CN201610974638.4A priority Critical patent/CN108023724B/zh
Priority to CN202010644032.0A priority patent/CN111756523B/zh
Publication of CN108023724A publication Critical patent/CN108023724A/zh
Application granted granted Critical
Publication of CN108023724B publication Critical patent/CN108023724B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

一种数据传输方法及装置。所述方法包括:当接收到待传输数据时,通过异或、移位和置换操作对所述待传输数据执行进行扰乱,得到扰乱后的数据;计算所述扰乱后的数据的消息认证码;根据所述消息认证码,计算得到加密密钥,并对所述扰乱后的数据进行加密,得到加密后的数据;按照预设的格式得到所述加密后的数据的头部信息;传输所述加密后的数据的头部信息及所述加密后的数据。应用上述方案,可以提高数据传输的安全性。

Description

数据传输方法及装置
技术领域
本发明涉及通信技术领域,具体涉及一种数据传输方法及装置。
背景技术
互联网技术的发展,为人们的生活带来了翻天覆地的变化,从时空上缩短了人与人之间的距离。但是,在网络中传输数据是不安全的,随时可能被截获、篡改,尤其是敏感数据或金融数据。
目前,为了提高数据传输的安全性,通常在通过网络传输数据之前,对数据进行加密。
尽管如此,数据被截获、篡改可能性仍较大,数据的安全性难以满足用户要求。
发明内容
本发明要解决的问题是如何提高数据传输的安全性。
为解决上述问题,本发明实施例提供了一种数据传输方法,所述方法包括:当接收到待传输数据时,通过异或、移位和置换操作对所述待传输数据执行进行扰乱,得到扰乱后的数据;计算所述扰乱后的数据的消息认证码;根据所述消息认证码,计算得到加密密钥,并对所述扰乱后的数据进行加密,得到加密后的数据;按照预设的格式得到所述加密后的数据的头部信息,所述加密后的数据的头部信息包括:对所述待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息,所述消息认证码及随机数信息;传输所述加密后的数据的头部信息及所述加密后的数据。
可选地,所述通过异或、移位和置换操作对所述待传输数据执行进行扰乱,包括:获取第一随机数;利用所述第一随机数,对所述待传输数据的各个数据块分别执行异或操作,得到与所述各个数据块一一对应的异或结果数据;利用所述第一随机数第一个字节的数据,对各所述异或结果数据执行移位和置换操作,并将置换操作后的结果作为相应数据块加扰后的数据。
可选地,所述利用所述第一随机数,对所述待传输数据的各个数据块分别执行异或操作,包括:利用预设的密钥分散算法,对所述第一随机数进行字节分散,并获取字节分散结果的前16个字节作为第一数据;当所述待传输数据的数据长度小于或等于16字节时,将所述待传输数据整体作为一数据块与所述第一数据执行异或操作;当所述待传输数据的数据长度大于16字节时,基于所述第一数据与所述待传输数据中第一个数据块的异或结果数据,计算所述待传输数据各个数据块对应的异或结果数据。
可选地,所述基于所述第一数据与所述待传输数据第一个数据块的异或结果数据,计算所述待传输数据各个数据块对应的异或结果数据,包括:利用预设的第一哈希算法,对所述第一随机数与所述第一数据进行哈希运算,得到第二数据;将所述第一数据与所述待传输数据第一个数据块的异或结果数据作为初始异或结果数据,对前一数据块对应的异或结果数据与所述第二数据执行异或操作,得到当前数据块对应的异或结果数据。
可选地,所述利用所述第一随机数第一个字节的数据,对各所述异或结果数据执行移位和置换操作,包括:当所述第一随机数第一个字节的数据为偶数时,将第三数据作为标识,在预设的置换数组中确定第2i个数据块加扰后的数据;以及将第四数据作为标识,在所述置换数组中确定第2i+1个数据块加扰后的数据;其中,所述第三数据,为所述第一随机数第一个字节的数据与第2i+1个数据块的异或结果数据之和再对所述置换数组的长度取模的结果;所述第四数据,为所述第一随机数第一个字节的数据与第2i个数据块的异或结果数据之和再对所述置换数组的长度取模的结果,i为自然数;当所述第一随机数第一个字节的数据为奇数时,将所述第四数据作为标识,在所述置换数组中确定第2i-1个数据块加扰后的数据;以及将第五数据作为标识,在所述置换数组中确定第2i个数据块加扰后的数据;其中,所述第五数据,为所述第一随机数第一个字节的数据与第2i-1个数据块的异或结果数据之和再对所述置换数组的长度取模的结果。
可选地,所述计算所述扰乱后的数据的消息认证码,包括:对所述扰乱后的数据进行填充;利用预设的第二哈希算法,对填充后的数据进行哈希运算,根据哈希运算结果确定第六数据;利用预设的第三哈希算法,对所述第六数据及所述待传输数据的第1个数据块进行哈希运算,得到所述扰乱后的数据的消息认证码。
可选地,所述根据所述消息认证码,计算得到加密密钥,包括:利用预设的第四哈希算法,对所述第一随机数部分字节的数据及所述扰乱后的数据的消息认证码进行哈希运算,得到第七数据;根据预设的加密算法,对所述第七数据及预设的根密钥进行相应的运算,得到所述加密密钥。
本发明实施例还提供了一种数据传输方法,所述方法包括:当接收到加密后的数据的头部信息及所述加密后的数据时,根据所述加密后的数据的头部信息确定解密密钥,对所述加密后的数据进行解密,得到解密后的数据,其中,所述加密后的数据的头部信息包括:对待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息及随机数信息,所述加密后的数据对应的消息认证码;根据所述解密后的数据得到所述解密后的数据对应的消息认证码;当所述解密后的数据对应的消息认证码,与所述加密后的数据对应的消息认证码相同时,对所述解密后的数据进行解扰,得到所述待传输数据。
本发明实施例提供了一种数据传输装置,所述装置包括:扰乱单元,适于当接收到待传输数据时,通过异或、移位和置换操作对所述待传输数据执行进行扰乱,得到扰乱后的数据;第一计算单元,适于计算所述扰乱后的数据的消息认证码;加密单元,适于根据所述消息认证码,计算得到加密密钥,并对所述扰乱后的数据进行加密,得到加密后的数据;头部信息生成单元,适于按照预设的格式得到所述加密后的数据的头部信息,所述加密后的数据的头部信息包括:对所述待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息,所述消息认证码及随机数信息;传输单元,适于传输所述加密后的数据的头部信息及所述加密后的数据。
可选地,所述扰乱单元包括:获取子单元,适于获取第一随机数;第一运算子单元,适于利用所述第一随机数,对所述待传输数据的各个数据块分别执行异或操作,得到与所述各个数据块一一对应的异或结果数据;第二运算子单元,适于利用所述第一随机数第一个字节的数据,对各所述异或结果数据执行移位和置换操作,并将置换操作后的结果作为相应数据块加扰后的数据。
可选地,所述第一运算子单元包括:字节分散模块,适于利用预设的密钥分散算法,对所述第一随机数进行字节分散,并获取字节分散结果的前16个字节作为第一数据;第一异或模块,适于当所述待传输数据的数据长度小于或等于16字节时,将所述待传输数据整体作为一数据块与所述第一数据执行异或操作;第二异或模块,适于当所述待传输数据的数据长度大于16字节时,基于所述第一数据与所述待传输数据中第一个数据块的异或结果数据,计算所述待传输数据各个数据块对应的异或结果数据。
可选地,所述第二异或模块适于利用预设的第一哈希算法,对所述第一随机数与所述第一数据进行哈希运算,得到第二数据;将所述第一数据与所述待传输数据第一个数据块的异或结果数据作为初始异或结果数据,对前一数据块对应的异或结果数据与所述第二数据执行异或操作,得到当前数据块对应的异或结果数据。
可选地,所述第二运算子单元包括:第一运算模块,适于当所述第一随机数第一个字节的数据为偶数时,将第三数据作为标识,在预设的置换数组中确定第2i个数据块加扰后的数据;以及将第四数据作为标识,在所述置换数组中确定第2i+1个数据块加扰后的数据;其中,所述第三数据,为所述第一随机数第一个字节的数据与第2i+1个数据块的异或结果数据之和再对所述置换数组的长度取模的结果;所述第四数据,为所述第一随机数第一个字节的数据与第2i个数据块的异或结果数据之和再对所述置换数组的长度取模的结果,i为自然数;第二运算模块,适于当所述第一随机数第一个字节的数据为奇数时,将所述第四数据作为标识,在所述置换数组中确定第2i-1个数据块加扰后的数据;以及将第五数据作为标识,在所述置换数组中确定第2i个数据块加扰后的数据;其中,所述第五数据,为所述第一随机数第一个字节的数据与第2i-1个数据块的异或结果数据之和再对所述置换数组的长度取模的结果。
可选地,所述第一计算单元包括:填充子单元,适于对所述扰乱后的数据进行填充;第一计算子单元,适于利用预设的第二哈希算法,对填充后的数据进行哈希运算,根据哈希运算结果确定第六数据;第二计算子单元,适于利用预设的第三哈希算法,对所述第六数据及所述待传输数据的第1个数据块进行哈希运算,得到所述扰乱后的数据的消息认证码。
可选地,所述加密单元,适于利用预设的第四哈希算法,对所述第一随机数部分字节的数据及所述扰乱后的数据的消息认证码进行哈希运算,得到第七数据;以及根据预设的加密算法,对所述第七数据及预设的根密钥进行相应的运算,得到所述加密密钥。
本发明实施例还提供了另一种数据传输装置,所述装置包括:解密单元,适于当接收到加密后的数据的头部信息及所述加密后的数据时,根据所述加密后的数据的头部信息确定解密密钥,对所述加密后的数据进行解密,得到解密后的数据,其中,所述加密后的数据的头部信息包括:对待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息及随机数信息,所述加密后的数据对应的消息认证码;第二计算单元,适于根据所述解密后的数据得到所述解密后的数据对应的消息认证码;解扰单元,适于当所述解密后的数据对应的消息认证码,与所述加密后的数据对应的消息认证码相同时,对所述解密后的数据进行解扰,得到所述待传输数据。
与现有技术相比,本发明实施例的技术方案具有以下优点:
采用上述方案,在接收到待传输数据时,通过异或、移位和置换操作对所述待传输数据执行进行扰乱,并对扰乱后的数据进行加密之后再进行传输,而非仅对待传输数据进行加密后即传输,因此可以提高数据传输的安全性。
附图说明
图1是本发明实施例中一种数据的传输方法流程图;
图2是本发明实施例中一种数据的扰乱方法流程图;
图3是本发明实施例中一种计算消息认证码方法流程图;
图4是本发明实施例中另一种数据的传输方法流程图;
图5是本发明实施例中又一种数据的传输方法流程图;
图6是本发明实施例中再一种数据的传输方法流程图;
图7是本发明实施例中一种数据传输装置的结构示意图;
图8是本发明实施例中另一种数据传输装置的结构示意图。
具体实施方式
目前,在通过网络传输数据之前,虽然对待传输数据进行了加密,但数据安全性仍较差,容易被截获甚至篡改。
针对上述问题,本发明实施例提供了一种数据传输方法,应用所述方法在接收到待传输数据时,通过异或、移位和置换操作对所述待传输数据执行进行扰乱,并对扰乱后的数据进行加密之后再进行传输,而非仅对待传输数据进行加密后即传输,因此可以提高数据传输的安全性。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例作详细地说明。
参照图1,本发明实施例提供了一种数据传输方法,所述方法可以包括如下步骤:
步骤11,当接收到待传输数据时,通过异或、移位和置换操作对所述待传输数据执行进行扰乱,得到扰乱后的数据。
在具体实施中,发送端对待传输数据进行加扰再发送至接收端,接收端需要对接收到的数据进行解扰后才能获得所述待传输数据,由此可以进一步提高数据安全性。
在本发明的实施例中,对待传输数据进行加扰,主要通过异或、移位和置换操作共同完成,当然,加扰过程中还可能包括其它操作,具体不受限制。并且所述异或、移位和置换操作的执行顺序可以存在多种,比如,可以依次执行异或、移位和置换操作,也可以先执行移位和置换操作,在执行异或操作等。
在本发明的一实施例中,可以采用图2所示的方法对待传输数据执行进行扰乱。具体地,所述扰乱方法可以包括如下步骤:
步骤21,获取第一随机数。
在具体实施中,为了增强扰乱性,可以通过随机数发生器先生成一个长度为4字节的随机数rnd[1,4],再将随机数rnd[1,4]中的第一个字节rnd[1]作为标识,从预设的置换数组中选取相应的数据rnd[0]。其中,所述置换数组可以为S盒SboxTable,此时数据rnd[0]=SboxTable[rnd[1]]。最后可以将数据rnd[0]与随机数rnd[1,4]合并,得到长度为5字节的第一随机数rnd[0,4],数据rnd[0]为第一随机数rnd[0,4]第一个字节的数据。
步骤22,利用所述第一随机数,对所述待传输数据的各个数据块分别执行异或操作,得到与所述各个数据块一一对应的异或结果数据。
在本发明的一实施例中,可以利用预设的密钥分散算法,对所述第一随机数rnd[0,4]进行字节分散,并获取字节分散结果的前16个字节作为第一数据v1。其中,所述密钥分散算法可以根据实际需要进行选择,比如,可以为国密安全哈希算法(SM3),也可以为安全哈希算法(Secure Hash Algorithm,SHA1),还可以为消息摘要算法(Message DigestAlgorithm,MD5)。
获得第一数据v1后,可以根据待传输数据的长度,对待传输数据执行异或操作。比如,当所述待传输数据的数据长度小于或等于16字节时,将所述待传输数据整体作为一数据块与所述第一数据v1执行异或操作,得到异或结果数据e0。其中,异或结果数据e0的长度即为待传输数据的长度。
当所述待传输数据的数据长度大于16字节时,基于所述第一数据v1与所述待传输数据中第一个数据块的异或结果数据,计算所述待传输数据各个数据块对应的异或结果数据。
具体地,可以先利用预设的第一哈希算法,对所述第一随机数rnd[0,4]与所述第一数据v1进行哈希运算,得到第二数据v2。
接着,以16字节为数据块长度将所述待传输数据划分为N个数据块(d0,d1,……,dn,……,dN),对第一数据v1与所述待传输数据中第一个数据块d0进行异或操作,得到异或结果数据e0,即e0=v1^d0。
然后,将异或结果数据e0作为初始异或结果数据,对前一数据块对应的异或结果数据与所述第二数据执行异或操作,得到当前数据块对应的异或结果数据,即基于异或结果数据e0采用如下公式计算待传输数据各个数据块dn对应的异或结果数据en,直至获得最后一数据块dN的异或结果数据eN:
en=dn^e(n-1)0^v2 (1)
其中,所述第一哈希算法可以SM3算法,也可以为SHA1算法,当然还可以为其它算法,具体不受限制。
步骤23,利用所述第一随机数第一个字节的数据,对各所述异或结果数据执行移位和置换操作,并将置换操作后的结果作为相应数据块加扰后的数据。
在具体实施中,利用所述第一随机数rnd[0,4]第一个字节的数据rnd[0],可以采用多种方式对各所述异或结果数据e0~eN执行移位和置换操作,具体不作限制。通过rnd[0]对各所述异或结果数据e0~eN执行移位和置换操作,可以增加数据的扰乱性。
在本发明的一实施例中,当所述第一随机数rnd[0,4]第一个字节的数据rnd[0]为偶数时,将第三数据v3作为标识,在预设的置换数组中确定第2i个数据块加扰后的数据f[2*i],即:
以所述置换数据为S盒SboxTable为例,其中,所述第三数据v3,为所述第一随机数rnd[0,4]第一个字节的数据rnd[0]与第2i+k个数据块的异或结果数据e[2*i+k]之和再对所述置换数组SboxTable的长度Sbox_len取模的结果,即v3=(e[2*i+k]+rnd[0])%Sbox_len。所述第四数据v4,为所述第一随机数rnd[0,4]第一个字节的数据rnd[0]与第2i+m个数据块的异或结果数据e[2*i+m]之和再对所述置换数组SboxTable的长度Sbox_len取模的结果,即v4=(e[2*i+m]+rnd[0])%Sbox_len。i∈(0,1,…,待传输数据的长度/2),m及k为整数。
由此可以得到:
f[2*i]=SboxTable[(e[2*i+k]+rnd[0])%Sbox_len];
f[2*i+1]=SboxTable[(e[2*i+m]+rnd[0])%Sbox_len]。
比如,当m=0,k=1时,v3=(e[2*i+1]+rnd[0])%Sbox_len,f[2*i]=SboxTable[(e[2*i+1]+rnd[0])%Sbox_len],也就是通过基于第2*i+1个数据块的异或结果数据e[2*i+1]确定对第2i个数据块的扰乱后的数据。当m=0,k=1时,v4=(e[2*i]+rnd[0])%Sbox_len,f[2*i+1]=SboxTable[(e[2*i]+rnd[0])%Sbox_len],也就是通过基于第2*i个数据块的异或结果数据e[2*i]确定对第2i+1个数据块的扰乱后的数据。
当所述第一随机数rnd[0,4]第一个字节的数据rnd[0]为奇数时,将所述第四数据v4作为标识,在所述置换数组SboxTable中确定第2i-1个数据块加扰后的数据f[2*i-1];以及将第五数据v5作为标识,在所述置换数组SboxTable中确定第2i个数据块加扰后的数据;其中,所述第五数据v5,为所述第一随机数rnd[0,4]第一个字节的数据rnd[0]与第2i-p个数据块的异或结果数据e[2*i-p]之和再对所述置换数组SboxTable的长度Sbox_len取模的结果,即v5=(e[2*i-p]+rnd[0])%Sbox_len,其中,p及q为整数。
由此可以得到:
f[2*i-1]=SboxTable[(e[2*i+m]+rnd[0])%Sbox_len];
f[2*i]=SboxTable[(e[2*i-p]+rnd[0])%Sbox_len]。
比如,当m=0,p=1时,v4=(e[2*i]+rnd[0])%Sbox_len,f[2*i-1]=SboxTable[(e[2*i]+rnd[0])%Sbox_len],也就是通过基于第2*i个数据块的异或结果数据e[2*i+1]确定对第2i-1个数据块的扰乱后的数据。当m=0,p=1时,v5=(e[2*i-1]+rnd[0])%Sbox_len,f[2*i]=SboxTable[(e[2*i-1]+rnd[0])%Sbox_len],也就是通过基于第2*i-1个数据块的异或结果数据e[2*i-1]确定对第2i个数据块的扰乱后的数据。
步骤12,计算所述扰乱后的数据的消息认证码。
在本发明的一实施例中,可以采用图3所示的方法计算扰乱后的数据的消息认证码。所述计算方法具体可以包括如下步骤:
步骤31,对所述扰乱后的数据进行填充。
在具体实施中,所述扰乱后的数据可以包括:f0,f1,……,f(N-1),fN。在本发明的一实施例中,当所述扰乱后的数据的最后一个数据块fN的长度为16字节的整数倍时,可以将“*”和15个“-”作为所述扰乱后的数据的最后一数据块f(N+1)。当所述扰乱后的数据的最后一个数据块fN的长度为非16字节的整数倍时,可以对fN补充1个“*”及多个“-”,直到fN的长度为16字节的整数倍。
步骤32,利用预设的第二哈希算法,对填充后的数据进行哈希运算,根据哈希运算结果确定第六数据。
在具体实施中,所述第二哈希算法可以根据实际情况进行选择,具体不作限制,比如,所述第二哈希算法可以为SHA1算法,也可以为MD5算法等。对填充后的数据进行哈希运算,并将哈希运算结果的前4字节作为第六数据v6。
步骤33,利用预设的第三哈希算法,对所述第六数据及所述待传输数据的第1个数据块进行哈希运算,得到所述扰乱后的数据的消息认证码。
在具体实施中,所述第三哈希算法可以根据实际情况进行选择,具体不作限制,比如,所述第三哈希算法可以为SHA1算法,也可以为MD5算法等。并且,所述第一哈希算法、第二哈希算法及第三哈希算法可以相同,也可以不同。
对第六数据v6及所述待传输数据的第1个数据块d0进行哈希运算,并将哈希运算结果的前4字节作为所述扰乱后的数据的消息认证码MAC。
由于扰乱后的数据的消息认证码MAC通过两部分计算组成,首先需要计算第六数据v6,再利用第六数据v6和待传输数据的第1个数据块组成消息认证码MAC,由此不仅能够通过消息认证码MAC验证数据的完整性,还能够防止破解者的攻击。
步骤13,根据所述消息认证码,计算得到加密密钥,并对所述扰乱后的数据进行加密,得到加密后的数据。
在本发明的一实施例中,可以先利用预设的第四哈希算法,对所述第一随机数rnd[0,4]部分字节的数据及所述扰乱后的数据的消息认证码MAC进行哈希运算,得到第七数据v7;再根据预设的加密算法,对所述第七数据v7及预设的根密钥rootkey进行相应的运算,得到所述加密密钥key。
其中,所述第一随机数rnd[0,4]部分字节的数据可以为任意部分字节,比如,所述第一随机数rnd[0,4]部分字节的数据可以为rnd[1,4],即所述第一随机数rnd[0,4]的后4字节数据。对rnd[1,4]及消息认证码MAC进行运算,得到加密密钥key。比如,加密密钥key=v7⊕rootkey。对所述扰乱后的数据(f0,f1,……,f(N-1),fN)进行加密,得到加密后的数据(h0,h1,……,h(N+1))。
在具体实施中,根密钥rootkey是私密的,即使加密算法被破解,也很难得到待传输的数据。并且,由于所述rnd[1,4]是随机生成的,进一步增加得了加密密钥key的破解难度。
需要说明的是,在具体实施中,对所述扰乱后的数据进行加密所采用的加密算法可以为对称加密算法,比如国密分块对称加密算法SM4或者国际标准对称AES算法,具体不作限制。
步骤14,按照预设的格式得到所述加密后的数据的头部信息。
其中,所述加密后的数据的头部信息包括:对所述待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息,所述消息认证码及随机数信息。对所述待传输数据进行扰乱及加密过程中所利用的各个算法可以包括:所述第一哈希算法、第二哈希算法、第三哈希算法以及第四哈希算法、杂凑运算的算法和加密算法、密钥分散算法等。所述随机数信息可以包括随机数发生器所生成的随机数rnd[1,4]等。
在具体实施中,可以采用多种方式设置所述头部信息的格式。比如,可以设置所述头部信息第一字节的高半字节指示加密算法,第一字节的低半字节指示密钥分散算法。设置所述头部信息的第三字节依次指示第一哈希算法、第二哈希算法、第三哈希算法以及第四哈希算法。设置所述头部信息的其它字节指示随机数rnd[1,4]以及消息认证码MAC等。
需要说明的是,虽然随机数rnd[1,4]可以通过加密后的数据的头部信息进行指示,但是由于rnd[0]是未知的,若要获得第二数据v2,需要先正确计算待传输数据第一个数据库d0的值,由此可以增加数据的破解难度。
步骤15,传输所述加密后的数据的头部信息及所述加密后的数据。
在具体实施中,可以采用无线的方式传输所述加密后的数据的头部信息及所述加密后的数据,也可以采用有线的方式传输所述加密后的数据的头部信息及所述加密后的数据,具体不作限制。
图4为本发明实施例提供的一种具体数据传输方法流程图。参照图4,所述方法可以包括如下步骤:
步骤401,生成长度为4字节的随机数rnd[1,4]。
步骤402,计算rnd[0]。
步骤403,计算第一数据v1。
步骤404,判断所述待传输数据的长度是否大于16字节。
当待传输数据的长度大于16字节时,执行步骤405,否则执行步骤408。
步骤405,计算第二数据v2。
步骤406,对所述第一数据v1及所述待传输数据第一个数据块d0进行异或,得到数据块d0对应的异或结果数据e0。
步骤407,根据异或结果数据e0,计算其它数据块对应的异或结果数据e1~eN。
步骤408,将所述待传输数据整体作为一数据块与第一数据v1进行异或,得到e0。
步骤409,对扰乱后的数据进行填充。
步骤410,计算第七数据v7。
步骤411,计算所述扰乱后的数据的消息认证码MAC。
步骤412,计算加密密钥key。
步骤413,利用加密密钥key对扰乱后的数据进行加密,得到加密后的数据D1。
步骤414,设置所述加密后的数据的头部信息D2。
步骤415,发送所述加密后的数据D1及所述加密后的数据的头部信息D2。
在具体实施中,关于步骤401~415,可以参照上述关于步骤11及15的描述进行实施,此处不再赘述。
由上述内容可知,应用本发明实施例中数据的传输方法,在接收到待传输数据时,通过异或、移位和置换操作对所述待传输数据执行进行扰乱,并对扰乱后的数据进行加密之后再进行传输,而非仅对待传输数据进行加密后即传输,因此可以提高数据传输的安全性。并且,通过扰乱后的数据的消息认证码可以验证接收到的数据的完整性,从而提高接收效率。
参照图5,本发明实施例还提供了另一种数据传输方法,所述方法可以包括:
步骤51,当接收到加密后的数据的头部信息及所述加密后的数据时,根据所述加密后的数据的头部信息确定解密密钥,对所述加密后的数据进行解密,得到解密后的数据。
其中,所述加密后的数据的头部信息包括:对待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息及随机数信息,所述加密后的数据对应的消息认证码。
在具体实施中,根据所述加密后的数据的头部信息,可以对待传输数据进行扰乱及加密过程中所利用的各个算法信息、随机数信息以及消息认证码。
步骤52,根据所述解密后的数据得到所述解密后的数据对应的消息认证码。
步骤53,当所述解密后的数据对应的消息认证码,与所述加密后的数据对应的消息认证码相同时,对所述解密后的数据进行解扰,得到所述待传输数据。
图6为图5中示出的数据传输方法的详细流程图。参照图6,所述方法可以包括如下步骤:
步骤601,根据加密后的数据的头部信息D2得到对待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息及随机数rnd’[1,4],所述加密后的数据对应的消息认证码MAC。
其中,解密操作正确的情况下,随机数rnd’[1,4]与加扰过程中的随机数rnd[1,4]相同。
步骤602,将随机数rnd’[1,4]中的第一个字节rnd[1]作为标识,从的置换数组SboxTable中选取相应的数据rnd’[0]。
其中,选取操作正确的情况下,rnd’[0]与加扰过程中数据rnd[0]相同。
步骤603,将rnd’[0]与rnd’[1,4]进行字节合并,得到rnd’[0,4]。
其中,合并操作正确的情况下,rnd’[0,4]与加扰过程中第一随机数rnd[0,4]相同。
步骤604,根据第四哈希算法,对rnd’[1,4]及消息认证码MAC进行哈希运算,得到v7’。
其中,哈希运算操作正确的情况下,v7’与加扰过程中第七数据v7相同。
步骤605,对v7’及根密钥rootkey进行相应的运算,得到解密密钥key’。
其中,对v7’及根密钥rootkey进行相应的运算操作正确的情况下,解密密钥key’与加扰过程中的加密密钥key相同。
步骤606,利用解密密钥key’解密所述加密后的数据,得到f0’,……,fn+1’。
其中,解密操作正确的情况下,f0’,……,fn+1’分别与加扰过程中的所述扰乱后的数据f0,……,fn+1相同。
步骤607,利用第二哈希算法对f0’,……,fn+1’进行哈希运算,得到v6’。
其中,哈希运算正确的情况下,v6’与加扰过程中的第六数据v6相同。
步骤608,利用密钥分散算法对rnd’[0,4]进行字节分散,得到v1’。
其中,字节分散操作正确的情况下,v1’与加扰过程中的第一数据v1相同。
步骤609,对f0’移位置换,得到e0’。
其中,移位置换正确的情况下,e0’与加扰过程中所述待传输数据第一个数据块d0的异或结果数据e0相同。
步骤610,对e0’及v1’执行异或运算,得到d0’。
其中,异或运算正确的情况下,d0’与加扰过程中所述待传输数据第一个数据块d0相同。步骤611,利用第三哈希算法对v6’及d0’进行哈希运算,得到MAC’。
其中,哈希运算正确的情况下,MAC’与加扰过程中消息认证码MAC相同。
步骤612,判断MAC’与MAC是否相等。
当MAC’与MAC相等时,所述加密后的数据是完整的,则继续执行步骤613,否则结束整个数据传输过程。
步骤613,去除填充后的数据,并计算所述待传输数据的长度。
步骤614,判断所述待传输数据的长度是否大于16字节。
当所述待传输数据的长度大于16字节时,执行步骤615,否则执行步骤618。
步骤615,对f0’,……,fn+1’移位置换,并去除填充后的数据,得到e0’,……,eN’。
其中,移位置换以及去填充操作均正确的情况下,e0’,……,eN’分别与加扰过程中所述待传输数据相应数据块对应的异或结果数据e0,……,eN相同。
步骤616,利用第一哈希算法,对d0’及rnd’[0,4]执行哈希运算,得到v2’。
其中,哈希运算正确的情况下,v2’与加扰过程中第二数据v2相同。
步骤617,根据e0’,……,eN’及v2’,计算d0’,d1’,……,dN’。
其中,计算操作正确的情况下,d0’,d1’,……,dN’与加扰过程中所示待传输数据的相应数据块d0,d1,……,dN相同。
步骤618,输出(d0’,d1’,……,dN’)及数据长度。
需要说明的是,步骤601~步骤618为接收端接收数据的过程,也就是对接收到的数据进行解密并解扰的过程,具体可以参照步骤401~步骤415进行实施。
为了使本领域技术人员更好地理解和实现本发明,以下对上述数据的传输方法进行对应的装置进行详细描述。
参照图7,本发明实施例提供了一种数据传输装置70,所述装置70可以包括:扰乱单元71,第一计算单元72,加密单元73,头部信息生成单元74以及传输单元75。其中:
所述扰乱单元71,适于当接收到待传输数据时,通过异或、移位和置换操作对所述待传输数据执行进行扰乱,得到扰乱后的数据;
所述第一计算单元72,适于计算所述扰乱后的数据的消息认证码;
所述加密单元73,适于根据所述消息认证码,计算得到加密密钥,并对所述扰乱后的数据进行加密,得到加密后的数据;
所述头部信息生成单元74,适于按照预设的格式得到所述加密后的数据的头部信息,所述加密后的数据的头部信息包括:对所述待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息,所述消息认证码及随机数信息;
所述传输单元75,适于传输所述加密后的数据的头部信息及所述加密后的数据。
在具体实施中,所述扰乱单元71可以包括:获取子单元711,第一运算子单元712以及第二运算子单元713。其中:
所述获取子单元711,适于获取第一随机数;
所述第一运算子单元712,适于利用所述第一随机数,对所述待传输数据的各个数据块分别执行异或操作,得到与所述各个数据块一一对应的异或结果数据;
所述第二运算子单元713,适于利用所述第一随机数第一个字节的数据,对各所述异或结果数据执行移位和置换操作,并将置换操作后的结果作为相应数据块加扰后的数据。
在具体实施中,所述第一运算子单元712包括:字节分散模块7121,第一异或模块7122以及第二异或模块7123。其中:
所述字节分散模块7121,适于利用预设的密钥分散算法,对所述第一随机数进行字节分散,并获取字节分散结果的前16个字节作为第一数据;
所述第一异或模块7122,适于当所述待传输数据的数据长度小于或等于16字节时,将所述待传输数据整体作为一数据块与所述第一数据执行异或操作;
所述第二异或模块7123,适于当所述待传输数据的数据长度大于16字节时,基于所述第一数据与所述待传输数据中第一个数据块的异或结果数据,计算所述待传输数据各个数据块对应的异或结果数据。
在本发明的一实施例中,所述第二异或模块7123适于利用预设的第一哈希算法,对所述第一随机数与所述第一数据进行哈希运算,得到第二数据;将所述第一数据与所述待传输数据第一个数据块的异或结果数据作为初始异或结果数据,对前一数据块对应的异或结果数据与所述第二数据执行异或操作,得到当前数据块对应的异或结果数据。
在具体实施中,所述第二运算子单元713可以包括:第一运算模块7131以及第二运算模块7132。其中:
所述第一运算模块7131,适于当所述第一随机数第一个字节的数据为偶数时,将第三数据作为标识,在预设的置换数组中确定第2i个数据块加扰后的数据;以及将第四数据作为标识,在所述置换数组中确定第2i+1个数据块加扰后的数据;其中,所述第三数据,为所述第一随机数第一个字节的数据与第2i+1个数据块的异或结果数据之和再对所述置换数组的长度取模的结果;所述第四数据,为所述第一随机数第一个字节的数据与第2i个数据块的异或结果数据之和再对所述置换数组的长度取模的结果,i为自然数;
所述第二运算模块7132,适于当所述第一随机数第一个字节的数据为奇数时,将所述第四数据作为标识,在所述置换数组中确定第2i-1个数据块加扰后的数据;以及将第五数据作为标识,在所述置换数组中确定第2i个数据块加扰后的数据;其中,所述第五数据,为所述第一随机数第一个字节的数据与第2i-1个数据块的异或结果数据之和再对所述置换数组的长度取模的结果。
在具体实施中,所述第一计算单元72可以包括:填充子单元721,第一计算子单元722以及第二计算子单元723。其中:
所述填充子单元721,适于对所述扰乱后的数据进行填充;
所述第一计算子单元722,适于利用预设的第二哈希算法,对填充后的数据进行哈希运算,根据哈希运算结果确定第六数据;
所述第二计算子单元723,适于利用预设的第三哈希算法,对所述第六数据及所述待传输数据的第1个数据块进行哈希运算,得到所述扰乱后的数据的消息认证码。
所述加密单元73,适于利用预设的第四哈希算法,对所述第一随机数部分字节的数据及所述扰乱后的数据的消息认证码进行哈希运算,得到第七数据;以及根据预设的加密算法,对所述第七数据及预设的根密钥进行相应的运算,得到所述加密密钥。
参照图8,本发明实施例还提供了一种数据传输装置80,所述装置80可以包括:解密单元81,第二计算单元82以及解扰单元83。其中:
所述解密单元81,适于当接收到加密后的数据的头部信息及所述加密后的数据时,根据所述加密后的数据的头部信息确定解密密钥,对所述加密后的数据进行解密,得到解密后的数据,其中,所述加密后的数据的头部信息包括:对待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息及随机数信息,所述加密后的数据对应的消息认证码;
所述第二计算单元82,适于根据所述解密后的数据得到所述解密后的数据对应的消息认证码;
所述解扰单元83,适于当所述解密后的数据对应的消息认证码,与所述加密后的数据对应的消息认证码相同时,对所述解密后的数据进行解扰,得到所述待传输数据。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (16)

1.一种数据传输方法,其特征在于,包括:
当接收到待传输数据时,通过异或、移位和置换操作对所述待传输数据执行进行扰乱,得到扰乱后的数据;
计算所述扰乱后的数据的消息认证码;
根据所述消息认证码,计算得到加密密钥,并对所述扰乱后的数据进行加密,得到加密后的数据;
按照预设的格式得到所述加密后的数据的头部信息,所述加密后的数据的头部信息包括:对所述待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息,所述消息认证码及随机数信息;
传输所述加密后的数据的头部信息及所述加密后的数据。
2.如权利要求1所述的数据传输方法,其特征在于,所述通过异或、移位和置换操作对所述待传输数据执行进行扰乱,包括:
获取第一随机数;
利用所述第一随机数,对所述待传输数据的各个数据块分别执行异或操作,得到与所述各个数据块一一对应的异或结果数据;
利用所述第一随机数第一个字节的数据,对各所述异或结果数据执行移位和置换操作,并将置换操作后的结果作为相应数据块加扰后的数据。
3.如权利要求2所述的数据传输方法,其特征在于,所述利用所述第一随机数,对所述待传输数据的各个数据块分别执行异或操作,包括:
利用预设的密钥分散算法,对所述第一随机数进行字节分散,并获取字节分散结果的前16个字节作为第一数据;
当所述待传输数据的数据长度小于或等于16字节时,将所述待传输数据整体作为一数据块与所述第一数据执行异或操作;
当所述待传输数据的数据长度大于16字节时,基于所述第一数据与所述待传输数据中第一个数据块的异或结果数据,计算所述待传输数据各个数据块对应的异或结果数据。
4.如权利要求3所述的数据传输方法,其特征在于,所述基于所述第一数据与所述待传输数据第一个数据块的异或结果数据,计算所述待传输数据各个数据块对应的异或结果数据,包括:
利用预设的第一哈希算法,对所述第一随机数与所述第一数据进行哈希运算,得到第二数据;
将所述第一数据与所述待传输数据第一个数据块的异或结果数据作为初始异或结果数据,对前一数据块对应的异或结果数据与所述第二数据执行异或操作,得到当前数据块对应的异或结果数据。
5.如权利要求4所述的数据传输方法,其特征在于,所述利用所述第一随机数第一个字节的数据,对各所述异或结果数据执行移位和置换操作,包括:
当所述第一随机数第一个字节的数据为偶数时,将第三数据作为标识,在预设的置换数组中确定第2i个数据块加扰后的数据;以及将第四数据作为标识,在所述置换数组中确定第2i+1个数据块加扰后的数据;其中,所述第三数据,为所述第一随机数第一个字节的数据与第2i+1个数据块的异或结果数据之和再对所述置换数组的长度取模的结果;所述第四数据,为所述第一随机数第一个字节的数据与第2i个数据块的异或结果数据之和再对所述置换数组的长度取模的结果,i为自然数;
当所述第一随机数第一个字节的数据为奇数时,将所述第四数据作为标识,在所述置换数组中确定第2i-1个数据块加扰后的数据;以及将第五数据作为标识,在所述置换数组中确定第2i个数据块加扰后的数据;其中,所述第五数据,为所述第一随机数第一个字节的数据与第2i-1个数据块的异或结果数据之和再对所述置换数组的长度取模的结果。
6.如权利要求2所述的数据传输方法,其特征在于,所述计算所述扰乱后的数据的消息认证码,包括:
对所述扰乱后的数据进行填充;
利用预设的第二哈希算法,对填充后的数据进行哈希运算,根据哈希运算结果确定第六数据;
利用预设的第三哈希算法,对所述第六数据及所述待传输数据的第1个数据块进行哈希运算,得到所述扰乱后的数据的消息认证码。
7.如权利要求6所述的数据传输方法,其特征在于,所述根据所述消息认证码,计算得到加密密钥,包括:
利用预设的第四哈希算法,对所述第一随机数部分字节的数据及所述扰乱后的数据的消息认证码进行哈希运算,得到第七数据;
根据预设的加密算法,对所述第七数据及预设的根密钥进行相应的运算,得到所述加密密钥。
8.一种数据传输方法,其特征在于,包括:
当接收到加密后的数据的头部信息及所述加密后的数据时,根据所述加密后的数据的头部信息确定解密密钥,对所述加密后的数据进行解密,得到解密后的数据,其中,所述加密后的数据的头部信息包括:对待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息及随机数信息,所述加密后的数据对应的消息认证码;
根据所述解密后的数据得到所述解密后的数据对应的消息认证码;
当所述解密后的数据对应的消息认证码,与所述加密后的数据对应的消息认证码相同时,对所述解密后的数据进行解扰,得到所述待传输数据。
9.一种数据传输装置,其特征在于,包括:
扰乱单元,适于当接收到待传输数据时,通过异或、移位和置换操作对所述待传输数据执行进行扰乱,得到扰乱后的数据;
第一计算单元,适于计算所述扰乱后的数据的消息认证码;
加密单元,适于根据所述消息认证码,计算得到加密密钥,并对所述扰乱后的数据进行加密,得到加密后的数据;
头部信息生成单元,适于按照预设的格式得到所述加密后的数据的头部信息,所述加密后的数据的头部信息包括:对所述待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息,所述消息认证码及随机数信息;
传输单元,适于传输所述加密后的数据的头部信息及所述加密后的数据。
10.如权利要求9所述的数据传输装置,其特征在于,所述扰乱单元包括:
获取子单元,适于获取第一随机数;
第一运算子单元,适于利用所述第一随机数,对所述待传输数据的各个数据块分别执行异或操作,得到与所述各个数据块一一对应的异或结果数据;
第二运算子单元,适于利用所述第一随机数第一个字节的数据,对各所述异或结果数据执行移位和置换操作,并将置换操作后的结果作为相应数据块加扰后的数据。
11.如权利要求10所述的数据传输装置,其特征在于,所述第一运算子单元包括:
字节分散模块,适于利用预设的密钥分散算法,对所述第一随机数进行字节分散,并获取字节分散结果的前16个字节作为第一数据;
第一异或模块,适于当所述待传输数据的数据长度小于或等于16字节时,将所述待传输数据整体作为一数据块与所述第一数据执行异或操作;
第二异或模块,适于当所述待传输数据的数据长度大于16字节时,基于所述第一数据与所述待传输数据中第一个数据块的异或结果数据,计算所述待传输数据各个数据块对应的异或结果数据。
12.如权利要求11所述的数据传输装置,其特征在于,所述第二异或模块适于利用预设的第一哈希算法,对所述第一随机数与所述第一数据进行哈希运算,得到第二数据;将所述第一数据与所述待传输数据第一个数据块的异或结果数据作为初始异或结果数据,对前一数据块对应的异或结果数据与所述第二数据执行异或操作,得到当前数据块对应的异或结果数据。
13.如权利要求12所述的数据传输装置,其特征在于,所述第二运算子单元包括:
第一运算模块,适于当所述第一随机数第一个字节的数据为偶数时,将第三数据作为标识,在预设的置换数组中确定第2i个数据块加扰后的数据;以及将第四数据作为标识,在所述置换数组中确定第2i+1个数据块加扰后的数据;其中,所述第三数据,为所述第一随机数第一个字节的数据与第2i+1个数据块的异或结果数据之和再对所述置换数组的长度取模的结果;所述第四数据,为所述第一随机数第一个字节的数据与第2i个数据块的异或结果数据之和再对所述置换数组的长度取模的结果,i为自然数;
第二运算模块,适于当所述第一随机数第一个字节的数据为奇数时,将所述第四数据作为标识,在所述置换数组中确定第2i-1个数据块加扰后的数据;以及将第五数据作为标识,在所述置换数组中确定第2i个数据块加扰后的数据;其中,所述第五数据,为所述第一随机数第一个字节的数据与第2i-1个数据块的异或结果数据之和再对所述置换数组的长度取模的结果。
14.如权利要求10所述的数据传输装置,其特征在于,所述第一计算单元包括:
填充子单元,适于对所述扰乱后的数据进行填充;
第一计算子单元,适于利用预设的第二哈希算法,对填充后的数据进行哈希运算,根据哈希运算结果确定第六数据;
第二计算子单元,适于利用预设的第三哈希算法,对所述第六数据及所述待传输数据的第1个数据块进行哈希运算,得到所述扰乱后的数据的消息认证码。
15.如权利要求14所述的数据传输装置,其特征在于,所述加密单元,适于利用预设的第四哈希算法,对所述第一随机数部分字节的数据及所述扰乱后的数据的消息认证码进行哈希运算,得到第七数据;以及根据预设的加密算法,对所述第七数据及预设的根密钥进行相应的运算,得到所述加密密钥。
16.一种数据传输装置,其特征在于,包括:
解密单元,适于当接收到加密后的数据的头部信息及所述加密后的数据时,根据所述加密后的数据的头部信息确定解密密钥,对所述加密后的数据进行解密,得到解密后的数据,其中,所述加密后的数据的头部信息包括:对待传输数据进行扰乱及加密过程中所利用的各个算法的指示信息及随机数信息,所述加密后的数据对应的消息认证码;
第二计算单元,适于根据所述解密后的数据得到所述解密后的数据对应的消息认证码;
解扰单元,适于当所述解密后的数据对应的消息认证码,与所述加密后的数据对应的消息认证码相同时,对所述解密后的数据进行解扰,得到所述待传输数据。
CN201610974638.4A 2016-11-04 2016-11-04 数据传输方法及装置 Active CN108023724B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610974638.4A CN108023724B (zh) 2016-11-04 2016-11-04 数据传输方法及装置
CN202010644032.0A CN111756523B (zh) 2016-11-04 2016-11-04 数据传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610974638.4A CN108023724B (zh) 2016-11-04 2016-11-04 数据传输方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010644032.0A Division CN111756523B (zh) 2016-11-04 2016-11-04 数据传输方法及装置

Publications (2)

Publication Number Publication Date
CN108023724A true CN108023724A (zh) 2018-05-11
CN108023724B CN108023724B (zh) 2020-10-20

Family

ID=62084678

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610974638.4A Active CN108023724B (zh) 2016-11-04 2016-11-04 数据传输方法及装置
CN202010644032.0A Active CN111756523B (zh) 2016-11-04 2016-11-04 数据传输方法及装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010644032.0A Active CN111756523B (zh) 2016-11-04 2016-11-04 数据传输方法及装置

Country Status (1)

Country Link
CN (2) CN108023724B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109787764A (zh) * 2019-03-25 2019-05-21 四川九洲空管科技有限责任公司 一种基于密钥传输设备的加密方法
CN110378083A (zh) * 2019-06-12 2019-10-25 北京奇艺世纪科技有限公司 一种布尔值的混淆方法和装置及计算机可读存储介质
CN110535816A (zh) * 2018-05-24 2019-12-03 广东技术师范学院 一种数据信息安全传输方法
CN111756767A (zh) * 2020-07-06 2020-10-09 成都卫士通信息产业股份有限公司 流媒体数据传输方法、装置、电子设备及计算机存储介质
CN112180826A (zh) * 2020-09-30 2021-01-05 苏州艾隆科技股份有限公司 运维监控方法、装置、存储介质
CN112260840A (zh) * 2020-10-21 2021-01-22 上海创能国瑞数据***有限公司 基于sm4加密算法的扰动加密方法
CN113204774A (zh) * 2021-04-29 2021-08-03 北京连山科技股份有限公司 基于多云环境下的一种快速数据安全保护算法
CN113645183A (zh) * 2021-06-21 2021-11-12 苏州工业园区服务外包职业学院 数据加密传输方法、***、计算机设备及存储介质
CN113872753A (zh) * 2021-12-01 2021-12-31 北京华云安信息技术有限公司 基于sha256序列形式的数据的加密传输方法和装置
JP2022506633A (ja) * 2018-11-09 2022-01-17 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 無線アップグレード方法および関連装置
CN114124443A (zh) * 2021-09-30 2022-03-01 郑州师范学院 一种适用于工业物联网感知计算层的可信***
CN115550868A (zh) * 2022-09-26 2022-12-30 深圳市晨汇节能环保科技有限公司 氢能源动力控制***及其方法
CN116455560A (zh) * 2023-06-16 2023-07-18 北京智芯微电子科技有限公司 数据加密方法、数据解密方法、装置、设备及介质
CN117098120A (zh) * 2023-10-19 2023-11-21 国网山西省电力公司晋城供电公司 一种北斗短报文数据加解密方法、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114268449B (zh) * 2021-11-02 2023-08-29 浙江零跑科技股份有限公司 一种重要can加密方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040215955A1 (en) * 2003-04-24 2004-10-28 Masaaki Tamai Encrypted packet, processing device, method, program, and program recording medium
CN101471769A (zh) * 2007-12-28 2009-07-01 北京大唐高鸿数据网络技术有限公司 一种适于VoIP媒体传输的加解密方法
CN101931955A (zh) * 2010-09-03 2010-12-29 中兴通讯股份有限公司 认证方法、装置及***
CN102437910A (zh) * 2011-10-18 2012-05-02 国家超级计算深圳中心(深圳云计算中心) 数据加/解密校验方法及其***
CN103096302A (zh) * 2011-10-27 2013-05-08 华为技术有限公司 一种加密方法、解密方法和相关装置
CN103178965A (zh) * 2008-01-07 2013-06-26 安全第一公司 使用多因素或密钥式分散对数据进行保护的***和方法
CN103532706A (zh) * 2012-07-03 2014-01-22 展讯通信(上海)有限公司 数据加解密方法、装置和移动终端
CN104639312A (zh) * 2013-11-08 2015-05-20 国家电网公司 一种des算法抗能量攻击的方法及装置
CN105871549A (zh) * 2016-06-13 2016-08-17 四川特伦特科技股份有限公司 一种数字信号加密处理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810289B2 (ja) * 2006-04-17 2011-11-09 ルネサスエレクトロニクス株式会社 メッセージ認証子生成装置、メッセージ認証子検証装置、及びメッセージ認証システム
US8577024B2 (en) * 2009-07-28 2013-11-05 Vixs Systems, Inc Concealing plain text in scrambled blocks
KR101440328B1 (ko) * 2013-05-20 2014-09-17 주식회사 실리콘웍스 메시지 인증 코드 생성 방법 및 이를 수행하는 인증 장치

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040215955A1 (en) * 2003-04-24 2004-10-28 Masaaki Tamai Encrypted packet, processing device, method, program, and program recording medium
CN101471769A (zh) * 2007-12-28 2009-07-01 北京大唐高鸿数据网络技术有限公司 一种适于VoIP媒体传输的加解密方法
CN103178965A (zh) * 2008-01-07 2013-06-26 安全第一公司 使用多因素或密钥式分散对数据进行保护的***和方法
CN101931955A (zh) * 2010-09-03 2010-12-29 中兴通讯股份有限公司 认证方法、装置及***
CN102437910A (zh) * 2011-10-18 2012-05-02 国家超级计算深圳中心(深圳云计算中心) 数据加/解密校验方法及其***
CN103096302A (zh) * 2011-10-27 2013-05-08 华为技术有限公司 一种加密方法、解密方法和相关装置
CN103532706A (zh) * 2012-07-03 2014-01-22 展讯通信(上海)有限公司 数据加解密方法、装置和移动终端
CN104639312A (zh) * 2013-11-08 2015-05-20 国家电网公司 一种des算法抗能量攻击的方法及装置
CN105871549A (zh) * 2016-06-13 2016-08-17 四川特伦特科技股份有限公司 一种数字信号加密处理方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535816A (zh) * 2018-05-24 2019-12-03 广东技术师范学院 一种数据信息安全传输方法
US11947673B2 (en) 2018-11-09 2024-04-02 Huawei Technologies Co., Ltd. Over-the-air upgrade method and related apparatus
JP2022506633A (ja) * 2018-11-09 2022-01-17 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 無線アップグレード方法および関連装置
CN109787764A (zh) * 2019-03-25 2019-05-21 四川九洲空管科技有限责任公司 一种基于密钥传输设备的加密方法
CN110378083B (zh) * 2019-06-12 2021-03-12 北京奇艺世纪科技有限公司 一种布尔值的混淆方法和装置及计算机可读存储介质
CN110378083A (zh) * 2019-06-12 2019-10-25 北京奇艺世纪科技有限公司 一种布尔值的混淆方法和装置及计算机可读存储介质
CN111756767A (zh) * 2020-07-06 2020-10-09 成都卫士通信息产业股份有限公司 流媒体数据传输方法、装置、电子设备及计算机存储介质
CN112180826A (zh) * 2020-09-30 2021-01-05 苏州艾隆科技股份有限公司 运维监控方法、装置、存储介质
CN112260840A (zh) * 2020-10-21 2021-01-22 上海创能国瑞数据***有限公司 基于sm4加密算法的扰动加密方法
CN113204774A (zh) * 2021-04-29 2021-08-03 北京连山科技股份有限公司 基于多云环境下的一种快速数据安全保护算法
CN113204774B (zh) * 2021-04-29 2021-11-26 北京连山科技股份有限公司 基于多云环境下的一种快速数据安全保护方法
CN113645183A (zh) * 2021-06-21 2021-11-12 苏州工业园区服务外包职业学院 数据加密传输方法、***、计算机设备及存储介质
CN113645183B (zh) * 2021-06-21 2023-08-15 苏州工业园区服务外包职业学院 数据加密传输方法、***、计算机设备及存储介质
CN114124443A (zh) * 2021-09-30 2022-03-01 郑州师范学院 一种适用于工业物联网感知计算层的可信***
CN113872753A (zh) * 2021-12-01 2021-12-31 北京华云安信息技术有限公司 基于sha256序列形式的数据的加密传输方法和装置
CN113872753B (zh) * 2021-12-01 2022-05-06 北京华云安信息技术有限公司 基于sha256序列形式的数据的加密传输方法和装置
CN115550868A (zh) * 2022-09-26 2022-12-30 深圳市晨汇节能环保科技有限公司 氢能源动力控制***及其方法
CN116455560A (zh) * 2023-06-16 2023-07-18 北京智芯微电子科技有限公司 数据加密方法、数据解密方法、装置、设备及介质
CN116455560B (zh) * 2023-06-16 2023-08-29 北京智芯微电子科技有限公司 数据加密方法、数据解密方法、装置、设备及介质
CN117098120A (zh) * 2023-10-19 2023-11-21 国网山西省电力公司晋城供电公司 一种北斗短报文数据加解密方法、设备及存储介质
CN117098120B (zh) * 2023-10-19 2024-01-02 国网山西省电力公司晋城供电公司 一种北斗短报文数据加解密方法、设备及存储介质

Also Published As

Publication number Publication date
CN111756523B (zh) 2022-08-12
CN108023724B (zh) 2020-10-20
CN111756523A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
CN108023724A (zh) 数据传输方法及装置
KR101809386B1 (ko) 인증 암호 장치, 인증 암호 방법 및 컴퓨터 판독가능한 기록 매체
CN106656475B (zh) 一种用于高速加密的新型对称型密钥加密方法
US7200232B2 (en) Method and apparatus for symmetric-key decryption
CN104488218B (zh) 加密装置、解密装置、加密方法、解密方法
US8204215B2 (en) Method and apparatus for encrypting data
US7570759B2 (en) System and method for secure encryption
CN107147487B (zh) 对称密钥随机分组密码
JPWO2016027454A1 (ja) 認証暗号化方法、認証復号方法および情報処理装置
CN107592968A (zh) 生成密码校验和
CN106301759A (zh) 一种数据加密的方法、解密的方法及装置
JPWO2011105367A1 (ja) ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
US20140317407A1 (en) Incremental mac tag generation device, method, and program, and message authentication device
KR20150142623A (ko) 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템
CN109274485A (zh) 一种数据加密方法、数据认证方法及相关设备和***
CN101826961A (zh) 数据传输加解密方法、装置及***
JP2004325677A (ja) 暗号処理装置および暗号処理方法、並びにコンピュータ・プログラム
CN109787764B (zh) 一种密钥的加密方法
JPH09312643A (ja) 鍵共有方法及び暗号通信方法
CN114826590A (zh) 一种分组模式加密方法、解密方法及其装置、设备
CN108199836B (zh) 一种密钥与设备绑定、解绑定的方法及装置
US11924329B2 (en) Encryption of standalone data packages
CN106788969B (zh) 一种数据文件的传输方法
CN106878004B (zh) 一种防止视频插播篡改的校验方法及装置
CN111314053B (zh) 一种数据加密和解密方法

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100089 18 / F, block B, Zhizhen building, No.7, Zhichun Road, Haidian District, Beijing

Applicant after: Beijing Ziguang zhanrui Communication Technology Co.,Ltd.

Address before: 100084, Room 516, building A, Tsinghua Science Park, Beijing, Haidian District

Applicant before: BEIJING SPREADTRUM HI-TECH COMMUNICATIONS TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant