一种数据处理方法、装置和用于数据处理的装置制造方法及图纸

技术编号:29614896 阅读:30 留言:0更新日期:2021-08-10 18:29
本发明专利技术实施例提供一种数据处理方法、装置和用于数据处理的装置。其中的方法包括:根据待加密数据的数量级,随机生成第一浮点数,所述第一浮点数的数量级高于或等于所述待加密数据的数量级;确定第二浮点数,所述第一浮点数与所述第二浮点数的和等于所述待加密数据;将所述第一浮点数转换为整数类型的第一编码数组,以及将所述第二浮点数转换为整数类型的第二编码数组;将所述第一编码数组和所述第二编码数组发送至运算方参与运算。本发明专利技术实施例可以实现对浮点类型的数据进行秘密分享,使得数据提供方可以将浮点类型的数据编码为秘密分享结果,并发送给运算方参与运算,可以扩展秘密分享算法的应用场景。

【技术实现步骤摘要】
一种数据处理方法、装置和用于数据处理的装置
本专利技术涉及计算机
,尤其涉及一种数据处理方法、装置和用于数据处理的装置。
技术介绍
秘密分享(SecretShare)是一种分发、保存和恢复秘密的方法,是实现安全多方计算的一种重要手段。目前,基于秘密分享的密文计算系统可以使用基于加法分片的秘密分享算法,各加法分片相加可得到秘密。对于各种编程语言,最大整数类型为long类型,即int64,对于更长的整数类型,一般有其对应的大数类型,并支持了若干基础运算。然而,对于浮点类型(如float类型或double类型)的数据,目前还没有实现对浮点类型的数据进行秘密分享的方法。
技术实现思路
本专利技术实施例提供一种数据处理方法、装置和用于数据处理的装置,可以实现对浮点类型的数据进行秘密分享,使得数据提供方可以将浮点类型的数据编码为秘密分享结果,并发送给运算方参与运算,可以扩展秘密分享算法的应用场景。为了解决上述问题,本专利技术实施例公开了一种数据处理方法,应用于数据提供方,所述方法包括:根据待加密数据的数量级本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,应用于数据提供方,所述方法包括:/n根据待加密数据的数量级,随机生成第一浮点数,所述第一浮点数的数量级高于或等于所述待加密数据的数量级;/n确定第二浮点数,所述第一浮点数与所述第二浮点数的和等于所述待加密数据;/n将所述第一浮点数转换为整数类型的第一编码数组,以及将所述第二浮点数转换为整数类型的第二编码数组;/n将所述第一编码数组和所述第二编码数组发送至运算方参与运算。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于数据提供方,所述方法包括:
根据待加密数据的数量级,随机生成第一浮点数,所述第一浮点数的数量级高于或等于所述待加密数据的数量级;
确定第二浮点数,所述第一浮点数与所述第二浮点数的和等于所述待加密数据;
将所述第一浮点数转换为整数类型的第一编码数组,以及将所述第二浮点数转换为整数类型的第二编码数组;
将所述第一编码数组和所述第二编码数组发送至运算方参与运算。


2.根据权利要求1所述的方法,其特征在于,所述将所述第一浮点数转换为整数类型的第一编码数组,以及将所述第二浮点数转换为整数类型的第二编码数组,包括:
将所述第一浮点数放大预设倍数后转换为整数类型,得到第一编码数组,以及将所述第二浮点数放大预设倍数后转换为整数类型,得到第二编码数组。


3.根据权利要求2所述的方法,其特征在于,所述将所述第一浮点数放大预设倍数后转换为整数类型,得到第一编码数组,包括:
获取所述第一浮点数的符号位、所述第一浮点数的指数位、以及所述第一浮点数的底数位;
根据所述预设倍数和所述第一浮点数的指数位,计算所述第一浮点数的底数位的移位方向和移位量;
按照所述移位方向将所述第一浮点数的底数位移动所述移位量,得到第一编码数组。


4.根据权利要求3所述的方法,其特征在于,所述按照所述移位方向将所述第一浮点数的底数位移动所述移位量,得到第一编码数组,包括:
将所述移位量进行取模计算,得到余数r和商q;
按照所述移位方向将所述第一浮点数的底数位移动r位,得到对齐数据;
将所述对齐数据转换为字节,得到对齐数组;
将所述对齐数组的高位进行补齐,得到预设长度的中间数组;
按照所述移位方向将所述中间数组整体移动q个字节,得到第一编码数组。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述第一编码数组和所述第二编码数组求和,得到结果数组;
将所述结果数组缩小预设倍数后转换为浮点类型,得到所述待加密数据。


6.根据权利要求5所述的方法,其特征在于,所述将所述结果数组缩小预设倍数后转换为浮点类型,得到所述待加密数据,包括:
根据所述结果数组的首位,确定所述待加密数据的符号位;
将所述结果数组中的有效位段转换为预设类型整数并取绝对值,得到目标位段;
根据所述有效位段确定第一下标,以及根据所述目标位段确定第二下标;
根据所述第一下标、所述第二下标、以及所述预设倍数,确定所述待加密数据的指数位;
根据所述有效位段的长度以及所述第二下标确定左移量;
将所述目标位段向左移动所述左移量,得到所述待加密数据的底数位;
对所述待加密数据的符号位、所述待加密数据的指数位、以及所述待加密数据的底数位进行组合,得到所述待加密数据。


7.根据权利要求5所述的方法,其特征在于,所述对所述第一编码数组和所述第二编码数组求和,得到结果数组,包括:
步骤1:初始化进位carry=0,数组指针i=0,结果数组resBytes中的各元素置为0;
步骤2:如果i>=n,则跳转至步骤7,n为所述第一编码数组和所述第二编码数组的长度;
步骤3:获取所述第一编码数组的第i个元素x以及所述第二编码数组的第i个元素y;
步骤4:如果x或y小于0,则将x或y转换为正数;
步骤5:对x、y、以及carry求和,得到sum,并根据sum的值设置resBytes的第i个元素;
步骤6:i自增1,跳转至步骤2;
步骤7:输出结...

【专利技术属性】
技术研发人员:武斌
申请(专利权)人:华控清交信息科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1