CN107911354B - 一种复合并行数据加密方法 - Google Patents

一种复合并行数据加密方法 Download PDF

Info

Publication number
CN107911354B
CN107911354B CN201711084839.8A CN201711084839A CN107911354B CN 107911354 B CN107911354 B CN 107911354B CN 201711084839 A CN201711084839 A CN 201711084839A CN 107911354 B CN107911354 B CN 107911354B
Authority
CN
China
Prior art keywords
data
matrix
row
key
serial
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.)
Active
Application number
CN201711084839.8A
Other languages
English (en)
Other versions
CN107911354A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201711084839.8A priority Critical patent/CN107911354B/zh
Publication of CN107911354A publication Critical patent/CN107911354A/zh
Application granted granted Critical
Publication of CN107911354B publication Critical patent/CN107911354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明提供的一种复合并行数据加密方法。通过对数据流进行分块,形成256bit的数据块,存入4*4的矩阵中,然后生成64位校验码,得到最终的5*4的数据矩阵;通过矩阵变换和矩阵融合进行加密。包括以下步骤:1、读取需要传输的数据,记录读取位置;2、将数据流分块,形成数据矩阵并通过与密钥矩阵的矩阵操作进行加密;3、发送加密后的数据,分享密钥矩阵;4、接收到加密后的数据,进行解密;5、判断数据是否被篡改并返回判断信息;本发明提供了一种复合并行数据加密方法,针对数据通信过程中的数据安全问题,以串行数据转换成并行数据进行处理的方式,实现了通信数据的加密和校验,解决了通信过程中数据安全的问题。

Description

一种复合并行数据加密方法
技术领域
本发明提供一种复合并行数据加密方法,它涉及对称加密技术,尤其涉及一种数据分块形成数据矩阵下的复合并行数据加密的方法。属于数据加密技术领域。
背景技术
加密作为保障数据安全的一种方式有着悠久的历史,它是建立在对信息进行数学编码和解码的基础上进行的。随着计算机技术的发展,处理器运算能力的增强,过去的密码算法变得更加容易被破解,新的数据加密方式被不断地研究出来。传统的加密类型主要分为两种,对称加密方式与非对称加密方式。非对称密码算法安全性强,但是加解密算法复杂,硬件实现复杂度高;保密密钥和对称密钥加密算法通过软件实现编解码耗时很长,但使用硬件进行加解密计算速度很快。杨兴等人在2013年对无线局域网数据伪装技术进行研究和实现,针对当前网络安全隐患,提出了一种无线局域网的防入侵安全方案,采用数据伪装技术,模拟接入点发送数据包,阻断非法终端和接入点的通信,并在嵌入式系统平台上进行总体实现,但是其加密算法过于简单。
发明内容
(一)本发明的目的
本发明提供了一种复合并行数据加密方法。本方法首先对传输的数据进行分块处理,形成一个数据矩阵,然后对数据矩阵进行矩阵操作生成并给出两个密钥矩阵,最后将数据矩阵与两个密钥矩阵进行融合计算生成用于数据传输的传输矩阵,达到加密的效果。
(二)技术方案
具体来说,本发明提供了一种复合并行数据加密方法,该方法具体步骤包括:
步骤1,读取需要传输的数据,并且记录数据读取位置;
步骤2,将读取到的串行数据分成256比特的数据块,然后对划分好的数据块进行串并转换形成数据矩阵,并为每行数据生成一个校验值保存在数据矩阵中,通过矩阵变换和与给定的密钥矩阵进行矩阵操作形成传输矩阵,完成矩阵加密;
步骤3,将加密后的传输矩阵进行并串转换,发送给数据接收方,同时向接收方共享密钥矩阵;
步骤4,数据接收方接收到传输来的串行数据后,对串行数据进行串并转换,恢复出来传输矩阵,然后通过步骤2中矩阵变换的反变换恢复出带有校验值的数据矩阵;
步骤5,通过数据矩阵中每行数据的校验值,判断传输的数据是否被篡改并返回判断信息。
其中,在步骤1中所述的“读取需要传输的数据,并且记录数据读取位置”,其具体作法如下:
在通信过程中,需要传输的数据是一组串行数据,首先从串行数据中读取需要传输的部分,通过一个专门设计的计数器记录数据的读取位置,为数据的加密、恢复和校验做好准备。
其中,在步骤2中所述的“将读取到的串行数据分成256比特的数据块,然后对划分好的数据块进行串并转换形成数据矩阵,并为每行数据生成一个校验值保存在数据矩阵中,通过矩阵变换和与给定的密钥矩阵进行矩阵操作形成传输矩阵,完成矩阵加密”,其具体作法步骤如下:
步骤21,利用计数器将需要传输的串行数据流分成256比特的数据块,在此基础上每个数据块形成一个4*4的数据矩阵,每一个矩阵元素是一个16比特的数据,即每行每列均有64比特的数据;
步骤22,在读取数据形成数据矩阵的同时,对每一行数据进行一次CRC-16校验计算,即每64比特数据生成一个16比特的校验码,并插入到数据矩阵的第5行,最终形成一个5*4的数据矩阵;
步骤23,给出共享的两个5*4的密钥矩阵,分别命名为密钥矩阵B0、密钥矩阵B1;将5*4的数据矩阵进行矩阵变换,打乱数据顺序,相当于进行简单的矩阵乘法,再与密钥矩阵B0进行异或操作,与密钥矩阵B1进行同或操作,生成用来传输的传输矩阵,完成数据加密。
其中,在步骤21中所述的“利用计数器将需要传输的串行数据流分成256比特的数据块,在此基础上每个数据块形成一个4*4的数据矩阵,每一个矩阵元素是一个16比特的数据,即每行每列均有64比特的数据”,其具体作法如下:
首先使用专门设计的计数器将需要传输的串行数据流按照每256比特的大小分成若干个数据块,然后以256比特大小的数据块为单位,将每个数据块中的256比特数据转换成一个4行4列的数据矩阵,共16个元素,因此每个元素为一个16比特的数据,每行每列均有64比特的数据。
其中,在步骤22中所述的“CRC-16校验”,是指一种16位的循环冗余校验,它是数据通讯过程中最常用的校验方式,可以提供1/65536的误码碰撞概率。
其中,在步骤22中所述的“在读取数据形成数据矩阵的同时,对每一行数据进行一次CRC-16校验计算,即每64比特数据生成一个16比特的校验码,并插入到数据矩阵的第5行,最终形成一个5*4的数据矩阵”,其具体作法如下:
在读取数据形成数据矩阵时,每行均为64比特的数据,采用CRC-16校验的方式为每行数据生成一个16比特的校验码,并依次加入到数据矩阵的第5行。即第1行的校验码放在第5行第1列位置,第2行校验码放在第5行第2列位置,以此类推。当某一行的数据被篡改后,对应的校验码会发生变化,接收端可以及时发现数据的篡改。
其中,在步骤23中所述的“给出共享的两个5*4的密钥矩阵,分别命名为密钥矩阵B0、密钥矩阵B1;将5*4的数据矩阵进行矩阵变换,打乱数据顺序,相当于进行简单的矩阵乘法,再与密钥矩阵B0进行异或操作,与密钥矩阵B1进行同或操作,生成用来传输的传输矩阵,完成数据加密”,其具体作法如下:
数据发送端提供两个5*4的矩阵作为本发明所述对称加密方式的密钥矩阵,分别将这两个密钥矩阵命名为密钥矩阵B0和密钥矩阵B1;将步骤22中所述的5*4规模的数据矩阵进行矩阵变换,打乱原有矩阵中数据的顺序和位置,再将得到的新的乱序矩阵依次与密钥矩阵B0进行异或操作,与密钥矩阵B1进行同或操作,并将生成的新矩阵成为传输矩阵。至此完成数据矩阵的加密过程。
其中,在步骤3中所述的“将加密后的传输矩阵进行并串转换,发送给数据接收方,同时向接收方共享密钥矩阵”,其具体作法如下:
在数据进行并行加密后,需要将加密后的并行数据转换成串行数据,并发送出去。先将加密后的传输矩阵转换成串行数据,然后按照串行通信的要求依次发送给数据接收方。密钥矩阵作为对称加密的密钥需要以安全方式共享给接收方。
其中,在步骤4中所述的“数据接收方接收到传输来的串行数据后,对串行数据进行串并转换,恢复出来传输矩阵,然后通过步骤2中矩阵变换的反变换恢复出带有校验值的数据矩阵”,其具体作法步骤如下:
步骤41,对接收到的数据进行串并转换,得到5*4的密文矩阵;
步骤42,按照将密文矩阵与共享的密钥矩阵相融合,即与B1同或,B0异或,将融合后的矩阵按照加密时矩阵变换的操作进行反变换,得到原始的数据矩阵。
其中,在步骤41中所述的“对接收到的数据进行串并转换,得到5*4的密文矩阵”,其具体作法如下:
数据接收方在接到传输来的串行数据后,对串行数据进行串并转换,从串行数据中可以得到5*4的加密后的密文矩阵,也即传输矩阵。
其中,在步骤42中所述的“按照将密文矩阵与共享的密钥矩阵相融合,即与B1同或,B0异或,将融合后的矩阵按照加密时矩阵变换的操作进行反变换,得到原始的数据矩阵”,其具体作法如下:
将得到的密文矩阵、密钥矩阵B0和密钥矩阵B1进行矩阵运算,采用与步骤2中所述“通过矩阵变换和与给定的密钥矩阵进行矩阵操作形成传输矩阵,完成矩阵加密”的矩阵操作的反顺序操作完成。即首先将密文矩阵与密钥矩阵B1进行矩阵的同或操作,再于密钥矩阵B0进行矩阵的异或操作,最后再进行矩阵变换的反变换,可以得到原始的数据矩阵。
其中,在步骤5中所述的“通过数据矩阵中每行数据的校验值,判断传输的数据是否被篡改并返回判断信息”,其具体作法步骤如下:
步骤51,对得到的数据矩阵的前四行的数据分别进行CRC-16校验码计算,并且与第五行数据进行比对;
步骤52,若CRC-16校验码比对正确,则将数据存入RAM中;若校验码比对错误,则将数据丢弃并返回该数据块的地址和错误数据的地址给发送方;发送方可以根据初始地址和错误数据地址找到错误数据并重新发送被篡改的数据。
其中,在步骤51中所述的“对得到的数据矩阵的前四行的数据分别进行CRC-16校验码计算,并且与第五行数据进行比对”,其具体作法如下:
对于接收端得到的数据矩阵,每行均为64比特的数据,采用CRC-16校验的方式为每行数据生成一个16比特的校验码,并依次与数据矩阵的第5行中对应位置的校验码进行对比。即第1行的校验码与第5行第1列位置的校验码进行比对,第2行的校验码与第5行第2列位置的校验码进行比对,以此类推。当某一行的数据被篡改后,对应的校验码会发生变化,接收端可以及时发现数据的篡改。
其中,在步骤52中所述的“若CRC-16校验码比对正确,则将数据存入存储器中;若校验码比对错误,则将数据丢弃并返回该数据块的地址和错误数据的地址给发送方;发送方可以根据初始地址和错误数据地址找到错误数据并重新发送被篡改的数据”,其具体作法如下:
在CRC-16校验码的比对过程中,如果校验码比对一致,则表示改数据没有被篡改,与发送端发送的数据一致,则将该行数据存入到接收端的存储器中,该行数据传输完成;如果校验码不对不一致,则将该行数据丢弃,并将该数据块的地址和错误的行号一同发送给数据发送端,发送端可以根据初始地址和错误数据地址找到错误数据并重新发送被篡改的数据。
通过以上步骤,本发明提供了一种复合并行数据加密方法,针对数据通信过程中的数据安全问题,以串行数据转换成并行数据进行处理的方式,实现了通信数据的加密和校验,解决了通信过程中数据安全的问题。
(三)本发明的优点及功效
本发明的有益功效在于:
1.本发明针对于通信过程中的数据安全问题,采用将串行数据转换成并行数据矩阵的方式进行加密操作,通过矩阵运算有效的打乱了原有的数据顺序和关系,很好的起到了数据混合的作用。同时,矩阵操作具有可逆性,在接受端,通过原有矩阵变换的反变换可以快速的恢复出来原始数据矩阵
2.本发明在数据矩阵变换和加密前,对每行数据进行校验码计算并将校验码加入到数据矩阵中;在接收端,通过校验数据矩阵中的校验码可以检测加密数据在传输过程中是否被篡改。在保证数据机密性的同时,保证了数据的完整性。
3.本发明所述的加密方法与传统对称加密算法相比,具有算法简单,易于操作的特点。在软硬件实现上均可以达到较好的计算效率。
附图说明
图1是本发明所述方法的流程图。
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
图1是本发明的复合并行数据加密解密的流程图。
本发明一种复合并行数据加密方法,如图1所示,该方法实施步骤如下:
步骤1,读取需要传输的数据,并且记录数据读取位置;
步骤2,将读取到的串行数据分成256比特的数据块,然后对划分好的数据块进行串并转换形成数据矩阵,并为每行数据生成一个校验值保存在数据矩阵中,通过矩阵变换和与给定的密钥矩阵进行矩阵操作形成传输矩阵,完成矩阵加密;
步骤3,将加密后的传输矩阵进行并串转换,发送给数据接收方,同时向接收方共享密钥矩阵;
步骤4,数据接收方接收到传输来的串行数据后,对串行数据进行串并转换,恢复出来传输矩阵,然后通过步骤2中矩阵变换的反变换恢复出带有校验值的数据矩阵;
步骤5,通过数据矩阵中每行数据的校验值,判断传输的数据是否被篡改并返回判断信息。
其中,在步骤1中所述的“读取需要传输的数据,并且记录数据读取位置”,其具体作法如下:
在通信过程中,需要传输的数据是一组串行数据,首先从串行数据中读取需要传输的部分,通过一个专门设计的计数器记录数据的读取位置,为数据的加密、恢复和校验做好准备。
其中,在步骤2中所述的“将读取到的串行数据分成256比特的数据块,然后对划分好的数据块进行串并转换形成数据矩阵,并为每行数据生成一个校验值保存在数据矩阵中,通过矩阵变换和与给定的密钥矩阵进行矩阵操作形成传输矩阵,完成矩阵加密”,其具体作法步骤如下:
步骤21,利用计数器将需要传输的串行数据流分成256比特的数据块,在此基础上每个数据块形成一个4*4的数据矩阵,每一个矩阵元素是一个16比特的数据,即每行每列均有64比特的数据;
步骤22,在读取数据形成数据矩阵的同时,对每一行数据进行一次CRC-16校验计算,即每64比特数据生成一个16比特的校验码,并插入到数据矩阵的第5行,最终形成一个5*4的数据矩阵;
步骤23,给出共享的两个5*4的密钥矩阵,分别命名为密钥矩阵B0、密钥矩阵B1;将5*4的数据矩阵进行矩阵变换,打乱数据顺序,相当于进行简单的矩阵乘法,再与密钥矩阵B0进行异或操作,与密钥矩阵B1进行同或操作,生成用来传输的传输矩阵,完成数据加密。
其中,在步骤21中所述的“利用计数器将需要传输的串行数据流分成256比特的数据块,在此基础上每个数据块形成一个4*4的数据矩阵,每一个矩阵元素是一个16比特的数据,即每行每列均有64比特的数据”,其具体作法如下:
首先使用专门设计的计数器将需要传输的串行数据流按照每256比特的大小分成若干个数据块,然后以256比特大小的数据块为单位,将每个数据块中的256比特数据转换成一个4行4列的数据矩阵,共16个元素,因此每个元素为一个16比特的数据,每行每列均有64比特的数据。
其中,在步骤22中所述的“CRC-16校验”,是指一种16位的循环冗余校验,它是数据通讯过程中最常用的校验方式,可以提供1/65536的误码碰撞概率。
其中,在步骤22中所述的“在读取数据形成数据矩阵的同时,对每一行数据进行一次CRC-16校验计算,即每64比特数据生成一个16比特的校验码,并插入到数据矩阵的第5行,最终形成一个5*4的数据矩阵”,其具体作法如下:
在读取数据形成数据矩阵时,每行均为64比特的数据,采用CRC-16校验的方式为每行数据生成一个16比特的校验码,并依次加入到数据矩阵的第5行。即第1行的校验码放在第5行第1列位置,第2行校验码放在第5行第2列位置,以此类推。当某一行的数据被篡改后,对应的校验码会发生变化,接收端可以及时发现数据的篡改。
其中,在步骤23中所述的“给出共享的两个5*4的密钥矩阵,分别命名为密钥矩阵B0、密钥矩阵B1;将5*4的数据矩阵进行矩阵变换,打乱数据顺序,相当于进行简单的矩阵乘法,再与密钥矩阵B0进行异或操作,与密钥矩阵B1进行同或操作,生成用来传输的传输矩阵,完成数据加密”,其具体作法如下:
数据发送端提供两个5*4的矩阵作为本发明所述对称加密方式的密钥矩阵,分别将这两个密钥矩阵命名为密钥矩阵B0和密钥矩阵B1;将步骤22中所述的5*4规模的数据矩阵进行矩阵变换,打乱原有矩阵中数据的顺序和位置,再将得到的新的乱序矩阵依次与密钥矩阵B0进行异或操作,与密钥矩阵B1进行同或操作,并将生成的新矩阵成为传输矩阵。至此完成数据矩阵的加密过程。
其中,在步骤3中所述的“将加密后的传输矩阵进行并串转换,发送给数据接收方,同时向接收方共享密钥矩阵”,其具体作法如下:
在数据进行并行加密后,需要将加密后的并行数据转换成串行数据,并发送出去。先将加密后的传输矩阵转换成串行数据,然后按照串行通信的要求依次发送给数据接收方。密钥矩阵作为对称加密的密钥需要以安全方式共享给接收方。
其中,在步骤4中所述的“数据接收方接收到传输来的串行数据后,对串行数据进行串并转换,恢复出来传输矩阵,然后通过步骤2中矩阵变换的反变换恢复出带有校验值的数据矩阵”,其具体作法步骤如下:
步骤41,对接收到的数据进行串并转换,得到5*4的密文矩阵;
步骤42,按照将密文矩阵与共享的密钥矩阵相融合,即与B1同或,B0异或,将融合后的矩阵按照加密时矩阵变换的操作进行反变换,得到原始的数据矩阵。
其中,在步骤41中所述的“对接收到的数据进行串并转换,得到5*4的密文矩阵”,其具体作法如下:
数据接收方在接到传输来的串行数据后,对串行数据进行串并转换,从串行数据中可以得到5*4的加密后的密文矩阵,也即传输矩阵。
其中,在步骤42中所述的“按照将密文矩阵与共享的密钥矩阵相融合,即与B1同或,B0异或,将融合后的矩阵按照加密时矩阵变换的操作进行反变换,得到原始的数据矩阵”,其具体作法如下:
将得到的密文矩阵、密钥矩阵B0和密钥矩阵B1进行矩阵运算,采用与步骤2中所述“通过矩阵变换和与给定的密钥矩阵进行矩阵操作形成传输矩阵,完成矩阵加密”的矩阵操作的反顺序操作完成。即首先将密文矩阵与密钥矩阵B1进行矩阵的同或操作,再于密钥矩阵B0进行矩阵的异或操作,最后再进行矩阵变换的反变换,可以得到原始的数据矩阵。
其中,在步骤5中所述的“通过数据矩阵中每行数据的校验值,判断传输的数据是否被篡改并返回判断信息”,其具体作法步骤如下:
步骤51,对得到的数据矩阵的前四行的数据分别进行CRC-16校验码计算,并且与第五行数据进行比对;
步骤52,若CRC-16校验码比对正确,则将数据存入RAM中;若校验码比对错误,则将数据丢弃并返回该数据块的地址和错误数据的地址给发送方;发送方可以根据初始地址和错误数据地址找到错误数据并重新发送被篡改的数据。
其中,在步骤51中所述的“对得到的数据矩阵的前四行的数据分别进行CRC-16校验码计算,并且与第五行数据进行比对”,其具体作法如下:
对于接收端得到的数据矩阵,每行均为64比特的数据,采用CRC-16校验的方式为每行数据生成一个16比特的校验码,并依次与数据矩阵的第5行中对应位置的校验码进行对比。即第1行的校验码与第5行第1列位置的校验码进行比对,第2行的校验码与第5行第2列位置的校验码进行比对,以此类推。当某一行的数据被篡改后,对应的校验码会发生变化,接收端可以及时发现数据的篡改。
其中,在步骤52中所述的“若CRC-16校验码比对正确,则将数据存入存储器中;若校验码比对错误,则将数据丢弃并返回该数据块的地址和错误数据的地址给发送方;发送方可以根据初始地址和错误数据地址找到错误数据并重新发送被篡改的数据”,其具体作法如下:
在CRC-16校验码的比对过程中,如果校验码比对一致,则表示改数据没有被篡改,与发送端发送的数据一致,则将该行数据存入到接收端的存储器中,该行数据传输完成;如果校验码不对不一致,则将该行数据丢弃,并将该数据块的地址和错误的行号一同发送给数据发送端,发送端可以根据初始地址和错误数据地址找到错误数据并重新发送被篡改的数据。

Claims (5)

1.一种复合并行数据加密方法,其特征在于:该方法具体步骤包括:
步骤1,读取需要传输的数据,并且记录数据读取位置;
步骤2,将读取到的串行数据分成256比特的数据块,然后对划分好的数据块进行串并转换形成数据矩阵,并为每行数据生成一个校验值保存在数据矩阵中,通过矩阵变换和与给定的密钥矩阵进行矩阵操作形成传输矩阵,完成矩阵加密;
步骤3,将加密后的传输矩阵进行并串转换,发送给数据接收方,同时向接收方共享密钥矩阵;
步骤4,数据接收方接收到传输来的串行数据后,对串行数据进行串并转换,恢复出来传输矩阵,然后通过步骤2中矩阵变换的反变换恢复出带有校验值的数据矩阵;
步骤5,通过数据矩阵中每行数据的校验值,判断传输的数据是否被篡改并返回判断信息;
在步骤2中所述的“将读取到的串行数据分成256比特的数据块,然后对划分好的数据块进行串并转换形成数据矩阵,并为每行数据生成一个校验值保存在数据矩阵中,通过矩阵变换和与给定的密钥矩阵进行矩阵操作形成传输矩阵,完成矩阵加密”,
其具体作法步骤如下:
步骤21,利用计数器将需要传输的串行数据流分成256比特的数据块,在此基础上每个数据块形成一个4*4的数据矩阵,每一个矩阵元素是一个16比特的数据,即每行每列均有64比特的数据;
步骤22,在读取数据形成数据矩阵的同时,对每一行数据进行一次CRC-16校验计算,即每64比特数据生成一个16比特的校验码,并插入到数据矩阵的第5行,最终形成一个5*4的数据矩阵;
步骤23,给出共享的两个5*4的密钥矩阵,分别命名为密钥矩阵B0、密钥矩阵B1;将5*4的数据矩阵进行矩阵变换,打乱数据顺序,相当于进行简单的矩阵乘法,再与密钥矩阵B0进行异或操作,与密钥矩阵B1进行同或操作,生成用来传输的传输矩阵,完成数据加密;
其中,在步骤21中所述的“利用计数器将需要传输的串行数据流分成256比特的数据块,在此基础上每个数据块形成一个4*4的数据矩阵,每一个矩阵元素是一个16比特的数据,即每行每列均有64比特的数据”,其具体作法如下:
首先使用计数器将需要传输的串行数据流按照每256比特的大小分成预定数据块,然后以256比特大小的数据块为单位,将每个数据块中的256比特数据转换成一个4行4列的数据矩阵,共16个元素,因此每个元素为一个16比特的数据,每行每列均有64比特的数据;
其中,在步骤22中所述的“CRC-16校验”,是指一种16位的循环冗余校验,它是数据通讯过程中最常用的校验方式,能提供1/65536的误码碰撞概率;
其中,在步骤22中所述的“在读取数据形成数据矩阵的同时,对每一行数据进行一次CRC-16校验计算,即每64比特数据生成一个16比特的校验码,并插入到数据矩阵的第5行,最终形成一个5*4的数据矩阵”,其具体作法如下:
在读取数据形成数据矩阵时,每行均为64比特的数据,采用CRC-16校验的方式为每行数据生成一个16比特的校验码,并依次加入到数据矩阵的第5行;即第1行的校验码放在第5行第1列位置,第2行校验码放在第5行第2列位置,以此类推;当某一行的数据被篡改后,对应的校验码会发生变化,接收端能及时发现数据的篡改;
其中,在步骤23中所述的“给出共享的两个5*4的密钥矩阵,分别命名为密钥矩阵B0、密钥矩阵B1;将5*4的数据矩阵进行矩阵变换,打乱数据顺序,相当于进行简单的矩阵乘法,再与密钥矩阵B0进行异或操作,与密钥矩阵B1进行同或操作,生成用来传输的传输矩阵,完成数据加密”,其具体作法如下:
数据发送端提供两个5*4的矩阵作为对称加密方式的密钥矩阵,分别将这两个密钥矩阵命名为密钥矩阵B0和密钥矩阵B1;将步骤22中所述的5*4规模的数据矩阵进行矩阵变换,打乱原有矩阵中数据的顺序和位置,再将得到的新的乱序矩阵依次与密钥矩阵B0进行异或操作,与密钥矩阵B1进行同或操作,并将生成的新矩阵成为传输矩阵,至此完成数据矩阵的加密过程。
2.根据权利要求1所述的一种复合并行数据加密方法,其特征在于:在步骤1中所述的“读取需要传输的数据,并且记录数据读取位置”,其具体作法如下:在通信过程中,需要传输的数据是一组串行数据,首先从串行数据中读取需要传输的部分,通过一个计数器记录数据的读取位置,为数据的加密、恢复和校验做好准备。
3.根据权利要求1所述的一种复合并行数据加密方法,其特征在于:在步骤3中所述的“将加密后的传输矩阵进行并串转换,发送给数据接收方,同时向接收方共享密钥矩阵”,其具体作法如下:在数据进行并行加密后,需要将加密后的并行数据转换成串行数据,并发送出去;先将加密后的传输矩阵转换成串行数据,然后按照串行通信的要求依次发送给数据接收方;密钥矩阵作为对称加密的密钥需要以安全方式共享给接收方。
4.据权利要求1所述的一种复合并行数据加密方法,其特征在于:在步骤4中所述的“数据接收方接收到传输来的串行数据后,对串行数据进行串并转换,恢复出来传输矩阵,然后通过步骤2中矩阵变换的反变换恢复出带有校验值的数据矩阵”,其具体作法步骤如下:
步骤41,对接收到的数据进行串并转换,得到5*4的密文矩阵;
步骤42,按照将密文矩阵与共享的密钥矩阵相融合,即与B1同或,B0异或,将融合后的矩阵按照加密时矩阵变换的操作进行反变换,得到原始的数据矩阵;
其中,在步骤41中所述的“对接收到的数据进行串并转换,得到5*4的密文矩阵”,其具体作法如下:
数据接收方在接到传输来的串行数据后,对串行数据进行串并转换,从串行数据中能得到5*4的加密后的密文矩阵,也即传输矩阵;
其中,在步骤42中所述的“按照将密文矩阵与共享的密钥矩阵相融合,即与B1同或,B0异或,将融合后的矩阵按照加密时矩阵变换的操作进行反变换,得到原始的数据矩阵”,其具体作法如下:
将得到的密文矩阵、密钥矩阵B0和密钥矩阵B1进行矩阵运算,采用与步骤2中所述“通过矩阵变换和与给定的密钥矩阵进行矩阵操作形成传输矩阵,完成矩阵加密”的矩阵操作的反顺序操作完成;即首先将密文矩阵与密钥矩阵B1进行矩阵的同或操作,再于密钥矩阵B0进行矩阵的异或操作,最后再进行矩阵变换的反变换,能得到原始的数据矩阵。
5.据权利要求1所述的一种复合并行数据加密方法,其特征在于:在步骤5中所述的“通过数据矩阵中每行数据的校验值,判断传输的数据是否被篡改并返回判断信息”,其具体作法步骤如下:
步骤51,对得到的数据矩阵的前四行的数据分别进行CRC-16校验码计算,并且与第五行数据进行比对;
步骤52,若CRC-16校验码比对正确,则将数据存入RAM中;若校验码比对错误,则将数据丢弃并返回该数据块的地址和错误数据的地址给发送方;发送方能根据初始地址和错误数据地址找到错误数据并重新发送被篡改的数据;
其中,在步骤51中所述的“对得到的数据矩阵的前四行的数据分别进行CRC-16校验码计算,并且与第五行数据进行比对”,其具体作法如下:
对于接收端得到的数据矩阵,每行均为64比特的数据,采用CRC-16校验的方式为每行数据生成一个16比特的校验码,并依次与数据矩阵的第5行中对应位置的校验码进行对比;即第1行的校验码与第5行第1列位置的校验码进行比对,第2行的校验码与第5行第2列位置的校验码进行比对,以此类推;当一行的数据被篡改后,对应的校验码会发生变化,接收端能及时发现数据的篡改;
其中,在步骤52中所述的“若CRC-16校验码比对正确,则将数据存入存储器中;若校验码比对错误,则将数据丢弃并返回该数据块的地址和错误数据的地址给发送方;发送方可以根据初始地址和错误数据地址找到错误数据并重新发送被篡改的数据”,其具体作法如下:
在CRC-16校验码的比对过程中,如果校验码比对一致,则表示改数据没有被篡改,与发送端发送的数据一致,则将该行数据存入到接收端的存储器中,该行数据传输完成;如果校验码不对不一致,则将该行数据丢弃,并将该数据块的地址和错误的行号一同发送给数据发送端,发送端能根据初始地址和错误数据地址找到错误数据并重新发送被篡改的数据。
CN201711084839.8A 2017-11-07 2017-11-07 一种复合并行数据加密方法 Active CN107911354B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711084839.8A CN107911354B (zh) 2017-11-07 2017-11-07 一种复合并行数据加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711084839.8A CN107911354B (zh) 2017-11-07 2017-11-07 一种复合并行数据加密方法

Publications (2)

Publication Number Publication Date
CN107911354A CN107911354A (zh) 2018-04-13
CN107911354B true CN107911354B (zh) 2020-07-21

Family

ID=61843730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711084839.8A Active CN107911354B (zh) 2017-11-07 2017-11-07 一种复合并行数据加密方法

Country Status (1)

Country Link
CN (1) CN107911354B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809642B (zh) * 2018-06-14 2021-04-27 南瑞集团有限公司 一种基于fpga的多通道数据万兆加密认证高速传输实现方法
CN110300449B (zh) * 2019-07-26 2022-01-11 电子科技大学 一种基于伪多径的安全通信方法及装置
US10979054B1 (en) * 2020-01-14 2021-04-13 Nuvotonn Technology Corporation Coupling of combinational logic circuits for protection against side-channel attacks
CN113055184B (zh) * 2021-03-22 2022-11-29 中国工商银行股份有限公司 数据加解密方法及装置
CN117097559B (zh) * 2023-10-17 2023-12-19 天津德科智控股份有限公司 Eps转向角度报文传输验证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1729660A (zh) * 2002-10-17 2006-02-01 松下电器产业株式会社 分组发送接收装置
CN101710852A (zh) * 2009-11-06 2010-05-19 北京交通大学 具有加密功能的ldpc码编/解码方法和编/解码器
CN103427980A (zh) * 2013-07-30 2013-12-04 西北大学 一种基于双矩阵变换的ofdm系统物理层安全算法
CN104780022A (zh) * 2015-04-10 2015-07-15 清华大学 基于信道编码矩阵动态变化的物理层安全传输方法及系统
CN104809407A (zh) * 2015-05-05 2015-07-29 南京信息工程大学 云存储前端数据加解密及校验方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1729660A (zh) * 2002-10-17 2006-02-01 松下电器产业株式会社 分组发送接收装置
CN101710852A (zh) * 2009-11-06 2010-05-19 北京交通大学 具有加密功能的ldpc码编/解码方法和编/解码器
CN103427980A (zh) * 2013-07-30 2013-12-04 西北大学 一种基于双矩阵变换的ofdm系统物理层安全算法
CN104780022A (zh) * 2015-04-10 2015-07-15 清华大学 基于信道编码矩阵动态变化的物理层安全传输方法及系统
CN104809407A (zh) * 2015-05-05 2015-07-29 南京信息工程大学 云存储前端数据加解密及校验方法和系统

Also Published As

Publication number Publication date
CN107911354A (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN107911354B (zh) 一种复合并行数据加密方法
US8687800B2 (en) Encryption method for message authentication
CN105530263B (zh) 一种基于标签id的超轻量级rfid双向认证方法
US5757913A (en) Method and apparatus for data authentication in a data communication environment
CN102904726B (zh) 用于量子密钥分配系统的经典信道消息认证方法和装置
CN111555872B (zh) 一种通信数据处理方法、装置、计算机系统及存储介质
AU2008327506B2 (en) Method and system for encryption of data
CN112202984B (zh) 一种基于纠错冗余的密文域可逆信息隐藏方法
CN102904711B (zh) 信息加密方法
CN103595525A (zh) 一种抗去同步化的轻量级rfid双向认证协议
US20150349950A1 (en) Construction and uses of variable-input-length tweakable ciphers
CN101840485B (zh) 文件混序分割存储与合成互验的方法
CN103414549A (zh) 一种qr二维码二值图像分区变密钥混沌加密方法
CN105228157A (zh) 一种无线传感器网络安全轻量重编程方法
CN108197484A (zh) 一种分布式存储环境下实现节点数据安全的方法
CN112383522B (zh) 函数参数数据传输加密方法、系统、装置及可读存储介质
CN108964870B (zh) 基于自同步混沌密码的铁路应答器报文安全增强方法
CN110190952A (zh) 一种基于量子随机数对物联网安全的加密传输方法
CN113300840B (zh) 一种联合汉明码的数据随机加密通信方法
CN109633693A (zh) 基于国产密码的北斗二代导航系统抗欺骗方案
CN102325025A (zh) 提供源真实性的数据处理方法及系统
CN113746642B (zh) 一种计算机间通信方法及系统
CN115987500A (zh) 基于工业设备数据采集的数据安全传输方法及系统
CN116781265A (zh) 一种数据加密的方法和装置
CN103634113B (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
GR01 Patent grant
GR01 Patent grant