CN114095170B - 数据处理方法、装置、系统及计算机可读存储介质 - Google Patents
数据处理方法、装置、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114095170B CN114095170B CN202210068476.3A CN202210068476A CN114095170B CN 114095170 B CN114095170 B CN 114095170B CN 202210068476 A CN202210068476 A CN 202210068476A CN 114095170 B CN114095170 B CN 114095170B
- Authority
- CN
- China
- Prior art keywords
- public key
- matrix
- transmitted
- vector
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0442—Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/50—Oblivious transfer
Abstract
本申请实施例提供一种数据处理方法、装置、系统及计算机可读存储介质,包括获取系统参数,第二矩阵及第二加密参数,确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,多项式环中系数根据二项分布取值的元素构成的k维向量;从k维向量中随机选取秘密向量及噪声向量,从矩阵集合中随机选取第一矩阵,根据秘密向量,噪声向量,第一矩阵,第二矩阵,第二加密参数,目标待传输数据标识及系统参数生成第一公钥,秘密向量作为私钥;将第一公钥发送至发送端,以供发送端生成第二公钥,并利用基于格的公钥加密算法及公钥对待传输数据进行加密;利用解密算法及私钥对与目标待传输数据标识对应的密文进行解密,提高了数据不经意传输的安全性。
Description
技术领域
本申请实施例涉及数据处理领域,尤其涉及一种数据处理方法、装置、系统及计算机可读存储介质。
背景技术
随着技术发展,数据处理过程中的数据安全性越来越重要。不经意传输方案(Oblivious Transfer,简称OT)是一种用于传输数据的协议,可以保护数据传输双方的隐私,是密码学中的基础协议,常用于构建其他密码协议和应用。
传统的不经意传输方案,通常是基于传统密码算法设计,无法抵御量子攻击,安全性较低。
发明内容
本申请实施例提供一种数据处理方法、装置、系统及计算机可读存储介质,用以提高数据不经意传输的安全性。
第一方面,本申请实施例中提供了一种数据处理方法,包括:
获取发送端生成的系统参数,第二矩阵及第二加密参数,所述第二矩阵由所述发送端从基于所述系统参数确定的多项式环上的元素组成的k×k矩阵构成的矩阵集合中随机选取,所述第二加密参数由所述发送端从k个多项式环的直积中随机选取,以及确定由多项式环中系数根据二项分布取值的元素构成的k维向量,k为正整数;
从所述k维向量中随机选取秘密向量及噪声向量,从所述矩阵集合中随机选取第一矩阵,并根据所述秘密向量,所述噪声向量,所述第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成第一公钥,所述秘密向量作为私钥;
将所述第一公钥发送至所述发送端,以供所述发送端根据所述第一公钥,所述第二矩阵和所述第二加密参数生成第二公钥,并利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文,以及将所述两个密文发送至接收端;
接收所述发送端发送的所述两个密文,利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得所述目标待传输数据。
第二方面,本申请实施例中提供了一种数据处理方法,包括:
确定系统参数,基于所述系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,并从所述矩阵集合中随机选取第二矩阵,从所述直积中随机选取第二加密参数,k为正整数;
接收接收端发送的第一公钥,所述第一公钥由所述接收端根据秘密向量,噪声向量,第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成,所述秘密向量及所述噪声向量由所述接收端从由多项式环中系数根据二项分布取值的元素构成的k维向量中随机选取,所述第一矩阵由所述接收端从所述矩阵集合中随机选取,所述秘密向量作为私钥;
根据所述第一公钥,所述第二矩阵及所述第二加密参数生成第二公钥;
利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文;
将所述两个密文发送至所述接收端,以供所述接收端利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得所述目标待传输数据。
第三方面,本申请实施例中提供了一种数据处理装置,包括:
获取模块,用于获取发送端生成的系统参数,第二矩阵及第二加密参数,所述第二矩阵由所述发送端从基于所述系统参数确定的多项式环上的元素组成的k×k矩阵构成的矩阵集合中随机选取,所述第二加密参数由所述发送端从k个多项式环的直积中随机选取,以及确定由多项式环中系数根据二项分布取值的元素构成的k维向量,k为正整数;
第一生成模块,用于从所述k维向量中随机选取秘密向量及噪声向量,从所述矩阵集合中随机选取第一矩阵,并根据所述秘密向量,所述噪声向量,所述第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成第一公钥,所述秘密向量作为私钥;
第一发送模块,用于将所述第一公钥发送至发送端,以供所述发送端根据所述第一公钥,所述第二矩阵和所述第二加密参数生成第二公钥,并利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文,以及将所述两个密文发送至接收端;
解密模块,用于接收所述发送端发送的所述两个密文,利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得所述目标待传输数据。
第四方面,本申请实施例中提供了一种数据处理装置,包括:
确定模块,用于确定系统参数,基于所述系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,并从所述矩阵集合中随机选取第二矩阵,从所述直积中随机选取第二加密参数,k为正整数;
接收模块,用于接收接收端发送的第一公钥,所述第一公钥由所述接收端根据秘密向量,噪声向量,第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成,所述秘密向量及所述噪声向量由所述接收端从由多项式环中系数根据二项分布取值的元素构成的k维向量中随机选取,所述第一矩阵由所述接收端从所述矩阵集合中随机选取,所述秘密向量作为私钥;
第二生成模块,用于根据所述第一公钥,所述第二矩阵及所述第二加密参数生成第二公钥;
加密模块,用于利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文;
第二发送模块,用于将所述两个密文发送至所述接收端,以供所述接收端利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得所述目标待传输数据。
第五方面,本申请实施例中提供了一种数据处理系统,包括存储组件及处理组件;
所述存储组件用于存储一条或多条计算机指令,所述一条或多条计算机指令供所述处理组件调用执行;
所述处理组件调用所述计算机指令以执行如第一方面或第二方面中任一方面所述的数据处理方法。
第六方面,本申请实施例中提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如第一方面或第二方面中任一方面所述的数据处理方法。
本申请实施例中,接收端可以获取发送端生成的系统参数,第二矩阵及第二加密参数,其中,第二矩阵由发送端从基于系统参数确定的多项式环上的元素组成的k×k矩阵构成的矩阵集合中随机选取,第二加密参数由发送端从k个多项式环的直积中随机选取,并确定由多项式环中系数根据二项分布取值的元素构成的k维向量,从k维向量中随机选取秘密向量及噪声向量,以及从矩阵集合中随机选取第一矩阵,将秘密向量作为私钥,并利用秘密向量,噪声向量,第一矩阵,第二矩阵,第二加密参数,目标待传输数据标识及系统参数生成第一公钥,将生成的第一公钥发送至发送端,以供发送端根据第一公钥,第二矩阵和第二加密参数,生成第二公钥,并利用基于格的公钥加密算法,分别利用第一公钥及第二公钥对两个待传输数据进行加密,获得对应的两个密文,接收端接收到两个密文,可以利用与基于格的公钥加密算法对应的解密算法,利用私钥对与目标待传输数据标识对应的密文进行解密,从而获得目标待传输数据,通过利用基于格的公钥加密算法设计不经意传输协议,可以抵御量子攻击,从而提高数据不经意传输的安全性。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请提供的一种数据处理方法一个实施例的流程图;
图2示出了本申请提供的一种数据处理方法另一个实施例的流程图;
图3示出了本申请提供的一种数据处理装置一个实施例的结构示意图;
图4示出了本申请提供的一种数据处理装置另一个实施例的结构示意图;
图5示出了本申请提供的一种数据处理系统一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例的技术方案适用于数据传输场景,尤其是数据不经意传输场景。在数据不经意传输场景中,发送端可以发送多个待传输数据,接收端可以从中选取自身想要的某一个待传输数据,且发送端并不知道接收端选取的待传输数据。以发送端发送的待传输数据是两个为例,接收端可以根据自身想要的待传输数据标识生成公钥和私钥,并将公钥发送至发送方。发送方根据接收到的公钥生成另外一个公钥,并利用加密算法及两个公钥对两个待传输数据进行加密,将加密后的两个待传输数据发送至接收端。接收端可以利用私钥进行解密,获得自身想要的待传输数据。
传统方案中,上述不经意传输方案通常是基于传统密码算法设计,如RSA算法(一种非对称加密算法),无法抵御量子攻击,安全性较低。为了提高数据不经意传输的安全性,发明人想到,基于格的公钥加密算法是基于格上数学困难问题设计的一种公钥加密方法,具有抵抗量子计算机攻击的能力,若能利用基于格的公钥加密算法设计不经意传输方案,可以抵御量子攻击。因此,经过一系列思考及试验之后,发明人提出了本申请的技术方案,提供了一种数据处理方法,包括,获取发送端生成的系统参数,第二矩阵及第二加密参数,所述第二矩阵由所述发送端从基于所述系统参数确定的多项式环上的元素组成的k×k矩阵构成的矩阵集合中随机选取,所述第二加密参数由所述发送端从k个多项式环的直积中随机选取,以及确定由多项式环中系数根据二项分布取值的元素构成的k维向量,k为正整数;从所述k维向量中随机选取秘密向量及噪声向量,从所述矩阵集合中随机选取第一矩阵,并根据所述秘密向量,所述噪声向量,所述第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成第一公钥,所述秘密向量作为私钥;将所述第一公钥发送至发送端,以供所述发送端根据所述第一公钥,所述第二矩阵和所述第二加密参数生成第二公钥,并利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文,以及将所述两个密文发送至接收端;接收所述发送端发送的所述两个密文,利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得所述目标待传输数据。本申请实施例中,通过利用基于格的公钥加密算法设计不经意传输协议,可以抵御量子攻击,从而提高数据不经意传输的安全性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请提供的一种数据处理方法一个实施例的流程图,该方法可以包括以下几个步骤:
101:获取发送端发生的系统参数,第二矩阵及第二加密参数。
其中,上述矩阵由发送端从基于系统参数确定的多项式上的元素组成的k×k矩阵构成的矩阵集合中随机选取,上述加密参数由发送端从k个多项式环的直积中随机选取,并确定由多项式环中系数根据二项分布取值的元素构成的k维向量,k为正整数。
本实施例中,该数据处理方法可以应用于接收端。在数据不经意传输场景中,接收端可以与发送端建立通信连接,接收发送端发送的多个待传输数据,从中获取自身想要的待传输数据。为了便于描述,可以将接收端自身想要的待传输数据称为目标待传输数据。
其中,接收端可以针对目标待传输数据生成第一公钥和私钥,并将该第一公钥发送至发送端。发送端基于该第一公钥可以生成其它公钥,并利用加密算法及上述公钥对多个待传输数据进行加密,获得多个密文,并将多个密文发送至接收端。此时,接收端可以接收多个密文,并利用私钥及对应的解密算法对与目标待传输数据对应的密文进行解密,获得目标待传输数据,加密及解密的具体实现过程将在后续实施例中进行说明。
为了抵御量子攻击,本实施例中,可以利用基于格的公钥加密算法进行加密。基于格的公钥加密方法可以指基于格上数学困难问题设计的公钥加密方法,具有抵抗量子计算机攻击的能力,如Kyber算法。因此,接收端可以根据基于格的公钥加密算法对应的密钥生成机制,生成第一公钥和私钥。
具体的,接收端可以获取系统参数,该系统参数可以由发送端生成并公开。系统参数可以包括k,dt,du,dv,q,n。其中,k,dt,du,dv,q,n为正整数,n可以取值为256,512等,不进行限定。可选的,该系统参数还可以由可信第三方生成并公开,此处不进行限制。
基于上述系统参数q,可以定义模q的剩余类环Zq,以及定义在剩余类环Zq上的多
项式环Rq。基于上述系统参数k,可以获得由多项式环Rq上的元素组成的k×k矩阵构成的矩
阵集合,可以用表示,以及可以定义以正整数η为参数的二项分布,可以获得由多
项式环Rq中系数根据二项分布取值的元素构成的k维向量,可以用表示。
接收端还可以获取发送端生成的矩阵和加密参数。为了便于描述,可以将发送端
生成的矩阵称为第二矩阵,将发送端生成的加密参数称为第二加密参数,以及将后续说明
书中接收端生成的矩阵称为第一矩阵,接收端生成的加密参数称为第一加密参数。该第二
矩阵可以由发送端从上述矩阵集合中随机选取,可以用A'表示,该第二加密参数可
以由发送端从k个多项式环Rq的直积中随机选取,可以用t'表示。具体的,发送端随机
选取A'∈,以及随机选取t'∈。
102:从k维向量中随机选取秘密向量及噪声向量,从矩阵集合中随机选取第一矩阵,并根据秘密向量,噪声向量,第一矩阵,第二矩阵,第二加密参数,目标待传输数据标识及系统参数生成第一公钥,该秘密向量可以作为私钥。
接收端可以从上述k维向量中,随机选取秘密向量及噪声向量,秘密向量可以
用s表示,噪声向量可以用e表示,以及从上述矩阵集合中随机选取第一矩阵,可以
用A表示。具体的,随机选取(s,e)∈×,以及随机选取A∈。
可以将上述秘密向量s作为自身私钥,并根据秘密向量s,噪声向量e,第一矩阵A,第二矩阵A',第二加密参数t',目标待传输数据标识及系统参数生成第一公钥,可以用PK0表示。其中,目标待传输数据标识可以指目标待传输数据的标识,可以从发送端的多个待传输数据标识中选择,可以用σ表示。可选的,发送端的待传输数据为两个时,σ∈{0,1},0和1可以表示两个待传输数据标识,如0表示第一待传输数据标识,1表示第二待传输数据标识。
可选的,根据秘密向量s,噪声向量e,第一矩阵A,第二矩阵A',第二加密参数t',目标待传输数据标识及系统参数生成第一公钥的方法可以包括:
根据秘密向量s,噪声向量e,第一矩阵A及系统参数生成第一加密参数;
根据第一矩阵,第二矩阵,第一加密参数,第二加密参数及目标待传输数据标识生成第一公钥。
其中,第一加密参数可以用t表示。具体的,根据秘密向量s,噪声向量e,第一矩阵A及系统参数,可以按照如下第一加密参数生成公式生成第一加密参数:
该第一加密参数生成公式可以为:t=Compressq(As+e,dt);
t表示第一加密参数,A表示第一矩阵,表示多项式环Rq上的元素组成的k×
k矩阵构成的矩阵集合,表示k个多项式环Rq的直积,Rq表示定义在剩余类环Zq上的多
项式环,q和k为系统参数,s表示秘密向量,e表示噪声向量,表示由多项式环Rq中系数根
据二项分布取值的元素构成的k维向量,表示以正整数η为参数的二项分布。
进一步地,根据第一矩阵A,第二矩阵A',第一加密参数t,第二加密参数t'及目标待传输数据标识σ,可以按照如下第一公钥生成公式生成第一公钥:
其中,PK0表示第一公钥,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传输数据标识,两个待传输数据可以用M0和M1表示。令PKσ=(A,t),PK1-σ=(A'-A,t'-t ),PKσ表示选择的目标待传输数据标识σ时,接收端根据私钥生成的公钥。当选择的目标待传输数据标识σ等于0时,第一公钥PK0=(A,t )。当选择的目标待传输数据标识σ等于1时,第一公钥PK0=(A'-A,t'-t )。通过设计第一公钥PK0,可以实现发送端不感知目标待传输数据标识σ的取值,保护接收端隐私,以实现不经意传输。
103:将第一公钥发送至发送端,以供发送端根据第一公钥,第二矩阵和第二加密参数生成第二公钥,并利用基于格的公钥加密算法,分别利用第一公钥及第二公钥对两个待传输数据进行加密,获得对应的两个密文,以及将两个密文发送至接收端。
接收端生成自身的私钥及第一公钥后,可以将私钥进行存储,并将第一公钥发送至发送端,以供发送端根据该第一公钥,第二矩阵和第二加密参数,生成第二公钥,可以用PK1表示。
可选的,接收端可以设置第二公钥的生成方式,如第一公钥包括矩阵及加密参数两个元素,则设置第二公钥也包括矩阵及加密参数两个元素,如可以设置第二公钥的生成方式为PK1=(A'-PK0[0],t'-PK0[1]),其中,PK1表示第二公钥,A'表示第二矩阵,t'表示第二加密参数,PK0[0]表示第一公钥PK0中的第一个元素,PK0[1]表示第一公钥PK0中的第二个元素。当σ=1时,根据第一公钥生成公式可知,第一公钥PK0=(A'-A,t'-t ),此时,第二公钥PK1=(A'-(A'-A),t'-(t'-t))=(A,t)。由此可知,接收端选择的目标待传输数据标识σ为1时,发送端根据第一公钥计算的第二公钥也为(A,t),与接收端根据私钥生成的公钥(A,t )相同。若接收端选择的目标待传输数据标识σ为0,发送端接收到的第一公钥与接收端根据私钥生成的公钥(A,t )相同。因此,发送端无法获知接收端选择的目标待传输数据标识,从而保护接收端的隐私。
接收端可以将上述第二公钥的生成方式发送至发送端,以供发送端生成第二公钥,并利用基于格的公钥加密算法,利用第一公钥和第二公钥对两个待传输数据进行加密,获得对应的两个密文。
以基于格的公钥加密算法是Kyber加密算法为例,发送端可以按照如下加密公式对两个待传输数据进行加密,获得对应的两个密文:
该加密公式可以为:Ci=Kyber.Enc(PKi,Mi);
其中,Ci表示利用公钥PKi,对待传输数据Mi进行Kyber算法加密获得的密文,i=0,1,即利用第一公钥PK0对待传输数据M0进行Kyber算法加密,获得密文C0;利用第一公钥PK1对待传输数据M1进行Kyber算法加密,获得密文C1。Kyber.Enc表示利用Kyber算法进行加密,PKi表示公钥,Mi表示待传输数据。具体的加密过程将在后续实施例中进行说明,此处不进行赘述。
104:接收发送端发送的两个密文,利用与基于格的公钥加密算法对应的解密算法,利用私钥对与目标待传输数据标识对应的密文进行解密,获得目标待传输数据。
接收端接收到发送端发送的两个密文之后,可以利用与基于格的公钥加密算法对应的解密算法,利用私钥进行解密。以基于格的公钥加密算法是Kyber加密算法为例,对应的解密算法可以是解密算法。
具体的,在进行解密时,利用私钥只能对利用与该私钥对应的公钥进行加密获得的密文进行解密,从而获得目标待传输数据。以基于格的公钥加密算法是Kyber加密算法为例,对应的解密算法可以是Kyber解密算法,可以按照如下解密公式进行解密:
本实施例中,接收端可以获取发送端生成的系统参数,第二矩阵及第二加密参数,其中,第二矩阵由发送端从基于系统参数确定的多项式环上的元素组成的k×k矩阵构成的矩阵集合中随机选取,第二加密参数由发送端从k个多项式环的直积中随机选取,并确定由多项式环中系数根据二项分布取值的元素构成的k维向量,从k维向量中随机选取秘密向量及噪声向量,以及从矩阵集合中随机选取第一矩阵,将秘密向量作为私钥,并利用秘密向量,噪声向量,第一矩阵,第二矩阵,第二加密参数,目标待传输数据标识及系统参数生成第一公钥,将生成的第一公钥发送至发送端,以供发送端根据第一公钥,第二矩阵和第二加密参数,生成第二公钥,并利用基于格的公钥加密算法,分别利用第一公钥及第二公钥对两个待传输数据进行加密,获得对应的两个密文,接收端接收到两个密文,可以利用与基于格的公钥加密算法对应的解密算法,利用私钥对与目标待传输数据标识对应的密文进行解密,从而获得目标待传输数据,通过利用基于格的公钥加密算法设计不经意传输协议,可以抵御量子攻击,从而提高数据不经意传输的安全性。
如图2所示,为本申请提供的一种数据处理方法另一个实施例的流程图,该方法可以包括:
201:确定系统参数,基于系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,并从矩阵集合中随机选取第二矩阵,从直积中随机选取第二加密参数并公开,k为正整数。
本实施例中,该数据处理方法可以应用于发送端。发送端可以确定系统参数,系统参数可以包括k,dt,du,dv,q,n。其中,k,dt,du,dv,q,n为正整数,n可以取值为256,512等,不进行限定。可选的,该系统参数还可以由可信第三方生成并公开,发送端可以直接获取该系统参数,此处不进行限制。
基于上述系统参数q,发送端可以定义模q的剩余类环Zq,以及定义在剩余类环Zq
上的多项式环Rq,基于上述系统参数k,可以获得由多项式环Rq上的元素组成的k×k矩阵构
成的矩阵集合,可以用表示,以及可以定义k个多项式环Rq的直积,可以用表示。
上述第二矩阵A'及第二加密参数t',可以用于生成第二公钥。
202:接收接收端发送的第一公钥,第一公钥由接收端根据秘密向量,噪声向量,第一矩阵,第二矩阵,第二加密参数,目标待传输数据标识及系统参数生成,秘密向量及噪声向量由接收端从由多项式环中系数根据二项分布取值的元素构成的k维向量中随机选取,第一矩阵由接收端从矩阵集合中随机选取,秘密向量作为私钥。
发送端可以接收接收端发送的第一公钥。其中,第一公钥的生成过程在图1所示实施例中已进行了说明,此处不再进行赘述。
203:根据第一公钥,第二矩阵及第二加密参数生成第二公钥。
发送端接收到上述第一公钥后,可以根据第一公钥,第二矩阵及第二加密参数生成第二公钥。可选的,发送端可以根据接收端设置的第二公钥的生成方式,根据第一公钥,第二矩阵及第二加密参数生成第二公钥。其中,第二公钥的生成方式在图1所示实施例中已进行了说明,此处不再进行赘述。
可选的,根据第一公钥,第二矩阵及第二加密参数生成第二公钥的方法可以包括:
根据第一公钥,第二矩阵及第二加密参数,按照如下第二公钥生成公式生成第二公钥:
该第二公钥生成公式可以为:PK1=(A'-PK0[0],t'-PK0[1]);
PK0表示第一公钥,A表示第一矩阵,t表示第一加密参数,s表示秘密向量,e表示噪
声向量,表示由多项式环Rq中系数根据二项分布取值的元素构成的k维向量,表
示以正整数η为参数的二项分布,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传
输数据标识;
PK0[0]表示第一公钥PK0中的第一个元素,PK0[1]表示第一公钥PK0中的第二个元素。
以σ=0为例,第一公钥PK0=(A,t),第二公钥PK1=(A'-PK0[0],t'-PK0[1])=(A'-A,t'-t)。以σ=1为例,第一公钥PK0=(A'-A,t'-t),第二公钥PK1=(A'-PK0[0],t'-PK0[1])=(A'-(A'-A),t'-(t'-t))=(A,t)。
204:利用基于格的公钥加密算法,分别利用第一公钥及第二公钥对两个待传输数据进行加密,获得对应的两个密文。
发送端可以利用基于格的公钥加密算法,利用第一公钥和第二公钥分别对两个待传输数据进行加密,获得对应的密文。
可选的,利用基于格的公钥加密算法,可以利用第一公钥对第一待传输数据进行加密,获得第一密文,以及利用第二公钥对第二待传输数据进行加密,获得第二密文。
以基于格的公钥加密算法是Kyber加密算法为例,可以按照如下第一密文生成公式获得第一密文:
该第一密文生成公式可以为:C0=Kyber.Enc(PK0,M0);
其中,C0表示第一密文,Kyber.Enc表示利用Kyber算法进行加密,PK0表示第一公钥,M0表示第一待传输数据。
按照如下第二密文生成公式获得第二密文:
该第二密文生成公式可以为:C1=Kyber.Enc(PK1,M1);
其中,C1表示第二密文,PK1表示第二公钥,M1表示第二待传输数据。
205:将两个密文发送至接收端,以供接收端利用与基于格的公钥加密算法对应的解密算法,利用私钥对与目标待传输数据标识对应的密文进行解密,获得目标待传输数据。以基于格的公钥加密算法是Kyber加密算法为例,对应的解密算法可以是Kyber解密算法。
发送端可以将上述两个密文发送至接收端,以供接收端进行解密,获得目标待传输数据。以基于格的公钥加密算法是Kyber加密算法,可以按照如下解密公式获得目标待传输数据:
本实施例中,发送端可以确定系统参数,以及根据系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,从矩阵集合中随机选取第二矩阵,以及从直积中随机选取第二加密参数,接收接收端发送的第一公钥,根据第一公钥,第二矩阵及第二加密参数,生成第二公钥,并利用基于格的公钥加密算法,分别利用第一公钥及第二公钥对两个待传输数据进行加密,获得对应的两个密文,将两个密文发送至接收端,以供接收端利用与基于格的公钥加密算法对应的解密算法,利用私钥对与目标待传输数据标识对应的密文进行解密,从而获得目标待传输数据,通过利用基于格的公钥加密算法设计不经意传输协议,可以抵御量子攻击,从而提高数据不经意传输的安全性。
下面以基于格的公钥加密算法是Kyber算法为例,对上述数据处理的过程进行说明。发送端存储有两个待传输数据,即第一待传输数据M0和第二待传输数据M1,接收端想要获取其中一个待传输数据,称为目标待传输数据。
发送端确定系统参数k,dt,du,dv,q,n并公开,以及基于系统参数确定多项式环Rq
上的元素组成的k×k矩阵构成的矩阵集合,以及由多项式环Rq中系数根据二项分布取值的元素构成的k维向量,从k维向量中随机选取秘密向量s作为私钥,以及噪
声向量e,从矩阵集合中随机选取第一矩阵A,根据该秘密向量s,噪声向量e,第一矩
阵A,目标待传输数据标识σ,σ∈{0,1},及系统参数生成第一公钥PK0,并设置第二公钥的生
成规则,将第一公钥PK0发送至发送端。
发送端可以接收第一公钥PK0,并按照第二公钥的生成规则,根据第一公钥PK0,第二矩阵A'和第二加密参数t'生成第二公钥PK1,利用Kyber加密算法,利用第一公钥和第二公钥分别对两个待传输数据进行加密,获得两个密文。具体的,利用第一公钥PK0对第一待传输数据M0进行加密,获得第一密文C0,C0=Kyber.Enc(PK0,M0),利用第二公钥PK1对第二待传输数据M1进行加密,获得第二密文C1,C1=Kyber.Enc(PK1,M1),将第一密文C0和第二密文C1发送至接收端。
如图3所示,为本申请提供的一种数据处理装置一个实施例的结构示意图,该装置可以包括以下几个模块:
获取模块301,用于获取发送端生成的系统参数,第二矩阵及第二加密参数,第二矩阵由发送端从基于系统参数确定的多项式环上的元素组成的k×k矩阵构成的矩阵集合中随机选取,第二加密参数由发送端从k个多项式环的直积中随机选取,以及确定由多项式环中系数根据二项分布取值的元素构成的k维向量,k为正整数;
第一生成模块302,用于从k维向量中随机选取秘密向量及噪声向量,从矩阵集合中随机选取第一矩阵,并根据秘密向量,噪声向量,第一矩阵,第二矩阵,第二加密参数,目标待传输数据标识及系统参数生成第一公钥,秘密向量作为私钥;
第一发送模块303,用于将第一公钥发送至发送端,以供发送端根据第一公钥,第二矩阵和第二加密参数生成第二公钥,并利用基于格的公钥加密算法,分别利用第一公钥及第二公钥对两个待传输数据进行加密,获得对应的两个密文,以及将两个密文发送至接收端,第二矩阵由发送端从矩阵集合中随机选取,第二加密参数由发送端从k个多项式环的直积中随机选取;
解密模块304,用于接收发送端发送的两个密文,利用与基于格的公钥加密算法对应的解密算法,利用私钥对与目标待传输数据标识对应的密文进行解密,获得目标待传输数据。
本实施例中,该数据处理装置可以实现图1所示实施例中的数据处理方法,接收端可以获取发送端生成的系统参数,第二矩阵及第二加密参数,其中,第二矩阵由发送端从基于系统参数确定的多项式环上的元素组成的k×k矩阵构成的矩阵集合中随机选取,第二加密参数由发送端从k个多项式环的直积中随机选取,并确定由多项式环中系数根据二项分布取值的元素构成的k维向量,从k维向量中随机选取秘密向量及噪声向量,以及从矩阵集合中随机选取第一矩阵,将秘密向量作为私钥,并利用秘密向量,噪声向量,第一矩阵,第二矩阵,第二加密参数,目标待传输数据标识及系统参数生成第一公钥,将生成的第一公钥发送至发送端,以供发送端根据第一公钥,第二矩阵和第二加密参数,生成第二公钥,并利用基于格的公钥加密算法,分别利用第一公钥及第二公钥对两个待传输数据进行加密,获得对应的两个密文,接收端接收到两个密文,可以利用与基于格的公钥加密算法对应的解密算法,利用私钥对与目标待传输数据标识对应的密文进行解密,从而获得目标待传输数据,通过利用基于格的公钥加密算法设计不经意传输协议,可以抵御量子攻击,从而提高数据不经意传输的安全性。
在某些实施例中,第一生成模块302具体可以用于根据秘密向量,噪声向量,第一矩阵及系统参数生成第一加密参数;根据第一矩阵,第二矩阵,第一加密参数,第二加密参数及目标待传输数据标识生成第一公钥。
在某些实施例中,第一生成模块302具体可以用于根据秘密向量,噪声向量,第一矩阵及系统参数,按照如下第一加密参数生成公式生成第一加密参数:
第一加密参数生成公式为:t=Compressq(As+e,dt);
其中,A∈,(s,e)∈×;t表示第一加密参数,A表示第一矩阵,表示多项式环Rq上的元素组成的k×k矩阵构成的矩阵集合,Rq表示定义在剩余类环
Zq上的多项式环,q和k为系统参数,s表示秘密向量,e表示噪声向量,表示由多项式环Rq
中系数根据二项分布取值的元素构成的k维向量,表示以正整数η为参数的二项分
布;
根据第一矩阵,第二矩阵,第一加密参数,第二加密参数及目标待传输数据标识,按照如下第一公钥生成公式生成第一公钥:
图3所述的数据处理装置可以执行图1所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
如图4所示,为本申请提供的一种数据处理装置另一个实施例的结构示意图,可以包括以下几个模块:
确定模块401,用于确定系统参数,基于系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,并从矩阵集合中随机选取第二矩阵,从直积中随机选取第二加密参数,k为正整数;
接收模块402,用于接收接收端发送的第一公钥,第一公钥由接收端根据秘密向量,噪声向量,第一矩阵,第二矩阵,第二加密参数,目标待传输数据标识及系统参数生成,秘密向量及噪声向量由接收端从由多项式环中系数根据二项分布取值的元素构成的k维向量中随机选取,第一矩阵由接收端从矩阵集合中随机选取,秘密向量作为私钥;
第二生成模块403,用于根据第一公钥,第二矩阵及第二加密参数生成第二公钥;
加密模块404,用于利用基于格的公钥加密算法,分别利用第一公钥及第二公钥对两个待传输数据进行加密,获得对应的两个密文;
第二发送模块405,用于将两个密文发送至接收端,以供接收端利用与基于格的公钥加密算法对应的解密算法,利用私钥对与目标待传输数据标识对应的密文进行解密,获得目标待传输数据。
本实施例中,该数据处理装置可以实现图2所示实施例中的数据处理方法,发送端可以确定系统参数,以及根据系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,从矩阵集合中随机选取第二矩阵,以及从直积中随机选取第二加密参数,接收接收端发送的第一公钥,根据第一公钥,第二矩阵及第二加密参数,生成第二公钥,并利用基于格的公钥加密算法,分别利用第一公钥及第二公钥对两个待传输数据进行加密,获得对应的两个密文,将两个密文发送至接收端,以供接收端利用与基于格的公钥加密算法对应的解密算法,利用私钥对与目标待传输数据标识对应的密文进行解密,从而获得目标待传输数据,通过利用基于格的公钥加密算法设计不经意传输协议,可以抵御量子攻击,从而提高数据不经意传输的安全性。
在某些实施例中,第二生成模块403具体可以用于根据第一公钥,第二矩阵及第二加密参数,按照如下第二公钥生成公式生成第二公钥:
第二公钥生成公式为:PK1=(A'-PK0[0],t'-PK0[1]);
其中,A'∈,t'∈,,A∈,t=
Compressq(As+e,dt),(s,e)∈×;PK1表示第二公钥,A'表示第二矩阵,表示
多项式环Rq上的元素组成的k×k矩阵构成的矩阵集合,Rq表示定义在剩余类环Zq上的多项
式环,q和k为系统参数,t'表示第二加密参数,表示k个Rq的直积,PK0表示第一公钥,A
表示第一矩阵,t表示第一加密参数,s表示秘密向量,e表示噪声向量,表示由多项式环
Rq中系数根据二项分布取值的元素构成的k维向量,表示以正整数η为参数的二项分
布,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传输数据标识,PK0[0]表示第一
公钥PK0中的第一个元素,PK0[1]表示第一公钥PK0中的第二个元素。
在某些实施例中,加密模块404具体可以用于利用基于格的公钥加密算法,利用第一公钥对第一待传输数据进行加密,获得第一密文;
利用基于格的公钥加密算法,利用第二公钥对第二待传输数据进行加密,获得第二密文。
图4所述的数据处理装置可以执行图2所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
如图5所示,为本申请提供的一种数据处理系统一个实施例的结构示意图,包括存储组件501及处理组件502;
存储组件501用于存储一条或多条计算指令,该一条或多条计算机指令供处理组件502调用执行;
处理组件502调用计算机指令以执行图1或图2任一所述的数据处理方法。
其中,处理组件502可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件501被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
当然,该系统必然还可以包括其他部件,例如输入/输出接口、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。
通信组件被配置为便于该系统和其他设备之间有线或无线方式的通信等。
本申请实施例还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种数据处理方法,其特征在于,应用于接收端,包括:
获取发送端生成的系统参数,第二矩阵及第二加密参数,所述第二矩阵由所述发送端从基于所述系统参数确定的多项式环上的元素组成的k×k矩阵构成的矩阵集合中随机选取,所述第二加密参数由所述发送端从k个多项式环的直积中随机选取,以及确定由多项式环中系数根据二项分布取值的元素构成的k维向量,k为正整数;
从所述k维向量中随机选取秘密向量及噪声向量,从所述矩阵集合中随机选取第一矩阵,并根据所述秘密向量,所述噪声向量,所述第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成第一公钥,所述秘密向量作为私钥;
将所述第一公钥发送至所述发送端,以供所述发送端根据所述第一公钥,所述第二矩阵和所述第二加密参数生成第二公钥,并利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文,以及将所述两个密文发送至接收端;
接收所述发送端发送的所述两个密文,利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得目标待传输数据;
所述根据所述秘密向量,所述噪声向量,所述第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成第一公钥包括:
根据所述秘密向量,所述噪声向量,所述第一矩阵及所述系统参数,按照如下第一加密参数生成公式生成第一加密参数:
所述第一加密参数生成公式为:t=Compressq(As+e,dt);
其中,t表示第一加密参数,A表示第一矩阵,表示多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合,Rq 表示定义在剩余类环Zq 上的多项式环,dt,q和k为系统参数,s表示秘密向量,e表示噪声向量,表示由多项式环Rq 中系数根据二项分布βη取值的元素构成的k维向量,βη表示以正整数η为参数的二项分布;
根据所述第一矩阵,所述第二矩阵,所述第一加密参数,所述第二加密参数及目标待传输数据标识,按照如下第一公钥生成公式生成第一公钥:
2.一种数据处理方法,其特征在于,应用于发送端,包括:
确定系统参数,基于所述系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,并从所述矩阵集合中随机选取第二矩阵,从所述直积中随机选取第二加密参数,k为正整数;
接收接收端发送的第一公钥,所述第一公钥由所述接收端根据秘密向量,噪声向量,第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成,所述第一公钥由所述秘密向量,所述噪声向量,所述第一矩阵及所述系统参数,按照如下第一加密参数生成公式生成的第一加密参数,以及所述第一矩阵,所述第二矩阵,所述第二加密参数及目标待传输数据标识,按照如下第一公钥生成公式生成;所述第一加密参数生成公式为:t=Compressq(As+e,dt);其中,t表示第一加密参数,A表示第一矩阵,表示多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合,Rq 表示定义在剩余类环Zq 上的多项式环,dt,q和k为系统参数,s表示秘密向量,e表示噪声向量,表示由多项式环Rq 中系数根据二项分布βη取值的元素构成的k维向量,βη表示以正整数η为参数的二项分布;所述第一公钥生成公式为:其中, PK0表示第一公钥,A'表示第二矩阵,t'表示第二加密参数,表示k个Rq 的直积,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传输数据标识;所述秘密向量及所述噪声向量由所述接收端从由多项式环中系数根据二项分布取值的元素构成的k维向量中随机选取,所述第一矩阵由所述接收端从所述矩阵集合中随机选取,所述秘密向量作为私钥;
根据所述第一公钥,所述第二矩阵及所述第二加密参数生成第二公钥;
利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文;
将所述两个密文发送至所述接收端,以供所述接收端利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得目标待传输数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一公钥,所述第二矩阵及所述第二加密参数生成第二公钥包括:
根据所述第一公钥,所述第二矩阵及所述第二加密参数,按照如下第二公钥生成公式生成第二公钥:
所述第二公钥生成公式为:PK1=(A'-PK0[0],t'-PK0[1]);
PK1表示第二公钥,A'表示第二矩阵,表示多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合,Rq 表示定义在剩余类环Zq 上的多项式环,dt,q和k为系统参数,t'表示第二加密参数,表示k个Rq 的直积;
PK0表示第一公钥,A表示第一矩阵,t表示第一加密参数,s表示秘密向量,e表示噪声向量,表示由多项式环Rq 中系数根据二项分布βη取值的元素构成的k维向量,βη表示以正整数η为参数的二项分布,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传输数据标识;
PK0[0]表示第一公钥PK0中的第一个元素,PK0[1]表示第一公钥PK0中的第二个元素。
4.根据权利要求3所述的方法,其特征在于,所述利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文包括:
利用基于格的公钥加密算法,利用所述第一公钥对第一待传输数据进行加密,获得第一密文;
利用基于格的公钥加密算法,利用所述第二公钥对第二待传输数据进行加密,获得第二密文。
5.一种数据处理装置,其特征在于,包括:
获取模块,用于获取发送端生成的系统参数,第二矩阵及第二加密参数,所述第二矩阵由所述发送端从基于所述系统参数确定的多项式环上的元素组成的k×k矩阵构成的矩阵集合中随机选取,所述第二加密参数由所述发送端从k个多项式环的直积中随机选取,以及确定由多项式环中系数根据二项分布取值的元素构成的k维向量,k为正整数;
第一生成模块,用于从所述k维向量中随机选取秘密向量及噪声向量,从所述矩阵集合中随机选取第一矩阵,并根据所述秘密向量,所述噪声向量,所述第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成第一公钥,所述秘密向量作为私钥;
第一发送模块,用于将所述第一公钥发送至发送端,以供所述发送端根据所述第一公钥,所述第二矩阵和所述第二加密参数生成第二公钥,并利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文,以及将所述两个密文发送至接收端;
解密模块,用于接收所述发送端发送的所述两个密文,利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得目标待传输数据;
所述第一生成模块具体用于:
根据所述秘密向量,所述噪声向量,所述第一矩阵及所述系统参数,按照如下第一加密参数生成公式生成第一加密参数:
所述第一加密参数生成公式为:t=Compressq(As+e,dt);
其中,t表示第一加密参数,A表示第一矩阵,表示多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合,Rq 表示定义在剩余类环Zq 上的多项式环,dt,q和k为系统参数,s表示秘密向量,e表示噪声向量,表示由多项式环Rq 中系数根据二项分布βη取值的元素构成的k维向量,βη表示以正整数η为参数的二项分布;
根据所述第一矩阵,所述第二矩阵,所述第一加密参数,所述第二加密参数及目标待传输数据标识,按照如下第一公钥生成公式生成第一公钥:
6.一种数据处理装置,其特征在于,包括:
确定模块,用于确定系统参数,基于所述系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,并从所述矩阵集合中随机选取第二矩阵,从所述直积中随机选取第二加密参数,k为正整数;
接收模块,用于接收接收端发送的第一公钥,所述第一公钥由所述接收端根据秘密向量,噪声向量,第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成,所述第一公钥由所述秘密向量,所述噪声向量,所述第一矩阵及所述系统参数,按照如下第一加密参数生成公式生成的第一加密参数,以及所述第一矩阵,所述第二矩阵,所述第二加密参数及目标待传输数据标识,按照如下第一公钥生成公式生成;所述第一加密参数生成公式为:t=Compressq(As+e,dt);其中,t表示第一加密参数,A表示第一矩阵,表示多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合,Rq 表示定义在剩余类环Zq 上的多项式环,dt,q和k为系统参数,s表示秘密向量,e表示噪声向量,表示由多项式环Rq 中系数根据二项分布βη取值的元素构成的k维向量,βη表示以正整数η为参数的二项分布;所述第一公钥生成公式为:其中, PK0表示第一公钥,A'表示第二矩阵,t'表示第二加密参数,表示k个Rq 的直积,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传输数据标识;所述秘密向量及所述噪声向量由所述接收端从由多项式环中系数根据二项分布取值的元素构成的k维向量中随机选取,所述第一矩阵由所述接收端从所述矩阵集合中随机选取,所述秘密向量作为私钥;
第二生成模块,用于根据所述第一公钥,所述第二矩阵及所述第二加密参数生成第二公钥;
加密模块,用于利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文;
第二发送模块,用于将所述两个密文发送至所述接收端,以供所述接收端利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得目标待传输数据。
7.一种数据处理系统,其特征在于,包括存储组件及处理组件;
所述存储组件存储一条或多条计算机指令,所述一条或多条计算机指令供所述处理组件调用执行;
所述处理组件调用所述计算机指令以执行如权利要求1至4中任一项所述的数据处理方法。
8.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1 至4中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210068476.3A CN114095170B (zh) | 2022-01-20 | 2022-01-20 | 数据处理方法、装置、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210068476.3A CN114095170B (zh) | 2022-01-20 | 2022-01-20 | 数据处理方法、装置、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114095170A CN114095170A (zh) | 2022-02-25 |
CN114095170B true CN114095170B (zh) | 2022-05-27 |
Family
ID=80309092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210068476.3A Active CN114095170B (zh) | 2022-01-20 | 2022-01-20 | 数据处理方法、装置、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114095170B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116170142B (zh) * | 2023-04-20 | 2023-07-18 | 北京信安世纪科技股份有限公司 | 分布式协同解密方法、设备和存储介质 |
CN116938454B (zh) * | 2023-09-15 | 2024-01-23 | 浪潮(北京)电子信息产业有限公司 | 一种密钥处理方法、设备、介质及系统 |
CN117319086B (zh) * | 2023-11-27 | 2024-02-09 | 北京信安世纪科技股份有限公司 | 不经意传输系统、方法、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021107515A1 (en) * | 2019-11-28 | 2021-06-03 | Seoul National University R&Db Foundation | Identity-based encryption method based on lattices |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10516534B2 (en) * | 2015-04-07 | 2019-12-24 | Mitsubishi Electric Corporation | Cryptographic system and key generation apparatus |
CN106789044B (zh) * | 2017-02-20 | 2019-12-27 | 西南石油大学 | 标准模型下格上云存储密文数据公钥可搜索加密方法 |
EP3373505A1 (en) * | 2017-03-06 | 2018-09-12 | Koninklijke Philips N.V. | Device and method for sharing a matrix for use in a cryptographic protocol |
CN110138752B (zh) * | 2019-04-19 | 2021-08-13 | 北京信息科学技术研究院 | 一种基于格的公钥加密方法 |
CN111064570B (zh) * | 2019-12-17 | 2023-01-31 | 航天信息股份有限公司 | 共享密钥处理方法、装置、存储介质和电子设备 |
CN113259107B (zh) * | 2021-06-22 | 2022-06-21 | 西安工程大学 | 一种基于格的双模式加密方法 |
CN113660278B (zh) * | 2021-08-18 | 2023-05-02 | 贵州大学 | 一种抗量子攻击的非交互式属性代理重加密方法及系统 |
-
2022
- 2022-01-20 CN CN202210068476.3A patent/CN114095170B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021107515A1 (en) * | 2019-11-28 | 2021-06-03 | Seoul National University R&Db Foundation | Identity-based encryption method based on lattices |
Also Published As
Publication number | Publication date |
---|---|
CN114095170A (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9973334B2 (en) | Homomorphically-created symmetric key | |
Rodriguez-Henriquez et al. | A brief introduction to modern cryptography | |
Mitali et al. | A survey on various cryptography techniques | |
CN114095170B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
Orobosade et al. | Cloud application security using hybrid encryption | |
WO2018104412A1 (en) | Method of rsa signature or decryption protected using a homomorphic encryption | |
Gupta et al. | A review of comparative study of md5 and ssh security algorithm | |
Karakra et al. | A-rsa: augmented rsa | |
CA2639649A1 (en) | Cryptography method and system | |
Garg et al. | Comparison of asymmetric algorithms in cryptography | |
Mitra et al. | Prevention of the man-in-the-middle attack on Diffie–Hellman key exchange algorithm: A review | |
Al Busafi et al. | Review and analysis of cryptography techniques | |
Srivastava et al. | Review on quantum safe algorithms based on Symmetric Key and Asymmetric Key Encryption methods | |
Singh et al. | Comparative study of DES, 3DES, AES and RSA | |
Chavan et al. | Data transmission using RSA algorithm | |
Sharma et al. | A Hybrid Cryptosystem approach for file security by using merging mechanism | |
Kumar et al. | A novel framework for secure file transmission using modified AES and MD5 algorithms | |
Avestro et al. | Hybrid Algorithm Combining Modified Diffie Hellman and RSA | |
KR100388059B1 (ko) | 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법 | |
Surabhi et al. | Advanced 256-Bit Aes Encyption With Plain Text Partitioning | |
Kaur et al. | An Encryption Scheme Based on AES and SHA-512 | |
Abdulameer | A cryptosystem for database security based on RC4 algorithm | |
AlRoubiei et al. | Critical analysis of cryptographic algorithms | |
Gountia et al. | Towards security aspects of secret key transmission | |
Harba | Secure Data Encryption by Combination AES, RSA and HMAC |
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 |