CN111711645A - 一种数据处理方法、装置和用于数据处理的装置 - Google Patents
一种数据处理方法、装置和用于数据处理的装置 Download PDFInfo
- Publication number
- CN111711645A CN111711645A CN202010839269.4A CN202010839269A CN111711645A CN 111711645 A CN111711645 A CN 111711645A CN 202010839269 A CN202010839269 A CN 202010839269A CN 111711645 A CN111711645 A CN 111711645A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- bit
- iteration
- possible output
- bits
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- 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
-
- 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
-
- 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/122—Hardware reduction or efficient architectures
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种数据处理方法、装置和用于数据处理的装置,用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小。其中的方法包括:基于密文分别将x和y分解为n位的密文比特;将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。本申请实施例可以减少密文比较操作所需的通讯轮数,进而可以提高密文比较的效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置和用于数据处理的装置。
背景技术
MPC(Secure Multi-Party Computation,多方安全计算)系统,用于解决针对无可信第三方情况下,安全地进行多方协同的计算问题。多方安全计算系统要求输入数据均处于密文状态,即在一个分布式网络中,多个参与实体各自持有秘密输入,各方希望共同完成对某函数的计算,而要求每个参与实体除计算结果外均不能得到其他参与实体的任何输入信息。
多方安全计算系统要求数据处于密文状态,并在密文上进行计算,例如在密文状态下比较数据的大小,且输出结果也以密文形式存在。常见的密文比较方法是先将密文数据按位分解成密文比特,然后应用比较电路得到最终的比较结果的密文。
然而,比较电路的计算通常是串行的,直到最后一个比特位计算完成才能得到比较结果,因此,密文比较操作所需的通讯轮数与密文比特的位长成正比。比如待比较的密文数据是64位,则需要经过64轮通讯才能得到比较结果,导致密文比较的效率较低。
发明内容
本申请实施例提供一种数据处理方法、装置和用于数据处理的装置,可以减少密文比较操作所需的通讯轮数,进而可以提高密文比较的效率。
为了解决上述问题,本申请实施例公开了一种数据处理方法,用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小,所述方法包括:
基于密文分别将x和y分解为n位的密文比特;
将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。
另一方面,本申请实施例公开了一种数据处理装置,用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小,所述装置包括:
数据分解模块,用于基于密文分别将x和y分解为n位的密文比特;
迭代比较模块,用于将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。
再一方面,本申请实施例公开了一种用于数据处理的装置,用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小,所述装置包括有存储器,以及一个或者一个以上程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
基于密文分别将x和y分解为n位的密文比特;
将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。
又一方面,本申请实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。
本申请实施例包括以下优点:
本申请实施例提出了一种在支持密文位运算的系统中比较密文数据x和密文数据y的大小的方法,将传统的比较电路在每一轮迭代中的串行计算改为并行计算。具体地,将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。通过本申请实施例,将密文比较过程中的n轮迭代减少至log(n)轮,能够以更少的通讯轮数实现密文比较操作,通过减少迭代计算的轮数,可以减少通讯轮数,进而可以提高密文比较的效率,提高密文计算系统的性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一种数据处理方法实施例的步骤流程图;
图2是本申请的一种数据处理装置实施例的结构框图;
图3是本申请的一种用于数据处理的装置800的框图;
图4是本申请的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
方法实施例
参照图1,示出了本申请的一种数据处理方法实施例的步骤流程图,所述方法用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小,所述方法具体可以包括如下步骤:
步骤101、基于密文分别将x和y分解为n位的密文比特;
步骤102、将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。
本申请实施例可用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小。位运算就是直接对整数在内存中的二进制位进行操作。密文位运算指在密文状态下进行位运算,也即每个二进制位为密文。
在本申请的一种可选实施例中,所述支持密文位运算的系统可以包括:基于秘密分享的密文计算系统。
在基于秘密分享的密文计算系统中,多个计算节点之间通过通讯进行协同计算,迭代计算的轮数将直接影响计算节点之间的通讯次数,进而影响密文计算系统的性能。本申请实施例通过减少密文比较中迭代计算的轮数,减少计算节点之间的通讯次数,进而可以提高密文比较的效率以及提高密文计算系统的性能。
可以理解,上述支持密文位运算的系统包括基于秘密分享的密文计算系统仅作为一种示例,本申请实施例可应用在支持密文位运算的任意系统中。例如,所述支持密文位运算的系统还可以包括基于同态加密的密文计算系统、基于混淆电路的密文计算系统等。
比较密文数据x和密文数据y的大小,目标在于得到一位加密的比特假设记为b,使得x>y时b为0的密文,否则b为1的密文。具体地,可以基于密文分别将x和y分解为n位的密文比特,将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在迭代计算完成后输出x和y的比较结果,该比较结果即为该加密的比特b。
在本申请的一种可选实施例中,步骤101所述基于密文分别将x和y分解为n位的密文比特之前,所述方法还可以包括:将x和y统一转换为n位的密文数据。
需要说明的是,本申请实施例可以对两个相同位数的密文数据比较大小,例如,对n位的密文数据x和n位的密文数据y比较大小。如果x和y的位数不一致,则在对x和y进行比较之前,可以将x和y统一转换为n位的密文数据。其中,n为x和y的位数中较长的位数。在具体实施中,由于不同数据类型的长度通常是固定的,因此,密文数据的位数可以根据数据类型所确定。
在本申请的一种可选实施例中,步骤101所述基于密文分别将x和y分解为n位的密文比特,具体可以包括:
在密文状态下对x按位分解,得到n位的密文比特xn-1…x2x1x0,使得x=xn-1…x2x1x0,其中,xn-1为最高位;
在密文状态下对y按位分解,得到n位的密文比特yn-1…y2y1y0,使得y= yn-1…y2y1y0,其中,yn-1为最高位。
具体地,本申请实施例通过密文位抽取(bit extraction)的方式,在密文状态下对x按位分解,得到n位的密文比特xn-1…x2x1x0,使得x=xn-1…x2x1x0,xn-1…x2x1x0中的位采用二进制补的形式表示,xn-1为最高位。同理,通过密文位抽取的方式,在密文状态下对y按位分解,得到n位的密文比特yn-1…y2y1y0,使得y= yn-1…y2y1y0,yn-1…y2y1y0中的位采用二进制补的形式表示,yn-1为最高位。
在基于密文分别将x和y分解为n位的密文比特之后,将x对应的n位的密文比特xn-1…x2x1x0和y对应的n位的密文比特yn-1…y2y1y0输入比较电路进行迭代计算。
传统的比较电路在每一轮迭代中的计算是串行的。对于每一轮迭代,在密文状态下计算ci+1=(ci∧xi)&(ci∧yi)&xi和bi=ci∧xi∧yi,并且将当前计算得到的输出作为下一轮迭代计算的输入,最后将bn-1作为比较结果输出。其中,c0为初始值,例如可以将c0设置为0的密文,ci+1表示对下一位产生的进位,对于bi,在i<n-1时,bi表示到第i位为止的比较结果,在i=n-1时,bi表示最终的输出结果(即bn-1)。∧表示位的异或运算,&表示位的与运算。对于传统的比较电路,在第一轮迭代中,计算c1=(c0∧x0)&(c0∧y0)&x0和b0=c0∧x0∧y0,将c1和b0作为下一轮迭代的输入。在第二轮迭代中,计算c2=(c1∧x1)&(c1∧y1)&x1和b1=c1∧x1∧y1,将c2和b1作为下一轮迭代的输入。以此类推,直到第n轮,计算cn=(cn-1∧xn-1)&(cn-1∧yn-1)&xn-1和bn-1=cn-1∧xn-1∧yn-1,可以得到最终结果bn-1。
由此,两个n位密文数据的比较需要进行n轮迭代计算,导致通讯次数较多。本申请实施例根据比较电路每一轮迭代计算的特征,将每一轮迭代中的串行计算改为并行计算,可以减少迭代计算的轮数,进而可以减少通讯次数,提高密文比较的效率。
具体地,本申请实施例在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算。也即,本申请实施例的每一轮迭代中的计算均为并行计算。
在本申请的一种可选实施例中,步骤102中所述在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,具体可以包括:
在第一轮迭代中,通过下式并行计算x和y第i位密文比特相比较的可能输出值oi:
oi=ci+1,其中,ci+1=(ci∧xi)&( ci∧yi)&xi,0≤i<n-1;或者
oi=bi,其中,bi= ci∧xi∧yi,i=n-1;
其中,c0=0,且c0为密文。
本申请实施例将比较电路的每一轮迭代中的串行计算改为并行计算,在当前迭代中,并行地提前计算得到ci+1和bi的所有可能值,然后在下一轮迭代中,用上一轮迭代的输出并行计算新的输出。
从ci+1=(ci∧xi)&(ci∧yi)&xi该式中可以看出,在计算ci+1时,需要用到xi、yi和ci三个输入,其中xi和yi是已知的,而ci需要依赖上一轮的输出。因此,本申请实施例在第一轮迭代中就根据xi、yi计算出ci+1的可能输出值oi,ci+1的可能输出值包括0和1两种情况,分别记为[ci+1]0和[ci+1]1,所述可能输出值为密文。
可以理解,在i=n-1与i<n-1时的情况略有不同。因为i=n-1时输出是x和y的比较结果,即bn-1,而i<n-1时输出的是对下一位的进位。因此,本申请实施例将第一轮迭代中x和y每一对应位密文比特相比较的可能输出值记为oi,对于0≤i<n-1,oi=ci+1, ci+1=(ci∧xi)&( ci∧yi)&xi,而对于i=n-1,oi=bi,bi= ci∧xi∧yi。其中,c0为初始值,c0=0,且c0为密文。
在本申请的一种可选实施例中,所述第一轮迭代中预先计算x和y每一对应位密文比特相比较的可能输出值包括:[oi]0和[oi]1,其中,[oi]0表示oi为0的密文,[oi]1表示oi为1的密文;
步骤102中所述利用所述可能输出值进行下一轮迭代中的并行计算,具体可以包括:
通过下式更新第i轮迭代的可能输出值:
[oi]0=[oi]0∧([oi]1∧[oi]0)&[oi-1]0,[oi]1=[oi]0∧([oi]1∧[oi]0)&[oi-1]1。
本申请实施例在第一轮迭代中,可以预先计算x和y每一对应位密文比特相比较的可能输出值oi,oi包括0和1两种情况,分别记为[oi]0和[oi]1,其中,[oi]0表示oi为0的密文,[oi]1表示oi为1的密文。
此外,由于每一轮迭代的输出都依赖于其上一轮迭代的输出,也即[oi-1]0和[oi-1]1的取值取决于[oi-2]0和[oi-2]1的取值,而[oi]0和[oi]1的取值取决于[oi-1]0和[oi-1]1的取值。因此,[oi]0和[oi]1的取值直接取决于[oi-2]0和[oi-2]1的取值。所以在下一轮迭代中,可以用每一对[oi-1]0和[oi-1]1更新[oi]0和[oi]1,得到新的[oi]0和[oi]1,并且[oi]0对应的是oi-2=0的情况而[oi]1对应的oi-2=1的情况。
要达到[oi]0和[oi]1的取值直接取决于[oi-2]0和[oi-2]1的取值的目的,需要消除[oi-1]0和[oi-1]1,也就是需要将[oi]0和[oi]1与[oi-1]0和[oi-1]1合并。因此,本申请实施例可以通过下式更新第i轮迭代的可能输出值:
[oi]0=[oi]0∧([oi]1∧[oi]0)&[oi-1]0 (1)
[oi]1=[oi]0∧([oi]1∧[oi]0)&[oi-1]1 (2)
根据(1)式和(2)式可以看出,对于[oi]0而言,如果oi-1为0则应该输出[oi]0,而如果oi-1为1则应该输出[oi]1,这也就意味着新的[oi]0和[oi]1的取值直接取决于[oi-2]0和[oi-2]1的取值,从而消除了[oi-1]0和[oi-1]1的影响。
可以看出,(1)式和(2)式的两个更新互不依赖,因此可以在同一轮迭代中并行完成。在最后一轮迭代中,由于c0=0是公开的初始值,所以可以根据c0直接计算得到最终的输出结果。由此,每一轮迭代中的并行计算可以使得每一轮迭代中需要计算的oi数目减半,总共只需要log(n)轮迭代即可完成密文数据x和密文数据y的比较过程。
参照图2,示出了本申请实施例中比较密文数据x和密文数据y的每一轮迭代的更新过程示意图。如图2所示,在第一轮迭代(Round0)中,并行计算x和y每一对应位密文比特相比较的可能输出值oi。具体地,对于第0位(i=0),通过x0和y0可以计算出第0位密文比特相比较的可能输出值o0包括[o0]0和[o0]1;对于第1位(i=1),通过x1和y1可以计算出第1位密文比特相比较的可能输出值o1包括[o1]0和[o1]1;以此类推,对于第n-1位(i=n-1),通过xn-1和yn-1可以计算出第n-1位密文比特相比较的可能输出值on-1包括[on-1]0和[on-1]1。在第二轮迭代(Round1)中,用每一对[oi-1]0和[oi-1]1更新[oi]0和[oi]1,可以得到新的[oi]0和[oi]1,更新后,需要比较的比特位由n位减少至n/2位。同样的方法,经过第三轮迭代(Round2)后,需要比较的比特位由n/2位减少至n/4位。在第Log(n)轮迭代(Round Log(n))中,可以得到可能输出包括[on-1]0和[on-1]1,代入初始值c0=0即可得到最终的输出结果为bn-1,如bn-1=[on-1]0。
由此,本申请实施例提出了一种基于树状结构的密文比较方法,在利用比较电路对两个n位的密文数据x和y进行比较的过程中,可以将迭代轮数由n轮降低至Log(n)轮,在Log(n)轮迭代计算完成之后,即可得到x和y的比较结果。以n为64位为例,通过本申请实施例,可以将原本的64轮迭代计算减少至Log(64)=6轮迭代计算,极大地减少了迭代计算的轮数,对于网络延迟敏感的密文计算系统,性能提升尤为明显。
综上,本申请实施例提出了一种在支持密文位运算的系统中比较密文数据x和密文数据y的大小的方法,将传统的比较电路在每一轮迭代中的串行计算改为并行计算。具体地,将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。通过本申请实施例,将密文比较过程中的n轮迭代减少至log(n)轮,能够以更少的通讯轮数实现密文比较操作,通过减少迭代计算的轮数,可以减少通讯轮数,进而可以提高密文比较的效率,提高密文计算系统的性能。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
装置实施例
参照图2,示出了本申请的一种数据处理装置实施例的结构框图,所述装置用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小,所述装置具体可以包括:
数据分解模块201,用于基于密文分别将x和y分解为n位的密文比特;
迭代比较模块202,用于将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。
可选地,所述数据分解模块201,包括:
第一分解子模块,用于在密文状态下对x按位分解,得到n位的密文比特xn-1…x2x1x0,使得x=xn-1…x2x1x0,其中,xn-1为最高位;
第二分解子模块,用于在密文状态下对y按位分解,得到n位的密文比特yn-1…y2y1y0,使得y= yn-1…y2y1y0,其中,yn-1为最高位。
可选地,所述迭代比较模块202,具体用于在第一轮迭代中,通过下式并行计算x和y第i位密文比特相比较的可能输出值oi:
oi=ci+1,其中,ci+1=(ci∧xi)&( ci∧yi)&xi,0≤i<n-1;或者
oi=bi,其中,bi= ci∧xi∧yi,i=n-1;
其中,c0=0,且c0为密文。
可选地,所述第一轮迭代中预先计算x和y每一对应位密文比特相比较的可能输出值包括:[oi]0和[oi]1,其中,[oi]0表示oi为0的密文,[oi]1表示oi为1的密文;
所述迭代比较模块202,具体用于通过下式更新第i轮迭代的可能输出值:
[oi]0=[oi]0∧([oi]1∧[oi]0)&[oi-1]0,[oi]1=[oi]0∧([oi]1∧[oi]0)&[oi-1]1。
可选地,所述装置还包括:
数据转换模块,用于将x和y统一转换为n位的密文数据。
可选地,所述支持密文位运算的系统包括:基于秘密分享的密文计算系统。
通过本申请实施例的数据处理装置,将密文比较过程中的n轮迭代减少至log(n)轮,能够以更少的通讯轮数实现密文比较操作,通过减少迭代计算的轮数,可以减少通讯轮数,进而可以提高密文比较的效率,提高密文计算系统的性能。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供了一种用于数据处理的装置,所述装置用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小,所述装置包括有存储器,以及一个或者一个以上程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:基于密文分别将x和y分解为n位的密文比特;将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。
图3是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/ O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/ O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图4是本申请的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的数据处理方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种数据处理方法,所述方法包括:基于密文分别将x和y分解为n位的密文比特;将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
以上对本申请所提供的一种数据处理方法、一种数据处理装置和一种用于数据处理的装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (19)
1.一种数据处理方法,其特征在于,所述方法用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小,所述方法包括:
基于密文分别将x和y分解为n位的密文比特;
将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。
2.根据权利要求1所述的方法,其特征在于,所述基于密文分别将x和y分解为n位的密文比特,包括:
在密文状态下对x按位分解,得到n位的密文比特xn-1…x2x1x0,使得x=xn-1…x2x1x0,其中,xn-1为最高位;
在密文状态下对y按位分解,得到n位的密文比特yn-1…y2y1y0,使得y= yn-1…y2y1y0,其中,yn-1为最高位。
3.根据权利要求2所述的方法,其特征在于,所述在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,包括:
在第一轮迭代中,通过下式并行计算x和y第i位密文比特相比较的可能输出值oi:
oi=ci+1,其中,ci+1=(ci∧xi)&( ci∧yi)&xi,0≤i<n-1;或者
oi=bi,其中,bi= ci∧xi∧yi,i=n-1;
其中,c0=0,且c0为密文。
4.根据权利要求3所述的方法,其特征在于,所述第一轮迭代中预先计算x和y每一对应位密文比特相比较的可能输出值包括:[oi]0和[oi]1,其中,[oi]0表示oi为0的密文,[oi]1表示oi为1的密文;
所述利用所述可能输出值进行下一轮迭代计算,包括:
通过下式更新第i轮迭代的可能输出值:
[oi]0=[oi]0∧([oi]1∧[oi]0)&[oi-1]0,[oi]1=[oi]0∧([oi]1∧[oi]0)&[oi-1]1。
5.根据权利要求1所述的方法,其特征在于,所述基于密文分别将x和y分解为n位的密文比特之前,所述方法还包括:
将x和y统一转换为n位的密文数据。
6.根据权利要求1至5任一所述的方法,其特征在于,所述支持密文位运算的系统包括:基于秘密分享的密文计算系统。
7.一种数据处理装置,其特征在于,所述装置用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小,所述装置包括:
数据分解模块,用于基于密文分别将x和y分解为n位的密文比特;
迭代比较模块,用于将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。
8.根据权利要求7所述的装置,其特征在于,所述数据分解模块,包括:
第一分解子模块,用于在密文状态下对x按位分解,得到n位的密文比特xn-1…x2x1x0,使得x=xn-1…x2x1x0,其中,xn-1为最高位;
第二分解子模块,用于在密文状态下对y按位分解,得到n位的密文比特yn-1…y2y1y0,使得y= yn-1…y2y1y0,其中,yn-1为最高位。
9.根据权利要求8所述的装置,其特征在于,所述迭代比较模块,具体用于在第一轮迭代中,通过下式并行计算x和y第i位密文比特相比较的可能输出值oi:
oi=ci+1,其中,ci+1=(ci∧xi)&( ci∧yi)&xi,0≤i<n-1;或者
oi=bi,其中,bi= ci∧xi∧yi,i=n-1;
其中,c0=0,且c0为密文。
10.根据权利要求9所述的装置,其特征在于,所述第一轮迭代中预先计算x和y每一对应位密文比特相比较的可能输出值包括:[oi]0和[oi]1,其中,[oi]0表示oi为0的密文,[oi]1表示oi为1的密文;
所述迭代比较模块,具体用于通过下式更新第i轮迭代的可能输出值:
[oi]0=[oi]0∧([oi]1∧[oi]0)&[oi-1]0,[oi]1=[oi]0∧([oi]1∧[oi]0)&[oi-1]1。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
数据转换模块,用于将x和y统一转换为n位的密文数据。
12.根据权利要求7至11任一所述的装置,其特征在于,所述支持密文位运算的系统包括:基于秘密分享的密文计算系统。
13.一种用于数据处理的装置,其特征在于,所述装置用于在支持密文位运算的系统中比较密文数据x和密文数据y的大小,所述装置包括有存储器,以及一个或者一个以上程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
基于密文分别将x和y分解为n位的密文比特;
将x对应的n位的密文比特和y对应的n位的密文比特输入比较电路进行迭代计算,在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,利用所述可能输出值进行下一轮迭代中的并行计算,直至log(n)轮迭代计算完成,得到x和y的比较结果,所述可能输出值和所述比较结果为密文。
14.根据权利要求13所述的装置,其特征在于,所述基于密文分别将x和y分解为n位的密文比特,包括:
在密文状态下对x按位分解,得到n位的密文比特xn-1…x2x1x0,使得x=xn-1…x2x1x0,其中,xn-1为最高位;
在密文状态下对y按位分解,得到n位的密文比特yn-1…y2y1y0,使得y= yn-1…y2y1y0,其中,yn-1为最高位。
15.根据权利要求14所述的装置,其特征在于,所述在第一轮迭代中并行计算x和y每一对应位密文比特相比较的可能输出值,包括:
在第一轮迭代中,通过下式并行计算x和y第i位密文比特相比较的可能输出值oi:
oi=ci+1,其中,ci+1=(ci∧xi)&( ci∧yi)&xi,0≤i<n-1;或者
oi=bi,其中,bi= ci∧xi∧yi,i=n-1;
其中,c0=0,且c0为密文。
16.根据权利要求15所述的装置,其特征在于,所述第一轮迭代中预先计算x和y每一对应位密文比特相比较的可能输出值包括:[oi]0和[oi]1,其中,[oi]0表示oi为0的密文,[oi]1表示oi为1的密文;
所述利用所述可能输出值进行下一轮迭代计算,包括:
通过下式更新第i轮迭代的可能输出值:
[oi]0=[oi]0∧([oi]1∧[oi]0)&[oi-1]0,[oi]1=[oi]0∧([oi]1∧[oi]0)&[oi-1]1。
17.根据权利要求13所述的装置,其特征在于,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
将x和y统一转换为n位的密文数据。
18.根据权利要求13至17任一所述的装置,其特征在于,所述支持密文位运算的系统包括:基于秘密分享的密文计算系统。
19.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如权利要求1至6任一所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010839269.4A CN111711645A (zh) | 2020-08-19 | 2020-08-19 | 一种数据处理方法、装置和用于数据处理的装置 |
CN202011466871.4A CN112241250B (zh) | 2020-08-19 | 2020-12-14 | 一种数据处理方法、装置和用于数据处理的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010839269.4A CN111711645A (zh) | 2020-08-19 | 2020-08-19 | 一种数据处理方法、装置和用于数据处理的装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111711645A true CN111711645A (zh) | 2020-09-25 |
Family
ID=72547273
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010839269.4A Pending CN111711645A (zh) | 2020-08-19 | 2020-08-19 | 一种数据处理方法、装置和用于数据处理的装置 |
CN202011466871.4A Active CN112241250B (zh) | 2020-08-19 | 2020-12-14 | 一种数据处理方法、装置和用于数据处理的装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011466871.4A Active CN112241250B (zh) | 2020-08-19 | 2020-12-14 | 一种数据处理方法、装置和用于数据处理的装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111711645A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065162A (zh) * | 2021-04-25 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 和共享形式的隐私数据的处理方法和装置 |
CN113987255A (zh) * | 2021-12-30 | 2022-01-28 | 南湖实验室 | 基于联邦学习与秘密分享的多源密文图像检索方法 |
CN115225264A (zh) * | 2022-06-17 | 2022-10-21 | 上海富数科技有限公司广州分公司 | 一种安全多方计算方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101754205A (zh) * | 2009-12-25 | 2010-06-23 | 西安交通大学 | 一种并行化多接收方签密方法 |
US20200106600A1 (en) * | 2017-06-01 | 2020-04-02 | Zwipe As | Progressive key encryption algorithm |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6940429B2 (en) * | 2003-05-28 | 2005-09-06 | Texas Instruments Incorporated | Method of context based adaptive binary arithmetic encoding with decoupled range re-normalization and bit insertion |
CN108134665B (zh) * | 2017-12-20 | 2020-11-17 | 东南大学 | 一种面向IoT应用的8比特AES电路 |
CN110661610B (zh) * | 2018-06-29 | 2020-11-03 | 创新先进技术有限公司 | 安全多方计算协议的输入获取方法和装置 |
CN110287713B (zh) * | 2019-06-10 | 2022-04-22 | 南通大学 | 一种中文字符串的加密方法和解密方法 |
-
2020
- 2020-08-19 CN CN202010839269.4A patent/CN111711645A/zh active Pending
- 2020-12-14 CN CN202011466871.4A patent/CN112241250B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101754205A (zh) * | 2009-12-25 | 2010-06-23 | 西安交通大学 | 一种并行化多接收方签密方法 |
US20200106600A1 (en) * | 2017-06-01 | 2020-04-02 | Zwipe As | Progressive key encryption algorithm |
Non-Patent Citations (1)
Title |
---|
蒋林智: "同态加密及其在云计算中的应用研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065162A (zh) * | 2021-04-25 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 和共享形式的隐私数据的处理方法和装置 |
CN113987255A (zh) * | 2021-12-30 | 2022-01-28 | 南湖实验室 | 基于联邦学习与秘密分享的多源密文图像检索方法 |
CN113987255B (zh) * | 2021-12-30 | 2022-04-01 | 南湖实验室 | 基于联邦学习与秘密分享的多源密文图像检索方法 |
CN115225264A (zh) * | 2022-06-17 | 2022-10-21 | 上海富数科技有限公司广州分公司 | 一种安全多方计算方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112241250B (zh) | 2021-03-16 |
CN112241250A (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112241250B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN111832067B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN113315631B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112861175B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114840568B (zh) | 一种密文排序方法、装置和用于密文排序的装置 | |
CN112688779B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN115941181B (zh) | 一种乱序秘密分享方法、系统和可读存储介质 | |
CN115396100A (zh) | 一种基于秘密分享的不经意随机打乱方法和系统 | |
CN116305206A (zh) | 一种安全多方计算方法、装置、电子设备及存储介质 | |
CN115085912A (zh) | 一种密文计算方法、装置和用于密文计算的装置 | |
CN112861145B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114885038B (zh) | 一种加密协议转换方法、结果获取节点和隐私计算节点 | |
CN114448631B (zh) | 一种多方安全计算方法、系统和用于多方安全计算的装置 | |
CN113239389B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112468290B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN113779501B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112463332B (zh) | 一种数据处理方法、密文计算系统和用于数据处理的装置 | |
CN112580064B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112711744A (zh) | 一种计算任务的处理方法、装置和用于计算任务的处理装置 | |
CN114880691B (zh) | 一种字符编码解码方法、装置和用于字符编码解码的装置 | |
CN112583764A (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN116684094B (zh) | 一种数据处理方法、装置、系统和可读存储介质 | |
CN112668015B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN110557261A (zh) | 节点数据处理方法、装置及系统 | |
CN116089990B (zh) | 一种多方安全计算方法、系统和可读存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200925 |
|
WD01 | Invention patent application deemed withdrawn after publication |