CN109902498A - 数据加密方法、数据解密方法及相应的装置和设备 - Google Patents

数据加密方法、数据解密方法及相应的装置和设备 Download PDF

Info

Publication number
CN109902498A
CN109902498A CN201910146798.3A CN201910146798A CN109902498A CN 109902498 A CN109902498 A CN 109902498A CN 201910146798 A CN201910146798 A CN 201910146798A CN 109902498 A CN109902498 A CN 109902498A
Authority
CN
China
Prior art keywords
data
matrix
key matrix
encryption key
encryption
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
CN201910146798.3A
Other languages
English (en)
Other versions
CN109902498B (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.)
Nanjing Normal University
Original Assignee
Nanjing Normal 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 Nanjing Normal University filed Critical Nanjing Normal University
Priority to CN201910146798.3A priority Critical patent/CN109902498B/zh
Publication of CN109902498A publication Critical patent/CN109902498A/zh
Application granted granted Critical
Publication of CN109902498B publication Critical patent/CN109902498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种数据加密方法、数据解密方法及相应的装置和设备,涉及通信技术领域,其包括:基于多维类正交伪随机矩阵生成加密密钥矩阵;向接收端分配所述加密密钥矩阵;通过所述加密密钥矩阵对原始数据进行加密,以得到加密数据;将所述加密数据发送至所述接收端。采用上述方案可以解决现有技术中无法得到具有良好随机性和不可预测性的伪随机序列作为加密密钥矩阵的技术问题,实现了通过多维类正交伪随机矩阵得到具有伪随机特性和正交特征的加密密钥矩阵,保证了原始数据传输的安全性和准确性。

Description

数据加密方法、数据解密方法及相应的装置和设备
技术领域
本发明涉及通信技术领域,尤其涉及一种数据加密方法、数据解密方法及相应的装置和设备。
背景技术
密码学是研究编制密码和破译密码的技术科学。其中,研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,两者总称为密码学。密码学的基础思想就是对数据进行一组可逆的数据变换,使未授权者不能理解它的真实含义。
一般而言,对数据进行数据变换的过程称为加密过程,授权者从加密数据中得到数据的过程称为解密过程。无论对于加密过程还是解密过程,加密密钥都是至关重要的一环。为了保证通信双方的精确同步以及数据的准确、安全传输,加密密钥一般要求具有良好的随机性和不可预测性。然而,现有技术并不能得到满足上述需求的加密密钥。
发明内容
有鉴于此,本发明实施例提供一种数据加密方法、数据解密方法及相应的装置和设备,以解决现有技术中无法得到具有良好随机性和不可预测性的伪随机序列作为加密密钥矩阵的技术问题。
第一方面,本发明实施例提供了一种数据加密方法,包括:
基于多维类正交伪随机矩阵生成加密密钥矩阵;
向接收端分配所述加密密钥矩阵;
通过所述加密密钥矩阵对原始数据进行加密,以得到加密数据;
将所述加密数据发送至所述接收端。
第二方面,本发明实施例还提供了一种数据解密方法,包括:
确认发送端分配的加密密钥矩阵,所述加密密钥矩阵根据多维类正交伪随机矩阵确定;
接收发送端发送的加密数据;
根据所述加密密钥矩阵确定解密密钥矩阵;
通过所述解密密钥矩阵对所述加密数据进行解密,以得到原始数据。
第三方面,本发明实施例还提供了一种数据加密装置,包括:
加密矩阵确定模块,用于基于多维类正交伪随机矩阵生成加密密钥矩阵;
密钥分配模块,用于向接收端分配所述加密密钥矩阵;
加密模块,用于通过所述加密密钥矩阵对原始数据进行加密,以得到加密数据;
数据发送模块,用于将所述加密数据发送至所述接收端。
第四方面,本发明实施例还提供了一种数据解密装置,包括:
密钥确认模块,用于确认发送端分配的加密密钥矩阵,所述加密密钥矩阵根据多维类正交伪随机矩阵确定;
数据接收模块,用于接收发送端发送的加密数据;
解密矩阵确定模块,用于根据所述加密密钥矩阵确定解密密钥矩阵;
解密模块,用于通过所述解密密钥矩阵对所述加密数据进行解密,以得到原始数据。
第五方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
通信装置,用于进行数据通信;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的数据加密方法。
第六方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
通信装置,用于进行数据通信;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第二方面所述的数据解密方法。
第七方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据加密方法。
第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第二方面所述的数据解密方法。
上述提供的数据加密方法、数据解密方法及相应的装置和设备,通过根据多维类正交伪随机矩阵生成加密密钥矩阵,并告知接收端加密密钥矩阵,之后,基于加密密钥矩阵对原始数据进行加密,并将加密数据发送至接收端的技术手段,解决了现有技术中无法得到具有良好随机性和不可预测性的伪随机序列作为加密密钥矩阵的技术问题,实现了通过多维类正交伪随机矩阵得到具有伪随机特性和正交特征的加密密钥矩阵,保证了原始数据传输的安全性和准确性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一提供的一种数据加密方法的流程图;
图2为本发明实施例二提供的一种数据解密方法的流程图;
图3为本发明实施例三提供的一种数据交互方法的流程图;
图4为本发明实施例四提供的一种数据加密装置的结构示意图;
图5为本发明实施例五提供的一种数据解密装置的结构示意图;
图6是本发明实施例六提供的一种设备的硬件结构示意图;
图7是本发明实施例七提供的一种设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
图1为本发明实施例一提供的一种数据加密方法的流程图。本实施例提供的数据加密方法可以由数据加密装置执行,该数据加密装置通过软件和/或硬件的方式实现,并集成在设备中。其中,该设备为具有通信功能以及数据处理功能的设备。例如,台式电脑等。实施例中,将用于执行数据加密方法的设备记为发送端。相应的,实际应用中,存在与发送端进行通信的接收端,该接收端用于接收发送端发送的数据。
具体的,参考图1,本实施例提供的数据加密方法具体包括:
S110、基于多维类正交伪随机矩阵生成加密密钥矩阵。
示例性的,多维类正交伪随机矩阵可以理解为规模比较大的矩阵,即存在较多行和较多列的矩阵,该矩阵的行向量序列构成的序列集以及列向量序列构成的序列集分别具有很好的类相关性,其互相关系数接近0。一般而言,多维类正交伪随机矩阵还具有比较好的伪随机性。因此,本实施例中,通过多维类正交伪随机矩阵构造加密密钥矩阵。进一步的,实施例中以序列密码为例进行描述,其中,加密密钥矩阵可以理解为序列密码的密钥序列,其可以对原始数据进行有效的加密,且加密数据仅能被具有相同加密密钥矩阵的接收端进行解密,以保证数据的准确传输。
具体的,多维类正交伪随机矩阵根据生成多项式确定,其具体为:根据需要对本原多项式进行筛选组合得到生成多项式,然后对生成多项式经过群变换和数值转换后生成多维类正交伪随机矩阵。其中,本原多项式是唯一分解整环上满足所有系数的最大公因数为1的多项式。由于生成多项式可以由任意不同阶数的本原多项式按照任意顺序组合而成,因此,生成多项式对应的多维类正交伪随机矩阵中的行向量或列向量具有不可预测性。同时,多维类正交伪随机矩阵中任一行向量或列向量为一类伪随机序列,且多维类正交伪随机矩阵具有正交性。举例而言,假设生成多项式为f(x)=x8+x4+x2+x+1,由该生成多项式经过群变换后,产生类生成矩阵G,其中,在G中取矩阵P,进一步的,对P进行数值变换,得到多维类正交伪随机矩阵M。此时,
进一步的,通过多维类正交伪随机矩阵确定加密密钥矩阵时,需要参考待加密的原始数据,例如,原始数据是一个包含N列的矩阵,那么对应的加密密钥矩阵应该为一个包含N行的矩阵,因此,通过多维类正交伪随机矩阵确定加密密钥矩阵时,应在多维类正交伪随机矩阵中选择N行满足条件的行向量组成加密密钥矩阵。
具体的,通过多维类正交伪随机矩阵确定加密密钥矩阵可以包括下述两类方案:
方案一、将多维类正交伪随机矩阵输入至最大似然序列选择器,以得到加密密钥矩阵。
其中,最大似然法的目标是寻找能够以较高概率产生观察数据的***发生数。本实施例中,设定最大似然法所使用的模型记为最大似然序列选择器,进一步的,该最大似然序列选择器的阈值为0。通过最大似然序列选择器,可以在多维类正交伪随机矩阵中筛选出互相关系数为0的行向量,进而得到一个完全正交的正交矩阵,并在正交矩阵中选择目标行数的行向量组成加密密钥矩阵。其中,目标行数为原始数据对应的列向量的数。需要说明的是,选择互相关系数为0的行向量是为了保证加密密钥矩阵的正交性,进而保证接收端可以解密得到准确的原始数据。
方案二、计算多维类正交伪随机矩阵的任意两列列向量之间的互相关系数;选择具有相同互相关系数的列向量,组成第一目标矩阵;将第一目标矩阵的转置矩阵作为加密密钥矩阵。
其中,任意两列列向量之间的互相关系数的具体计算方式本实施例不作限定。具体的,得到互相关系数后,统计每个互相关系数对应的列向量。例如,某个互相关系数对应多维类正交伪随机矩阵的第1、2、3、4、8列的列向量,那么可以说明第1、2、3、4、8列的列向量之间的互相关系数是相等的。此时,可以将第1、2、3、4、8列的列向量筛选出来组成第一目标矩阵。可选的,组成第一目标矩阵时,可以在具有相同互相关系数的列向量中选择目标列数的列向量组成第一目标矩阵,其中,目标列数为原始数据对应的列向量的数。
可选的,如果有多个互相关系数,且每个互相关系数对应的列向量的数量均大于目标列数,那么,可以在多个互相关系数中任意选择一个互相关系数,并基于其对应的列向量确定第一目标矩阵。
进一步的,确定第一目标矩阵的转置矩阵,并将该转置矩阵作为加密密钥矩阵,以保证加密密钥矩阵的行向量数量与原始数据的列向量数量相等。
S120、向接收端分配加密密钥矩阵。
示例性的,只有接收端与发送端都必须明确加密密钥矩阵,才能保证接收端准确解密得到原始数据。因此,确定加密密钥矩阵后,发送端向接收端分配加密密钥矩阵,以保证接收端接收到加密数据后,可以准确解密得到原始数据,即对接收端进行授权。其中,加密密钥矩阵的分配方式本实施例不作限定。例如,发送端将加密密钥矩阵通过安全信道发送至接收端,同时告知接收端解密密钥矩阵的生成方法。又如,发送端根据加密密钥矩阵确定对应的解密密钥矩阵,并将解密密钥矩阵通过安全信道发送至接收端。其中,解密密钥矩阵的确定方式实施例不作限定。本实施例中,优选由发送端将加密密钥矩阵发送至接收端,并告知接收端解密密钥矩阵的生成方法。
S130、通过加密密钥矩阵对原始数据进行加密,以得到加密数据。
具体的,原始数据为载有发送消息的数字序列,其将发送消息按照预设编码规则编码成数字序列。相应的,接收端具有相应的解码规则,以实现从原始数据中解码得到发送消息,其中,具体的编码和解码规则本实施例不做限定。进一步的,原始数据为行向量数量至少为1的矩阵,本实施例中,优选设定原始数据为行向量数量为1的二进制矩阵,即原始数据是由0和1组成的二进制行向量。进一步的,设定将原始数据与加密密钥矩阵相乘,并将相乘结果作为加密数据。此时,完成原始数据的加密数据。由于原始数据是一个由0和1组成的二进制行向量,那么,原始数据与加密密钥矩阵相乘后,便可以得到一个不限定于二进制的行向量。
S140、将加密数据发送至接收端。
其中,加密数据的具体发送方式实施例不作限定。
本实施例提供的技术方案,通过根据多维类正交伪随机矩阵生成加密密钥矩阵,并告知接收端加密密钥矩阵,之后,基于加密密钥矩阵对原始数据进行加密,并将加密数据发送至接收端的技术手段,解决了现有技术中无法得到具有良好随机性和不可预测性的伪随机序列作为加密密钥矩阵的技术问题,实现了通过多维类正交伪随机矩阵得到具有伪随机特性和正交特征的加密密钥矩阵,保证了原始数据传输的安全性和准确性。
实施例二
图2为本发明实施例二提供的一种数据解密方法的流程图。本实施例提供的数据解密方法可以由数据解密装置执行,该数据解密装置通过软件和/或硬件的方式实现,并集成在设备中。其中,该设备为具有通信功能以及数据处理功能的设备。例如,台式电脑等。实施例中,将用于执行数据解密方法的设备记为接收端。相应的,实际应用中,存在与接收端进行通信的发送端,该发送端用于生成加密数据并发送至接收端,发送端的具体工作方式可以参照实施例一。
具体的,参考图2,本实施例提供的数据解密方法具体包括:
S210、确认发送端分配的加密密钥矩阵。
其中,加密密钥矩阵根据多维类正交伪随机矩阵确定。具体的,多维类正交伪随机矩阵和加密密钥矩阵的确定方式可以参照实施例一,在此不作赘述。进一步的,发送端可以将加密密钥矩阵通过安全信道发送至接收端,同时告知接收端解密密钥矩阵的生成方法,或者,发送端根据加密密钥矩阵确定对应的解密密钥矩阵,并将解密密钥矩阵通过安全信道发送至接收端。因此,接收端有可能接收到加密密钥矩阵和解密密钥矩阵的生成方法,或者是解密密钥矩阵。实施例中,设定发送端将加密密钥矩阵通过安全信道发送至接收端,同时告知接收端解密密钥矩阵的生成方法,此时,接收端接收到加密密钥矩阵和解密密钥矩阵的生成方法。一般而言,发送端将加密密钥矩阵确定后,便将加密密钥矩阵和解密密钥矩阵的生成方法一同分配至接收端,因此,接收端接收加密密钥是早于接收加密数据的。
S220、接收发送端发送的加密数据。
其中,加密数据的传输方式和接收方式本实施例不作限定。
S230、根据加密密钥矩阵确定解密密钥矩阵。
具体的,由于接收端已经被分配了加密密钥矩阵,那么,在接收到加密数据后,可以根据加密密钥矩阵确定对应的解密密钥矩阵。其中,解密密钥矩阵同样可以理解为序列密码的密钥序列,其可以对加密数据进行解密,以得到原始数据。一般而言,为了保证解密密钥矩阵可以准确地对加密数据进行解密,实施例中,设定依据加密密钥矩阵生成对应的解密密钥矩阵。
可选的,解密密钥矩阵的确定方式可以根据实际情况设定。实施例中示例性的采用下述方式确定解密密钥矩阵,具体的,S230可以包括:S231-S233。
S231、统计加密密钥矩阵中列向量的总数量。
S232、将加密密钥矩阵的转置矩阵作为第二目标矩阵。
S233、将总数量的倒数与第二目标矩阵相乘,以得到解密密钥矩阵。
具体的,由于加密密钥矩阵的各行向量之间或者各列向量之间完全正交,那么,加密密钥矩阵乘以第二目标矩阵便可以得到一个n乘单位矩阵的结果,其中,n为加密密钥矩阵的列向量的总数量,第二目标矩阵为加密密钥矩阵的转置矩阵。进一步的,由于加密数据是原始数据乘以加密密钥矩阵后得到的数据,那么,将加密数据乘以第二目标矩阵和1/n时,便可以得到原始数据。因此,实施例中设定将总数量的倒数与第二目标矩阵的相乘结果作为解密密钥矩阵。
S240、通过解密密钥矩阵对所述加密数据进行解密,以得到原始数据。
具体的,将加密数据乘以解密密钥矩阵后,得到的结果便是原始数据。
进一步的,当加密密钥矩阵根据多维类正交伪随机矩阵中具有相同互相关系数的列向量确定时,由于互相关系数可能不完全为零,那么,加密密钥矩阵乘以第二目标矩阵时,得到的结果中可能不包含单位矩阵,因此,根据加密密钥矩阵确定解密密钥矩阵后,通过解密密钥矩阵可能得不到准确的原始数据,即存在数据误差。因为,本实施例中设定,当加密密钥矩阵根据多维类正交伪随机矩阵中具有相同互相关系数的列向量确定时,S240包括:S241-S247。
S241、将加密数据与解密密钥矩阵相乘,以得到目标数据。
其中,目标数据可以认为是通过解密密钥矩阵对加密数据进行解密得到的数据。此时,目标数据可能并非是二进制序列。
S242、确定目标数据中的最大数据值和最小数据值。
具体的,遍历目标数据中的全部数据值,选择最大数据值和最小数据值。
S243、计算最大数据值和最小数据值的平均数据值。
S244、分别将目标数据中各数据值与平均数据值进行比较。若比较结果述数据值大于所述平均数据值,则执行S245。若比较结果为数据值小于或等于所述平均数据值,执行S246。
S245、将数据值修改为第一数值。执行S247。
S246、将数据值修改为第二数值。执行S247。
具体的,由于加密密钥矩阵的各行之间的互相关系数是相同的,因此,得到的数据误差也是相同的。所以,实施例中设定通过平均数据值对解密得到的目标数据进行修正。具体的,设定将目标数据中的各数据值与平均数据值进行比较,若某个数据值大于平均数据值,则将目标数据中,该数据值修改为第一数值,即进行数值替换。若某个数据值小于或等于平均数据值,则将目标数据中,该数据值修改为第二数值,即进行数值替换,以得到二进制的目标数据。可选的,设定第一数值为1,第二数值为0。
S247、获取修改后的目标数据,并将修改后的目标数据作为原始数据。
具体的,修改后的目标数据即为原始数据。
本实施例提供的技术方案,通过确认发送端分配的加密密钥矩阵,接收发送端的加密数据,并通过加密密钥矩阵确定解密密钥矩阵,进而通过解密密钥矩阵得到原始数据的技术方案,保证了在选择具有伪随机特征的加密密钥矩阵时,得到准确的原始数据,且保证了数据安全性,仅有在与发送端具有相同的加密密钥矩阵时,才可以解密得到原始数据。
实施例三
图3为本发明实施例三提供的一种数据交互方法的流程图。本实施例提供的数据交互方法适用于接收端和发送端进行信息传输的场景,为一优选示例。其中,发送端的具体执行功能请参照实施例一,接收端的具体执行功能请参照
实施例二。
参考图3,本实施例提供的数据交互方法具体包括:
S310、发送端基于多维类正交伪随机矩阵生成加密密钥矩阵。
S320、发送端向接收端分配加密密钥矩阵。
S330、接收端确认发送端分配的加密密钥矩阵。
其中,加密密钥矩阵根据多维类正交伪随机矩阵确定。
S340、发送端通过加密密钥矩阵对原始数据进行加密,以得到加密数据。
S350、发送端将加密数据发送至接收端。
S360、接收端接收发送端发送的加密数据。
S370、接收端根据加密密钥矩阵确定解密密钥矩阵。
S380、接收端通过解密密钥矩阵对加密数据进行解密,以得到原始数据。
下面示例性描述发送端的加密过程以及接收端的解密过程:
设定多维类正交伪随机矩阵为M1,且原始数据为X1,且X1=(0110100)。由于X1是包含7个元素的向量,那么,设定将M1作为加密密钥矩阵,此时,不对M1执行任何操作。发送端向接收端分配加密密钥矩阵M1
进一步的,发送端对X1进行加密,得到加密数据,加密数据记为Y1,即
进一步的,发送端将Y1发送至接收端。接收端接收到Y1后,首先,获取M1,然后,统计M1包含的列向量的总数量为8,此时,确定解密密钥矩阵M1 -1,即
之后,接收端通过解密密钥矩阵解密得到原始数据,该原始数据为X1’,即
此时,可以确定,接收端解密得到的X1’与发送端实际想要发送的X1并不完全相同,他们之间存在一定的误差。这是因为多维类正交伪随机矩阵的任意两个行向量之间的互相关系数可能不完全是0,而是接近于0,此时,互相关系数接近为0的行向量会影响原始数据恢复。
有鉴于此,实施例中设定根据多维类正交伪随机矩阵确定加密密钥矩阵时,对多维类正交伪随机矩阵执行下述两类操作方式。
一、设定最大似然序列选择器,且其阈值为0。此时,通过最大似然序列选择器在多维类正交伪随机矩阵中筛选出各行向量间完全正交的矩阵作为加密密钥矩阵。
举例而言,设定本原多项式最高阶数为6,且采用的两个本原多项式分别为:f1(x)=x6+x5+1,f2(x)=x6+x5+x4+x2+1。此时,发送端根据上述两个本原多项式得到的生成多项式为:g(x)=x12+x9+x8+x7+x4+x2+1。进一步的,发送端对生成多项式进行群变换和数值转换后,得到多维类正交伪随机矩阵,记为M2。进一步的,发送端将M2输入至阈值为0的最大似然序列选择器,以得到一个完全正交的矩阵,该矩阵记为PN’。此时,PN’中任意两个行向量之间的互相关系数为0。
进一步的,设定原始数据X2=(0111)。此时,发送端确定X2中包含4个元素,即X2的列向量的数量为4,此时,在PN’中任意选择4个行向量组成加密密钥矩阵N1。设定此时,发送端将N1分配给接收端。
进一步的,发送端对X2进行加密,得到加密数据,该加密数据记为Y2,即,
进一步的,发送端将Y2发送至接收端。此时,接收端接收到Y2后,首先,获取N1,然后,统计N1包含的列向量的总数量为12,并确定解密密钥矩阵为M2 -1。即之后,通过解密密钥矩阵对Y2解密得到原始数据,该原始数据记为X2’,此时,
基于上述结果可知,解密得到的X2’与X2相等,即采用最大似然序列选择器确定加密密钥矩阵可以使得接收端得到准确的原始数据。
二、计算多维类正交伪随机矩阵中各列向量之间的互相关系数,选择互相关系数相同的列向量以得到加密密钥矩阵。
举例而言,假设生成多项式f3(x)=x8+x4+x2+x+1,其码长为n=15,信息位长度k=7,生成多项式的阶数r=8。由该生成多项式经过群变化和数值转换之后,得到多维类正交伪随机矩阵M3。进一步的,计算M3中各列向量之间的互相关系数。其中,第1、2、3、4、8列的列向量之间的互相关系数相同,均为-0.14286,即上述列向量之间的互相关系数趋近于0。进一步的,确认原始数据X3=(10100),即原始数据包含5个元素,此时,取M3中第1、2、3、4、8列的列向量组成第一目标矩阵,记为P5,此时,进一步的,将P5的转置矩阵作为加密密钥矩阵。此时,加密密钥矩阵记为N2发送端将N2分配给接收端。
进一步的,发送端对X3进行加密,得到加密数据,该加密数据记为Y3,即,
进一步的,发送端将Y3发送至接收端。此时,接收端接收到Y3后,首先,获取N2,然后,统计N2包含的列向量的总数量为7,并确定解密密钥矩阵为M3 -1。即之后,通过M3 -1对Y3解密得到目标数据,该目标数据记为X3’,此时,
进一步的,确定目标数据中最大数据值为0.8571,最小数据值为-0.2857。之后,计算最大数据值和最小数据值的平均数据值为0.2857。此时,我们将目标数据中大于平均数据值的数据值记为1,小于或等于平均数据值的数据值记为0,并将得到的数据记为原始数据,此时,原始数据X3’=(10100)。
基于上述结果可知,X3’与X3相等,即选择多维类正交伪随机矩阵中互相关系数相同的列向量组成加密密钥矩阵,且对解密结果进行处理后可以使得接收端接收到准确的原始数据。
需要说明的是,实际应用中,除去通过多维类正交伪随机矩阵确定加密密钥矩阵,还可以通过哈达玛矩阵确定加密密钥矩阵。其中,哈达玛矩阵是一个完全正交的矩阵,其任意的两个行向量之间的互相关系数为0,每个行向量的自相关系数为1,即哈达玛矩阵和哈达玛矩阵的转置矩阵相乘后等于n×E,其中,n为哈达码矩阵的列数。
具体的,设定原始数据为X4=(x1,x2,x3,……,xn)。哈达玛矩阵记为Hn,且Hn为n阶哈达玛矩阵。同时,设定发送端和接收端均有该哈达玛矩阵。
进一步的,Hn可以表示为:其中,
此时,基于Hn对X4加密,加密数据记为Y4,且Y4=X4·Hn=(y1,y2,y3,……,yn)。发射端将Y4发送至接收端。
进一步的,接收端接收到Y4后,基于Hn确定解密密钥矩阵,记为M4 -1,此时,
进一步的,通过M4 -1对Y4进行解密,并将得到原始矩阵记为X4’。此时,
进一步的,由于Hn·Hn T=n×E,所以即X4’=X4。此时,接收端根据哈达玛矩阵可以对解密数据解密得到准确的原始数据。
举例而言,设定,原始数据为X5,且X5=(10101100),哈达玛矩阵为8阶,记为H8,此时,发生端和接收端均有H8
进一步的,发送端为原始数据进行加密,并得到加密数据,记为Y5,且
进一步的,发送端向接收端发送Y5,接收端接收到Y5后,获取H8,并确定解密密钥矩阵为H8 -1,且
进一步的,接收端对Y5解密得到X5’,且 即解密得到的X5’=X5
因此,根据上述描述可知,应用Hadamard矩阵,我们可以在发送端对信息进行加密;在接收端,只要将接收到的加密信息与Hadamard“逆”矩阵相乘,就能恢复出的原信息。因此,可以将Hadamard矩阵作为密钥序列应用于序列密码中。
实施例四
图4为本发明实施例四提供的一种数据加密装置的结构示意图。参考图4,该数据加密装置包括:加密矩阵确定模块401、密钥分配模块402、加密模块403以及数据发送模块404。
其中,加密矩阵确定模块401,用于基于多维类正交伪随机矩阵生成加密密钥矩阵;密钥分配模块402,用于向接收端分配所述加密密钥矩阵;加密模块403,用于通过所述加密密钥矩阵对原始数据进行加密,以得到加密数据;数据发送模块404,用于将所述加密数据发送至所述接收端。
本实施例提供的技术方案,通过根据多维类正交伪随机矩阵生成加密密钥矩阵,并告知接收端加密密钥矩阵,之后,基于加密密钥矩阵对原始数据进行加密,并将加密数据发送至接收端的技术手段,解决了现有技术中无法得到具有良好随机性和不可预测性的伪随机序列作为加密密钥矩阵的技术问题,实现了通过多维类正交伪随机矩阵得到具有伪随机特性和正交特征的加密密钥矩阵,保证了原始数据传输的安全性和准确性。
在上述实施例的基础上,加密矩阵确定模块401具体用于:将多维类正交伪随机矩阵输入至最大似然序列选择器,以得到加密密钥矩阵,所述最大似然序列选择器的阈值为0。
在上述实施例的基础上,加密矩阵确定模块401包括:系数计算单元,用于计算多维类正交伪随机矩阵的任意两列列向量之间的互相关系数;目标矩阵组成单元,用于选择具有相同互相关系数的列向量,组成第一目标矩阵;转置矩阵确定单元,用于将第一目标矩阵的转置矩阵作为加密密钥矩阵。
本实施例提供的数据加密装置可用于执行上述实施例一提供的数据加密方法,具备相应的功能和有益效果。
实施例五
图5为本发明实施例五提供的一种数据解密装置的结构示意图。参考图5,本实施例提供的数据解密装置具体包括:密钥确认模块501、数据接收模块502、解密矩阵确定模块503以及解密模块504。
其中,密钥确认模块501,用于确认发送端分配的加密密钥矩阵,所述加密密钥矩阵根据多维类正交伪随机矩阵确定;数据接收模块502,用于接收发送端发送的加密数据;解密矩阵确定模块503,用于根据所述加密密钥矩阵确定解密密钥矩阵;解密模块504,用于通过所述解密密钥矩阵对所述加密数据进行解密,以得到原始数据。
本实施例提供的技术方案,通过确认发送端分配的加密密钥矩阵,接收发送端的加密数据,并通过加密密钥矩阵确定解密密钥矩阵,进而通过解密密钥矩阵得到原始数据的技术方案,保证了在选择具有伪随机特征的加密密钥矩阵时,得到准确的原始数据,且保证了数据安全性,仅有在与发送端具有相同的加密密钥矩阵时,才可以解密得到原始数据。
在上述实施例的基础上,解密矩阵确定模块503包括:总数量统计单元,用于统计加密密钥矩阵中列向量的总数量;目标矩阵确定单元,用于将加密密钥矩阵的转置矩阵作为第二目标矩阵;相乘单元,用于将所述总数量的倒数与所述第二目标矩阵相乘,以得到解密密钥矩阵。
在上述实施例的基础上,加密密钥矩阵根据多维类正交伪随机矩阵中具有相同互相关系数的列向量确定,解密模块504包括:数据确定单元,用于将所述加密数据与所述解密密钥矩阵相乘,以得到目标数据;数据值确定单元,用于确定目标数据中的最大数据值和最小数据值;平均值计算单元,用于计算所述最大数据值和所述最小数据值的平均数据值;比较单元,用于分别将目标数据中各数据值与平均数据值进行比较;第一修改单元,用于若比较结果为所述数据值大于所述平均数据值,则将所述数据值修改为第一数值;第二修改单元,用于若比较结果为所述数据值小于或等于所述平均数据值,则将所述数据值修改为第二数值;获取单元,用于获取修改后的目标数据,并将修改后的目标数据作为原始数据。
本实施例提供的数据解密装置可用于执行上述实施例二提供的数据解密方法,具备相应的功能和有益效果。
实施例六
图6是本发明实施例六提供的一种设备的硬件结构示意图。本发明实施例六中的设备为发送端,即为数据加密设备。如图6所示,本发明实施例六提供的数据加密设备,包括:处理器610和存储器620、输入装置630、输出装置640和通信装置650。该数据加密设备中的处理器610可以是一个或多个,图6中以一个处理器610为例,所述数据加密设备中的处理器610、存储器620、输入装置630、输出装置640和通信装置650可以通过总线或其他方式连接,图6中以通过总线连接为例。
其中,该数据加密设备中的存储器620作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例一所提供应用于发送端的数据加密方法对应的程序指令/模块(例如,图4所示的数据加密装置中的模块,包括:加密矩阵确定模块401、密钥分配模块402、加密模块403和数据发送模块404)。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例中的数据加密方法。
存储器620可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可用于接收用户输入的数字或字符信息,以产生与数据加密设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。通信装置650,用于与接收端进行数据通信,例如,向接收端分配加密密钥矩阵以及发送加密数据。
上述数据加密设备作为发送端时,可执行本发明任意实施例所提供的应用于发送端的数据加密方法,且具备相应的功能和有益效果。
实施例七
图7是本发明实施例七提供的一种设备的硬件结构示意图。本发明实施例六中的设备为接收端,即为数据解密设备。如图7所示,本发明实施例七提供的数据解密设备,包括:处理器710、存储器720、输入装置730、输出装置740和通信装置750。该数据解密设备中的处理器710可以是一个或多个,图7中以一个处理器710为例,所述数据解密设备中的处理器710、存储器720、输入装置730、输出装置740和通信装置750可以通过总线或其他方式连接,图7中以通过总线连接为例。
其中,该数据解密设备中的存储器720作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例二所提供应用于接收端的数据解密方法对应的程序指令/模块(例如,图5所示的数据解密装置中的模块,包括:密钥确认模块501、数据接收模块502、解密矩阵确定模块503和解密模块504)。处理器710通过运行存储在存储器720中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例中的数据解密方法。
存储器720可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可用于接收用户输入的数字或字符信息,以产生与数据解密设备的用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。通信装置750,用于与发送端进行数据通信,例如,接收发送端分配的加密密钥矩阵以及发送端发送的加密数据。
上述数据解密设备作为接收端时,可执行本发明任意实施例所提供的应用于接收端的数据解密方法,且具备相应的功能和有益效果。
实施例八
本发明实施例八还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的应用于发送端的数据加密方法,该方法包括:
基于多维类正交伪随机矩阵生成加密密钥矩阵;
向接收端分配所述加密密钥矩阵;
通过所述加密密钥矩阵对原始数据进行加密,以得到加密数据;
将所述加密数据发送至所述接收端。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用于发送端的数据加密方法操作,还可以执行本发明任意实施例所提供的应用于发送端的数据加密方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的应用于发送端的数据加密方法。
实施例九
本发明实施例九还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的应用于接收端的数据解密方法,该方法包括:
确认发送端分配的加密密钥矩阵,所述加密密钥矩阵根据多维类正交伪随机矩阵确定;
接收发送端发送的加密数据;
根据所述加密密钥矩阵确定解密密钥矩阵;
通过所述解密密钥矩阵对所述加密数据进行解密,以得到原始数据。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用于接收端的数据解密方法操作,还可以执行本发明任意实施例所提供的应用于接收端的数据解密方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的应用于接收端的数据解密方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据加密方法,其特征在于,包括:
基于多维类正交伪随机矩阵生成加密密钥矩阵;
向接收端分配所述加密密钥矩阵;
通过所述加密密钥矩阵对原始数据进行加密,以得到加密数据;
将所述加密数据发送至所述接收端。
2.根据权利要求1所述的数据加密方法,其特征在于,所述基于多维类正交伪随机矩阵生成加密密钥矩阵包括:
将多维类正交伪随机矩阵输入至最大似然序列选择器,以得到加密密钥矩阵,所述最大似然序列选择器的阈值为0。
3.根据权利要求1所述的数据加密方法,其特征在于,所述基于多维类正交伪随机矩阵生成加密密钥矩阵包括:
计算多维类正交伪随机矩阵的任意两列列向量之间的互相关系数;
选择具有相同互相关系数的列向量,组成第一目标矩阵;
将第一目标矩阵的转置矩阵作为加密密钥矩阵。
4.一种数据解密方法,其特征在于,包括:
确认发送端分配的加密密钥矩阵,所述加密密钥矩阵根据多维类正交伪随机矩阵确定;
接收发送端发送的加密数据;
根据所述加密密钥矩阵确定解密密钥矩阵;
通过所述解密密钥矩阵对所述加密数据进行解密,以得到原始数据。
5.根据权利要求4所述的数据解密方法,其特征在于,所述根据加密密钥矩阵确定解密密钥矩阵包括:
统计加密密钥矩阵中列向量的总数量;
将加密密钥矩阵的转置矩阵作为第二目标矩阵;
将所述总数量的倒数与所述第二目标矩阵相乘,以得到解密密钥矩阵。
6.根据权利要求4所述的数据解密方法,其特征在于,所述加密密钥矩阵根据多维类正交伪随机矩阵中具有相同互相关系数的列向量确定;
所述通过所述解密密钥矩阵对所述加密数据进行解密,以得到原始数据包括:
将所述加密数据与所述解密密钥矩阵相乘,以得到目标数据;
确定目标数据中的最大数据值和最小数据值;
计算所述最大数据值和所述最小数据值的平均数据值;
分别将目标数据中各数据值与平均数据值进行比较;
若比较结果为所述数据值大于所述平均数据值,则将所述数据值修改为第一数值;
若比较结果为所述数据值小于或等于所述平均数据值,则将所述数据值修改为第二数值;
获取修改后的目标数据,并将修改后的目标数据作为原始数据。
7.一种数据加密装置,其特征在于,包括:
加密矩阵确定模块,用于基于多维类正交伪随机矩阵生成加密密钥矩阵;
密钥分配模块,用于向接收端分配所述加密密钥矩阵;
加密模块,用于通过所述加密密钥矩阵对原始数据进行加密,以得到加密数据;
数据发送模块,用于将所述加密数据发送至所述接收端。
8.一种数据解密装置,其特征在于,包括:
密钥确认模块,用于确认发送端分配的加密密钥矩阵,所述加密密钥矩阵根据多维类正交伪随机矩阵确定;
数据接收模块,用于接收发送端发送的加密数据;
解密矩阵确定模块,用于根据所述加密密钥矩阵确定解密密钥矩阵;
解密模块,用于通过所述解密密钥矩阵对所述加密数据进行解密,以得到原始数据。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
通信装置,用于进行数据通信;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一所述的数据加密方法或如权利要求4-6中任一所述的数据解密方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一所述的数据加密方法或如权利要求4-6中任一所述的数据解密方法。
CN201910146798.3A 2019-02-27 2019-02-27 数据加密方法、数据解密方法及相应的装置和设备 Active CN109902498B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910146798.3A CN109902498B (zh) 2019-02-27 2019-02-27 数据加密方法、数据解密方法及相应的装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910146798.3A CN109902498B (zh) 2019-02-27 2019-02-27 数据加密方法、数据解密方法及相应的装置和设备

Publications (2)

Publication Number Publication Date
CN109902498A true CN109902498A (zh) 2019-06-18
CN109902498B CN109902498B (zh) 2023-08-18

Family

ID=66945738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910146798.3A Active CN109902498B (zh) 2019-02-27 2019-02-27 数据加密方法、数据解密方法及相应的装置和设备

Country Status (1)

Country Link
CN (1) CN109902498B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489989A (zh) * 2019-08-27 2019-11-22 深圳市道通智能航空技术有限公司 数据加密/解密方法、其加密/解密芯片及其无人机
CN117749532A (zh) * 2024-02-07 2024-03-22 珠海芯烨电子科技有限公司 一种云打印机数据加密方法以及相关装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104009835A (zh) * 2014-05-16 2014-08-27 南京邮电大学 一种云存储***中可并行计算的文件加密解密方法
CN105426345A (zh) * 2015-12-25 2016-03-23 南京大学 一种矩阵求逆运算方法
CN105630741A (zh) * 2015-12-22 2016-06-01 合肥工业大学 一种改进的按位替换法求矩阵逆矩阵模块
CN107277048A (zh) * 2017-07-26 2017-10-20 浙江吉利汽车研究院有限公司 一种用于通信认证的加密解密方法
CN108683497A (zh) * 2018-05-11 2018-10-19 南京师范大学 多维空间码的构成装置
CN108696327A (zh) * 2018-05-04 2018-10-23 南京师范大学 大型混合p-h正交、类正交矩阵的构成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104009835A (zh) * 2014-05-16 2014-08-27 南京邮电大学 一种云存储***中可并行计算的文件加密解密方法
CN105630741A (zh) * 2015-12-22 2016-06-01 合肥工业大学 一种改进的按位替换法求矩阵逆矩阵模块
CN105426345A (zh) * 2015-12-25 2016-03-23 南京大学 一种矩阵求逆运算方法
CN107277048A (zh) * 2017-07-26 2017-10-20 浙江吉利汽车研究院有限公司 一种用于通信认证的加密解密方法
CN108696327A (zh) * 2018-05-04 2018-10-23 南京师范大学 大型混合p-h正交、类正交矩阵的构成方法
CN108683497A (zh) * 2018-05-11 2018-10-19 南京师范大学 多维空间码的构成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489989A (zh) * 2019-08-27 2019-11-22 深圳市道通智能航空技术有限公司 数据加密/解密方法、其加密/解密芯片及其无人机
CN117749532A (zh) * 2024-02-07 2024-03-22 珠海芯烨电子科技有限公司 一种云打印机数据加密方法以及相关装置

Also Published As

Publication number Publication date
CN109902498B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
Fu et al. A new chaos‐based color image encryption scheme with an efficient substitution keystream generation strategy
Shankar et al. RGB-based secure share creation in visual cryptography using optimal elliptic curve cryptography technique
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
KR100363457B1 (ko) 암호체계용매핑레퍼토리
US8553880B2 (en) Pseudorandom number generating system, encryption system, and decryption system
CN111510281B (zh) 一种同态加密方法及装置
US11381394B2 (en) High speed encryption key generating engine
JPH08510365A (ja) データ暗号化のための方法および装置
US20140270165A1 (en) Cryptographic system based on reproducible random sequences
CN109274485A (zh) 一种数据加密方法、数据认证方法及相关设备和***
Laiphrakpam et al. Encrypting multiple images with an enhanced chaotic map
Singh et al. Image encryption scheme based on Knight's tour problem
Saraswathi et al. A block cipher algorithm for multimedia content protection with random substitution using binary tree traversal
CN109902498A (zh) 数据加密方法、数据解密方法及相应的装置和设备
JP5689826B2 (ja) 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
Ramírez-Torres et al. Image encryption with an improved cryptosystem based on a matrix approach
CN109639423B (zh) 一种解密算法的构成装置
Dömösi et al. A novel cryptosystem based on abstract automata and Latin cubes
Iovane et al. An Information Fusion approach based on prime numbers coming from RSA algorithm and Fractals for secure coding
Ramírez-Torres et al. Fpga implementation of a reconfigurable image encryption system
Wei et al. Image encryption algorithm based on fractional order chaotic system
CN107078900B (zh) 基于可再现随机序列的密码***
Kar et al. RGB image encryption using hyper chaotic system
KLEF An efficient light weight cryptography algorithm scheme for WSN devices using chaotic map and GE
Xian et al. Image encryption algorithm based on chaos and S-boxes scrambling

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