CN114095170B - 数据处理方法、装置、系统及计算机可读存储介质 - Google Patents

数据处理方法、装置、系统及计算机可读存储介质 Download PDF

Info

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
Application number
CN202210068476.3A
Other languages
English (en)
Other versions
CN114095170A (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 Infosec Technologies Co Ltd
Original Assignee
Beijing Infosec Technologies 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 Infosec Technologies Co Ltd filed Critical Beijing Infosec Technologies Co Ltd
Priority to CN202210068476.3A priority Critical patent/CN114095170B/zh
Publication of CN114095170A publication Critical patent/CN114095170A/zh
Application granted granted Critical
Publication of CN114095170B publication Critical patent/CN114095170B/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
    • 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/0852Quantum cryptography
    • 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/0442Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/50Oblivious 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矩阵构成的矩 阵集合,可以用
Figure 267021DEST_PATH_IMAGE001
表示,以及可以定义以正整数η为参数的二项分布
Figure 618368DEST_PATH_IMAGE002
,可以获得由多 项式环Rq中系数根据二项分布
Figure 705272DEST_PATH_IMAGE003
取值的元素构成的k维向量,可以用
Figure 382241DEST_PATH_IMAGE004
表示。
接收端还可以获取发送端生成的矩阵和加密参数。为了便于描述,可以将发送端 生成的矩阵称为第二矩阵,将发送端生成的加密参数称为第二加密参数,以及将后续说明 书中接收端生成的矩阵称为第一矩阵,接收端生成的加密参数称为第一加密参数。该第二 矩阵可以由发送端从上述矩阵集合
Figure 289017DEST_PATH_IMAGE005
中随机选取,可以用A'表示,该第二加密参数可 以由发送端从k个多项式环Rq的直积
Figure 444055DEST_PATH_IMAGE006
中随机选取,可以用t'表示。具体的,发送端随机 选取A'∈
Figure 651046DEST_PATH_IMAGE007
,以及随机选取t'∈
Figure 498916DEST_PATH_IMAGE008
基于上述矩阵集合
Figure 892988DEST_PATH_IMAGE009
,k维向量
Figure 851717DEST_PATH_IMAGE010
,第二矩阵A'及第二加密参数t',接收端可 以生成第一公钥和私钥。
102:从k维向量中随机选取秘密向量及噪声向量,从矩阵集合中随机选取第一矩阵,并根据秘密向量,噪声向量,第一矩阵,第二矩阵,第二加密参数,目标待传输数据标识及系统参数生成第一公钥,该秘密向量可以作为私钥。
接收端可以从上述k维向量
Figure 647635DEST_PATH_IMAGE011
中,随机选取秘密向量及噪声向量,秘密向量可以 用s表示,噪声向量可以用e表示,以及从上述矩阵集合
Figure 666406DEST_PATH_IMAGE012
中随机选取第一矩阵,可以 用A表示。具体的,随机选取(s,e)∈
Figure 547775DEST_PATH_IMAGE013
×
Figure 310194DEST_PATH_IMAGE014
,以及随机选取A∈
Figure 226198DEST_PATH_IMAGE015
可以将上述秘密向量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);
其中,A∈
Figure 150291DEST_PATH_IMAGE016
,(s,e)∈
Figure 518956DEST_PATH_IMAGE017
×
Figure 819487DEST_PATH_IMAGE018
,t∈
Figure 589997DEST_PATH_IMAGE019
t表示第一加密参数,A表示第一矩阵,
Figure 684992DEST_PATH_IMAGE020
表示多项式环Rq上的元素组成的k× k矩阵构成的矩阵集合,
Figure 806532DEST_PATH_IMAGE021
表示k个多项式环Rq的直积,Rq表示定义在剩余类环Zq上的多 项式环,q和k为系统参数,s表示秘密向量,e表示噪声向量,
Figure 645175DEST_PATH_IMAGE010
表示由多项式环Rq中系数根 据二项分布
Figure 270191DEST_PATH_IMAGE022
取值的元素构成的k维向量,
Figure 801667DEST_PATH_IMAGE023
表示以正整数η为参数的二项分布。
进一步地,根据第一矩阵A,第二矩阵A',第一加密参数t,第二加密参数t'及目标待传输数据标识σ,可以按照如下第一公钥生成公式生成第一公钥:
该第一公钥生成公式可以为:
Figure 879344DEST_PATH_IMAGE024
其中,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解密算法,可以按照如下解密公式进行解密:
该解密公式可以为:
Figure 787257DEST_PATH_IMAGE025
=Kyber.Dec(s,
Figure 532359DEST_PATH_IMAGE026
);
其中,
Figure 234736DEST_PATH_IMAGE027
表示目标待传输数据,Kyber.Dec表示利用Kyber算法进行解密,s表示 私钥,
Figure 799710DEST_PATH_IMAGE028
表示与目标待传输数据标识对应的密文。具体的解密过程将在后续实施例中进 行说明,此处不进行赘述。
本实施例中,接收端可以获取发送端生成的系统参数,第二矩阵及第二加密参数,其中,第二矩阵由发送端从基于系统参数确定的多项式环上的元素组成的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矩阵构 成的矩阵集合,可以用
Figure 245734DEST_PATH_IMAGE029
表示,以及可以定义k个多项式环Rq的直积,可以用
Figure 845343DEST_PATH_IMAGE030
表示。
从上述矩阵集合
Figure 718621DEST_PATH_IMAGE031
中随机选取第二矩阵,可以用A'表示,以及从直积
Figure 770891DEST_PATH_IMAGE032
中随 机选取第二加密参数,可以用t'表示。具体的,随机选取A'∈
Figure 755027DEST_PATH_IMAGE033
,以及随机选取t'∈
Figure 474722DEST_PATH_IMAGE034
上述第二矩阵A'及第二加密参数t',可以用于生成第二公钥。
202:接收接收端发送的第一公钥,第一公钥由接收端根据秘密向量,噪声向量,第一矩阵,第二矩阵,第二加密参数,目标待传输数据标识及系统参数生成,秘密向量及噪声向量由接收端从由多项式环中系数根据二项分布取值的元素构成的k维向量中随机选取,第一矩阵由接收端从矩阵集合中随机选取,秘密向量作为私钥。
发送端可以接收接收端发送的第一公钥。其中,第一公钥的生成过程在图1所示实施例中已进行了说明,此处不再进行赘述。
203:根据第一公钥,第二矩阵及第二加密参数生成第二公钥。
发送端接收到上述第一公钥后,可以根据第一公钥,第二矩阵及第二加密参数生成第二公钥。可选的,发送端可以根据接收端设置的第二公钥的生成方式,根据第一公钥,第二矩阵及第二加密参数生成第二公钥。其中,第二公钥的生成方式在图1所示实施例中已进行了说明,此处不再进行赘述。
可选的,根据第一公钥,第二矩阵及第二加密参数生成第二公钥的方法可以包括:
根据第一公钥,第二矩阵及第二加密参数,按照如下第二公钥生成公式生成第二公钥:
该第二公钥生成公式可以为:PK1=(A'-PK0[0],t'-PK0[1]);
其中,A'∈
Figure 253322DEST_PATH_IMAGE009
,t'∈
Figure 58467DEST_PATH_IMAGE032
Figure 846294DEST_PATH_IMAGE035
,A∈
Figure 420495DEST_PATH_IMAGE036
,t= Compressq(As+e,dt),(s,e)∈
Figure 635576DEST_PATH_IMAGE010
×
Figure 396858DEST_PATH_IMAGE010
PK1表示第二公钥,A'表示第二矩阵,
Figure 988377DEST_PATH_IMAGE037
表示多项式环Rq上的元素组成的k×k 矩阵构成的矩阵集合,Rq表示定义在剩余类环Zq上的多项式环,q和k为系统参数,t'表示第 二加密参数,
Figure 417084DEST_PATH_IMAGE038
表示k个Rq的直积;
PK0表示第一公钥,A表示第一矩阵,t表示第一加密参数,s表示秘密向量,e表示噪 声向量,
Figure 537487DEST_PATH_IMAGE004
表示由多项式环Rq中系数根据二项分布
Figure 317224DEST_PATH_IMAGE039
取值的元素构成的k维向量,
Figure 446854DEST_PATH_IMAGE040
表 示以正整数η为参数的二项分布,σ表示目标待传输数据标识,σ∈{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加密算法,可以按照如下解密公式获得目标待传输数据:
该解密公式可以为:
Figure 464488DEST_PATH_IMAGE041
=Kyber.Dec(s,
Figure 286951DEST_PATH_IMAGE042
);
其中,
Figure 288405DEST_PATH_IMAGE041
表示目标待传输数据,Kyber.Dec表示利用Kyber算法进行解密,s表示 私钥,
Figure 956147DEST_PATH_IMAGE043
表示与目标待传输数据标识对应的密文。
本实施例中,发送端可以确定系统参数,以及根据系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,从矩阵集合中随机选取第二矩阵,以及从直积中随机选取第二加密参数,接收接收端发送的第一公钥,根据第一公钥,第二矩阵及第二加密参数,生成第二公钥,并利用基于格的公钥加密算法,分别利用第一公钥及第二公钥对两个待传输数据进行加密,获得对应的两个密文,将两个密文发送至接收端,以供接收端利用与基于格的公钥加密算法对应的解密算法,利用私钥对与目标待传输数据标识对应的密文进行解密,从而获得目标待传输数据,通过利用基于格的公钥加密算法设计不经意传输协议,可以抵御量子攻击,从而提高数据不经意传输的安全性。
下面以基于格的公钥加密算法是Kyber算法为例,对上述数据处理的过程进行说明。发送端存储有两个待传输数据,即第一待传输数据M0和第二待传输数据M1,接收端想要获取其中一个待传输数据,称为目标待传输数据。
发送端确定系统参数k,dt,du,dv,q,n并公开,以及基于系统参数确定多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合
Figure 93867DEST_PATH_IMAGE044
,以及由多项式环Rq中系数根据二项分布
Figure 87231DEST_PATH_IMAGE045
取值的元素构成的k维向量
Figure 575981DEST_PATH_IMAGE010
,从k维向量
Figure 781834DEST_PATH_IMAGE011
中随机选取秘密向量s作为私钥,以及噪 声向量e,从矩阵集合
Figure 39640DEST_PATH_IMAGE046
中随机选取第一矩阵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发送至接收端。
接收端可以利用Kyber解密算法,利用私钥s进行解密,获得目标待传输数据
Figure 203905DEST_PATH_IMAGE047
Figure 914373DEST_PATH_IMAGE041
=Kyber.Dec(s,
Figure 923917DEST_PATH_IMAGE048
)。
如图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∈
Figure 301809DEST_PATH_IMAGE049
,(s,e)∈
Figure 105816DEST_PATH_IMAGE013
×
Figure 569159DEST_PATH_IMAGE013
;t表示第一加密参数,A表示第一矩阵,
Figure 116815DEST_PATH_IMAGE050
表示多项式环Rq上的元素组成的k×k矩阵构成的矩阵集合,Rq表示定义在剩余类环 Zq上的多项式环,q和k为系统参数,s表示秘密向量,e表示噪声向量,
Figure 349213DEST_PATH_IMAGE051
表示由多项式环Rq 中系数根据二项分布
Figure 589702DEST_PATH_IMAGE052
取值的元素构成的k维向量,
Figure 540340DEST_PATH_IMAGE053
表示以正整数η为参数的二项分 布;
根据第一矩阵,第二矩阵,第一加密参数,第二加密参数及目标待传输数据标识,按照如下第一公钥生成公式生成第一公钥:
第一公钥生成公式为:
Figure 157266DEST_PATH_IMAGE054
其中,A'∈
Figure 978592DEST_PATH_IMAGE055
,t'∈
Figure 655561DEST_PATH_IMAGE056
;PK0表示第一公钥,A'表示第二矩阵,t'表示第二加 密参数,
Figure 562337DEST_PATH_IMAGE057
表示k个Rq的直积,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传 输数据标识。
图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'∈
Figure 717375DEST_PATH_IMAGE012
,t'∈
Figure 924365DEST_PATH_IMAGE058
Figure 506656DEST_PATH_IMAGE059
,A∈
Figure 900728DEST_PATH_IMAGE046
,t= Compressq(As+e,dt),(s,e)∈
Figure 859457DEST_PATH_IMAGE060
×
Figure 655375DEST_PATH_IMAGE061
;PK1表示第二公钥,A'表示第二矩阵,
Figure 674146DEST_PATH_IMAGE062
表示 多项式环Rq上的元素组成的k×k矩阵构成的矩阵集合,Rq表示定义在剩余类环Zq上的多项 式环,q和k为系统参数,t'表示第二加密参数,
Figure 821094DEST_PATH_IMAGE032
表示k个Rq的直积,PK0表示第一公钥,A 表示第一矩阵,t表示第一加密参数,s表示秘密向量,e表示噪声向量,
Figure 317934DEST_PATH_IMAGE013
表示由多项式环 Rq中系数根据二项分布
Figure 233938DEST_PATH_IMAGE063
取值的元素构成的k维向量,
Figure 423611DEST_PATH_IMAGE064
表示以正整数η为参数的二项分 布,σ表示目标待传输数据标识,σ∈{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);
其中,
Figure FDA0003561160280000021
t表示第一加密参数,A表示第一矩阵,
Figure FDA0003561160280000022
表示多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合,Rq 表示定义在剩余类环Zq 上的多项式环,dt,q和k为系统参数,s表示秘密向量,e表示噪声向量,
Figure FDA0003561160280000023
表示由多项式环Rq 中系数根据二项分布βη取值的元素构成的k维向量,βη表示以正整数η为参数的二项分布;
根据所述第一矩阵,所述第二矩阵,所述第一加密参数,所述第二加密参数及目标待传输数据标识,按照如下第一公钥生成公式生成第一公钥:
所述第一公钥生成公式为:
Figure FDA0003561160280000024
其中,
Figure FDA0003561160280000025
PK0表示第一公钥,A'表示第二矩阵,t'表示第二加密参数,
Figure FDA0003561160280000026
表示k个Rq 的直积,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传输数据标识。
2.一种数据处理方法,其特征在于,应用于发送端,包括:
确定系统参数,基于所述系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,并从所述矩阵集合中随机选取第二矩阵,从所述直积中随机选取第二加密参数,k为正整数;
接收接收端发送的第一公钥,所述第一公钥由所述接收端根据秘密向量,噪声向量,第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成,所述第一公钥由所述秘密向量,所述噪声向量,所述第一矩阵及所述系统参数,按照如下第一加密参数生成公式生成的第一加密参数,以及所述第一矩阵,所述第二矩阵,所述第二加密参数及目标待传输数据标识,按照如下第一公钥生成公式生成;所述第一加密参数生成公式为:t=Compressq(As+e,dt);其中,
Figure FDA0003561160280000031
t表示第一加密参数,A表示第一矩阵,
Figure FDA0003561160280000032
表示多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合,Rq 表示定义在剩余类环Zq 上的多项式环,dt,q和k为系统参数,s表示秘密向量,e表示噪声向量,
Figure FDA0003561160280000033
表示由多项式环Rq 中系数根据二项分布βη取值的元素构成的k维向量,βη表示以正整数η为参数的二项分布;所述第一公钥生成公式为:
Figure FDA0003561160280000034
其中,
Figure FDA0003561160280000035
Figure FDA0003561160280000036
PK0表示第一公钥,A'表示第二矩阵,t'表示第二加密参数,
Figure FDA0003561160280000037
表示k个Rq 的直积,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传输数据标识;所述秘密向量及所述噪声向量由所述接收端从由多项式环中系数根据二项分布取值的元素构成的k维向量中随机选取,所述第一矩阵由所述接收端从所述矩阵集合中随机选取,所述秘密向量作为私钥;
根据所述第一公钥,所述第二矩阵及所述第二加密参数生成第二公钥;
利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文;
将所述两个密文发送至所述接收端,以供所述接收端利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得目标待传输数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一公钥,所述第二矩阵及所述第二加密参数生成第二公钥包括:
根据所述第一公钥,所述第二矩阵及所述第二加密参数,按照如下第二公钥生成公式生成第二公钥:
所述第二公钥生成公式为:PK1=(A'-PK0[0],t'-PK0[1]);
其中,
Figure FDA0003561160280000041
t=Compressq(As+e,dt),
Figure FDA0003561160280000042
PK1表示第二公钥,A'表示第二矩阵,
Figure FDA0003561160280000043
表示多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合,Rq 表示定义在剩余类环Zq 上的多项式环,dt,q和k为系统参数,t'表示第二加密参数,
Figure FDA0003561160280000044
表示k个Rq 的直积;
PK0表示第一公钥,A表示第一矩阵,t表示第一加密参数,s表示秘密向量,e表示噪声向量,
Figure FDA0003561160280000045
表示由多项式环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);
其中,
Figure FDA0003561160280000051
t表示第一加密参数,A表示第一矩阵,
Figure FDA0003561160280000052
表示多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合,Rq 表示定义在剩余类环Zq 上的多项式环,dt,q和k为系统参数,s表示秘密向量,e表示噪声向量,
Figure FDA0003561160280000053
表示由多项式环Rq 中系数根据二项分布βη取值的元素构成的k维向量,βη表示以正整数η为参数的二项分布;
根据所述第一矩阵,所述第二矩阵,所述第一加密参数,所述第二加密参数及目标待传输数据标识,按照如下第一公钥生成公式生成第一公钥:
所述第一公钥生成公式为:
Figure FDA0003561160280000061
其中,
Figure FDA0003561160280000062
PK0表示第一公钥,A'表示第二矩阵,t'表示第二加密参数,
Figure FDA0003561160280000063
表示k个Rq 的直积,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传输数据标识。
6.一种数据处理装置,其特征在于,包括:
确定模块,用于确定系统参数,基于所述系统参数确定多项式环上的元素组成的k×k矩阵构成的矩阵集合,以及k个多项式环的直积,并从所述矩阵集合中随机选取第二矩阵,从所述直积中随机选取第二加密参数,k为正整数;
接收模块,用于接收接收端发送的第一公钥,所述第一公钥由所述接收端根据秘密向量,噪声向量,第一矩阵,所述第二矩阵,所述第二加密参数,目标待传输数据标识及所述系统参数生成,所述第一公钥由所述秘密向量,所述噪声向量,所述第一矩阵及所述系统参数,按照如下第一加密参数生成公式生成的第一加密参数,以及所述第一矩阵,所述第二矩阵,所述第二加密参数及目标待传输数据标识,按照如下第一公钥生成公式生成;所述第一加密参数生成公式为:t=Compressq(As+e,dt);其中,
Figure FDA0003561160280000064
t表示第一加密参数,A表示第一矩阵,
Figure FDA0003561160280000065
表示多项式环Rq 上的元素组成的k×k矩阵构成的矩阵集合,Rq 表示定义在剩余类环Zq 上的多项式环,dt,q和k为系统参数,s表示秘密向量,e表示噪声向量,
Figure FDA0003561160280000071
表示由多项式环Rq 中系数根据二项分布βη取值的元素构成的k维向量,βη表示以正整数η为参数的二项分布;所述第一公钥生成公式为:
Figure FDA0003561160280000072
其中,
Figure FDA0003561160280000073
Figure FDA0003561160280000074
PK0表示第一公钥,A'表示第二矩阵,t'表示第二加密参数,
Figure FDA0003561160280000075
表示k个Rq 的直积,σ表示目标待传输数据标识,σ∈{0,1},0和1表示两个待传输数据标识;所述秘密向量及所述噪声向量由所述接收端从由多项式环中系数根据二项分布取值的元素构成的k维向量中随机选取,所述第一矩阵由所述接收端从所述矩阵集合中随机选取,所述秘密向量作为私钥;
第二生成模块,用于根据所述第一公钥,所述第二矩阵及所述第二加密参数生成第二公钥;
加密模块,用于利用基于格的公钥加密算法,分别利用所述第一公钥及所述第二公钥对两个待传输数据进行加密,获得对应的两个密文;
第二发送模块,用于将所述两个密文发送至所述接收端,以供所述接收端利用与所述基于格的公钥加密算法对应的解密算法,利用所述私钥对与所述目标待传输数据标识对应的密文进行解密,获得目标待传输数据。
7.一种数据处理系统,其特征在于,包括存储组件及处理组件;
所述存储组件存储一条或多条计算机指令,所述一条或多条计算机指令供所述处理组件调用执行;
所述处理组件调用所述计算机指令以执行如权利要求1至4中任一项所述的数据处理方法。
8.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1 至4中任一项所述的数据处理方法。
CN202210068476.3A 2022-01-20 2022-01-20 数据处理方法、装置、系统及计算机可读存储介质 Active CN114095170B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 贵州大学 一种抗量子攻击的非交互式属性代理重加密方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
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