CN116127523A - 一种隐私计算中的数据处理方法、装置及电子设备 - Google Patents

一种隐私计算中的数据处理方法、装置及电子设备 Download PDF

Info

Publication number
CN116127523A
CN116127523A CN202310405237.7A CN202310405237A CN116127523A CN 116127523 A CN116127523 A CN 116127523A CN 202310405237 A CN202310405237 A CN 202310405237A CN 116127523 A CN116127523 A CN 116127523A
Authority
CN
China
Prior art keywords
data
fixed point
point number
bit
calculation
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.)
Granted
Application number
CN202310405237.7A
Other languages
English (en)
Other versions
CN116127523B (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 CN202310405237.7A priority Critical patent/CN116127523B/zh
Publication of CN116127523A publication Critical patent/CN116127523A/zh
Application granted granted Critical
Publication of CN116127523B publication Critical patent/CN116127523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种隐私计算中的数据处理方法、装置及电子设备,涉及隐私计算技术领域,其中,待处理数据采用第一种定点数表示,在针对待处理数据进行预设计算的过程中,先对待处理数据进行预设线性变换,然后对得到的变换后数据进行位分解操作,得到位分解数据,并针对位分解数据执行低位数转高位数操作,将位分解数据转换为采用第二种定点数表示的转换后数据,然后针对转换后数据执行相应的计算过程,其中,第二种定点数表示的定点数长度大于第一种定点数表示的定点数长度,即在计算过程中,实现了借位计算,并且,上述计算过程均是多个计算节点基于各自持有的待处理数据的数据分片,通过协同完成的,从而达到隐私计算的目的。

Description

一种隐私计算中的数据处理方法、装置及电子设备
技术领域
本申请涉及隐私计算技术领域,尤其涉及一种隐私计算中的数据处理方法、装置及电子设备。
背景技术
在隐私计算中的多方安全计算应用场景中,经常需要执行一些非线性函数的计算,例如除法、指数、对数、开方等。在执行部分高精度要求的非线性计算的时候,如果定点数位数不足,将存在出错或者计算结果不精确的问题,而隐私计算整体的其他计算并不需要很高位数的定点数表示。
目前,能够想到的一种处理策略是使用临时借位。例如系统基本运算使用64位的定点数表示,在某一步关键计算时可以使用128位的定点数表示,即将数据从低位数表示转换为高位数表示,计算完成后可以直接输出高位数表示的计算结果,也可以再转换回低位数表示。
发明内容
本申请实施例提供一种隐私计算中的数据处理方法、装置及电子设备,用以实现在隐私计算中的借位计算。
本申请实施例提供一种隐私计算中的数据处理方法,应用于参与隐私计算的多个计算节点中的每个计算节点,所述多个计算节点分别持有待处理数据的多个数据分片之一,所述待处理数据采用第一种定点数表示,所述第一种定点数表示的定点数长度为第一预设长度,所述方法,包括:
基于持有的数据分片,通过与其他计算节点之间的协同,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片;
基于持有的变换后数据分片,通过与其他计算节点之间的协同,对所述变换后数据进行位分解操作,得到所述变换后数据的位分解数据的位分解数据分片;
将持有的位分解数据分片,执行低位数转高位数操作,得到第二种定点数表示的转换后数据的转换后数据分片,所述第二种定点数表示的定点数长度为第二预设长度,所述第二预设长度大于所述第一预设长度;
基于持有的转换后数据分片,通过与其他计算节点之间的协同,按照预设计算对应的计算过程,对所述转换后数据进行计算,得到长度为所述第二预设长度的计算结果的数据分片,作为按照所述预设计算对所述待处理数据进行计算的计算结果的数据分片。
进一步的,所述预设线性变换中包含乘法计算;
所述基于持有的数据分片,通过与其他计算节点之间的协同,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片,包括:
基于持有的数据分片,通过与其他计算节点之间的协同,按照乘法计算结果不移位的要求,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片。
进一步的,所述第一种定点数表示的定点数精度为第一预设精度,所述第二种定点数表示的定点数精度为第二预设精度;
所述将持有的位分解数据分片,执行低位数转高位数操作,得到第二种定点数表示的转换后数据的转换后数据分片,包括:
基于所述第一预设精度和所述第二预设精度,将持有的位分解数据分片的整数部分,按照从低位开始对齐,嵌入到所述第二种定点数表示的整数部分;
将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分,得到第二种定点数表示的转换后数据的转换后数据分片。
进一步的,所述将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分,包括:
如果持有的位分解数据分片的小数部分的长度,不大于所述第二预设精度,将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分;
如果持有的位分解数据分片的小数部分的长度,大于所述第二预设精度,将持有的位分解数据分片的小数部分,从高位截取所述第二预设精度位,嵌入到所述第二种定点数表示的小数部分。
进一步的,还包括:
将持有的位分解数据分片的符号位,复制到所述第二种定点数表示的符号位,以及整数部分的其他空余位。
本申请实施例还提供一种隐私计算中的数据处理装置,应用于参与隐私计算的多个计算节点中的每个计算节点,所述多个计算节点分别持有待处理数据的多个数据分片之一,所述待处理数据采用第一种定点数表示,所述第一种定点数表示的定点数长度为第一预设长度,所述装置,包括:
数据变换模块,用于基于持有的数据分片,通过与其他计算节点之间的协同,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片;
位分解操作模块,用于基于持有的变换后数据分片,通过与其他计算节点之间的协同,对所述变换后数据进行位分解操作,得到所述变换后数据的位分解数据的位分解数据分片;
数据转换模块,用于将持有的位分解数据分片,执行低位数转高位数操作,得到第二种定点数表示的转换后数据的转换后数据分片,所述第二种定点数表示的定点数长度为第二预设长度,所述第二预设长度大于所述第一预设长度;
数据计算模块,用于基于持有的转换后数据分片,通过与其他计算节点之间的协同,按照预设计算对应的计算过程,对所述转换后数据进行计算,得到长度为所述第二预设长度的计算结果的数据分片,作为按照所述预设计算对所述待处理数据进行计算的计算结果的数据分片。
进一步的,所述预设线性变换中包含乘法计算;
所述数据变换模块,具体用于基于持有的数据分片,通过与其他计算节点之间的协同,按照乘法计算结果不移位的要求,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片。
进一步的,所述第一种定点数表示的定点数精度为第一预设精度,所述第二种定点数表示的定点数精度为第二预设精度;
所述数据转换模块,具体用于基于所述第一预设精度和所述第二预设精度,将持有的位分解数据分片的整数部分,按照从低位开始对齐,嵌入到所述第二种定点数表示的整数部分;
将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分,得到第二种定点数表示的转换后数据的转换后数据分片。
进一步的,所述数据转换模块,具体用于如果持有的位分解数据分片的小数部分的长度,不大于所述第二预设精度,将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分;
如果持有的位分解数据分片的小数部分的长度,大于所述第二预设精度,将持有的位分解数据分片的小数部分,从高位截取所述第二预设精度位,嵌入到所述第二种定点数表示的小数部分。
进一步的,所述数据转换模块,还用于将持有的位分解数据分片的符号位,复制到所述第二种定点数表示的符号位,以及整数部分的其他空余位。
本申请实施例提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一隐私计算中的数据处理方法。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一隐私计算中的数据处理方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一隐私计算中的数据处理方法。
本申请有益效果包括:
本申请实施例提供的方法中,待处理数据采用第一种定点数表示,在针对待处理数据进行预设计算的过程中,先对待处理数据进行预设线性变换,然后对得到的变换后数据进行位分解操作,得到位分解数据,并针对位分解数据执行低位数转高位数操作,将位分解数据转换为采用第二种定点数表示的转换后数据,然后针对转换后数据执行相应的计算过程,得到按照预设计算对待处理数据进行计算的计算结果,其中,第二种定点数表示的定点数长度大于第一种定点数表示的定点数长度,即在计算过程中,实现了借位计算,并且,上述计算过程均是多个计算节点基于各自持有的待处理数据的数据分片,通过协同完成的,即对于原始的待处理数据,以及计算过程中得到的一些中间结果,各计算节点均只能获知其分片,而无法获知其本身,从而达到隐私计算的目的。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为本申请实施例提供的隐私计算中的数据处理方法的流程图;
图2为本申请另一实施例提供的隐私计算中的数据处理方法的流程图;
图3为本申请实施例中执行低位数转高位数操作的示意图;
图4为本申请实施例提供的隐私计算中的数据处理装置的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了给出在隐私计算中的借位计算的实现方案,本申请实施例提供了一种隐私计算中的数据处理方法、装置及电子设备,以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本申请实施例提供一种隐私计算中的数据处理方法,应用于参与隐私计算的多个计算节点中的每个计算节点,多个计算节点分别持有待处理数据的多个数据分片之一,待处理数据采用第一种定点数表示,第一种定点数表示的定点数长度为第一预设长度,如图1所示,该方法,包括:
步骤11、基于持有的数据分片,通过与其他计算节点之间的协同,对待处理数据进行预设线性变换,得到变换后数据的变换后数据分片;
步骤12、基于持有的变换后数据分片,通过与其他计算节点之间的协同,对变换后数据进行位分解操作,得到变换后数据的位分解数据的位分解数据分片;
步骤13、将持有的位分解数据分片,执行低位数转高位数操作,得到第二种定点数表示的转换后数据的转换后数据分片,第二种定点数表示的定点数长度为第二预设长度,第二预设长度大于第一预设长度;
步骤14、基于持有的转换后数据分片,通过与其他计算节点之间的协同,按照预设计算对应的计算过程,对转换后数据进行计算,得到长度为第二预设长度的计算结果的数据分片,作为按照预设计算对待处理数据进行计算的计算结果的数据分片。
采用本申请实施例提供的上述方法,能够完成对该待处理数据的借位计算,并且,上述计算过程均是多个计算节点基于各自持有的待处理数据的数据分片,通过协同完成的,即对于原始的待处理数据,以及计算过程中得到的一些中间结果,各计算节点均只能获知其分片,而无法获知其本身,从而达到隐私计算的目的。
本申请实施例中,涉及对数据的位分解操作,采用位分解操作,可以将加法分享的密文分解为二进制分享,参与方从保存数据值的分享转为保存每个二进制比特的分享,也就是说,通过位分解操作,可以获取分片化存储的密文数据的二进制表示,这个二进制表示同样是密文形式。
假设数值为x,定点数长度为k,定点数精度为d,最高位为符号位,负数补码表示,将x位分解后的第i位是x[i],i的取值为0至k-1的整数,根据定点数的规则有如下的关系式:
x= (1-2x[k-1]) × (2^(-d) ×x[0]+2^(-d+1) × x[1]+…+2^(k-d-2) × x[k-2]);
最低位为第0位,第k-1位为符号位,除此之外第i位的比特表示为2^(i-d)。
下面结合附图,用具体实施例对本申请提供的方法及装置进行详细描述。
本申请实施例提供一种隐私计算中的数据处理方法,应用于参与隐私计算的多个计算节点中的每个计算节点,多个计算节点分别持有待处理数据的多个数据分片之一,如图2所示,包括:
步骤21、基于持有的数据分片,通过与其他计算节点之间的协同,对待处理数据进行预设线性变换,得到变换后数据的变换后数据分片。
本申请实施例中,待处理数据采用第一种定点数表示,第一种定点数表示的定点数长度为第一预设长度,第一种定点数表示的定点数精度为第一预设精度,例如,第一预设长度为64,第一预设精度为16。
隐私计算中,在针对待处理数据执行预设计算的过程中,例如,执行预设非线性计算,为了提高计算效率,以及确保计算精度,可能需要对待处理数据先进行一些变换。
本申请实施例中,当预设线性变换中包含乘法计算时,本步骤具体可以采用如下方式:
基于持有的数据分片,通过与其他计算节点之间的协同,按照乘法计算结果不移位的要求,对待处理数据进行预设线性变换,得到变换后数据的变换后数据分片。
例如,在一个示例中,针对待处理数据执行的预设计算为指数(e^x)的非线性计算,针对待处理数据执行的预设线性变换,具体可以如下:
计算待处理数据乘以log以2为底e的对数的乘积,以及该乘积加上待处理数据的精度的和值,作为待处理数据的变换后数据。
将待处理数据x乘以log2(e),得到乘积x',这样即满足关系式2^(x')=e^x,再将该乘积x'加上精度d,即可以将区间[-d,0)内的负数调整为非负数。
在上述预设线性变换中,涉及将待处理数据x乘以log2(e)的乘法计算。
使用定点数对小数的编码是使用精度位实现的,所以,在乘法计算中,如果精度为d,则计算结果中小数部分的位数将为2d,例如,定点数精度为16,那么待处理数据x的实际表示为x×2^16,log2(e)的实际表示为log2(e)×2^16,在计算x×2^16× log2(e)×2^16之后,小数部分的位数为32,为了使用精度为16的定点数表示,需要将计算结果移去16位,即乘法计算中,一般需要执行移位操作。
本申请实施例中,由于后续将要执行低位数转高位数操作,所以,本步骤中,当预设线性变换中包含乘法计算时,按照乘法计算结果不移位的要求,对待处理数据进行预设线性变换,即得到的变换后数据的小数部分的位数为第一预设精度的2倍。
步骤22、基于持有的变换后数据分片,通过与其他计算节点之间的协同,对变换后数据进行位分解操作,得到变换后数据的位分解数据的位分解数据分片。
步骤23、将持有的位分解数据分片,执行低位数转高位数操作,得到第二种定点数表示的转换后数据的转换后数据分片,第二种定点数表示的定点数长度为第二预设长度,第二预设长度大于所述第一预设长度。
第二种定点数表示的定点数精度为第二预设精度。
如图3所示,本步骤具体可以执行如下:
基于第一预设精度和第二预设精度,将持有的位分解数据分片的整数部分,按照从低位开始对齐,嵌入到第二种定点数表示的整数部分;
将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到第二种定点数表示的小数部分,得到第二种定点数表示的转换后数据的转换后数据分片。
针对小数部分的嵌入,一般来讲,第二种定点数表示的定点数长度大于第一种定点数表示的定点数长度,第二种定点数表示的定点数精度(第二预设精度)通常也大于(或不小于)第一种定点数表示的定点数长度(第一预设精度),所以,如果变换后数据分片的小数部分的长度(也即位分解数据分片的小数部分的长度)仍为第一预设精度时,可以将持有的位分解数据分片的小数部分,按照从高位开始对齐,直接嵌入到第二种定点数表示的小数部分。
然而,也可能存在第一预设精度大于第二预设精度,使得位分解数据分片的小数部分的长度大于第二预设精度,或者,由于预设线性变换中包含乘法计算,并且对于计算结果没有移位,小数部分的长度变为了第一预设精度的2倍,也可能使得位分解数据分片的小数部分的长度大于第二预设精度,此时,则可以将持有的位分解数据分片的小数部分,从高位截取第二预设精度位,嵌入到第二种定点数表示的小数部分,剩余部分可以丢弃。
本步骤中,当第一种定点数表示和第二种定点数表示,还包含符号位时,如图3所示,还可以将持有的位分解数据分片的符号位(负数采用补码表示),复制到第二种定点数表示的符号位,以及整数部分的其他空余位,相应的,得到的第二种定点数表示的转换后数据的转换后数据分片中也包含符号位。
在上述步骤21中预设计算为指数(e^x)的非线性计算的示例中,假设第一预设长度为64,第一预设精度为16,第二预设长度为128,第二预设精度为32,由于预设线性变换中将待处理数据x乘以log2(e),再将该乘积x'加上精度d,并且没有执行移位操作,所以,得到的变换后数据分片的小数部分为32位,相应的,进行位分解操作后得到的位分解数据分片的小数部分也为32位,本步骤中,可以将位分解数据分片的32位的小数部分,直接嵌入到第二预设精度为32的第二种定点数表示中。
减少移位操作,减少了处理步骤,提高了计算效率,并且,保留了乘法计算后的全部小数部分,也使得后续的计算精度更高。
在执行低位数转高位数操作后,即可以执行预设计算对应的后续计算过程,针对上述步骤21中预设计算为指数(e^x)的非线性计算的示例,具体可以通过如下步骤实现:
步骤24、基于持有的位分解数据分片,通过与其他计算节点之间的协同,计算2的b次幂,得到2^b的数据分片,作为整数部分次幂数据分片,b为变换后数据的整数部分。
本步骤中,具体可以采用如下流程计算2^b:
基于持有的位分解数据分片,通过与其他计算节点之间的协同,从精度d(第二预设精度)位开始向高位截取log2(k-d)向上取整位(k为第二预设长度),得到变换后数据的整数部分的数据分片,作为整数部分数据分片;
基于持有的整数部分数据分片,通过与其他计算节点之间的协同,针对整数部分数据分片的每一位,按位执行不经意选择算法,如果2^t位的比特为1,不经意选择结果为2^(2^t),否则,不经意选择结果为1,得到针对该位的不经意选择结果的数据分片,作为针对该位的不经意选择结果数据分片,t的取值为从0至log2(k-d)向上取整减1;
基于持有的针对各位的不经意选择结果数据分片,通过与其他计算节点之间的协同,计算针对各位的不经意选择结果的乘积,得到2^b的数据分片,作为整数部分次幂数据分片。
本步骤中,假设k=64,针对位分解数据分片,从精度d位开始向高位截取log2(k-d)向上取整位,相当于截取d位到d+5位,攻击得到六位,假设得到的整数部分为001011,这个比特串代表x'+d的整数部分为8+2+1=11,按照本步骤中的上述计算过程,相当于计算:
1×1× 2^(2^3)×1×2^(2^1)×2^(2^0)=2^8×2^2×2^1 = 2^(8+2+1)=2^11。
步骤25、基于持有的位分解数据分片,通过与其他计算节点之间的协同,计算2的c次幂,得到2^c的数据分片,作为小数部分次幂数据分片,c为变换后数据的小数部分。
本步骤中,具体可以采用如下流程计算2^c:
基于持有的位分解数据分片,通过与其他计算节点之间的协同,获得变换后数据的小数部分c的数据分片,作为小数部分数据分片;
基于持有的小数部分数据分片,通过与其他计算节点之间的协同,按照预先拟合的在[0,1]范围内的用于计算2的c次幂的多项式函数,计算2的c次幂,得到2^c的数据分片,作为小数部分次幂数据分片。
本步骤中,具体可以使用雷米兹算法在[0,1]范围内,拟合出用于计算2的c次幂的多项式函数,为了能够最小化相对误差,可以使用4次多项式进行逼近。
步骤26、基于持有的整数部分次幂数据分片和小数部分次幂数据分片,通过与其他计算节点之间的协同,计算2^b与2^c的乘积,得到2的变换后数据次幂的数据分片,作为变换后数据次幂数据分片。
本步骤中,计算2^b与2^c的乘积,相当于将这两个部分拼接,由于x'+d=b+c,所以,2^b×2^c=2^(b+c)=2^(x'+d),即2的变换后数据x'+d次幂。
步骤27、基于持有的变换后数据次幂数据分片,通过与其他计算节点之间的协同,将变换后数据次幂右移精度位,得到的计算结果作为常数e的待处理数据次幂,得到常数e的待处理数据次幂的数据分片。
将2^(x'+d)右移d位,得到的计算结果为2^x'的近似,也就是e^x的近似值,即完成非线性函数为指数的非线性计算,并且,得到的计算结果的长度为第二预设长度,即实现了借位计算。
进一步的,由于可能存在x'小于-d的情况,其对应输出已经超出了定点数表示的范围,所以,还可以包括如下步骤57,对计算结果进行修正。
步骤28、按照持有的位分解数据分片的符号位,通过与其他计算节点之间的协同,采用不经意选择算法,获得e的待处理数据次幂的修正后计算结果的数据分片,符号位表示负数时,得到的修正后计算结果的数据分片为0的数据分片,符号位表示正数时,得到的修正后计算结果的数据分片为计算结果的数据分片。
本步骤中,按照提取的x'+d的符号位,执行不经意选择算法,如果为1,符号位表示负数,则得到的修正后计算结果为0,如果符号位表示整数,计算结果保持不变。
由于是隐私计算,在执行不经意选择算法后,各计算节点得到的均是修正后计算结果的分片,所以,无法获知相比步骤27中得到的计算结果,本步骤28中得到的修正后计算结果是否已经发生改变,基于修正后计算结果仍然保持步骤27中的计算结果不变,但各计算节点得到的修正后计算结果的分片,相比步骤27中的计算结果的分片,也会发生改变,从而实现隐私计算的目的。
基于实际应用的需要,可以采用第二预设长度的计算结果(或修正后计算结果),继续执行后续的隐私计算,也可以将第二预设长度的计算结果,执行高位数转低位数操作,高位数转低位数直接在本地操作即可。
采用本申请实施例提供的上述方法,实现在隐私计算中的借位计算的过程中,基于位分解操作实现低位数到高位数的转换,并在接下来执行预设计算(例如非线性计算)时,利用位分解操作得到的位分解数据,在整个过程中,仅执行一次位分解操作,即可以完成借位计算和预设计算,从而减少了位分解操作的次数,进一步的提高了计算效率。
基于同一发明构思,根据本申请上述实施例提供的隐私计算中的数据处理方法,相应地,本申请另一实施例还提供了一种隐私计算中的数据处理装置,应用于参与隐私计算的多个计算节点中的每个计算节点,所述多个计算节点分别持有待处理数据的多个数据分片之一,所述待处理数据采用第一种定点数表示,所述第一种定点数表示的定点数长度为第一预设长度,其结构示意图如图4所示,具体包括:
数据变换模块41,用于基于持有的数据分片,通过与其他计算节点之间的协同,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片;
位分解操作模块42,用于基于持有的变换后数据分片,通过与其他计算节点之间的协同,对所述变换后数据进行位分解操作,得到所述变换后数据的位分解数据的位分解数据分片;
数据转换模块43,用于将持有的位分解数据分片,执行低位数转高位数操作,得到第二种定点数表示的转换后数据的转换后数据分片,所述第二种定点数表示的定点数长度为第二预设长度,所述第二预设长度大于所述第一预设长度;
数据计算模块44,用于基于持有的转换后数据分片,通过与其他计算节点之间的协同,按照预设计算对应的计算过程,对所述转换后数据进行计算,得到长度为所述第二预设长度的计算结果的数据分片,作为按照所述预设计算对所述待处理数据进行计算的计算结果的数据分片。
进一步的,所述预设线性变换中包含乘法计算;
所述数据变换模块41,具体用于基于持有的数据分片,通过与其他计算节点之间的协同,按照乘法计算结果不移位的要求,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片。
进一步的,所述第一种定点数表示的定点数精度为第一预设精度,所述第二种定点数表示的定点数精度为第二预设精度;
所述数据转换模块43,具体用于基于所述第一预设精度和所述第二预设精度,将持有的位分解数据分片的整数部分,按照从低位开始对齐,嵌入到所述第二种定点数表示的整数部分;
将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分,得到第二种定点数表示的转换后数据的转换后数据分片。
进一步的,所述数据转换模块43,具体用于如果持有的位分解数据分片的小数部分的长度,不大于所述第二预设精度,将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分;
如果持有的位分解数据分片的小数部分的长度,大于所述第二预设精度,将持有的位分解数据分片的小数部分,从高位截取所述第二预设精度位,嵌入到所述第二种定点数表示的小数部分。
进一步的,所述数据转换模块43,还用于将持有的位分解数据分片的符号位,复制到所述第二种定点数表示的符号位,以及整数部分的其他空余位。
上述各模块的功能可对应于图1和图2所示流程中的相应处理步骤,在此不再赘述。
本申请的实施例所提供的隐私计算中的数据处理装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要隐私计算中的数据处理装置具有上述功能,都应该在本申请的保护范围之内。
本申请实施例提供一种电子设备,如图5所示,包括处理器51和机器可读存储介质52,所述机器可读存储介质52存储有能够被所述处理器51执行的机器可执行指令,所述处理器51被所述机器可执行指令促使:实现上述任一隐私计算中的数据处理方法。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一隐私计算中的数据处理方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一隐私计算中的数据处理方法。
上述电子设备中的机器可读存储介质可以包括随机存取存储器(Random AccessMemory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质,计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种隐私计算中的数据处理方法,其特征在于,应用于参与隐私计算的多个计算节点中的每个计算节点,所述多个计算节点分别持有待处理数据的多个数据分片之一,所述待处理数据采用第一种定点数表示,所述第一种定点数表示的定点数长度为第一预设长度,所述方法,包括:
基于持有的数据分片,通过与其他计算节点之间的协同,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片;
基于持有的变换后数据分片,通过与其他计算节点之间的协同,对所述变换后数据进行位分解操作,得到所述变换后数据的位分解数据的位分解数据分片;
将持有的位分解数据分片,执行低位数转高位数操作,得到第二种定点数表示的转换后数据的转换后数据分片,所述第二种定点数表示的定点数长度为第二预设长度,所述第二预设长度大于所述第一预设长度;
基于持有的转换后数据分片,通过与其他计算节点之间的协同,按照预设计算对应的计算过程,对所述转换后数据进行计算,得到长度为所述第二预设长度的计算结果的数据分片,作为按照所述预设计算对所述待处理数据进行计算的计算结果的数据分片。
2.如权利要求1所述的方法,其特征在于,所述预设线性变换中包含乘法计算;
所述基于持有的数据分片,通过与其他计算节点之间的协同,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片,包括:
基于持有的数据分片,通过与其他计算节点之间的协同,按照乘法计算结果不移位的要求,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片。
3.如权利要求1或2所述的方法,其特征在于,所述第一种定点数表示的定点数精度为第一预设精度,所述第二种定点数表示的定点数精度为第二预设精度;
所述将持有的位分解数据分片,执行低位数转高位数操作,得到第二种定点数表示的转换后数据的转换后数据分片,包括:
基于所述第一预设精度和所述第二预设精度,将持有的位分解数据分片的整数部分,按照从低位开始对齐,嵌入到所述第二种定点数表示的整数部分;
将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分,得到第二种定点数表示的转换后数据的转换后数据分片。
4.如权利要求3所述的方法,其特征在于,所述将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分,包括:
如果持有的位分解数据分片的小数部分的长度,不大于所述第二预设精度,将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分;
如果持有的位分解数据分片的小数部分的长度,大于所述第二预设精度,将持有的位分解数据分片的小数部分,从高位截取所述第二预设精度位,嵌入到所述第二种定点数表示的小数部分。
5.如权利要求3所述的方法,其特征在于,还包括:
将持有的位分解数据分片的符号位,复制到所述第二种定点数表示的符号位,以及整数部分的其他空余位。
6.一种隐私计算中的数据处理装置,其特征在于,应用于参与隐私计算的多个计算节点中的每个计算节点,所述多个计算节点分别持有待处理数据的多个数据分片之一,所述待处理数据采用第一种定点数表示,所述第一种定点数表示的定点数长度为第一预设长度,所述装置,包括:
数据变换模块,用于基于持有的数据分片,通过与其他计算节点之间的协同,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片;
位分解操作模块,用于基于持有的变换后数据分片,通过与其他计算节点之间的协同,对所述变换后数据进行位分解操作,得到所述变换后数据的位分解数据的位分解数据分片;
数据转换模块,用于将持有的位分解数据分片,执行低位数转高位数操作,得到第二种定点数表示的转换后数据的转换后数据分片,所述第二种定点数表示的定点数长度为第二预设长度,所述第二预设长度大于所述第一预设长度;
数据计算模块,用于基于持有的转换后数据分片,通过与其他计算节点之间的协同,按照预设计算对应的计算过程,对所述转换后数据进行计算,得到长度为所述第二预设长度的计算结果的数据分片,作为按照所述预设计算对所述待处理数据进行计算的计算结果的数据分片。
7.如权利要求6所述的装置,其特征在于,所述预设线性变换中包含乘法计算;
所述数据变换模块,具体用于基于持有的数据分片,通过与其他计算节点之间的协同,按照乘法计算结果不移位的要求,对所述待处理数据进行预设线性变换,得到变换后数据的变换后数据分片。
8.如权利要求6或7所述的装置,其特征在于,所述第一种定点数表示的定点数精度为第一预设精度,所述第二种定点数表示的定点数精度为第二预设精度;
所述数据转换模块,具体用于基于所述第一预设精度和所述第二预设精度,将持有的位分解数据分片的整数部分,按照从低位开始对齐,嵌入到所述第二种定点数表示的整数部分;
将持有的位分解数据分片的小数部分,按照从高位开始对齐,嵌入到所述第二种定点数表示的小数部分,得到第二种定点数表示的转换后数据的转换后数据分片。
9.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-5任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法。
CN202310405237.7A 2023-04-17 2023-04-17 一种隐私计算中的数据处理方法、装置及电子设备 Active CN116127523B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310405237.7A CN116127523B (zh) 2023-04-17 2023-04-17 一种隐私计算中的数据处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310405237.7A CN116127523B (zh) 2023-04-17 2023-04-17 一种隐私计算中的数据处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN116127523A true CN116127523A (zh) 2023-05-16
CN116127523B CN116127523B (zh) 2023-06-16

Family

ID=86295962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310405237.7A Active CN116127523B (zh) 2023-04-17 2023-04-17 一种隐私计算中的数据处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN116127523B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014042976A2 (en) * 2012-09-15 2014-03-20 Numbergun Llc, A Utah Limited Liability Company Flexible high-speed generation and formatting of application-specified strings
CN105022961A (zh) * 2015-06-29 2015-11-04 北京深思数盾科技有限公司 一种计算机数据的保护方法及装置
CN111783130A (zh) * 2020-09-04 2020-10-16 支付宝(杭州)信息技术有限公司 隐私保护的数据处理方法、装置及服务器
WO2022126993A1 (zh) * 2020-12-18 2022-06-23 百度在线网络技术(北京)有限公司 多方安全计算方法、装置、电子设备和存储介质
CN115906137A (zh) * 2022-12-31 2023-04-04 支付宝(杭州)信息技术有限公司 用于多方安全计算的数据处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014042976A2 (en) * 2012-09-15 2014-03-20 Numbergun Llc, A Utah Limited Liability Company Flexible high-speed generation and formatting of application-specified strings
CN105022961A (zh) * 2015-06-29 2015-11-04 北京深思数盾科技有限公司 一种计算机数据的保护方法及装置
CN111783130A (zh) * 2020-09-04 2020-10-16 支付宝(杭州)信息技术有限公司 隐私保护的数据处理方法、装置及服务器
WO2022126993A1 (zh) * 2020-12-18 2022-06-23 百度在线网络技术(北京)有限公司 多方安全计算方法、装置、电子设备和存储介质
CN115906137A (zh) * 2022-12-31 2023-04-04 支付宝(杭州)信息技术有限公司 用于多方安全计算的数据处理方法及装置

Also Published As

Publication number Publication date
CN116127523B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
CN111177790B (zh) 保护两方数据隐私的协同计算方法、系统及装置
CN111475854B (zh) 保护两方数据隐私的协同计算方法及系统
JP2022523182A (ja) モジュラー整数を使用したセキュアなマルチパーティ計算のための算術
CN113158239B (zh) 保护数据隐私的选择问题处理方法
CN113746620B (zh) 同态加密方法、设备、介质及计算机程序产品
Olver et al. Recurrence relations for a family of orthogonal polynomials on a triangle
Moon et al. An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE
CN113761469B (zh) 一种保护数据隐私的最高位进位计算方法
US6763366B2 (en) Method for calculating arithmetic inverse over finite fields for use in cryptography
CN116127523B (zh) 一种隐私计算中的数据处理方法、装置及电子设备
EP3297171A1 (en) Decoding device, decoding method, and program
US7606850B2 (en) Method and apparatus for providing a base-2 logarithm approximation to a binary number
Dumas On newton–raphson iteration for multiplicative inverses modulo prime powers
US10216481B2 (en) Digit recurrence division with scaling and digit selection using intermediate value
Basilakis et al. Efficient parallel binary operations on homomorphic encrypted real numbers
CN116070282B (zh) 一种隐私计算中的数据处理方法、装置及电子设备
CN110796247A (zh) 一种数据处理方法、装置、处理器及计算机可读存储介质
CN115328438B (zh) 一种数据处理方法、装置及电子设备
Zhang et al. An efficient base conversion using variable length segmentation and remainder transfer
CN115659380B (zh) 一种密文数据拟合计算方法、装置及电子设备
CN112989365B (zh) 一种数据处理方法、装置、设备及存储介质
CN116257207B (zh) 一种数据截位方法、模块、计算机设备及存储介质
WO2018127568A1 (en) Verification of fixed-point arithmetic
CN113841356B (zh) 使用模整数进行安全多方计算的方法
CN114706557A (zh) 一种asic芯片及蒙哥马利模乘的实现方法和装置

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