一种数据加密方法、数据认证方法及相关设备和系统技术方案

技术编号:20224427 阅读:28 留言:0更新日期:2019-01-28 22:27
本申请公开了一种数据加密方法、数据认证方法及相关设备和系统,所述方法包括:确定待加密数据的比特位数N;确定对待加密数据进行加密后的数据的比特位数m;选取LFSR移位操作的m阶本原多项式,并获取m比特位的初始移位数据;对属于待加密矩阵的至少两个待加密子矩阵以及属于随机矩阵的至少两个随机子矩阵进行处理,以获取待加密矩阵与随机矩阵相乘后的矩阵数据;其中,待加密矩阵是由待加密数据的N比特位构成的N行1列矩阵,随机矩阵是由m+N‑1比特位数据构成的m行N列的Toeplitz矩阵,m+N‑1比特位数据包括m比特位的初始移位数据、以及基于m阶本原多项式实现N‑1次移位应新生成的N‑1比特位数据。本申请能够提高数据完整性认证的准确性。

A Data Encryption Method, Data Authentication Method and Related Equipment and System

This application discloses a data encryption method, data authentication method and related equipment and systems, which include: determining the bit number N of data to be encrypted; determining the bit number m of data encrypted for encrypted data; selecting the m-order primitive polynomial of LFSR shift operation and obtaining the initial shift data of m-bit; and at least two bits belonging to the matrix to be encrypted. The encrypted sub-matrix and at least two random sub-matrices belonging to the random matrix are processed to obtain the matrix data multiplied by the encrypted matrix and the random matrix is a N-row-1 column matrix composed of N bits of the data to be encrypted, a Toeplitz matrix composed of m+N_1 bits of the mrow-N column, and m+N_1 bits of the data to be encrypted include m bits. The initial shift data of bits and the new N_1 bit data generated by N_1 shift based on m-order primitive polynomials. This application can improve the accuracy of data integrity authentication.

【技术实现步骤摘要】
一种数据加密方法、数据认证方法及相关设备和系统
本申请涉及量子密钥分发
,尤其涉及一种数据加密方法、数据认证方法及相关设备和系统。
技术介绍
量子密钥分发(QuantumKeyDistribution,简称QKD)与经典密钥体系的根本不同在于,其采用光子的不同量子态作为密钥的载体,由量子力学的基本原理保证了该过程的不可窃听、不可破译性,从而提供了一种更为安全的密钥体系。在QKD系统的具体实现中,要保证它的安全性需要考虑各种可能的攻击,一种可能的攻击就是中间人攻击,具体地,当窃听者Eve拥有整个可以完成QKD协议的设备时,对于合法通信双方,即QKD终端Alice和Bob,窃听者Eve可以截断Alice发给Bob的通讯信息,并且冒充自己是Bob,并在自己和Alice之间建立起一个共享密钥,同时,Eve也可以截断Bob发给Alice的通讯信息,在自己和Bob之间建立起另外一个共享密钥,这样,Alice与Bob之间的通讯信息,就可以被Eve窃取并篡改了。为了防止中间人攻击,现有的QKD数据认证算法有CRC32(32位循环冗余校验)校验算法,采用该算法对经典网络交互数据进行CRC计算,得到32bits校验值,Alice、Bob双方通过比对交互数据的CRC校验值来确定交互数据是否被篡改。但是,采用CRC算法进行校验的方法,CRC校验值的碰撞概率较高,因此,窃听者容易伪造交互数据使得CRC校验通过,不能起到很好的数据完整性验证功能。经实验验证,使用随机生成数据计算CRC校验值并统计,发现1820万个数据,冲突数量已达到38638,不能满足QKD终端数据认证的需求。
技术实现思路
有鉴于此,本申请的主要目的在于提供一种数据加密方法、数据认证方法及相关设备和系统,能够提高数据完整性认证的准确性。第一方面,本申请提供了一种数据加密方法,包括:确定待加密数据的比特位数N;确定对所述待加密数据进行加密后的数据的比特位数m,m小于N;选取实现线性反馈移位寄存器LFSR移位操作的m阶本原多项式,并获取m比特位的初始移位数据;对属于待加密矩阵的至少两个待加密子矩阵以及属于随机矩阵的至少两个随机子矩阵进行处理,以获取所述待加密矩阵与所述随机矩阵相乘后的矩阵数据,所述矩阵数据是对所述待加密数据进行加密后的数据;其中,所述待加密矩阵是由所述待加密数据的N比特位构成的N行1列矩阵;所述随机矩阵是由m+N-1比特位数据构成的m行N列的Toeplitz矩阵,所述m+N-1比特位数据包括所述m比特位的初始移位数据、以及基于所述m阶本原多项式实现N-1次移位应新生成的N-1比特位数据。第二方面,本申请提供了一种数据认证方法,所述方法应用于一种QKD系统,所述QKD系统包括通过经典网络进行通信的第一QKD终端和第二QKD终端,所述方法包括:所述第一QKD终端采用上述第一方面提供的数据加密方法对第一待认证数据进行加密;其中,所述第一待认证数据包括预设时段内所述第一QKD终端向所述第二QKD终端发送的数据、以及所述预设时段内所述第一QKD终端从所述第二QKD终端接收的数据;所述第二QKD终端采用上述第一方面提供的数据加密方法对第二待认证数据进行加密;其中,所述第二待认证数据包括所述预设时段内所述第二QKD终端向所述第一QKD终端发送的数据、以及所述预设时段内所述第二QKD终端从所述第一QKD终端接收的数据;所述第一QKD终端根据本端的加密运算结果与所述第二QKD终端的加密运算结果,确定所述第一待认证数据是否被篡改;所述第二QKD终端根据本端的加密运算结果与所述第一QKD终端的加密运算结果,确定所述第二待认证数据是否被篡改。第三方面,本申请提供了一种数据加密设备,包括:比特位数确定单元,用于确定待加密数据的比特位数N,确定对所述待加密数据进行加密后的数据的比特位数m,m小于N;移位参数获取单元,用于选取实现线性反馈移位寄存器LFSR移位操作的m阶本原多项式,并获取m比特位的初始移位数据;加密数据生成单元,用于对属于待加密矩阵的至少两个待加密子矩阵以及属于随机矩阵的至少两个随机子矩阵进行处理,以获取所述待加密矩阵与所述随机矩阵相乘后的矩阵数据,所述矩阵数据是对所述待加密数据进行加密后的数据;其中,所述待加密矩阵是由所述待加密数据的N比特位构成的N行1列矩阵;所述随机矩阵是由m+N-1比特位数据构成的m行N列的Toeplitz矩阵,所述m+N-1比特位数据包括所述m比特位的初始移位数据、以及基于所述m阶本原多项式实现N-1次移位应新生成的N-1比特位数据。第四方面,本申请提供了一种QKD系统,所述QKD系统包括通过经典网络进行通信的第一QKD终端和第二QKD终端;所述第一QKD终端,用于利用上述第三方面提供的数据加密设备对第一待认证数据进行加密;其中,所述第一待认证数据包括预设时段内所述第一QKD终端向所述第二QKD终端发送的数据、以及所述预设时段内所述第一QKD终端从所述第二QKD终端接收的数据;所述第二QKD终端,用于利用上述第三方面提供的数据加密设备对第二待认证数据进行加密;其中,所述第二待认证数据包括所述预设时段内所述第二QKD终端向所述第一QKD终端发送的数据、以及所述预设时段内所述第二QKD终端从所述第一QKD终端接收的数据;所述第一QKD终端,用于根据本端的加密运算结果与所述第二QKD终端的加密运算结果,确定所述第一待认证数据是否被篡改;所述第二QKD终端,用于根据本端的加密运算结果与所述第一QKD终端的加密运算结果,确定所述第二待认证数据是否被篡改。本申请提供了一种数据加密方法、数据认证方法及相关设备和系统,使用了属于Toeplitz矩阵的随机子矩阵对待认证数据进行加密,与现有技术相比,可以降低加密后数据的碰撞率,从而提高了加密后数据的随机性,进而提高了加密后数据的安全性,因此,在利用其加密结果进行数据完整性验证时,将本端QKD终端的加密结果传输至对端QKD终端的过程中,降低了加密结果被解密的风险,提高了数据认证的通过率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的量子密钥分发系统示意图;图2为本申请实施例提供的一种数据加密方法的流程示意图;图3为本申请实施例提供的加密流程示意图;图4为本申请实施例提供的LFSR移位原理示意图;图5为本申请实施例提供的一种数据认证方法的流程示意图;图6为本申请实施例提供的一种数据加密设备的组成示意图;图7为本申请实施例提供的一种QKD系统的组成示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。参见图1所示的量子密钥分发系统示意图,量子密钥分发(QuantumKeyDistribution,本文档来自技高网
...

【技术保护点】
1.一种数据加密方法,其特征在于,包括:确定待加密数据的比特位数N;确定对所述待加密数据进行加密后的数据的比特位数m,m小于N;选取实现线性反馈移位寄存器LFSR移位操作的m阶本原多项式,并获取m比特位的初始移位数据;对属于待加密矩阵的至少两个待加密子矩阵以及属于随机矩阵的至少两个随机子矩阵进行处理,以获取所述待加密矩阵与所述随机矩阵相乘后的矩阵数据,所述矩阵数据是对所述待加密数据进行加密后的数据;其中,所述待加密矩阵是由所述待加密数据的N比特位构成的N行1列矩阵;所述随机矩阵是由m+N‑1比特位数据构成的m行N列的Toeplitz矩阵,所述m+N‑1比特位数据包括所述m比特位的初始移位数据、以及基于所述m阶本原多项式实现N‑1次移位应新生成的N‑1比特位数据。

【技术特征摘要】
1.一种数据加密方法,其特征在于,包括:确定待加密数据的比特位数N;确定对所述待加密数据进行加密后的数据的比特位数m,m小于N;选取实现线性反馈移位寄存器LFSR移位操作的m阶本原多项式,并获取m比特位的初始移位数据;对属于待加密矩阵的至少两个待加密子矩阵以及属于随机矩阵的至少两个随机子矩阵进行处理,以获取所述待加密矩阵与所述随机矩阵相乘后的矩阵数据,所述矩阵数据是对所述待加密数据进行加密后的数据;其中,所述待加密矩阵是由所述待加密数据的N比特位构成的N行1列矩阵;所述随机矩阵是由m+N-1比特位数据构成的m行N列的Toeplitz矩阵,所述m+N-1比特位数据包括所述m比特位的初始移位数据、以及基于所述m阶本原多项式实现N-1次移位应新生成的N-1比特位数据。2.根据权利要求1所述的方法,其特征在于,所述对属于待加密矩阵的至少两个待加密子矩阵以及属于随机矩阵的至少两个随机子矩阵进行处理,包括:从所述待加密数据中未被读取过的数据中读取n比特位数据,构造n行1列的待加密子矩阵;根据LFSR移位原理以及所述m阶本原多项式,确定进行n次移位操作应新生成的n比特位数据,利用所述n次移位前LFSR中的m比特位数据以及所述n比特位数据中应在先新生成的n-1比特位数据,构造m行n列的随机子矩阵;将所述随机子矩阵与所述待加密子矩阵相乘,得到子矩阵相乘结果;当仅计算过一次子矩阵相乘结果时,再次执行以上步骤得到新的子矩阵相乘结果;当至少计算过两次子矩阵相乘结果时,将本次的子矩阵相乘结果与上一次的子矩阵相乘结果进行异或运算,得到包括m比特位数据的运算结果;循环执行所述从所述待加密数据中未被读取过的数据中读取n比特位数据及其后续步骤,直到所述待加密数据被全部读取完并得到包括m比特位数据的运算结果为止。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:将预设密钥数据作为所述待加密数据,循环执行所述从所述待加密数据中未被读取过的数据中读取n比特位数据及其后续步骤,直到所述待加密数据被全部读取完并得到包括m比特位数据的运算结果为止。4.根据权利要求3所述的方法,其特征在于,所述初始移位数据和所述预设密钥数据是从密钥缓存区中未被使用过的密钥数据中提取的,其中,所述密钥缓存区中存储了预先分配的密钥数据以及量子密钥分发QKD系统输出的量子密钥数据。5.根据权利要求2所述的方法,其特征在于,所述确定进行n次移位操作应新生成的n比特位数据,包括:采用现场可编程门阵列FPGA进行并行处理,以在预设数量的时钟周期内确定进行n次移位操作应新生成的n比特位数据。6.根据权利要求1至5任一项所述的方法,其特征在于,所述m阶本原多项式中存在系数均为0的连续高次项。7.一种数据认证方法,其特征在于,所述方法应用于一种QKD系统,所述QKD系统包括通过经典网络进行通信的第一QKD终端和第二QKD终端,所述方法包括:所述第一QKD终端采用权利要求1至6任一项所述的方法对第一待认证数据进行加密;其中,所述第一待认证数据包括预设时段内所述第一QKD终端向所述第二QKD终端发送的数据、以及所述预设时段内所述第一QKD终端从所述第二QKD终端接收的数据;所述第二QKD终端采用权利要求1至6任一项所述的方法对第二待认证数据进行加密;其中,所述第二待认证数据包括所述预设时段内所述第二QKD终端向所述第一QKD终端发送的数据、以及所述预设时段内所述第二QKD终端从所述第一QKD终端接收的数据;所述第一QKD终端根据本端的加密运算结果与所述第二QKD终端的加密运算结果,确定所述第一待认证数据是否被篡改;所述第二QKD终端根据本端的加密运算结果与所述第一QKD终端的加密运算结果,确定所述第二待认证数据是否被篡改。8.根据权利要求7所述的方法,其特征在于,将权利要求3或4所述方法中的预设密钥数据称为第一密钥、第二密钥或第三密钥,则:所述对第一待认证数据进行加密,包括:所述第一QKD终端基于所述第一密钥对所述第一待认证数据进行加密,得到第一哈希值;利用第二密钥对所述第一哈希值进行加密,将得到的第一密文发送至所述第二QKD终端;相应地,所述对第二待认证数据进行加密,包括:所述第二QKD终端基于所述第一密钥对所述第二待认证数据进行加密,得到第二哈希值;利用与所述第二密钥不同的第三密钥对所述第二哈希值进行加密,将得到的第二密文发送至所述第...

【专利技术属性】
技术研发人员:程节汤艳琳赵梅生
申请(专利权)人:科大国盾量子技术股份有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1