一种密文计算方法、装置和用于密文计算的装置制造方法及图纸

技术编号:34999896 阅读:18 留言:0更新日期:2022-09-21 14:49
本发明专利技术实施例提供了一种密文计算方法、装置和用于密文计算的装置。所述方法包括:生成元素为明文随机数的第一明文数组;计算以a为底第一明文数组的对数,得到第二明文数组;对第一明文数组和第二明文数据加密得到第一密文数组和第二密文数组;将第一密文数组和第二密文数组按照随机序列重新排列,得到第三密文数组和第四密文数组;计算第三密文数组与目标密文数组的乘积,得到第五密文数组,对第五密文数组解密,得到第三明文数组;计算以a为底第三明文数组的对数,得到第四明文数组,对第四明文数组加密得到第六密文数组;计算第六密文数组与第四密文数组的差,得到以a为底目标密文数组的对数。本发明专利技术可以提高密文计算对数函数的效率。数的效率。数的效率。

【技术实现步骤摘要】
一种密文计算方法、装置和用于密文计算的装置


[0001]本专利技术涉及多方安全计算领域,尤其涉及一种密文计算方法、装置和用于密文计算的装置。

技术介绍

[0002]机器学习是近十年来人工智能领域取得的最重要的突破之一。它在语音识别、自然语言处理、计算机视觉、图像与视频分析、多媒体等诸多领域都取得了巨大成功。
[0003]在训练机器学习模型的过程中需要实时监控模型的训练效果,常用的监控指标就是损失函数。损失函数是一个非负实值函数,用来估量机器学习模型的预测值和真实值的不一致程度。损失函数值越小,机器学习模型的鲁棒性就越好。
[0004]为保护数据的隐私安全,可以基于密文数据进行机器学习模型的训练,然而,如果基于密文数据计算对数损失函数,在计算其中的对数函数时,需要使用泰勒展开进行逼近,将基于密文数据计算对数函数的运算转化为数十次基于密文数据计算列加法与乘法的运算,密文数据的大量加法和乘法运算需要耗费大量的计算时间和通信时间,导致基于密文数据进行机器学习模型的训练效率较低。

技术实现思路

[0005]本专利技术实施例提供一种密文计算方法、装置和用于密文计算的装置,可以提高基于密文数据计算对数函数的效率,进而提高基于密文数据进行机器学习模型的训练效率。
[0006]为了解决上述问题,本专利技术实施例公开了一种密文计算方法,所述方法用于基于密文计算以a为底目标密文数组的对数,所述目标密文数组中的元素为密文,a为任意常量,所述方法包括:
[0007]生成第一明文数组,所述第一明文数组中的元素为明文随机数;
[0008]计算以a为底所述第一明文数组的对数,得到第二明文数组;
[0009]对所述第一明文数组进行加密,得到第一密文数组,以及对所述第二明文数组进行加密,得到第二密文数组;
[0010]基于密文将所述第一密文数组按照随机序列重新排列,得到第三密文数组,以及基于密文将所述第二密文数组按照相同的所述随机序列重新排列,得到第四密文数组;
[0011]基于密文计算所述第三密文数组与所述目标密文数组的乘积,得到第五密文数组,并对所述第五密文数组进行解密,得到第三明文数组;
[0012]基于明文计算以a为底所述第三明文数组的对数,得到第四明文数组,并对所述第四明文数组进行加密,得到第六密文数组;
[0013]基于密文计算所述第六密文数组与所述第四密文数组的差,得到所述以a为底目标密文数组的对数,且所述以a为底目标密文数组的对数为密文。
[0014]另一方面,本专利技术实施例公开了一种密文计算装置,所述装置用于基于密文计算以a为底目标密文数组的对数,所述目标密文数组中的元素为密文,a为任意常量,所述装置
包括:
[0015]第一明文数组生成模块,用于生成第一明文数组,所述第一明文数组中的元素为明文随机数;
[0016]第二明文数组生成模块,用于计算以a为底所述第一明文数组的对数,得到第二明文数组;
[0017]第二密文数组生成模块,用于对所述第一明文数组进行加密,得到第一密文数组,以及对所述第二明文数组进行加密,得到第二密文数组;
[0018]第三第四密文数组生成模块,用于基于密文将所述第一密文数组按照随机序列重新排列,得到第三密文数组;以及基于密文将所述第二密文数组按照相同的所述随机序列重新排列,得到第四密文数组;
[0019]第五密文数组生成模块,用于基于密文计算所述第三密文数组与所述目标密文数组的乘积,得到第五密文数组;
[0020]第三明文数组生成模块,用于对所述第五密文数组进行解密,得到第三明文数组;
[0021]第六密文数组生成模块,用于基于明文计算以a为底所述第三明文数组的对数,得到第四明文数组,并对所述第四明文数组进行加密,得到第六密文数组;
[0022]结果计算模块,用于基于密文计算所述第六密文数组与所述第四密文数组的差,得到所述以a为底目标密文数组的对数,且所述以a为底目标密文数组的对数为密文。
[0023]再一方面,本专利技术实施例公开了一种用于密文计算的装置,所述装置用于基于密文计算以a为底目标密文数组的对数,所述目标密文数组中的元素为密文,a为任意常量,所述装置包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的密文计算方法的指令。
[0024]又一方面,本专利技术实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的密文计算方法。
[0025]本专利技术实施例包括以下优点:
[0026]本专利技术实施例提出一种密文计算方法,利用对数函数的性质,通过一系列明密文计算操作,基于密文计算以a为底目标密文数组的对数,得到的结果为密文,并且计算过程中不会暴露目标密文数组的任何信息,可以保护数据的隐私安全。此外,本专利技术实施例仅通过一次密文乘法运算和一次密文减法运算,即可实现基于密文计算以a为底目标密文数组的对数,可以大幅度提高基于密文计算对数函数的效率,进而可以提高基于密文数据训练机器学习模型的效率。
附图说明
[0027]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0028]图1是本专利技术的一种密文计算方法实施例的步骤流程图;
[0029]图2是本专利技术的一种密文计算装置实施例的结构框图;
[0030]图3是本专利技术的一种用于密文计算的装置800的框图;
[0031]图4是本专利技术的一些实施例中服务器的结构示意图。
具体实施方式
[0032]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0033]本专利技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本专利技术实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
[0034]参照图1,示出本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种密文计算方法,其特征在于,所述方法用于基于密文计算以a为底目标密文数组的对数,所述目标密文数组中的元素为密文,a为任意常量,所述方法包括:生成第一明文数组,所述第一明文数组中的元素为明文随机数;计算以a为底所述第一明文数组的对数,得到第二明文数组;对所述第一明文数组进行加密,得到第一密文数组,以及对所述第二明文数组进行加密,得到第二密文数组;基于密文将所述第一密文数组按照随机序列重新排列,得到第三密文数组,以及基于密文将所述第二密文数组按照相同的所述随机序列重新排列,得到第四密文数组;基于密文计算所述第三密文数组与所述目标密文数组的乘积,得到第五密文数组,并对所述第五密文数组进行解密,得到第三明文数组;基于明文计算以a为底所述第三明文数组的对数,得到第四明文数组,并对所述第四明文数组进行加密,得到第六密文数组;基于密文计算所述第六密文数组与所述第四密文数组的差,得到所述以a为底目标密文数组的对数,且所述以a为底目标密文数组的对数为密文。2.根据权利要求1所述的方法,其特征在于,所述第一明文数组、所述第二明文数组、以及所述目标密文数组的数组长度相同。3.根据权利要求2所述的方法,其特征在于,所述基于密文将所述第一密文数组按照随机顺序重新排列,得到第三密文数组,以及基于密文将所述第二密文数组按照相同的所述随机顺序重新排列,得到第四密文数组,包括:根据所述数组长度,生成随机序列,所述随机序列中的元素为密文;调用不经意混洗函数,所述不经意混洗函数的输入为所述第一密文数组和所述随机序列,所述不经意混洗函数的输出为第三密文数组;调用不经意混洗函数,所述不经意混洗函数的输入为所述第二密文数组和所述随机序列,所述不经意混洗函数的输出为第四密文数组。4.根据权利要求1至3任一所述的方法,其特征在于,所述基于密文计算以a为底目标密文数组的对数,包括:在训练机器学习模型过程中计算对数损失函数,并在计算所述对数损失函数过程中,基于密文计算以a为底目标密文数组的对数。5.根据权利要求4所述的方法,其特征在于,所述目标密文数组包括所述训练机器学习模型过程中所述对数损失函数的输入参数。6.根据权利要求4所述的方法,其特征在于,所述训练机器学习模型包括:多个参与方基于各自的隐私数据利用多方安全计算平台联合训练机器学习模型。7.一种密文计算装置,其特征在于,所述装置用于基于密文计算以a为底目标密文数组的对数,所述目标密文数组中的元素为密文,a为任意常量,所述装置包括:第一明文数组生成模块,用于生成第一明文数组,所述第一明文数组中的元素为明文随机数;第二明文数组生成模块,用于计算以a为底所述第一明文数组...

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

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

1