CN115062342A - 隐私计算方法、装置、电子设备和可读存储介质 - Google Patents

隐私计算方法、装置、电子设备和可读存储介质 Download PDF

Info

Publication number
CN115062342A
CN115062342A CN202210745435.3A CN202210745435A CN115062342A CN 115062342 A CN115062342 A CN 115062342A CN 202210745435 A CN202210745435 A CN 202210745435A CN 115062342 A CN115062342 A CN 115062342A
Authority
CN
China
Prior art keywords
polynomial
value
target
original function
interval
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
Application number
CN202210745435.3A
Other languages
English (en)
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 CN202210745435.3A priority Critical patent/CN115062342A/zh
Publication of CN115062342A publication Critical patent/CN115062342A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Complex Calculations (AREA)

Abstract

本申请提供了一种隐私计算方法、装置、电子设备和可读存储介质,其中,该方法包括:将原始函数的当前数值区间划分成N个数值区间;该原始函数为用于隐私计算的平滑非线性函数,首次划分数值区间时,该当前数值区间为该原始函数的取值范围;根据该原始函数,在N个数值区间的每个数值区间中确定一项多项式,以得到N项多项式;根据该原始函数与该N项多项式进行对比,以确定出各项多项式与该原始函数的第一误差;若存在第一误差不小于设定阈值,将多项式对应的数值区间作为当前数值区间,重复上述步骤构建新的多项式;若第一误差均小于设定阈值,根据当前得到的多项式集合构建目标函数,该目标函数用于替换该原始函数,用于隐私计算。

Description

隐私计算方法、装置、电子设备和可读存储介质
技术领域
本申请涉及隐私计算技术领域,具体而言,涉及一种隐私计算方法、装置、电子设备和可读存储介质。
背景技术
安全多方计算(Secure Multi-Party Computation)主要是针对无可信第三方的情况下,实现安全地计算一个约定函数。由于为了各方数据的安全,安全多方计算过程中通常是采用隐私计算方式实现多方数据的处理,因此,在进行安全多方计算过程中,如果所使用的约定函数是比较复杂的函数时,导致计算量较大,计算效率往往难以接受。
发明内容
本申请的目的在于提供一种隐私计算方法、装置、电子设备和可读存储介质,能够改善安全多方计算的隐私计算过程中计算效率低的问题,以提高隐私计算的计算效率。
第一方面,本发明提供一种隐私计算方法,包括:
将原始函数的当前数值区间划分成N个数值区间;所述原始函数为用于隐私计算的平滑非线性函数,首次划分数值区间时,所述当前数值区间为所述原始函数的取值范围,N为大于1的正整数;
根据所述原始函数,在N个数值区间的每个数值区间中确定一项多项式,以得到N项多项式;
根据所述原始函数与所述N项多项式进行对比,以确定出各项多项式与所述原始函数的第一误差;
若任意一项多项式的第一误差不小于设定阈值,将多项式对应的数值区间作为当前数值区间,重复上述步骤构建新的多项式;
若所有多项式的第一误差均小于设定阈值,根据当前得到的多项式集合构建目标函数,所述目标函数用于替换所述原始函数,用于隐私计算。
在可选的实施方式中,所述根据所述原始函数与所述N项多项式进行对比,以确定出各项多项式与所述原始函数的第一误差,包括:
针对目标多项式,计算所述原始函数与所述目标多项式在目标数值区间的多个点的距离,所述目标数值区间为所述目标多项式对应的数值区间,所述目标多项式为所述N项多项式中的任意一项多项式;
根据多个点的距离,确定出所述原始函数与所述目标多项式的第一误差。
在上述实施方式中,可以通过确定两个函数在多个点的距离,以此确定出两个函数的误差,可以提高误差确定的准确性。
在可选的实施方式中,所述计算所述原始函数与所述目标多项式在目标数值区间的多个点的距离,包括:
针对所述目标数值区间的多个点中的目标点,若所述原始函数在所述目标点的值在第一阈值区间内,则计算所述原始函数与所述目标多项式在所述目标点的绝对距离,所述目标点为所述目标数值区间的多个点中的任意一个点;
若所述原始函数在所述目标点的值在第二阈值区间内,则计算所述原始函数与所述目标多项式在所述目标点的相对距离,所述第二阈值区间与所述第一阈值区间不相交,且所述第一阈值区间包括零点。
在上述实施方式中,还可以基于原始函数的值的大小确定出原始函数与多项式的不同距离,以更好地表征该原始函数与多项式的距离,也可以使误差能准确的被表示。
在可选的实施方式中,所述计算所述原始函数与所述目标多项式在目标数值区间的多个点的距离之前,所述方法还包括:根据所述目标数值区间的长度,在所述目标数值区间中确定出多个点。
在可选的实施方式中,所述根据所述目标数值区间的长度,在所述目标数值区间中确定出多个点,包括:
根据所述目标数值的两个端点计算出第一数值;
将所述第一数值与预设阈值进行对比,以确定出所述第一数值与所述预设阈值中的较小的目标数值;
从所述目标数值区间中选出目标数值数量的点。
在上述实施方式中,还可以基于不同长度的数值区间选出不同数量的点,可以使确定出的误差能够更好地表征原始函数与多项式的误差的基础上,还能够适应性调整计算误差所需的计算量,提高误差计算的效率。
在可选的实施方式中,所述根据所述原始函数,在N个数值区间的每个数值区间中确定一项多项式,以得到N项多项式,包括:针对目标数值区间,获取所述原始函数在所述目标数值区间中的多个数值点,所述目标数值区间为所述N个数值区间中的任意一个数值区间;对多个数值点进行拟合,以得到所述目标数值区间对应的多项式。
在可选的实施方式中,所述根据当前得到的多项式集合构建目标函数,包括:构建第i段数值区间与第i+1段数值区间形成的新的数值区间对应的新的多项式,其中,当前得到的多项式集合中的第i项多项式的取值范围为所述第i段数值区间,当前得到的多项式集合中的第i+1项多项式的取值范围为所述第i+1段数值区间,i的取值为大于或等于1,且小于或等于当前得到的多项式集合中的多项式数量;根据所述原始函数与所述新的多项式进行对比,以确定出所述新的多项式与所述原始函数的第二误差;若所述第二误差不小于所述设定阈值,则更新所述i的取值,直到i的取值等于当前得到的多项式集合中的多项式的数量;若所述第二误差小于所述设定阈值,则将所述新的多项式替换所述第i项多项式和所述第i+1项多项式,以更新当前得到的多项式集合。
在上述实施方式中,还可以对任意相邻的两个多项式进行是否能够合并进行判断,可以在保持确定多项式能够更好地近似原始函数的基础上,也能够减少多项式的数量。
第二方面,本发明提供一种隐私计算装置,包括:
区间划分模块,用于将原始函数的当前数值区间划分成N个数值区间;所述原始函数为用于隐私计算的平滑非线性函数,首次划分数值区间时,所述当前数值区间为所述原始函数的取值范围,N为大于1的正整数;
多项式确定模块,用于根据所述原始函数,在N个数值区间的每个数值区间中确定一项多项式,以得到N项多项式;
误差确定模块,用于根据所述原始函数与所述N项多项式进行对比,以确定出各项多项式与所述原始函数的第一误差;
若任意一项多项式的第一误差不小于设定阈值,将多项式对应的数值区间作为当前数值区间,重复执行上述模块以构建新的多项式;
函数构建模块,用于若所有多项式的第一误差均小于设定阈值,根据当前得到的多项式集合构建目标函数,所述目标函数用于替换所述原始函数,用于隐私计算。
第三方面,本发明提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如前述实施方式任一所述的方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如前述实施方式任一所述的方法的步骤。
本申请实施例的有益效果至少包括:将原来用于隐私计算的平滑非线性函数的原始函数换成计算量相对较低的多项式构成的函数,多项式的计算相较于原始的平滑非线性函数计算量相对更低,可以降低隐私计算过程中的计算量,提高隐私计算的效率。进一步地,在确定替换原始函数的对多项式与原始函数进行了误差对比,可以选出相对更能够表示原始函数的多项式,因此,可以实现提高隐私计算的计算效率的基础上,还能够保持隐私计算的准确性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的安全多方计算系统的运行环境示意图;
图2为本申请实施例提供的电子设备的方框示意图;
图3为本申请实施例提供的隐私计算方法的流程图;
图4为本申请实施例提供的隐私计算方法的步骤230的可选流程图;
图5为本申请实施例提供的隐私计算方法的步骤240的可选流程图;
图6为本申请实施例提供的隐私计算装置的功能模块示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
安全多方计算(Secure Multi-Party Computation)主要是针对无可信第三方的情况下,实现安全地计算一个约定函数。安全多方计算是电子选举、门限签名以及电子拍卖等诸多应用得以实施的密码学基础。
经本申请发明人研究了解到,由于在进行安全多方计算时,为了保护各方平台中的数据的安全性,通过会采用基于各方平台提供的密态数据进行计算,这样会导致在进行安全多方计算时,非线性函数的计算非常困难,需要极大的研发成本。通常而言,安全计算服务方会提供部分基本非线性函数,例如,ex,
Figure BDA0003716693300000061
和logx等。对于其他更为复杂的非线性函数,则通过展开成基本运算的方式来进行,例如,对密文变量x计算
Figure BDA0003716693300000062
计算方式为:先计算密文y=e-x,再计算密文结果
Figure BDA0003716693300000063
这种方案需要连续计算两个基本非线性函数:e指数和除法。这种计算方式至少存在以下问题:1)开销大:由于基本非线性函数的所需的计算资源较大,其他非线性函数的计算开销基本等同于串行执行各个基本非线性函数,开销与表达式的复杂程度成正比,最终导致计算量非常大,计算效率往往难以接受;2)精度低:在安全多方计算的场景中,一般采用定点数来表示实数,即用一个n比特的整数
Figure BDA0003716693300000064
乘以一个确定的分辨系数2-f来表示任意一个实数v,
Figure BDA0003716693300000065
每个定点数表示的精度极限即为2-f,远远小于明文上常用的浮点数。在进行运算时,每一步计算都存在一定的误差,在非线性函数计算时,误差会随着计算步骤层层累积,导致最终计算结果和真实值存在较大差异。
基于上述研究,本申请提供了一种隐私计算方法,通过将用于安全多方计算的非线性函数转化成分段多项式,以降低计算复杂度,提高计算效率。下面通过一些实施例来描述。
为便于对本实施例进行理解,首先对执行本申请实施例所公开的隐私计算方法的运行环境进行介绍。
该隐私计算方法可以用在安全多方计算系统10,该安全多方计算系统可以包括多方电子设备110。如图1所示,该电子设备110可以是网络服务器、数据库服务器等;也可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personaldigital assistant,PDA)等。
该安全多方计算系统10中的任意一方电子设备110,在不获取其它方电子设备110的明文数据的情况下,通过隐私计算可以实现数据的处理。
各方电子设备110可以存储有用于隐私计算的目标函数,该目标函数可以是任意一方电子设备110构建的,该目标函数也可以是由能够与该安全多方计算系统10中的各个电子设备110通信的电子设备构建的。
如图2所示,是电子设备的方框示意图。电子设备110可以包括存储器111、处理器113。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对电子设备110的结构造成限定。例如,电子设备110还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。该电子设备110可以是图1所示的安全多方计算系统10中的任意一方电子设备。
上述的存储器111和处理器113相互直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备110所执行的方法可以应用于处理器113中,或者由处理器113实现。
上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本实施例中的电子设备110可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述隐私计算方法的实现过程。
请参阅图3,是本申请实施例提供的隐私计算方法的流程图。下面将对图3所示的具体流程进行详细阐述。
步骤210,将原始函数的当前数值区间划分成N个数值区间。
原始函数为用于隐私计算的平滑非线性函数。示例性地,该原始函数可以是指数函数、对数函数、根号函数或各种复杂函数的组合等。
首次划分数值区间时,该当前数值区间为该原始函数的取值范围。在第二次及第二次以上执行该步骤210时,当前数值区间为原始函数的取值范围的子集区间,且该子集区间为需要进一步地进行划分的数值区间。
上述N为大于1的正整数。示例性地,该N的取值可以是2、3等数值。
可选地,可以将当前数值区间等分地划分成N个数值区间,也可以将当前数值区间不等分地划分成N个数值区间。具体可以根据实际使用场景中确定出是否等分数值区间。
步骤220,根据该原始函数,在N个数值区间的每个数值区间中确定一项多项式,以得到N项多项式。
示例性地,若该N的取值是2,则步骤210可以将当前数值区间划分成两个数值区间。每个数值区间中确定一个用于近似原始函数的多项式,则可以得到两项多项式。
步骤230,根据该原始函数与该N项多项式进行对比,以确定出各项多项式与该原始函数的第一误差。
若任意一项多项式的第一误差不小于设定阈值,将多项式对应的数值区间作为当前数值区间,重复上述步骤210至步骤230构建新的多项式。
该设定阈值可以是一个较小的值。例如,该设定阈值可以是0.1、0.01、0.05等值。
若所有多项式的第一误差均小于设定阈值,则执行步骤240。
为了避免无休止的划分原始函数的取值范围,则可以预先设置一个区间数阈值,在该取值范围已经被划分成区间数阈值数量的数值区间的话,则可以中断多项式的构建。若原始函数的取值范围已被划分成m个数值区间,且当前m已经大于设定的区间数阈值,则可以执行步骤240。该区间数阈值可以按需设置,例如,该区间数阈值可以是20、30、50、100、1000等值。
针对任意一项多项式,可以根据该多项式与该原始函数的近似程度确定出该多项式与原始函数的误差。
步骤240,根据当前得到的多项式集合构建目标函数。
目标函数用于替换该原始函数,用于隐私计算。使用该目标函数时,输入该目标函数的输入参数包括密态的数据。
该目标函数可以被存储在安全多方计算的多方设备中,使用时,任意一方设备接收其它设备的密态数据,该目标函数可以对该密态数据进行计算。
可选地,可以将当前得到的多项式集合中的各项多项式连接成一个取值范围与原始函数的取值范围相同的多项式函数。
通过上述步骤,可以将用于隐私计算的原始函数换成计算量相对较低的多项式构成的函数,可以降低隐私计算过程中的计算量,提高隐私计算的效率。
在一些实施方式中,可以通过以下方式确定出各个数值区间的多项式,因此,步骤220可以通过以下方式实现:针对目标数值区间,获取该原始函数在该目标数值区间中的多个数值点;对多个数值点进行拟合,以得到该目标数值区间对应的多项式。
目标数值区间为该N个数值区间中的任意一个数值区间。
在目标数值区间[a,b]内的多个点的数量可以表示为:
Figure BDA0003716693300000101
其中,Ns表示目标数值区间中确定的多个点的数量;f表示构建多项式所限定的定点数限定长度;Ms表示预设阈值。
该预设阈值可以是一个相对较大的值,例如,该预设阈值可以为500、700、1000、1300等值。
可以对Ns个数值点进行曲线拟合,以确定出目标数值区间的多项式。
其中,拟合出的目标数值区间对应的多项式的最高阶k可以是预先设置的。
两个函数的误差并不能直接基于多项式与原始函数确定出,但可以通过多项式与原始函数所对应的取值范围中的多个点处多项式的值与原始函数的值之间的差距确定出多项式与原始函数之间的误差。基于此研究,如图4所示,步骤230可以包括步骤232和步骤234。
步骤232,针对目标多项式,计算该原始函数与该目标多项式在目标数值区间的多个点的距离。
目标数值区间为该目标多项式对应的数值区间,该目标多项式为该N项多项式中的任意一项多项式。
以目标数值区间为[a,b]为例,可以计算原始函数在区间[a,b]中的多个点的值,以及目标多项式在区间[a,b]中的多个点的值,然后计算原始函数在区间[a,b]中的多个点的值与目标多项式在区间[a,b]中的多个点的值的距离。
在一种实施方式中,针对该目标数值区间的多个点中的任意一个目标点,若该原始函数在该目标点的值在第一阈值区间内,则计算该原始函数与该目标多项式在该目标点的绝对距离,该目标点为该目标数值区间的多个点中的任意一个点。
该第一阈值区间可以是包含零的数值区间,该数值区间的端点的绝对值较小的数值区间,该端点的绝对值可以等于设定值。
示例性地,若该原始函数在目标点的值的绝对值小于设定值时,则可以计算该原始函数与目标多项式在目标点的绝对距离。
在另一种实施方式中,若该原始函数在该目标点的值在第二阈值区间内,则计算该原始函数与该目标多项式在该目标点的相对距离。
该第一阈值区间可以是不包含零的数值区间,该数值区间的端点的绝对值较大的数值区间,该端点的绝对值可以大于设定值。
示例性地,若该原始函数在目标点的值的绝对值大于设定值时,则可以计算该原始函数与目标多项式在目标点的绝对距离。
该原始函数与目标多项式的距离可以通过以下方式表示:
Figure BDA0003716693300000121
其中,
Figure BDA0003716693300000122
表示目标多项式,且该目标多项式为k阶多项式;F(x)表示原始函数;
Figure BDA0003716693300000123
表示一个接近0的数值;k表示目标多项式的最高阶;m表示原始函数的取值范围所划分的数值区间数量。
步骤234,根据多个点的距离,确定出该原始函数与该目标多项式的第一误差。
可以将多个点的距离中的绝对值最大的值确定为原始函数与目标多项式的第一误差。
为了更准确地确定出目标多项式与原始函数之间的误差,可以从目标数值区间选出多个点作为样本,以用于对原始函数与目标多项式的误差进行计算。可再次参阅图4所示,在步骤232之前,还可以包括:步骤231,根据目标数值区间的长度,在该目标数值区间中确定出多个点。
可选地,可以根据该目标数值的两个端点计算出第一数值;将该第一数值与预设阈值进行对比,以确定出该第一数值与该预设阈值中的较小的目标数值;从该目标数值区间中选出目标数值数量的点。
其中,该第一数值可以根据目标数值的两个端点以及多项式所限定的定点数限定长度计算得到。
在目标数值区间[a,b]内的多个点的数量可以表示为:
Figure BDA0003716693300000131
其中,Ns表示目标数值区间中确定的多个点的数量;f表示构建多项式所限定的定点数限定长度;MS表示预设阈值。
该预设阈值可以是一个相对较大的值,例如,该预设阈值可以为500、700、1000、1300等值。
通过上述方式,可以通过多点计算的方式计算出原始函数与目标多项式的误差,且基于多点的距离确定出的原始函数与目标多项式的误差,可以更全面地表征原始函数与目标多项式的误差,提高误差确定的准确性。
为了降低得到的多项式的数量,或者最后得到的目标函数的复杂度,还可以将基于步骤210至步骤230得到的多项式集合再次进行合并融合处理。基于此,如图5所示,步骤240可以包括步骤241和步骤245。
步骤241,构建第i段数值区间与第i+1段数值区间形成的新的数值区间对应的新的多项式。
其中,当前得到的多项式集合中的第i项多项式的取值范围为该第i段数值区间,当前得到的多项式集合中的第i+1项多项式的取值范围为该第i+1段数值区间,i的取值为大于或等于1,且小于或等于当前得到的多项式集合中的多项式数量。
步骤242,根据该原始函数与该新的多项式进行对比,以确定出该新的多项式与该原始函数的第二误差。
步骤243,判断该第二误差是否小于设定阈值。
若该第二误差不小于该设定阈值,则执行步骤245;若该第二误差小于该设定阈值,则执行步骤244。
其中,计算该第二误差的方法可以与前面的第一误差的计算方法相同,在此不再赘述第二误差的计算方法。
步骤244,将该新的多项式替换该第i项多项式和该第i+1项多项式,以更新当前得到的多项式集合。
更新后的当前得到的多项式集合中的多项式的数量则比之前的多项式集合少一个多项式。
步骤245,更新该i的取值。
然后返回步骤241,重新执行步骤241和步骤244,构建后面两个相邻数值区间的多项式。
若当前i值小于当前得到的多项式集合中的多项式的数量减一,则将i+1,然后重新执行步骤241至步骤245,直到i的取值等于当前得到的多项式集合中的多项式的数量减一。
将最终得的多项式集合作为目标函数。
通过上述的步骤241至步骤245,可以使确定出的目标函数相较于原始函数的计算量更小,且得的多项式也能够相对更少。
通过上述的隐私计算方法,可以构造满足一定精度要求的k阶分段多项式来近似任意的一个光滑连续的非线性函数。k阶分段多项式在安全多方计算的环境中只需要加法、乘法和比较三种基础运算就可以完成。实际实验中,一般都可以在10阶多项式,20段多项式以内可以实现精度阈值为10-3的分段多项式近似。相比将复杂的函数展开成基本运算的方式的非线性函数计算方案而言,用分段多项式可以有效减少了误差的累积,实际实验中的误差也基本都在10-3内;其次相比连续计算多个基本非线性函数,使用分段多项式也可以极大提高了计算效率。最后,采用该算法来生成多项式,一般所需花费的时间也比较短,例如,可以在几秒内实现多项式的构建,对于一些无法展开成安全计算平台提供的基本非线性函数组合的目标函数而言,比如伽马函数
Figure BDA0003716693300000141
这种复杂非线性函数,使用本申请实施例中的算法,可以在2-3秒内快速生成对应的定点数分段多项式。例如,在逻辑回归中生成对应的sigmoid计算函数,在χ2检验中生成对应的分布函数,均可以采用本申请实施例中的方法,在保证模型精度与明文环境一致的情况下极大提高计算效率;同时也使得在密文中快速计算χ2检验变为可能,不需要安全计算平台提供复杂的积分运算。
下面通过一个实施例来描述,本申请的隐私计算方法的实现过程:
示例性地,上述的步骤210至步骤240可以由安全多方计算系统中的第一方设备执行,以构建出用于隐私计算的,由多组多项式组成的目标函数。
该第一方电子设备在确定出目标函数后,该第一方电子设备将该目标函数发送给该安全多方计算系统中的其它方电子设备,以其它方电子设备使用。
使用过程中,多方电子设备可以接收其它方电子设备传输的密态数据;多方电子设备在获得其它方的密态数据后,可以使用存储的目标函数对自身的本地数据和其它方的密态数据进行计算。
该目标函数得到计算结果后,可以将计算结果返回给多方电子设备。
在一些实现方式中,该安全多方计算系统中的各方电子设备可以分别就一部分用于隐私计算的函数采用上述隐私算法构建方法提供的步骤进行多项式构建,以得到部分隐私计算所需的函数,然后各方电子设备可以将其构建的目标函数发送给指定电子设备,该指定电子设备可以将各方电子设备构建的目标函数组合成用于该安全多方计算系统所需的隐私函数。
基于同一申请构思,本申请实施例中还提供了与隐私计算方法对应的隐私计算装置,由于本申请实施例中的装置解决问题的原理与前述的隐私计算方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
请参阅图6,是本申请实施例提供的隐私计算装置的功能模块示意图。本实施例中的隐私计算装置中的各个模块用于执行上述方法实施例中的各个步骤。隐私计算装置包括:区间划分模块310、多项式确定模块320、误差确定模块330以及函数构建模块340;其中各模块的内容如下所示:
区间划分模块310,用于将原始函数的当前数值区间划分成N个数值区间;该原始函数为用于隐私计算的平滑非线性函数,首次划分数值区间时,该当前数值区间为该原始函数的取值范围,N为大于1的正整数;
多项式确定模块320,用于根据该原始函数,在N个数值区间的每个数值区间中确定一项多项式,以得到N项多项式;
误差确定模块330,用于根据该原始函数与该N项多项式进行对比,以确定出各项多项式与该原始函数的第一误差;
若任意一项多项式的第一误差不小于设定阈值,将多项式对应的数值区间作为当前数值区间,重复执行上述模块以构建新的多项式;
函数构建模块340,用于若所有多项式的第一误差均小于设定阈值,根据当前得到的多项式集合构建目标函数,该目标函数用于替换该原始函数,用于隐私计算。
一种可能的实施方式中,误差确定模块330,包括距离计算单元和误差确定单元,如下所示:
距离计算单元,用于针对目标多项式,计算该原始函数与该目标多项式在目标数值区间的多个点的距离,该目标数值区间为该目标多项式对应的数值区间,该目标多项式为该N项多项式中的任意一项多项式;
误差确定单元,用于根据多个点的距离,确定出该原始函数与该目标多项式的第一误差。
一种可能的实施方式中,距离计算单元,用于:
针对该目标数值区间的多个点中的目标点,若该原始函数在该目标点的值在第一阈值区间内,则计算该原始函数与该目标多项式在该目标点的绝对距离,该目标点为该目标数值区间的多个点中的任意一个点;
若该原始函数在该目标点的值在第二阈值区间内,则计算该原始函数与该目标多项式在该目标点的相对距离,所述第二阈值区间与所述第一阈值区间不相交,且所述第一阈值区间包括零点。
一种可能的实施方式中,隐私计算装置还包括:点确定模块,用于根据该目标数值区间的长度,在该目标数值区间中确定出多个点。
一种可能的实施方式中,点确定模块,用于根据该目标数值的两个端点计算出第一数值;将该第一数值与预设阈值进行对比,以确定出该第一数值与该预设阈值中的较小的目标数值;从该目标数值区间中选出目标数值数量的点。
一种可能的实施方式中,多项式确定模块320,用于针对目标数值区间,获取该原始函数在该目标数值区间中的多个数值点,该目标数值区间为该N个数值区间中的任意一个数值区间;对多个数值点进行拟合,以得到该目标数值区间对应的多项式。
一种可能的实施方式中,函数构建模块340,用于:
构建第i段数值区间与第i+1段数值区间形成的新的数值区间对应的新的多项式,其中,当前得到的多项式集合中的第i项多项式的取值范围为该第i段数值区间,当前得到的多项式集合中的第i+1项多项式的取值范围为该第i+1段数值区间,i的取值为大于或等于1,且小于或等于当前得到的多项式集合中的多项式数量;
根据该原始函数与该新的多项式进行对比,以确定出该新的多项式与该原始函数的第二误差;
若该第二误差不小于该设定阈值,则更新该i的取值,直到i的取值等于当前得到的多项式集合中的多项式的数量;
若该第二误差小于该设定阈值,则将该新的多项式替换该第i项多项式和该第i+1项多项式,以更新当前得到的多项式集合。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的隐私计算方法的步骤。
本申请实施例所提供的隐私计算方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的隐私计算方法的步骤,具体可参见上述方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种隐私计算方法,其特征在于,包括:
将原始函数的当前数值区间划分成N个数值区间;所述原始函数为用于隐私计算的平滑非线性函数,首次划分数值区间时,所述当前数值区间为所述原始函数的取值范围,N为大于1的正整数;
根据所述原始函数,在N个数值区间的每个数值区间中确定一项多项式,以得到N项多项式;
根据所述原始函数与所述N项多项式进行对比,以确定出各项多项式与所述原始函数的第一误差;
若任意一项多项式的第一误差不小于设定阈值,将多项式对应的数值区间作为当前数值区间,重复上述步骤构建新的多项式;
若所有多项式的第一误差均小于设定阈值,根据当前得到的多项式集合构建目标函数,所述目标函数用于替换所述原始函数,用于隐私计算。
2.根据权利要求1所述的方法,其特征在于,所述根据所述原始函数与所述N项多项式进行对比,以确定出各项多项式与所述原始函数的第一误差,包括:
针对目标多项式,计算所述原始函数与所述目标多项式在目标数值区间的多个点的距离,所述目标数值区间为所述目标多项式对应的数值区间,所述目标多项式为所述N项多项式中的任意一项多项式;
根据多个点的距离,确定出所述原始函数与所述目标多项式的第一误差。
3.根据权利要求2所述的方法,其特征在于,所述计算所述原始函数与所述目标多项式在目标数值区间的多个点的距离,包括:
针对所述目标数值区间的多个点中的目标点,若所述原始函数在所述目标点的值在第一阈值区间内,则计算所述原始函数与所述目标多项式在所述目标点的绝对距离,所述目标点为所述目标数值区间的多个点中的任意一个点;
若所述原始函数在所述目标点的值在第二阈值区间内,则计算所述原始函数与所述目标多项式在所述目标点的相对距离,所述第二阈值区间与所述第一阈值区间不相交,且所述第一阈值区间包括零点。
4.根据权利要求2所述的方法,其特征在于,所述计算所述原始函数与所述目标多项式在目标数值区间的多个点的距离之前,所述方法还包括:
根据所述目标数值区间的长度,在所述目标数值区间中确定出多个点。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标数值区间的长度,在所述目标数值区间中确定出多个点,包括:
根据所述目标数值的两个端点计算出第一数值;
将所述第一数值与预设阈值进行对比,以确定出所述第一数值与所述预设阈值中的较小的目标数值;
从所述目标数值区间中选出目标数值数量的点。
6.根据权利要求1所述的方法,其特征在于,所述根据所述原始函数,在N个数值区间的每个数值区间中确定一项多项式,以得到N项多项式,包括:
针对目标数值区间,获取所述原始函数在所述目标数值区间中的多个数值点,所述目标数值区间为所述N个数值区间中的任意一个数值区间;
对多个数值点进行拟合,以得到所述目标数值区间对应的多项式。
7.根据权利要求1所述的方法,其特征在于,所述根据当前得到的多项式集合构建目标函数,包括:
构建第i段数值区间与第i+1段数值区间形成的新的数值区间对应的新的多项式,其中,当前得到的多项式集合中的第i项多项式的取值范围为所述第i段数值区间,当前得到的多项式集合中的第i+1项多项式的取值范围为所述第i+1段数值区间,i的取值为大于或等于1,且小于或等于当前得到的多项式集合中的多项式数量;
根据所述原始函数与所述新的多项式进行对比,以确定出所述新的多项式与所述原始函数的第二误差;
若所述第二误差不小于所述设定阈值,则更新所述i的取值,直到i的取值等于当前得到的多项式集合中的多项式的数量;
若所述第二误差小于所述设定阈值,则将所述新的多项式替换所述第i项多项式和所述第i+1项多项式,以更新当前得到的多项式集合。
8.一种隐私计算装置,其特征在于,包括:
区间划分模块,用于将原始函数的当前数值区间划分成N个数值区间;所述原始函数为用于隐私计算的平滑非线性函数,首次划分数值区间时,所述当前数值区间为所述原始函数的取值范围,N为大于1的正整数;
多项式确定模块,用于根据所述原始函数,在N个数值区间的每个数值区间中确定一项多项式,以得到N项多项式;
误差确定模块,用于根据所述原始函数与所述N项多项式进行对比,以确定出各项多项式与所述原始函数的第一误差;
若任意一项多项式的第一误差不小于设定阈值,将多项式对应的数值区间作为当前数值区间,重复执行上述模块以构建新的多项式;
函数构建模块,用于若所有多项式的第一误差均小于设定阈值,根据当前得到的多项式集合构建目标函数,所述目标函数用于替换所述原始函数,用于隐私计算。
9.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法的步骤。
CN202210745435.3A 2022-06-27 2022-06-27 隐私计算方法、装置、电子设备和可读存储介质 Pending CN115062342A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210745435.3A CN115062342A (zh) 2022-06-27 2022-06-27 隐私计算方法、装置、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210745435.3A CN115062342A (zh) 2022-06-27 2022-06-27 隐私计算方法、装置、电子设备和可读存储介质

Publications (1)

Publication Number Publication Date
CN115062342A true CN115062342A (zh) 2022-09-16

Family

ID=83203843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210745435.3A Pending CN115062342A (zh) 2022-06-27 2022-06-27 隐私计算方法、装置、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN115062342A (zh)

Similar Documents

Publication Publication Date Title
US11023801B2 (en) Data processing method and apparatus
CN109919318B (zh) 数据处理方法、装置和设备
US20180075342A1 (en) Information processing apparatus, ising unit, and information processing apparatus control method
CN111612600B (zh) 区块链拍卖方法、设备、存储介质及区块链系统
CN106327340B (zh) 一种金融网络的异常节点集合侦测方法及装置
CN110383751B (zh) 关于证实的数据的pinocchio/trinocchio
US10628124B2 (en) Stochastic rounding logic
KR20230044318A (ko) 모델 파라미터 조정 방법, 기기, 저장매체 및 프로그램 제품
CN113704805B (zh) 一种风控规则匹配方法、装置及电子设备
CN112464155A (zh) 一种数据处理方法、多方安全计算系统和电子设备
Lim et al. One polynomial approximation to produce correctly rounded results of an elementary function for multiple representations and rounding modes
Moon et al. An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE
Amari Reliability of k-out-of-n standby systems with gamma distributions
Neugebauer et al. On the limits of stochastic computing
US20100115230A1 (en) Hash functions using recurrency and arithmetic
CN113807415A (zh) 联邦特征选择方法、装置、计算机设备和存储介质
CN107342857B (zh) 分组方法及装置
Lim et al. RLIBM-ALL: A Novel Polynomial Approximation Method to Produce Correctly Rounded Results for Multiple Representations and Rounding Modes
Miranda-López et al. 2Lbp-RRNS: two-levels RRNS with backpropagation for increased reliability and privacy-preserving of secure multi-clouds data storage
Bardis Secure, green implementation of modular arithmetic operations for IoT and cloud applications
CN115062342A (zh) 隐私计算方法、装置、电子设备和可读存储介质
CN115062299B (zh) 一种针对数据泄露的安全性检测方法、装置及电子设备
CN115577221A (zh) 信号处理方法、装置及旋转因子的优化方法和终端设备
Hertz et al. Parabolic synthesis methodology implemented on the sine function
CN115081021A (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