CN112115487B - 一种数据处理方法、装置和电子设备 - Google Patents

一种数据处理方法、装置和电子设备 Download PDF

Info

Publication number
CN112115487B
CN112115487B CN201910538705.1A CN201910538705A CN112115487B CN 112115487 B CN112115487 B CN 112115487B CN 201910538705 A CN201910538705 A CN 201910538705A CN 112115487 B CN112115487 B CN 112115487B
Authority
CN
China
Prior art keywords
condition
branch
variable
judgment
statement
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
CN201910538705.1A
Other languages
English (en)
Other versions
CN112115487A (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.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing 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 Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN201910538705.1A priority Critical patent/CN112115487B/zh
Publication of CN112115487A publication Critical patent/CN112115487A/zh
Application granted granted Critical
Publication of CN112115487B publication Critical patent/CN112115487B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种数据处理方法、装置和电子设备,其中,所述的方法包括:获取条件判断语句,所述条件判断语句的判断条件中包括密文变量;通过将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开;其中,所述密文比较结果为0或1的密文;进而无需进行条件判断即可执行分支,解决了基于密文进行运算场景下条件判断语句无法获知结果,导致无法确定执行哪个分支的问题。

Description

一种数据处理方法、装置和电子设备
技术领域
本发明涉及数据处理领域,特别是涉及一种数据处理方法、装置和电子设备。
背景技术
随着计算机、通讯技术以及互联网技术的不断发展,大多数用户会通过电子设备进行信息的传输与存储,例如将文件上传到云端存储,向其他用户发送文件等等。其中,为了保证信息的安全,通常会对数据进行加密,例如在数据存储的过程中,会在对应存储的电子设备上对数据进行加密如在服务器、终端上进行数据加密;又如在数据传输的过程中对数据进行加密,如数据在终端与服务器传输的过程中对数据进行加密。
当电子设备需要使用这些数据时,需要先对数据进行解密,获取信息的明文后,再对数据进行相应的处理,从而导致信息存在安全隐患;例如,在电子支付场景中,用户用于支付的人脸数据明文在支付运算中对银联可见,若该人脸数据被窃取,同时将该人脸数据与对应的用户账户等信息关联,那么会对用户造成很大风险。为解决该问题,可以基于密文进行数据计算,以充分保证用户信息的安全性。
在基于密文进行数据计算的过程中,通常会采用条件判断语句实现某些功能;但是如果条件判断语句中如果包含密文类型的变量,由于密文计算中密文和密文或者密文和明文的比较结果仍然为密文,导致if语句无法获知判断结果,从而无法判断执行哪个分支。
发明内容
本发明实施例提供一种数据处理方法,以解决基于密文进行运算场景下条件判断语句无法获知结果,导致无法确定执行哪个分支的问题。
相应的,本发明实施例还提供了一种数据处理装置和电子设备,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种数据处理方法,具体包括:获取条件判断语句,所述条件判断语句的判断条件中包括密文变量;通过将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开;其中,所述密文比较结果为0或1的密文。
可选地,当所述条件判断语句为单一条件判断语句时,所述将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,包括:添加一变量;依据所述判断条件的密文比较结果,为所述变量赋值,其中,当所述判断条件成立时,所述变量的值为1的密文,当所述判断条件不成立时,所述变量的值为0的密文;将所述变量融合到所述条件判断语句的分支中参与计算。
可选地,所述条件判断语句包括第一分支和第二分支,所述第一分支在所述判断条件成立时执行,所述第二分支在所述判断条件不成立时执行;所述将所述变量融合到所述条件判断语句的分支中参与计算,包括:将所述变量融合到所述条件判断语句的第一分支中参与计算;以及将1与所述变量的差值融合到所述条件判断语句的第二分支中参与计算。
可选地,当所述条件判断语句为多重条件判断语句时,所述判断条件语句包括N个判断条件和N+1个分支,N为大于1的正整数;所述将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,包括:针对前N个分支中的每一个分支:在所述分支中添加一变量;依据所述分支对应判断条件的密文比较结果,为所述变量赋值,其中,当所述分支对应的判断条件成立时,所述分支对应变量的值为1的密文,当所述分支对应的判断条件不成立时,所述分支对应变量的值为0的密文;将所述变量融合到所述条件判断语句中所述分支中参与计算;针对第N+1个分支:在所述分支中添加一变量;将所述变量赋值为:1与前N个分支对应变量之和的差值,其中,当所述前N个判断条件中的一个判断条件成立时,所述分支对应变量的值为0的密文,当所述前N个判断条件均不成立时,所述分支对应变量的值为1的密文;将所述变量融合到所述条件判断语句的所述分支中参与计算。
本发明实施例还公开了一种数据处理装置,具体包括:获取模块,用于获取条件判断语句,所述条件判断语句的判断条件中包括密文变量;计算模块,用于通过将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开;其中,所述密文比较结果为0或1的密文。
可选地,所述计算模块包括:第一融合计算子模块,用于当所述条件判断语句为单一条件判断语句时,添加一变量;依据所述判断条件的密文比较结果,为所述变量赋值,其中,当所述判断条件成立时,所述变量的值为1的密文,当所述判断条件不成立时,所述变量的值为0的密文;将所述变量融合到所述条件判断语句的分支中参与计算。
可选地,所述条件判断语句包括第一分支和第二分支,所述第一分支在所述判断条件成立时执行,所述第二分支在所述判断条件不成立时执行;所述第一融合计算子模块,用于将所述变量融合到所述条件判断语句的第一分支中参与计算;以及将1与所述变量的差值融合到所述条件判断语句的第二分支中参与计算。
可选地,所述计算模块包括:第二融合计算子模块,用于当所述条件判断语句为多重条件判断语句时,所述判断条件语句包括N个判断条件和N+1个分支,N为大于1的正整数;针对前N个分支中的每一个分支:在所述分支中添加一变量;依据所述分支对应判断条件的密文比较结果,为所述变量赋值,其中,当所述分支对应的判断条件成立时,所述分支对应变量的值为1的密文,当所述分支对应的判断条件不成立时,所述分支对应变量的值为0的密文;将所述变量融合到所述条件判断语句中所述分支中参与计算;针对第N+1个分支:在所述分支中添加一变量;将所述变量赋值为:1与前N个分支对应变量之和的差值,其中,当所述前N个判断条件中的一个判断条件成立时,所述分支对应变量的值为0的密文,当所述前N个判断条件均不成立时,所述分支对应变量的值为1的密文;将所述变量融合到所述条件判断语句的所述分支中参与计算。
本发明实施例还公开了一种可读介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本发明实施例中一个或多个所述的数据处理方法。
本发明实施例还公开了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如上述本发明实施例中一个或多个所述的数据处理方法。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例中,可以获取判断条件包含密文变量的条件判断语句,然后通过将所述判断条件的密文比较结果(0或1的密文)融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开;进而无需进行条件判断即可执行分支,解决了基于密文进行运算场景下条件判断语句无法获知结果导致无法确定执行哪个分支的问题。
附图说明
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是本发明的一种数据处理方法可选实施例的步骤流程图;
图3是本发明的另一种数据处理方法可选实施例的步骤流程图;
图4是本发明的又一种数据处理方法可选实施例的步骤流程图;
图5是本发明的一种数据处理装置实施例的结构框图;
图6是本发明的一种数据处理装置可选实施例的结构框图;
图7示意性地示出了用于执行根据本发明的方法的电子设备的框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例中,用于执行所述数据处理方法的设备可以提供多方安全计算服务,多方安全计算可以抽象的理解为:两方分别有各自的私有数据,在不泄漏各自私有数据的情况下,能够计算出关于公共函数的结果;整个计算完成时,只有计算结果对双方可知,且双方均不知对应的数据以及计算过程的中间数据。其中,所述公共函数可以实现多种计算功能如加、减、乘和除等等;且两方的私有数据中至少有一个是密文,即可以进行密文与密文之间的计算,也可以进行密文与明文之间的计算。
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤102、获取条件判断语句,所述条件判断语句的判断条件中包括密文变量。
步骤104、通过将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开;其中,所述密文比较结果为0或1的密文。
当条件判断语句的判断条件中包含密文变量时,在执行该条件判断语句过程中,无法获取判断条件的判断结果,从而导致无法确定执行哪个分支;因此可以对该条件判断语句进行重构,以解决基于密文进行运算场景下条件判断语句无法获知结果,导致无法确定执行哪个分支的问题。
本发明的一个示例中,步骤102获取的条件判断语句如下所示:
if a>100:
b+=3
其中,该条件判断语句的判断条件是:a>100,其中的a是密文变量。
本发明实施例中,一种实现对条件判断语句进行重构的方式可以是,将所述条件判断语句中的判断条件进行展开,将判断条件融合至对应的分支中参与计算。其中,可以将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算;当判断条件成立时,判断条件的密文比较结果为1的密文,当判断条件不成立时,判断条件的密文比较结果为0的密文。需要说明的是,本发明的方案是基于密文的比对操作来实现确定判断条件对应密文比较结果的,具体基于密文的比对操作方法可参照本申请人的,申请号为201910252632.X中介绍的实现方案,在此不做赘述。
本发明的一个示例中,若获取的条件判断语句如步骤102所示,则步骤104一种实现方式可以如下:
b+=3*(a>100)
综上,本发明实施例中,可以获取判断条件包含密文变量的条件判断语句,然后通过将所述判断条件的密文比较结果(0或1的密文)融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开;进而无需进行条件判断即可执行分支,解决了基于密文进行运算场景下条件判断语句无法获知结果导致无法确定执行哪个分支的问题。
本发明实施例中,所述条件判断语句可以包括单一条件判断语句和多重条件判断语句,所述单一条件判断语句可以包括单分支结构的单一条件判断语句和双分支结构的单一条件判断语句;以下分别对如何展开不同条件判断语句对应判断条件的方式进行说明。
以下对如何展开单分支结构的单一条件判断语句,对应的判断条件的方式进行说明。
参照图2,示出了本发明的一种数据处理方法可选实施例的步骤流程图,具体可以包括如下步骤:
步骤202、获取条件判断语句,所述条件判断语句为单分支结构的单一条件判断语句,所述条件判断语句的判断条件中包括密文变量。
本发明实施例中,可以获取判断条件中包含密文变量的单分支结构的单一条件判断语句,即所述条件判断语句包括一个分支;然后对该单分支结构的单一条件判断语句的判断条件进行展开,将判断条件融合至对应的分支中参与计算;具体可以参照步骤204-步骤208。
步骤204、添加一变量。
步骤206、依据所述判断条件的密文比较结果,为所述变量赋值。
步骤208、将所述变量融合到所述条件判断语句的分支中参与计算。
本发明实施例中,可以添加一个变量,然后依据判断条件的密文比较结果为该变量赋值,再将变量融合到所述条件判断语句的分支中参与计算;其中,当所述判断条件成立时,所述变量的值为1的密文,当所述判断条件不成立时,所述变量的值为0的密文。
本发明的一个示例中,一种为变量赋值的方式可以是,将所述变量赋值为:所述判断条件的密文比较结果。例如,针对步骤102中的条件判断语句,可以添加一个变量flag,然后为该变量flag赋值为判断条件(a>100)的密文比较结果即:flag=(a>100)。
本发明的另一个示例中,一种为变量赋值的方式可以是,将所述变量赋值为:1与判断条件对应互补条件的密文比较结果的差值,所述差值为0或1的密文。例如针对步骤102中的条件判断语句,可以添加一个变量flag,然后为该变量flag赋值为:1与该判断条件(a>100)对应的互补条件(a<=100)的密文比较结果:flag=1-(a<=100)。
本发明的又一个示例中,一种为变量赋值的方式可以是,依据1与判断条件的密文比较结果的差值,为所述变量赋值,所述差值为0或1的密文。例如,步骤202获取判断条件包含密文变量的单分支结构的单一条件判断语句如下:
if a>100or b<5
c+=f(x)
其中,该条件判断语句的判断条件为:a>100和b<5,其中a和b中至少一个为密文变量。
在对该条件判断语句进行展示时,可以添加一个变量flag,然后为该变量flag赋值即:flag=1-(1-(a>100))*(1-(b<5))。
其中,所述分支可以包括赋值语句,所述赋值语句包括赋值表达式,所述赋值表达式可以由文本、常数、变量、属性、数组元素、其他表达式或函数调用的任意组合所构成;进而可以通过将所述变量融合到赋值语句的赋值表达式中,来实现将所述变量融合到分支中参与计算。
本发明的一个示例中,步骤202获取的单分支结构的单一条件判断语句如下:
if a<80:
b+=1
其中,该条件判断语句的判断条件为:a<80,其中a为密文变量。
步骤204-步骤208的一种实现方式可以如下:
flag=(a<80)
b+=flag
步骤204-步骤208的另一种实现方式可以如下:
flag=1-(a>=80)
b+=flag
本发明的另一个示例中,若步骤202获取的单分支结构的单一条件判断语句如下:
if d>50or m<10
c+=3
步骤204-步骤208的一种实现方式可以如下:
flag=1-(1-(d>50))*(1-(m<10))
c+=3*flag
综上,本发明实施例中,可以获取判断条件中包含密文变量的单分支结构的单一条件判断语句,然后通过添加一变量,并依据所述判断条件的密文比较结果,为所述变量赋值,以及将所述变量融合到所述条件判断语句的分支中参与计算,实现将该单分支结构的单一条件判断语句的判断条件进行展开;从而解决了基于密文进行运算场景下单分支结构的单一条件判断语句无法获知结果,导致无法确定是执行该单一条件判断语句的分支,还是下一个语句的问题。
以下对如何展开双分支结构的单一条件判断语句,对应的判断条件的方式进行说明。
参照图3,示出了本发明的另一种数据处理方法可选实施例的步骤流程图,具体可以包括如下步骤:
步骤302、获取条件判断语句,其中,所述条件判断语句为双分支结构的单一条件判断语句,所述条件判断语句的判断条件中包括密文变量,所述条件判断语句包括第一分支和第二分支。
本发明实施例中,可以获取判断条件中包含密文变量的双分支结构的单一条件判断语句,即所述条件判断语句包括两个分支:第一分支和第二分支;其中,可以将所述判断条件成立时执行的分支称为第一分支,将所述判断条件不成立时执行的分支称为第二分支。
例如,双分支结构的单一条件判断语句如下:
其中,该条件判断语句的判断条件为:a>100和b<5,其中a和b中至少一个为密文变量;可以将“c+=f(x)”称为第一分支,将“d=g(x)”称为第二分支。
然后对该双分支结构的单一条件判断语句的判断条件进行展开,分别将判断条件融合至两个分支中参与计算;具体可以参照步骤304-步骤310:
步骤304、添加一变量。
步骤306、依据所述判断条件的密文比较结果,为所述变量赋值。
步骤308、将所述变量融合到所述条件判断语句的第一分支中参与计算。
其中,步骤304-步骤308,与上述步骤204-208类似,在此不再赘述。
步骤310、将1与所述变量的差值融合到所述条件判断语句的第二分支中参与计算。
针对该条件判断语句的第二分支,可以计算1与所述变量的差值,所述差值为0或1的密文,然后将差值融合到所述条件判断语句的第二分支中参与计算。其中,当判断条件的密文结果为1的密文时,所述差值为0的密文,当所述判断条件的密文结果为0的密文时,所述差值为1的密文。
本发明实施例的一个示例中,基于步骤302获取的条件判断语句,步骤304-步骤310的一种实现方式可以是:
flag=1-(1-(a>100))*(1-(b<5))
c+=f(x)*flag
d=g(x)*(1-flag)
本发明实施例的另一个示例中,步骤302获取的条件判断语句如下:
其中,该条件判断语句的判断条件为:a>10,其中a为密文变量。
对应的,步骤304-步骤310的一种实现方式可以是:
flag=(a>100)
b+=3*flag
c+=5*(1-flag)
综上,本发明实施例中,可以获取判断条件中包含密文变量的双分支结构的单一条件判断语句,然后通过添加一变量,并依据所述判断条件的密文比较结果为所述变量赋值,将所述变量融合到所述条件判断语句的第一分支中参与计算,以及将1与所述变量的差值融合到所述条件判断语句的第二分支中参与计算,实现将该单分支结构的单一条件判断语句的判断条件进行展开;从而解决了基于密文进行运算场景下双分支结构的单一条件判断语句无法获知结果,导致无法确定执行哪个分支的问题。
以下对如何展开多重条件判断语句对应的判断条件的方式进行说明。
参照图4,示出了本发明的又一种数据处理方法可选实施例的步骤流程图,具体可以包括如下步骤:
步骤402、获取条件判断语句,所述判断语句为多重条件判断语句,所述判断条件语句包括N个判断条件和N+1个分支,所述判断条件包括密文变量。
本发明实施例中,可以获取判断条件中包含密文变量的多重条件判断语句,该多重条件判断语句可以对应N个判断条件和N+1个分支,其中,所述N为大于1的整数。其中,所述至少一个判断条件包括密文变量。
例如,当N=3,多重条件判断语句可以如下所示:
if(a>50and a<100){x+=1;}
else if(a>10and a<50){x+=2;}
else if(a>0and a<10){x+=3;}
else{x+=4;}
其中,该条件判断语句包括3个判断条件:50<a<100、10<a<50和0<a<10,其中a为密文变量;包括4个分支:x+=1,x+=2,x+=3,x+=4。
然后对该多重条件判断语句的判断条件进行展开,将判断条件融合至对应的各个分支中参与计算;具体可以参照步骤404-步骤414:
其中,针对前N个分支的每一个分支,可以将该分支对应的判断条件融合到该分支中,具体可以参照步骤404-步骤408:
步骤404、针对前N个分支中的每一个分支,在所述分支中添加一变量。
步骤406、依据所述分支对应判断条件的密文比较结果,为所述变量赋值。
步骤408、将所述变量融合到所述条件判断语句中所述分支中参与计算。
其中,当所述分支对应的判断条件成立时,所述分支对应变量的值为1的密文,当所述分支对应的判断条件不成立时,所述分支对应变量的值为0的密文。
步骤404-步骤408,与上述步骤204-步骤208类似,在此不再赘述。
例如,基于上述步骤402获取的条件判断语句,步骤404-步骤408的一种实现方式可以是:
flag1=(a>50)*(a<100)
x+=flag1
flag2=(a>10)*(a<50)
x+=2*flag2
flag3=(a>0)*(a<10)
x+=3*flag3
其中,针对前N+1个分支的每一个分支,可以将前N个分支的判断条件融合到该第N+1个分支中,具体可以参照步骤410-步骤410:
步骤410、针对第N+1个分支,在所述分支中添加一变量。
步骤412、将所述变量赋值为:1与前N个分支对应变量之和的差值。
步骤414、将所述变量融合到所述条件判断语句的所述分支中参与计算。
其中,所述差值为0或1的密文,当所述前N个判断条件中的一个判断条件成立时,所述分支对应变量的值为0的密文,当所述前N个判断条件均不成立时,所述分支对应变量的值为1的密文。
例如,基于上述步骤402获取的条件判断语句,步骤410-步骤414的一种实现方式可以是:
flag4=1-(flag1+flag2+flag3)
x+=4*flag4
对应的,基于上述步骤402获取的条件判断语句,步骤404-步骤414的一种实现方式可以是:
flag1=(a>50)*(a<100)
x+=flag1
flag2=(a>10)*(a<50)
x+=2*flag2
flag3=(a>0)*(a<10)
x+=3*flag3
flag4=1-(flag1+flag2+flag3)
x+=4*flag4
综上,本发明实施例中,可以获取判断条件中包含密文变量的多重条件判断语句,其中,所述判断条件语句包括N个判断条件和N+1个分支;然后针对前N个分支中的每一个分支:在所述分支中添加一变量;依据所述分支对应判断条件的密文比较结果,为所述变量赋值,其中,当所述分支对应的判断条件成立时,所述分支对应变量的值为1的密文,当所述分支对应的判断条件不成立时,所述分支对应变量的值为0的密文;将所述变量融合到所述条件判断语句中所述分支中参与计算;针对第N+1个分支:在所述分支中添加一变量;将所述变量赋值为:1与前N个分支对应变量之和的差值,其中,当所述前N个判断条件中的一个判断条件成立时,所述第N+1个分支对应变量的值为0的密文,当所述前N个判断条件均不成立时,所述第N+1个分支对应变量的值为1的密文;以及将所述变量融合到所述条件判断语句的所述分支中参与计算,实现将该多重条件判断语句的判断条件进行展开;从而解决了基于密文进行运算场景下多重条件判断语句无法获知结果,导致无法确定执行哪个分支的问题。
当然,通过将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开的过程中,也可以无需添加一变量为该变量赋值,直接将条件判断语句的判断条件对应的密文比较结果融合到对应分支中参与计算;具体可以按照需求设置,本发明实施例对此不作限制。
例如,获取的条件判断语句如下:
if a>100:
b+=3
其中,a>100为判断条件,a为密文变量。通过将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开可以得到:
b+=3*(a>100)
需要说明的是,当条件判断语句的分支包括嵌套条件判断语句时,在添加一变量,并依据条件判断语句的判断条件的密文比较结果为该变量赋值后,可以再添加一变量,然后依据嵌套条件判断语句的判断条件的密文比较结果,为所述变量赋值;再将依据条件判断语句的判断条件的密文比较结果赋值的变量与依据嵌套条件判断语句的判断条件的密文比较结果赋值的变量,融合到所述条件判断语句中所述分支中参与计算。
本发明的一个示例中,例如,获取的判断语句为:
通过将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开可以得到:
flag1=1-(1-(a>100))*(1-(b<5))
flag2=(x>0)
c+=f(x)*flag1*flag2
c+=h(x)*flag1*(1-flag2)
d=g(x)*(1–flag1)
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明一种数据处理装置实施例的结构框图,具体可以包括如下模块:
获取模块502,用于获取条件判断语句,所述条件判断语句的判断条件中包括密文变量;
计算模块504,用于通过将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开;其中,所述密文比较结果为0或1的密文。
参照图6,示出了本发明一种数据处理装置可选实施例的结构框图。
本发明一个可选实施例中,所述计算模块504包括:
第一融合计算子模块5042,用于当所述条件判断语句为单一条件判断语句时,添加一变量;依据所述判断条件的密文比较结果,为所述变量赋值,其中,当所述判断条件成立时,所述变量的值为1的密文,当所述判断条件不成立时,所述变量的值为0的密文;将所述变量融合到所述条件判断语句的分支中参与计算。
本发明一个可选实施例中,所述条件判断语句包括第一分支和第二分支,所述第一分支在所述判断条件成立时执行,所述第二分支在所述判断条件不成立时执行;所述第一融合计算子模块5042,用于将所述变量融合到所述条件判断语句的第一分支中参与计算;以及将1与所述变量的差值融合到所述条件判断语句的第二分支中参与计算。
本发明一个可选实施例中,所述计算模块504包括:
第二融合计算子模块5044,用于当所述条件判断语句为多重条件判断语句时,所述判断条件语句包括N个判断条件和N+1个分支,N为大于1的正整数;针对前N个分支中的每一个分支:在所述分支中添加一变量;依据所述分支对应判断条件的密文比较结果,为所述变量赋值,其中,当所述分支对应的判断条件成立时,所述分支对应变量的值为1的密文,当所述分支对应的判断条件不成立时,所述分支对应变量的值为0的密文;将所述变量融合到所述条件判断语句中所述分支中参与计算;针对第N+1个分支:在所述分支中添加一变量;将所述变量赋值为:1与前N个分支对应变量之和的差值,其中,当所述前N个判断条件中的一个判断条件成立时,所述分支对应变量的值为0的密文,当所述前N个判断条件均不成立时,所述分支对应变量的值为1的密文;将所述变量融合到所述条件判断语句的所述分支中参与计算。
综上,本发明实施例中,可以获取判断条件包含密文变量的条件判断语句,然后通过将所述判断条件的密文比较结果(0或1的密文)融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开;进而无需进行条件判断即可执行分支,解决了基于密文进行运算场景下条件判断语句无法获知结果导致无法确定执行哪个分支的问题。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种可读介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本发明实施例中一个或多个所述的数据处理方法。
本发明实施例还提供了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如上述本发明实施例中一个或多个所述的数据处理方法。
本发明实施例一个示例中提供了一种电子设备,例如服务器,图7示出了可以实现根据本发明的服务器,例如管理服务器、存储服务器、应用服务器、云控服务、服务器集群等。该服务器传统上包括处理器710和以存储器720形式的计算机程序产品或者计算机可读介质。存储器720可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器720具有用于执行上述方法中的任何方法步骤的程序代码731的存储空间730。例如,用于程序代码的存储空间730可以包括分别用于实现上面的方法中的各种步骤的各个程序代码731。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为便携式或者固定存储单元。该存储单元可以具有与图7的服务器中的存储器720类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码,即可以由例如诸如710之类的处理器读取的代码,这些代码当由服务器运行时,导致该服务器执行上面所描述的方法中的各个步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据处理方法、一种数据处理装置和一种电子设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种数据处理方法,其特征在于,包括:
获取条件判断语句,所述条件判断语句的判断条件中包括密文变量;
通过将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开;
其中,所述密文比较结果为0或1的密文;
其中,当所述条件判断语句为单一条件判断语句时,所述将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,包括:
添加一变量;
依据所述判断条件的密文比较结果,为所述变量赋值,其中,当所述判断条件成立时,所述变量的值为1的密文,当所述判断条件不成立时,所述变量的值为0的密文;
将所述变量融合到所述条件判断语句的分支中参与计算。
2.根据权利要求1所述的方法,其特征在于,所述条件判断语句包括第一分支和第二分支,所述第一分支在所述判断条件成立时执行,所述第二分支在所述判断条件不成立时执行;
所述将所述变量融合到所述条件判断语句的分支中参与计算,包括:
将所述变量融合到所述条件判断语句的第一分支中参与计算;
以及将1与所述变量的差值融合到所述条件判断语句的第二分支中参与计算。
3.根据权利要求1所述的方法,其特征在于,当所述条件判断语句为多重条件判断语句时,所述判断条件语句包括N个判断条件和N+1个分支,N为大于1的正整数;
所述将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,包括:
针对前N个分支中的每一个分支:
在所述分支中添加一变量;
依据所述分支对应判断条件的密文比较结果,为所述变量赋值,其中,当所述分支对应的判断条件成立时,所述分支对应变量的值为1的密文,当所述分支对应的判断条件不成立时,所述分支对应变量的值为0的密文;
将所述变量融合到所述条件判断语句中所述分支中参与计算;
针对第N+1个分支:
在所述分支中添加一变量;
将所述变量赋值为:1与前N个分支对应变量之和的差值,其中,当前N个判断条件中的一个判断条件成立时,所述分支对应变量的值为0的密文,当所述前N个判断条件均不成立时,所述分支对应变量的值为1的密文;
将所述变量融合到所述条件判断语句的所述分支中参与计算。
4.一种数据处理装置,其特征在于,包括:
获取模块,用于获取条件判断语句,所述条件判断语句的判断条件中包括密文变量;
计算模块,用于通过将所述判断条件的密文比较结果融合到所述条件判断语句的分支中参与计算,实现将所述条件判断语句中的判断条件展开;其中,所述密文比较结果为0或1的密文;
其中,所述计算模块包括:
第一融合计算子模块,用于当所述条件判断语句为单一条件判断语句时,添加一变量;依据所述判断条件的密文比较结果,为所述变量赋值,其中,当所述判断条件成立时,所述变量的值为1的密文,当所述判断条件不成立时,所述变量的值为0的密文;将所述变量融合到所述条件判断语句的分支中参与计算。
5.根据权利要求4所述的装置,其特征在于,所述条件判断语句包括第一分支和第二分支,所述第一分支在所述判断条件成立时执行,所述第二分支在所述判断条件不成立时执行;
所述第一融合计算子模块,用于将所述变量融合到所述条件判断语句的第一分支中参与计算;以及将1与所述变量的差值融合到所述条件判断语句的第二分支中参与计算。
6.根据权利要求4所述的装置,其特征在于,所述计算模块包括:
第二融合计算子模块,用于当所述条件判断语句为多重条件判断语句时,所述判断条件语句包括N个判断条件和N+1个分支,N为大于1的正整数;针对前N个分支中的每一个分支:在所述分支中添加一变量;依据所述分支对应判断条件的密文比较结果,为所述变量赋值,其中,当所述分支对应的判断条件成立时,所述分支对应变量的值为1的密文,当所述分支对应的判断条件不成立时,所述分支对应变量的值为0的密文;将所述变量融合到所述条件判断语句中所述分支中参与计算;针对第N+1个分支:在所述分支中添加一变量;将所述变量赋值为:1与前N个分支对应变量之和的差值,其中,当前N个判断条件中的一个判断条件成立时,所述分支对应变量的值为0的密文,当所述前N个判断条件均不成立时,所述分支对应变量的值为1的密文;将所述变量融合到所述条件判断语句的所述分支中参与计算。
7.一种可读介质,其特征在于,当所述可读介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-3中一个或多个所述的数据处理方法。
8.一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-3中一个或多个所述的数据处理方法。
CN201910538705.1A 2019-06-20 2019-06-20 一种数据处理方法、装置和电子设备 Active CN112115487B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910538705.1A CN112115487B (zh) 2019-06-20 2019-06-20 一种数据处理方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910538705.1A CN112115487B (zh) 2019-06-20 2019-06-20 一种数据处理方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN112115487A CN112115487A (zh) 2020-12-22
CN112115487B true CN112115487B (zh) 2024-05-31

Family

ID=73796041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910538705.1A Active CN112115487B (zh) 2019-06-20 2019-06-20 一种数据处理方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN112115487B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853526A (zh) * 2014-02-20 2014-06-11 清华大学 可重构处理器及可重构处理器的条件执行方法
CN106775593A (zh) * 2016-12-30 2017-05-31 智车优行科技(北京)有限公司 去除循环处理流程中条件判断语句的方法和装置、应用单元
CN107153610A (zh) * 2017-04-28 2017-09-12 腾讯科技(深圳)有限公司 一种程序语句错误检测方法和装置
CN107644175A (zh) * 2017-09-13 2018-01-30 南京南瑞集团公司 一种防止sql注入的方法
WO2018113642A1 (zh) * 2016-12-20 2018-06-28 西安电子科技大学 一种面向远程计算的控制流隐藏方法及系统
CN109117676A (zh) * 2018-10-23 2019-01-01 杭州弗兰科信息安全科技有限公司 一种基于泄序算法的数据库密文比较检索方法
CN109740313A (zh) * 2018-12-12 2019-05-10 北京字节跳动网络技术有限公司 计算机程序保护方法、装置、电子设备和计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8418154B2 (en) * 2009-02-10 2013-04-09 International Business Machines Corporation Fast vector masking algorithm for conditional data selection in SIMD architectures
US9047448B2 (en) * 2013-01-14 2015-06-02 Apple Inc. Branch auditing in a computer program
KR102147355B1 (ko) * 2013-09-27 2020-08-24 삼성전자 주식회사 프로그램 변환 방법 및 장치
WO2015123848A1 (zh) * 2014-02-20 2015-08-27 清华大学 可重构处理器及可重构处理器的条件执行方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853526A (zh) * 2014-02-20 2014-06-11 清华大学 可重构处理器及可重构处理器的条件执行方法
WO2018113642A1 (zh) * 2016-12-20 2018-06-28 西安电子科技大学 一种面向远程计算的控制流隐藏方法及系统
CN106775593A (zh) * 2016-12-30 2017-05-31 智车优行科技(北京)有限公司 去除循环处理流程中条件判断语句的方法和装置、应用单元
CN107153610A (zh) * 2017-04-28 2017-09-12 腾讯科技(深圳)有限公司 一种程序语句错误检测方法和装置
CN107644175A (zh) * 2017-09-13 2018-01-30 南京南瑞集团公司 一种防止sql注入的方法
CN109117676A (zh) * 2018-10-23 2019-01-01 杭州弗兰科信息安全科技有限公司 一种基于泄序算法的数据库密文比较检索方法
CN109740313A (zh) * 2018-12-12 2019-05-10 北京字节跳动网络技术有限公司 计算机程序保护方法、装置、电子设备和计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
用计算函数模型增强数据流分析;胡世亮, 臧斌宇, 朱传琪;软件学报(第02期);全文 *

Also Published As

Publication number Publication date
CN112115487A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
CN111783124B (zh) 基于隐私保护的数据处理方法、装置和服务器
CN109687952A (zh) 数据处理方法及其装置、电子装置及存储介质
CN110602147A (zh) 一种基于云平台的数据加密安全存储方法、系统和存储介质
CN112464155B (zh) 一种数据处理方法、多方安全计算系统和电子设备
CN110022315A (zh) 一种块链式账本中的权重管理方法、装置及设备
CN111415013A (zh) 隐私机器学习模型生成、训练方法、装置及电子设备
CN112200713A (zh) 一种联邦学习中的业务数据处理方法、装置以及设备
CN112166445A (zh) 基于区块链网络的联合学习方法和联合学习设备
CN113206830A (zh) 一种数据处理方法、装置和电子设备
CN111949998B (zh) 对象检测及请求方法、数据处理系统、装置及存储介质
CN111402058A (zh) 一种数据处理方法、装置、设备及介质
CN110874481B (zh) 一种基于gbdt模型的预测方法和装置
CN112115487B (zh) 一种数据处理方法、装置和电子设备
CN112926090A (zh) 基于差分隐私的业务分析方法及装置
CN103514412B (zh) 构建基于角色的访问控制系统的方法及云服务器
CN112182112A (zh) 基于区块链的分布式数据动态存储方法和电子设备
CN112115488B (zh) 一种数据处理方法、装置和电子设备
CN111383008B (zh) 基于账户模型的区块链转账方法及装置
CN114817954A (zh) 图像的处理方法、系统和装置
CN112035850B (zh) 一种数据处理方法、装置和电子设备
CN112395623B (zh) 一种数据处理方法、装置和电子设备
CN112182593A (zh) 一种数据处理方法、装置和电子设备
CN112035849B (zh) 一种数据处理方法、装置和电子设备
CN112395624B (zh) 一种数据处理方法、装置和电子设备
CN114817970B (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
GR01 Patent grant
GR01 Patent grant