一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

浮点数处理方法、装置、终端以及存储介质与流程

2022-06-01 06:40:53 来源:中国专利 TAG:


1.本发明属于数据安全领域,具体涉及一种浮点数处理方法、装置、终端以及存储介质。


背景技术:

2.由于密码学的数学基础是基于整数的有限群、环、域,所以在密码学这一背景下,对于浮点数的处理是天然不支持的。近些年,随着格密码的逐渐流行,对于浮点数的近似表达在学术上有了一定的创新,但是依旧无法满足工程应用的要求。
3.站在隐私计算的角度,数据需要使用密码算法加密之后,使用密文进行运算,并且在实际工程中,浮点数的运算一定是必不可少的,因此,这就造成了如下两个问题:
4.1.浮点数无法使用经典的密码学技术进行隐私保护,在经典密码学背景下更无法进行计算。
5.2.格密码处理后的浮点数具有较大的精度损失,目前最佳的方案,在经过若干次浮点数密文乘法之后,浮点数精度无法会变的十分显著,导致计算结果无法使用。


技术实现要素:

6.为解决上述问题,提供一种能够基于经典密码的同态加密算法就能够对浮点数进行高效加密和计算的浮点数处理方法、装置、终端以及存储介质,本发明采用了如下技术方案:
7.本发明提供了一种浮点数处理方法,其特征在于,包括以下步骤:步骤s1,获取待加密的第一浮点数;步骤s2,将第一浮点数表示为分数并得到相应的待加密分子以及待加密分母;步骤s3,基于同态加密算法对待加密分子以及待加密分母分别进行加密得到与第一浮点数相对应的第一分子以及第一分母;步骤s4,基于第一分子以及第一分母完成针对浮点数的同态运算形成第二分子以及第二分母;步骤s5,根据预定密钥对第二分子以及第二分母进行解密,并相除得到对第一浮点数进行同态运算后的第二浮点数。
8.本发明提供的浮点数处理方法,还可以具有这样的技术特征,同态运算包括将第一浮点数与第三浮点数相加,与第三浮点数相加的过程包括:确定基于同态加密算法对第三浮点数表示的分数进行加密得到的第三分子以及第三分母;将第一分子乘以第三分母的积与第三分子乘以第一分母的积之和作为同态运算后的分子,并将第一分母与第三分母的乘积作为同态运算后的分母。
9.本发明提供的浮点数处理方法,还可以具有这样的技术特征,同态运算包括将第一浮点数与第四浮点数相乘,与第四浮点数相乘的过程包括:确定基于同态加密算法对第四浮点数表示的分数进行加密得到的第四分子以及第四分母;将第一分子与第四分子的乘积作为同态运算后的分子,并将第一分母与第四分母的乘积作为同态运算后的分母。
10.本发明提供的浮点数处理方法,还可以具有这样的技术特征,同态运算包括将第一浮点数与第一整数相加,与第一整数相加的过程包括:确定基于同态加密算法对第一整
数进行加密得到的第一加密整数;将第一分子与第一加密整数乘以第一分母的积之和作为同态运算后的分子,并将第一分母作为同态运算后的分母。
11.本发明提供的浮点数处理方法,还可以具有这样的技术特征,同态运算包括将第一浮点数与第二整数相乘,与第二整数相乘的过程包括:确定基于同态加密算法对第二整数进行加密得到的第二加密整数;将第一分子与第二加密整数的乘积作为同态运算后的分子,并将第一分母作为同态运算后的分母。
12.本发明还提供了一种浮点数处理装置,其特征在于,包括:浮点数获取模块,获取待加密的第一浮点数;分数转换模块,将第一浮点数表示为分数并得到相应的待加密分子以及待加密分母;同态加密模块,基于同态加密算法对待加密分子以及待加密分母分别进行加密得到与第一浮点数相对应的第一分子以及第一分母;同态运算模块,基于第一分子以及第一分母完成针对浮点数的同态运算形成第二分子以及第二分母;同态解密模块,根据预定密钥对第二分子以及第二分母进行解密,并相除得到对第一浮点数进行同态运算后的第二浮点数。
13.本发明还提供了一种处理终端,其特征在于,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述的方法。
14.本发明还提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述的方法。
15.发明作用与效果
16.根据本发明的浮点数处理方法、装置、处理终端以及可读介质,由于将浮点数通过分数的形式化为分子与分母两个整数,并分别对该分子与分母通过同态加密算法进行加密并用于后续的同态运算,因此,本发明使得基于经典密码的同态加密算法能够高效的对浮点数进行加密与计算,而不用再基于格理论来实现加密,这样的方式提升了正对浮点数的加密、运算的速度,并且还能够节约密文存储的空间。
附图说明
17.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
18.图1是本发明实施例中浮点数处理方法的流程图;
19.图2是本发明实施例中浮点数处理装置的框图。
具体实施方式
20.为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明的浮点数处理方法、装置、终端以及存储介质作具体阐述。
21.《实施例》
22.图1是本发明实施例中浮点数处理方法的流程图。
23.参考图1,本发明提供的浮点数处理方法具体包括如下步骤s1至s5。
24.步骤s1,获取待加密的第一浮点数。
25.具体的,本实施例的第一浮点数为用户输入的浮点数,该浮点数需要被上传并用于执行同态运算。
26.步骤s2,将第一浮点数表示为分数并得到相应的待加密分子以及待加密分母。
27.例如,对于浮点数0.25,可以用分数1/4来进行表示,并相应地得到待加密分子1和待加密分母4。
28.步骤s3,基于同态加密算法对待加密分子以及待加密分母分别进行加密得到与第一浮点数相对应的第一分子以及第一分母。
29.具体的,在步骤s3中,需要根据用户输入的与第一浮点数相对应的密钥,使用同态加密算法完成对待加密分子以及待加密分母的加密,相应地得到加密后的第一分子以及第一分母。该第一分子以及第一分母可以被上传并用于同态运算。
30.步骤s4,基于第一分子以及第一分母完成针对浮点数的同态运算形成第二分子以及第二分母。
31.本实施例的步骤s4为针对第一浮点数的同态运算步骤,该同态运算步骤可以包括浮点数之间的加、乘法,浮点数与整数之间的加、乘法等。
32.具体的,当执行浮点数之间的加法时,假设将第一浮点数与第三浮点数相加,相应的过程如下:
33.确定基于同态加密算法对第三浮点数表示的分数进行加密得到的第三分子以及第三分母;
34.将第一分子乘以第三分母的积与第三分子乘以第一分母的积之和作为同态运算后的分子,并将第一分母与第三分母的乘积作为同态运算后的分母。
35.例如,假设第一、第三浮点数的形式分别为在进行加法操作时,将的分子分母同时乘d,的分子分母同时乘b,最后将乘法结果相加,即得到运算后的分子即为ad bc,运算后的分母即为bd。
36.当执行浮点数之间的乘法时,假设将第一浮点数与第四浮点数相加,相应的过程如下:
37.确定基于同态加密算法对第四浮点数表示的分数进行加密得到的第四分子以及第四分母;
38.将第一分子与第四分子的乘积作为同态运算后的分子,并将第一分母与第四分母的乘积作为同态运算后的分母。
39.例如,假设第一、第三浮点数的形式分别为在进行乘法操作时,直接分子分母对应相乘,即得到运算后的分子即为ac,运算后的分母即为bd。
40.当执行浮点数与整数之间的加法时,假设将第一浮点数与第一整数相加,相应的过程如下:
41.确定基于同态加密算法对第一整数进行加密得到的第一加密整数;
42.将第一分子与第一加密整数乘以第一分母的积之和作为同态运算后的分子,并将第一分母作为同态运算后的分母。
43.例如,假设第一浮点数的形式为第一整数为c。在进行加法操作时,将分子a加上分母与整数的乘积,并将分母与整数相乘,即得到运算后的分子即为a bc,运算后的分母即为b。
44.当执行浮点数与整数之间的乘法时,假设将第一浮点数与第二整数相加,相应的过程如下:
45.确定基于同态加密算法对第二整数进行加密得到的第二加密整数;
46.将第一分子与第二加密整数的乘积作为同态运算后的分子,并将第一分母作为同态运算后的分母。
47.例如,假设第一浮点数的形式为第二整数为c。在进行乘法操作时,将分子a与整数相乘,分母不变,即得到运算后的分子即为ac,运算后的分母即为b。
48.以上分别阐述了浮点数与浮点数的加乘法、浮点数与整数的加乘法,但在实际应用中,上述过程可以重复和组合执行,即第一浮点数可以与多个浮点数、多个整数多次执行上述的加乘法,进而完成同态运算。本实施例中,将完成同态运算后的浮点数的分子以及分母分别称为第二分子以及第二分母。
49.步骤s5,根据同态加密算法对第二分子以及第二分母进行解密,并相除得到对第一浮点数进行同态运算后的第二浮点数。
50.对于完成同态加密并传回的密文结果(即第二分子以及第二分母),根据在步骤s3中被用户输入的密钥对密文结果解密即可得到解密后的分子与分母,进一步将两者相除即可得到完成同态运算后的第二浮点数。
51.通过上述过程,即可完成对浮点数的同态加密运算。
52.相对应地,本实施例还提供了一种与上述浮点数处理方法相对应的浮点数处理装置。如图2所示,该浮点数处理装置10包括浮点数获取模块11、分数转换模块12、同态加密模块13、同态运算模块14以及同态解密模块15。
53.浮点数获取模块11获取待加密的第一浮点数。
54.分数转换模块12将所述第一浮点数表示为分数并得到相应的待加密分子以及待加密分母。
55.同态加密模块13基于同态加密算法对所述待加密分子以及待加密分母分别进行加密得到与所述第一浮点数相对应的第一分子以及第一分母。
56.同态运算模块14基于所述第一分子以及所述第一分母完成针对所述浮点数的同态运算形成第二分子以及第二分母。
57.同态解密模块15根据所述预定密钥对所述第二分子以及所述第二分母进行解密,并相除得到对所述第一浮点数进行同态运算后的第二浮点数。
58.在本实施例中,上述浮点数获取模块11、分数转换模块12、同态加密模块13以及同态解密模块15可以是由用户持有的计算机,这些模块在本地完成对浮点数的加密、解密处理,同态运算模块14可以是用于执行同态运算的服务器,在接受到用户计算机上传的加密后的分子以及分母(相当于第一分子和第一分母)后,执行同态运算并将计算后结果(相当
于第二分子和第二分母)发回给用户计算机进行解密。
59.本实施例所提供的浮点数处理装置10,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
60.本实施例还提供的一种处理终端,该处理终端包括处理器以及存储器。其中,处理器用于执行存储器中存储的可执行模块,例如计算机程序。
61.其中,存储器可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。该存储器用于存储程序,所述处理器在接收到执行指令后,执行上述程序,前述本发明实施例任一实施例揭示的、方法可以应用于处理器中,或者由处理器实现。
62.处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
63.本发明实施例所提供的浮点数处理方法、处理终端和计算机可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
64.实施例作用与效果
65.根据本实施例提供的浮点数处理方法、装置、处理终端以及可读介质,由于将浮点数通过分数的形式化为分子与分母两个整数,并分别对该分子与分母通过同态加密算法进行加密并用于后续的同态运算,因此,本发明使得基于经典密码的同态加密算法能够高效的对浮点数进行加密与计算,而不用再基于格理论来实现加密,这样的方式提升了正对浮点数的加密、运算的速度,并且还能够节约密文存储的空间。
66.最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献