CN116633526B - 一种数据处理方法、装置、设备及介质 - Google Patents
一种数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116633526B CN116633526B CN202310897659.0A CN202310897659A CN116633526B CN 116633526 B CN116633526 B CN 116633526B CN 202310897659 A CN202310897659 A CN 202310897659A CN 116633526 B CN116633526 B CN 116633526B
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- pieces
- target
- vectors
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 239000013598 vector Substances 0.000 claims abstract description 130
- 238000012545 processing Methods 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000004364 calculation method Methods 0.000 claims abstract description 51
- 239000011159 matrix material Substances 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 5
- 238000007792 addition Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- RNAMYOYQYRYFQY-UHFFFAOYSA-N 2-(4,4-difluoropiperidin-1-yl)-6-methoxy-n-(1-propan-2-ylpiperidin-4-yl)-7-(3-pyrrolidin-1-ylpropoxy)quinazolin-4-amine Chemical compound N1=C(N2CCC(F)(F)CC2)N=C2C=C(OCCCN3CCCC3)C(OC)=CC2=C1NC1CCN(C(C)C)CC1 RNAMYOYQYRYFQY-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种数据处理方法、装置、设备及介质,涉及信息安全技术领域,其中方法包括:获取密文数据,所述密文数据包括对特征向量进行同态加密后得到的多个多项式,所述特征向量为图结构的边向量或者节点向量,或者根据边向量计算得到的中间向量,或者根据节点向量计算得到的中间向量;将所述多个多项式进行划分,得到m个待处理数据,每个所述待处理数据包括的多项式的数量相同,m为正整数;对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据。通过上述步骤,通过对多个待处理数据进行并行处理,从而提高同态加密中对密文数据的处理效率。
Description
技术领域
本申请涉及信息安全技术领域,特别是涉及一种数据处理方法、装置、设备及介质。
背景技术
同态加密可以实现在不暴露原始数据的情况下进行数据共享和协作,由于其安全性较高,所以同态加密系统广泛应用于云计算安全、医疗数据安全、物联网安全等领域。
同态加密系统一般情况下会将大型的密文模数分割为多个较小的密文模数,并将多个较小的密文模数依次输入中央处理器(Central Processing Unit,CPU)中进行处理,再将处理后的数据进行关联,从而得到处理结果,但如果较小的密文模数的数量较大,使用上述方法进行处理,处理效率较低。
发明内容
本申请提供的一种数据处理方法、装置、设备及介质,可以对数据并行处理,提高数据处理的效率。
第一方面,本申请实施例提供一种数据处理方法,方法包括:
获取密文数据,所述密文数据包括对特征向量进行同态加密后得到的多个多项式,所述特征向量为图结构的边向量或者节点向量,或者根据边向量计算得到的中间向量,或者根据节点向量计算得到的中间向量,所述特征向量包括多个特征元素,一个多项式由一个特征元素同态加密后得到;
将所述多个多项式进行划分,得到m个待处理数据,每个所述待处理数据包括的多项式的数量相同,m为正整数;
对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据。
第二方面,本申请提供一种数据处理装置,该装置包括:
第一获取模块,用于获取密文数据,所述密文数据包括对特征向量进行同态加密后得到的多个多项式,所述特征向量为图结构的边向量或者节点向量,或者根据边向量计算得到的中间向量,或者根据节点向量计算得到的中间向量;
第二获取模块,用于将所述多个多项式进行划分,得到m个待处理数据,每个所述待处理数据包括的多项式的数量相同,m为正整数;
第三获取模块,用于对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如第一方面中任意一个实施例中的数据处理方法。
第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面中任意一个实施例中的数据处理方法。
第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行实现如上述第一方面中任意一个实施例中的数据处理方法。
在本申请实施例提供的数据处理方法、装置、设备及介质,其中,方法包括:获取密文数据,所述密文数据包括对特征向量进行同态加密后得到的多个多项式,所述特征向量为图结构的边向量或者节点向量,或者根据边向量计算得到的中间向量,或者根据节点向量计算得到的中间向量;将所述多个多项式进行划分,得到m个待处理数据,每个所述待处理数据包括的多项式的数量相同,m为正整数;对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据。通过上述步骤,通过对多个待处理数据进行并行处理,从而提高同态加密中对密文数据的处理效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的数据处理方法的一流程示意图;
图2是本申请一个实施例提供的数据处理方法的另一流程示意图;
图3是本申请实施例提供的一种数据处理装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了解决现有技术问题,本申请实施例提供了一种数据处理方法、装置、设备及介质。下面首先对本申请实施例所提供的数据处理方法进行介绍。
图1示出了本申请一个实施例提供的数据处理方法的流程示意图。如图1所示,该方法具体可以包括如下步骤:
步骤101,获取密文数据,所述密文数据包括对特征向量进行同态加密后得到的多个多项式,所述特征向量为图结构的边向量或者节点向量,或者根据边向量计算得到的中间向量,或者根据节点向量计算得到的中间向量。
具体地,在同态加密系统中,可以对多种类型的数据进行处理,如数字、文本和图像等类型的数据,本实施例中以特征向量为例,特征向量广泛应用于机器学习和图像处理技术领域,此处以图像处理中的特征向量为例,特征向量包括边向量和节点向量,或者是由边向量和节点向量计算得到的中间向量,这里的中间向量可以是以数值形式表示的向量。需要说明的是,在同态加密计算中是将数据转换为多项式的形式,从而对多项式进行计算处理的,所以这里的密文数据是由多个多项式组成的。
步骤102,将所述多个多项式进行划分,得到m个待处理数据,每个所述待处理数据包括的多项式的数量相同,m为正整数。
具体地,对密文数据中的多个多项式进行划分,从而达到划分密文数据的目的,为了便于处理,这里可以根据多项式的个数进行划分,即使得每个待处理数据中的多项式的数量相等,实际上也可以对待处理数据中的多项式数量不做限制,将密文数据划分后得到m个待处理数据。
步骤103,对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据。
具体地,一般情况下,同态加密系统将m个待处理数据输入CPU中进行串行处理,为了提高对数据的处理效率,这里将m个待处理数据输入图形处理器(Graphics ProcessingUnit,GPU)中进行并行处理,其中同一处理批次的待处理数据的数量可以根据实际需要进行选择。
在上述实施例中,将密文数据划分为多个待处理数据后,对至少两个待处理数据进行并行处理,其中,同一处理批次的待处理的数量还可以根据实际需要进行调整,这与串行处理相比,能够提高在同态加密系统中对数据的处理效率。
在本申请中的另一实施例中,对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据,包括:
在m大于或等于预设阈值的情况下,每次从m个待处理数据中选取n个待处理数据,直到未被选取的待处理数据的数量小于n,n为大于1的正整数;
对每次选取的所述n个待处理数据进行并行处理,得到n个中间数据,每个待处理数据得到一个中间数据;
对未被选取的待处理数据进行并行处理,得到u个中间数据,u为正整数;
基于目标中间数据进行拼接,得到所述目标数据,所述目标中间数据包括通过每次选取操作得到的n个中间数据和u个中间数据。
具体地,在m大于或等于预设阈值的情况下,每次从m个待处理数据中选取n个待处理数据,这里的预设阈值是指GPU可以在同一批次可以处理的数据的最大数量,n是一个小于或等于预设阈值的正整数,且大于1,即同一处理批次包含n个待处理数据,对n个待处理数据进行并行处理,得到n个中间数据,n的值可以根据实际情况进行调整。选取x批次后,剩余的待处理数据不足n的情况下,将剩余的待处理数据划分为同一处理批次,即对未被选取的待处理数据进行并行处理,得到u个中间数据,此处的x为正整数,代表选取的次数,u也为正整数,代表未被选取的待处理数据的数量。需要说明的是,上述待处理数据均被输入GPU中进行并行处理。
对待处理数据进行处理后还需要将处理后的数据拼接为一个完整的数据,即对n*x+u(即m)个中间数据(即目标中间数据)进行拼接,得到目标数据,此时的目标数据仍然是密文形式,通过进一步解密,可以得到最终想要的结果。
在上述实施例中,可以根据实际情况选择每一处理批次要处理的待处理数据的数量,从而有选择性的提高处理效率。另外,GPU中可以重复利用相同内存长度的内存空间,从而减少频繁的显存分配和释放操作。
在本申请的又一实施例中,所述对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据,包括:
在m小于n的情况下,对所述m个待处理数据进行并行处理,获得m个中间数据;
基于目标中间数据进行拼接,得到所述目标数据,所述目标中间数据包括所述m个中间数据。
具体地,如果待处理数据的数量小于预设阈值的情况下,可以将所有待处理数据放在同一批次进行并行处理,即将m个待处理数据输入GPU中进行并行处理,得到m个中间数据,对待处理数据进行处理后还需要将处理后的数据拼接为一个完整的数据,即对m个中间数据(即目标中间数据)进行拼接,得到目标数据,此时的目标数据仍然是密文形式,通过进一步解密,可以得到最终想要的结果。
在上述实施例中,在待处理数据的数量小于GPU可以处理的最大数量(即预设阈值)的情况下,可以将所有的待处理数据放在同一批次进行并行处理,相比于串行处理,能够提高数据处理的效率。
在本申请的又一实施例中,所述将所述多个多项式进行划分,得到m个待处理数据,包括:
将所述多个多项式中的各个多项式按照对应的特征元素在所述特征向量中的顺序进行排序,得到多项式序列,所述特征向量包括多个特征元素;
将所述多项式序列进行划分,得到m个待处理数据,每个待处理数据中包括的多个多项式的顺序相邻。
具体地,密文数据中的各个多项式是由特征向量经过加密得到的,将各个多项式按照特征元素在特征向量中的前后顺序进行排序,得到多项式序列,即如果第一特征元素在第二特征元素之前,那么第一特征元素加密后得到的多个第一多项式则排列在第二特征元素加密后得到的多个第二多项式之前,完成排序之后对密文数据中的各个多项式进行划分,从而减小数据处理的压力,划分时按照多项式序列依次划分,每个待处理数据中包括的多个多项式的顺序都相邻,如从前往后,每五个多项式划分为一个待处理数据(即上述第一多项式数量为五),直至将所有多项式划分完毕。在其他实施例中,划分时每个待处理数据中的多项式的数量也可以不一致,但使每个待处理数据中的多项式的数量一致效果较佳,可以根据实际情况进行调整。
在上述实施例中,对密文数据中的多项式进行排序,再根据多项式将密文数据划分为多个待处理数据,使每个待处理数据中的多项式的数量一致的情况下,GPU可以重复利用相同内存长度的内存空间,从而减少频繁的显存分配和释放操作。
在本申请的又一实施例中,所述对每次选取的所述n个待处理数据进行并行处理,得到n个中间数据,包括:
将所述n个待处理数据分别输入n个计算单元;
对于每个计算单元,按照预设的计算规则,对所述待处理数据进行处理,获得中间数据。
具体地,在GPU中存在多个计算单元,每个计算单元对数据的处理过程都是相对独立的,不受其他计算单元的影响,所以将同一批次中的n个待处理数据分别输入到不同的计算单元中去,然后n个计算单元按照预设的计算规则,对待处理数据进行并行处理,处理之后输出n个中间数据。
在上述实施例中,GPU具有较大的内存带宽和存储容量,能够处理大规模的数据集,另外,由于GPU的并行处理能力,它能够在较短的时间内完成计算任务,从而减少了计算机系统的工作时间,进而节约了能源消耗。
在本申请的又一实施例中,所述对于每个计算单元,按照预设的计算规则,对输入的所述待处理数据进行处理,获得目标数据,包括:
获取输入的所述待处理数据在所述多项式序列中的目标序号;
获取预设的计算矩阵中与所述目标序号相同的列包括的矩阵元素,所述计算矩阵为q行m列的矩阵,其中,q为正整数;
将每个所述矩阵元素分别与所述待处理数据相乘,获得一个中间数据。
具体地,每一个待处理数据都是根据多项式序列划分得到的,待处理数据的目标序号代表着此待处理数据在多项式序列中是第几个待处理数据,即待处理数据的目标序号是2,则此待处理数据在多项式序列中是第2个待处理数据。
这里以矩阵向量乘为例,每个计算单元中要选取计算矩阵中的一列矩阵元素,先将这列矩阵元素与对应的待处理数据(即特征向量中的一个特征元素加密后得到的数据)相乘,其中,计算矩阵为q行m列的矩阵,q为正整数,m为正整数,计算矩阵中的矩阵元素的值可以根据实际需要确定。如:将目标序号为1的待处理数据输入第一计算单元中,从计算矩阵中选取第1列矩阵元素,其中,计算矩阵包括q*m个矩阵元素,将第一列的q个矩阵元素分别与待处理数据相乘,得到一个中间数据,中间数据包含q个向量元素。其他计算单元中的计算与上述过程相似。
在上述实施例中,将整个计算矩阵与密文数据相乘的过程拆分为多个计算过程,每个计算过程对计算矩阵中的一列矩阵元素与对应的待处理数据进行计算,多个计算过程并行,可以提高数据的处理效率,同时每个计算单元中的数据量都相对较小,能够在较短的时间内完成计算任务,从而减少了计算机系统的工作时间,节约了能源消耗。
在本申请的又一实施例中,所述中间数据包括q个向量元素;
所述基于目标中间数据进行拼接,得到所述目标数据,包括:
将m个中间数据中的向量元素对应相加,获得q个目标向量元素;
将所述q个目标向量元素按照对应的矩阵元素在所述计算矩阵所在行的顺序进行拼接,获得目标数据。
具体地,一个中间数据包含q个向量元素,相当于一个q维向量,将m个中间数据中的向量元素对应相加,相当于将m个向量相加,即将向量中对应的元素相加,得到q个目标向量元素,这里的加法也可以进行并行处理以提高计算效率,然后将q个目标向量元素与之对应的矩阵元素在计算矩阵中所在行数的顺序进行拼接,如:第一个目标向量元素都是由计算矩阵中第二行的矩阵元素经过计算得到的,则将第一个目标向量元素排列在第2位,第二个目标向量元素是由计算矩阵中第一行的矩阵元素经过计算得到的,则将第二个目标向量元素拼接在第一个目标向量元素之前,以此类推,直至完成对所有目标向量元素的拼接,获得一个新的q维向量,即目标数据,但这里的目标数据是密文形式,对目标数据进一步解密即可获得最终数据。
在上述实施例中,对中间数据进一步相加,其中相加的过程也可以并行处理,对相加后的数据进一步拼接,即可得到密文形式的最终结果,多个计算过程并行,可以提高数据的处理效率,同时每个计算单元中的数据量都相对较小,能够在较短的时间内完成计算任务,从而减少了计算机系统的工作时间,节约了能源消耗。
图2是本申请一个实施例提供的数据处理方法的另一流程示意图,以下对本申请提供的数据处理方法进行如下详细说明。
1、使用GPU实现多项式上的各类运算,包括多项式加法、数论变换及其逆变换、多项式乘法。
1)对于向量模加、逐元素乘操作,仅发射一次GPU内核函数,在GPU内核中实现巴雷特取模方法,将取模转化为加法和乘法,避免较为昂贵的整数除法操作。
2)数论变换及其逆变换为时间复杂度O(NlogN)算法,可视为包含logN层操作,每层操作可按N的并行度处理。因而数论变换的实现包含logN次GPU内核函数发射。
2、基于上述GPU多项式操作支持,搭建完整的BFV,CKKS密码系统,实现同态密码系统所要求的密钥切换、模数切换、重线性化操作。
3、实现高效的GPU显存管理系统,回收不再需要的明文、密文对象并持有其显存空间,以待创建新对象时直接重用显存,避免频繁且低效的显存释放和分配操作。
本申请提供的方法,使用GPU进行BFV,CKKS同态密码系统中的同态运算的并行加速,提高同态密码系统效率。实现完善的显存管理机制,避免频繁的显存分配和释放操作。同态密码系统实现具有通用性,能够适用于所有使用该同态密码系统的上层应用。其接口匹配广泛使用的Microsoft SEAL系统,替换简单,能够以较小的替换代码量直接带来效率提升。
考虑基础同态操作的GPU并行加速。取多项式次数N=4096,模数RNS分解包含3个分量q=q1q2q3。使用Intel(R) Xeon(R) Gold 6230R CPU 对 Microsoft SEAL 进行性能测试。使用NVIDIA RTX A6000对本发明提出的 GPU实现方案进行性能测试,效率对比如表1所示,时间单位为微秒。
表1
若选用更大的多项式次数或者更长的RNS分解,则并行度能够提高,GPU实现能获得更好的加速效果。
以下以同态矩阵向量乘为例进行说明:
考虑一个具体应用,即同态加密下的矩阵向量乘法,该算法可在隐私保护机器学习推理过程中使用。
算法由两方参与,具体步骤如下:
步骤1:客户端对输入的向量(例如,数据特征向量)进行同态加密,并将加密后的向量(密文向量)发送至服务器;
步骤2:接收密文向量;
步骤3:服务器提供矩阵(例如,线性回归参数或神经网络全连接层权重),计算密文向量与矩阵的乘积,获得密文结果,并将密文结果发送至客户端。
步骤4:客户端对密文结果进行解密,得到最终结果。
具体的矩阵向量乘算法使用Cheetah工作提出的多项式编码方案,可参考该论文中细节描述内容进行实现,此处不再详述。矩阵向量乘仅需使用明文-密文乘法,然而由于矩阵较大(通常在神经网络中输入向量规模可达到512长度以上),其计算量耗时开销仍然较大。使用GPU对该算法进行加速,能够极大提高同态下的矩阵向量乘的可行性与实用性。取N=8192,分解为三个RNS分量进行实验,加速效果如表2所示,时间单位为毫秒。
表2
对同态加密系统的并行优化除了可以使用GPU设备外,也可使用如下两种方案:
•FPGA或者专用芯片:使用FPGA或者专用芯片,可以设计RNS分解或者NTT变换的专用硬件方案。然而使用该种设计需要将额外硬件接入计算服务器,并设计专门的驱动软件进行数据拷贝和传输的优化,相较于目前应用已经较为成熟的GPU加速方案显得较为复杂。
并行向量操作指令集:在部分系统架构上存在专用的向量并行操作指令集(例如x86-64系统上的avx2指令集和avx512f指令集)。使用这些指令集能带来常数数量级的并行优化(4至8倍)。
图3示出了本申请一个实施例提供的数据处理装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图3,数据处理装置300可以包括:
第一获取模块301,用于获取密文数据,所述密文数据包括对特征向量进行同态加密后得到的多个多项式,所述特征向量为图结构的边向量或者节点向量,或者根据边向量计算得到的中间向量,或者根据节点向量计算得到的中间向量,所述特征向量包括多个特征元素,一个多项式由一个特征元素同态加密后得到;
第二获取模块302,用于将所述多个多项式进行划分,得到m个待处理数据,每个所述待处理数据包括的多项式的数量相同,m为正整数;
第三获取模块303,用于对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据。
可选地,所述第三获取模块303,包括:
第一获取子模块,用于在m大于或等于预设阈值的情况下,每次从m个待处理数据中选取n个待处理数据,直到未被选取的待处理数据的数量小于n,n为大于1的正整数;
第二获取子模块,用于对每次选取的所述n个待处理数据进行并行处理,得到n个中间数据,每个待处理数据得到一个中间数据;
第一处理子模块,用于对未被选取的待处理数据进行并行处理,得到u个中间数据,u为正整数;
第三获取子模块,用于基于目标中间数据进行拼接,得到所述目标数据,所述目标中间数据包括通过每次选取操作得到的n个中间数据和u个中间数据。
可选地,所述第三获取模块303,包括:
第二处理子模块,用于在m小于n的情况下,对所述m个待处理数据进行并行处理,获得m个中间数据;
第四获取子模块,用于基于目标中间数据进行拼接,得到所述目标数据,所述目标中间数据包括所述m个中间数据。
可选地,所述第二获取模块302,包括:
排序子模块,用于将所述多个多项式中的各个多项式按照对应的特征元素在所述特征向量中的顺序进行排序,得到多项式序列,所述特征向量包括多个特征元素;
第五获取子模块,用于将所述多项式序列进行划分,得到m个待处理数据,每个待处理数据中包括的多个多项式的顺序相邻。
可选地,所述第二获取子模块,包括:
输入单元,用于将所述n个待处理数据分别输入n个计算单元;
处理单元,用于对于每个计算单元,按照预设的计算规则,对所述待处理数据进行处理,获得目标数据。
可选地,所述处理单元,包括:
第一获取子单元,用于获取所述待处理数据在所述多项式序列中的目标序号;
第二获取子单元,用于获取预设的计算矩阵中与所述目标序号相同的列包括的矩阵元素,所述计算矩阵为q行m列的矩阵,其中,q为正整数;
第三获取子单元,用于将每个所述矩阵元素分别与所述待处理数据相乘,获得中间数据。
可选地,所述中间数据包括q个向量元素;
所述第三获取子模块,包括:
第一获取单元,用于将m个中间数据中的向量元素对应相加,获得q个目标向量元素;
第二获取单元,用于将所述q个目标向量元素按照对应的矩阵元素在所述计算矩阵所在行的顺序进行拼接,获得目标数据。
本申请实施例提供的数据处理装置300能够实现前述方法实施例实现的各个过程,为避免重复,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图4示出了本申请实施例提供的电子设备的硬件结构示意图。
设备可以包括处理器401以及存储有程序指令的存储器402。
处理器401执行程序时实现上述任意各个方法实施例中的步骤。
示例性的,程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器402中,并由处理器401执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列程序指令段,该指令段用于描述程序在设备中的执行过程。
具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关容灾设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
处理器401通过读取并执行存储器402中存储的程序指令,以实现上述实施例中的任意一种方法。
在一个示例中,电子设备还可包括通信接口403和总线410。其中,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
通信接口403,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线410包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有程序指令;该程序指令被处理器执行时实现上述实施例中的任意一种方法。
本申请实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上的结构框图中所示的功能模块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网格被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (9)
1.一种数据处理方法,其特征在于,所述方法包括:
获取密文数据,所述密文数据包括对特征向量进行同态加密后得到的多个多项式,所述特征向量为图结构的边向量或者节点向量,或者根据边向量计算得到的中间向量,或者根据节点向量计算得到的中间向量,所述特征向量包括多个特征元素,一个多项式由一个特征元素同态加密后得到;
将所述多个多项式进行划分,得到m个待处理数据,每个所述待处理数据包括的多项式的数量相同,m为正整数;
通过图形处理器对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据;
其中,所述对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据,包括:在m大于或等于预设阈值的情况下,每次从m个待处理数据中选取n个待处理数据,直到未被选取的待处理数据的数量小于n,n为大于1的正整数;对每次选取的所述n个待处理数据进行并行处理,得到n个中间数据,每个待处理数据得到一个中间数据;对未被选取的待处理数据进行并行处理,得到u个中间数据,u为正整数;基于目标中间数据进行拼接,得到所述目标数据,所述目标中间数据包括通过每次选取操作得到的n个中间数据和u个中间数据。
2.根据权利要求1所述的方法,其特征在于,所述对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据,包括:
在m小于n的情况下,对所述m个待处理数据进行并行处理,获得m个中间数据;
基于目标中间数据进行拼接,得到所述目标数据,所述目标中间数据包括所述m个中间数据。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述多个多项式进行划分,得到m个待处理数据,包括:
将每个多项式按照对应的特征元素在所述特征向量中的顺序进行排序,得到多项式序列,所述特征向量包括多个特征元素;
将所述多项式序列进行划分,得到m个待处理数据,每个待处理数据中包括的多个多项式的顺序相邻。
4.根据权利要求3的方法,其特征在于,所述对每次选取的所述n个待处理数据进行并行处理,得到n个中间数据,包括:
将所述n个待处理数据分别输入n个计算单元;
对于每个计算单元,对输入的所述待处理数据进行处理,获得中间数据。
5.根据权利要求4所述的方法,其特征在于,所述对于每个计算单元,对输入的所述待处理数据进行处理,获得中间数据,包括:
获取输入的所述待处理数据在所述多项式序列中的目标序号;
获取预设的计算矩阵中与所述目标序号相同的列包括的矩阵元素,所述计算矩阵为q行m列的矩阵,其中,q为正整数;
将每个所述矩阵元素分别与所述待处理数据相乘,获得一个中间数据。
6.根据权利要求5所述的方法,其特征在于,所述中间数据包括q个向量元素;
所述基于目标中间数据进行拼接,得到所述目标数据,包括:
将m个中间数据中的向量元素对应相加,获得q个目标向量元素;
将所述q个目标向量元素按照对应的矩阵元素在所述计算矩阵所在行的顺序进行拼接,获得目标数据。
7.一种数据处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取密文数据,所述密文数据包括对特征向量进行同态加密后得到的多个多项式,所述特征向量为图结构的边向量或者节点向量,或者根据边向量计算得到的中间向量,或者根据节点向量计算得到的中间向量;
第二获取模块,用于将所述多个多项式进行划分,得到m个待处理数据,每个所述待处理数据包括的多项式的数量相同,m为正整数;
第三获取模块,用于通过图形处理器对所述m个待处理数据中的至少两个待处理数据进行并行处理,得到目标数据;
其中,所述第三获取模块包括:第一获取子模块,用于在m大于或等于预设阈值的情况下,每次从m个待处理数据中选取n个待处理数据,直到未被选取的待处理数据的数量小于n,n为大于1的正整数;第二获取子模块,用于对每次选取的所述n个待处理数据进行并行处理,得到n个中间数据,每个待处理数据得到一个中间数据;第一处理子模块,用于对未被选取的待处理数据进行并行处理,得到u个中间数据,u为正整数;第三获取子模块,用于基于目标中间数据进行拼接,得到所述目标数据,所述目标中间数据包括通过每次选取操作得到的n个中间数据和u个中间数据。
8.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-6中任意一项所述的数据处理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6中任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310897659.0A CN116633526B (zh) | 2023-07-21 | 2023-07-21 | 一种数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310897659.0A CN116633526B (zh) | 2023-07-21 | 2023-07-21 | 一种数据处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116633526A CN116633526A (zh) | 2023-08-22 |
CN116633526B true CN116633526B (zh) | 2023-10-31 |
Family
ID=87597564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310897659.0A Active CN116633526B (zh) | 2023-07-21 | 2023-07-21 | 一种数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116633526B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349868B (zh) * | 2023-12-04 | 2024-04-12 | 粤港澳大湾区数字经济研究院(福田) | 基于gpu的全同态加解密方法、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968173A (zh) * | 2022-05-25 | 2022-08-30 | 中国人民武装警察部队工程大学 | 基于ntt和intt结构的多项式乘法运算方法和多项式乘法器 |
CN115348017A (zh) * | 2022-10-18 | 2022-11-15 | 阿里巴巴(中国)有限公司 | 密文处理方法以及装置 |
CN115622684A (zh) * | 2022-11-16 | 2023-01-17 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于全同态加密的隐私计算异构加速方法及装置 |
CN115994546A (zh) * | 2023-02-14 | 2023-04-21 | 蚂蚁区块链科技(上海)有限公司 | 矩阵乘法的安全计算方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11907380B2 (en) * | 2021-05-17 | 2024-02-20 | International Business Machines Corporation | In-memory computation in homomorphic encryption systems |
US20230163945A1 (en) * | 2021-11-24 | 2023-05-25 | Electronics And Telecommunications Research Institute | Method and apparatus for hardware-based accelerated arithmetic operation on homomorphically encrypted message |
-
2023
- 2023-07-21 CN CN202310897659.0A patent/CN116633526B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968173A (zh) * | 2022-05-25 | 2022-08-30 | 中国人民武装警察部队工程大学 | 基于ntt和intt结构的多项式乘法运算方法和多项式乘法器 |
CN115348017A (zh) * | 2022-10-18 | 2022-11-15 | 阿里巴巴(中国)有限公司 | 密文处理方法以及装置 |
CN115622684A (zh) * | 2022-11-16 | 2023-01-17 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于全同态加密的隐私计算异构加速方法及装置 |
CN115994546A (zh) * | 2023-02-14 | 2023-04-21 | 蚂蚁区块链科技(上海)有限公司 | 矩阵乘法的安全计算方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116633526A (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jain et al. | A robust image encryption algorithm resistant to attacks using DNA and chaotic logistic maps | |
Liao et al. | A modified (Dual) fusion technique for image encryption using SHA-256 hash and multiple chaotic maps | |
Pöppelmann et al. | Towards practical lattice-based public-key encryption on reconfigurable hardware | |
US9143325B2 (en) | Masking with shared random bits | |
WO2018034079A1 (ja) | 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム | |
CN116633526B (zh) | 一种数据处理方法、装置、设备及介质 | |
Çavuşoğlu et al. | A novel parallel image encryption algorithm based on chaos | |
CN111555880A (zh) | 数据碰撞方法、装置、存储介质及电子设备 | |
CN108875416B (zh) | 椭圆曲线多倍点运算方法和装置 | |
Shashidhar et al. | Design of high speed AES system for efficient data encryption and decryption system using FPGA | |
DE102018126931A1 (de) | Vorrichtung und Verfahren auf der Basis direkter anonymer Attestierung | |
CN116561787A (zh) | 视觉图像分类模型的训练方法、装置及电子设备 | |
Moon et al. | An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE | |
CN113938270A (zh) | 弹性降低复杂度的数据加密方法和装置 | |
Haroun et al. | Real-time image encryption using a low-complexity discrete 3D dual chaotic cipher | |
CN112272082B (zh) | 图像加密/解密的方法及装置、电子设备、存储介质 | |
US20210176252A1 (en) | Secret equality determination system, secret equality determination method and secret equality determination program recording medium | |
CN116861477A (zh) | 基于隐私保护的数据处理方法、系统、终端及存储介质 | |
CN114826560B (zh) | 一种轻量级分组密码cref实现方法及系统 | |
CN103401681B (zh) | 取模方法、取模装置及芯片 | |
CN113626841B (zh) | 基于多方安全计算的选择问题处理方法 | |
CN112653547B (zh) | 用于处理输入数据的设备和方法、车辆和存储介质 | |
CN114547645A (zh) | 浮点数处理方法、装置、终端以及存储介质 | |
CN113761570A (zh) | 一种面向隐私求交的数据交互方法 | |
JP2012049765A (ja) | 秘匿性増強処理演算装置およびこれを備えた量子暗号通信端末 |
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 |