计算;推算;计数设备的制造及其应用技术1.本发明涉及信息安全技术领域,特别涉及一种隐私保护的群智感知数据恢复方法及系统。背景技术:2.随着各种移动设备(如智能手机、可穿戴设备和智能车辆)的普及,群智感知(mcs)已迅速成为一种广泛流行的数据收集方法以收集各种感知数据。其中,基于位置的mcs广泛应用于各个场景,例如道路监控、智能交通和环境监控。例如,mcs可以通过采集参与者持有的移动设备上所收集到的环境信息(例如空气质量、温度和噪声污染),为各种环境监测任务提供目标区域的环境数据。然而,在实际使用中,在部署基于位置的mcs应用时,目标区域中经常出现一些感知数据缺失的空白区域。这些空白区域的出现原因多种多样,比如mcs应用需求方的预算有限,目标区域过大,mcs参与者稀缺等。3.为了解决mcs应用中存在的数据缺失问题,通常的做法是对收集到的不完整(稀疏)的感知数据进行数据恢复操作。数据恢复通常利用数据之间的联系来推断空白区域中丢失的感知数据。为了实现数据恢复,mcs应用的参与者除了需要提交感知数据,还需提交他们的真实位置。然而这一操作极大的侵犯了参与者的个人位置隐私,因为参与者的真实位置属于敏感的隐私数据,参与者通常不愿暴露个人的真实位置。另一方面,除了参与者的真实位置本身,参与者提交的感知数据同样也可能间接泄露其真实位置,造成个人隐私泄露问题。而在现有技术中,还没有同时保护参与者的真实位置与感知数据的感知数据恢复方法。4.因此,现有技术还有待改进和提高。技术实现要素:5.针对现有技术的上述缺陷,本发明提供一种隐私保护的群智感知数据恢复方法及系统,旨在解决现有技术中没有没有同时保护参与者的真实位置与感知数据的感知数据恢复方法的问题。6.为了解决上述技术问题,本发明所采用的技术方案如下:7.本发明的第一方面,提供一种隐私保护的群智感知数据恢复方法,所述方法包括:8.位置混淆终端通过伪随机置换函数对真实位置的行/列坐标施加随机置换,生成混淆行/列坐标,基于真实位置的行/列坐标和预设私钥生成行/列坐标令牌,基于所述行/列坐标令牌生成行/列绑定集合,所述行/列绑定集合中包括所有的混淆行/列坐标和对应的行/列坐标令牌的计算结果,并基于所述预设私钥生成预设公钥,将所述预设公钥发送至数据采集终端;9.所述数据采集终端对自身的行/列坐标进行盲化处理,得到盲化信息,将所述盲化信息发送给所述位置混淆终端,所述位置混淆终端采用所述预设私钥对所述盲化信息进行签名,得到签名信息,将所述签名信息和所述行/列绑定集合发送至所述数据采集终端,以使得所述数据采集终端根据所述签名信息、所述预设公钥和所述行/列绑定集合计算本地令牌,并根据所述本地令牌、自身真实行/列坐标和所述行/列绑定集合生成自身的行/列坐标对应的混淆行/列坐标;10.所述数据采集终端基于加性秘密共享生成第一加密感知数据和第二加密感知数据,所述第一加密感知数据和所述第二加密感知数据分别为所述数据采集终端的感知数据的秘密份额,所述数据采集终端将第一报告发送至第一计算终端,将第二报告发送至第二计算终端,所述第一报告中包括所述数据采集终端的混淆坐标和所述第一加密感知数据,所述第二报告中包括所述数据采集终端的混淆坐标和所述第二加密感知数据,以使得所述第一计算终端构建位置混淆的第一感知数据矩阵,所述第二计算终端构建位置混淆的第二感知数据矩阵,所述第一感知数据矩阵和所述第二感知数据矩阵的和为位置混淆的感知数据矩阵;11.所述第一计算终端和所述第二计算终端基于加性秘密共享,根据所述第一感知数据矩阵和所述第二感知数据矩阵执行数据恢复算法中的计算,在密文域对位置混淆的所述感知数据矩阵中的感知数据进行恢复,分别得到位置混淆的数据恢复矩阵的加性秘密共享份额,所述第一计算终端和所述第二计算终端分别将本地持有的位置混淆的数据恢复矩阵的加性秘密共享份额发送给数据需求终端;12.所述数据需求终端恢复得到位置混淆的所述数据恢复矩阵,所述数据需求终端从所述位置混淆终端中获取所述伪随机置换函数的置换秘钥,根据所述置换秘钥对位置混淆的所述数据恢复矩阵进行逆变换,得到真实位置的所述数据恢复矩阵。13.所述的隐私保护的群智感知数据恢复方法,其中,所述所述位置混淆终端基于真实位置的行/列坐标和预设私钥生成行/列坐标令牌,基于所述行/列坐标令牌生成行/列绑定集合,包括:14.所述位置混淆终端基于第一公式生成行绑定集合,基于第二公式生成列绑定集合;15.所述第一公式为:16.所述第二公式为:17.其中,为所述行绑定集合,为所述列绑定集合,为第i个行坐标,n为行坐标的总个数,为对应的混淆行坐标,为第j个行坐标,m为行坐标的总个数,为对应的混淆列坐标,为行坐标令牌,为列坐标令牌,γ表示一个阶为p的循环群,h:{0,1}*→γ表示一个将任意长度的信息映射到γ中的哈希函数,g表示γ的生成元,s∈zp,为所述预设私钥;18.所述位置混淆终端生成的所述预设公钥为:e=gs。19.所述的隐私保护的群智感知数据恢复方法,其中,所述数据采集终端对自身的行/列坐标进行盲化处理,得到盲化信息,包括:20.所述数据采集终端计算并通过乘以gr来对行/列坐标进行盲化,得到盲化后的行/列坐标作为所述盲化信息,其中r为zp内的一个随机值;21.所述数据采集终端根据所述签名信息、所述预设公钥和所述行/列绑定集合计算本地令牌,并根据所述本地令牌、自身真实行/列坐标和所述行/列绑定集合生成自身的行/列坐标对应的混淆行/列坐标,包括:22.所述数据采集终端计算所述本地令牌为:其中,为所述签名信息;23.所述数据采集终端通过计算生成自身的行/列坐标对应的混淆行/列坐标24.所述的隐私保护的群智感知数据恢复方法,其中,所述第一计算终端和所述第二计算终端执行的所述数据恢复算法的明文计算过程为:25.所述第一计算终端和所述第二计算终端基于梯度下降算法迭代更新第一迭代矩阵和第二数据迭代矩阵以求解目标函数;26.当所述第一迭代矩阵和所述第二迭代矩阵达到收敛条件时,计算终端取所述第一迭代矩阵和所述第二迭代矩阵的乘积作为所述感知数据矩阵;27.所述目标函数为:[0028][0029]其中,λ>0为拉格朗日乘数,‖·||f为frobenius范数;[0030]在第t次迭代中,所述第一迭代矩阵和所述第二迭代矩阵的更新公式包括第三公式、第四公式、第五公式、第六公式和第七公式;[0031]所述第三公式为:[0032]所述第四公式为:[0033]所述第五公式为:[0034]所述第六公式为:[0035]所述第七公式为:[0036]其中,表示第t次迭代开始时所述第一迭代矩阵矩阵u的第i行,表示第t次迭代中更新后的所述第一迭代矩阵矩阵u的第i行,表示第t次迭代开始时所述第二迭代矩阵矩阵v的第j行,表示第t次迭代中更新后的所述第二迭代矩阵矩阵v的第j行,u1和v1被初始化为随机值,γ>0为学习参数,表示第t次迭代中矩阵d位置为(i,j)处的值,d为u·v与s之间的近似误差,w是一个由i中所有非零元素下标组成的向量,s为所述感知数据矩阵,sij为s中位置为(i,j)处的值,i表示索引矩阵,i中每个元素用于标识在s中对应位置的元素是否缺失,表示缺失,否则表示未缺失。[0037]所述的隐私保护的群智感知数据恢复方法,其中,所述所述第一计算终端和所述第二计算终端基于加性秘密共享,根据所述第一感知数据矩阵和所述第二感知数据矩阵执行数据恢复算法中的计算,包括:[0038]所述第一计算终端和所述第二及终端基于加性秘密共享执行所述数据恢复算法中的迭代运算后,所述第一计算终端和所述第二计算终端基于加性秘密共享,通过所述目标函数计算迭代损失;[0039]所述第一计算终端和所述第二计算终端基于加性秘密共享确定迭代损失是否满足收敛条件;[0040]在基于加性秘密共享执行所述数据恢复算法中的矩阵乘法时,对于矩阵乘法中的相同乘数,采用同一加密矩阵进行加性秘密共享乘法运算中的隐藏操作。[0041]所述的隐私保护的群智感知数据恢复方法,其中,所述第一计算终端和所述第二计算终端基于加性秘密共享执行所述数据恢复算法中的迭代运算,包括:[0042]所述第一计算终端和所述第二计算终端先基于加性秘密共享计算所述第七公式,再复用所述第七公式的基于加性秘密共享中的乘法运算的中间结果用于计算所述第三公式、所述第四公式、所述第五公式和所述第六公式。[0043]所述的隐私保护的群智感知数据恢复方法,其中,所述第一计算终端和所述第二计算终端基于加性秘密共享,通过所述目标函数计算迭代损失,包括:[0044]所述第一计算终端和所述第二计算终端基于加性秘密共享计算矩阵中每个值的平方和作为该矩阵的范数运算结果;[0045]在计算第t次迭代的损失时,所述第一计算终端和所述第二计算终端基于加性秘密共享计算第t+1次迭代中的矩阵d,将第t+1次迭代中的矩阵d作为第t次迭代中i⊙(u·v)-s的计算结果。[0046]所述的隐私保护的群智感知数据恢复方法,其中,所述第一计算终端和所述第二计算终端基于加性秘密共享确定迭代损失是否满足收敛条件,包括:[0047]所述第一计算终端和所述第二计算终端基于加性秘密共享计算第一差值的绝对值,以使得所述第一计算终端持有所述绝对值的一个加性秘密共享份额,所述第二计算终端持有所述绝对值的另一个加性秘密共享份额,所述第一差值为第t次迭代的迭代损失与第t-1次迭代的迭代损失的差;[0048]所述第一计算终端和所述第二计算终端基于加性秘密共享计算第二差值,以使得所述第一计算终端持有所述第二差值的一个加性秘密共享份额,所述第二计算终端持有所述第二差值的另一个加性秘密共享份额;[0049]所述第一计算终端和所述第二计算终端将本地持有的所述第二差值的加性秘密共享份额转换为比特数据,通过并行前缀加法电路计算所述第二差值的最高有效位的两个加性秘密共享份额;[0050]所述第一计算终端和所述第二计算终端交换本地持有的所述第二差值的最高有效位的两个加性秘密共享份额,重构出所述第二差值的最高有效位,根据所述第二差值的最高有效位确定是否满足收敛条件。[0051]所述的隐私保护的群智感知数据恢复方法,其中,所述所述第一计算终端和所述第二计算终端基于加性秘密共享计算第一差值的绝对值,以使得所述第一计算终端持有所述绝对值的一个加性秘密共享份额,所述第二计算终端持有所述绝对值的另一个加性秘密共享份额,包括:[0052]所述第一计算终端和所述第二计算终端基于加性秘密共享计算所述第一差值,以使得所述第一计算终端持有所述第一差值的一个加性秘密共享份额,所述第二计算终端持有所述第二差值的另一个加性秘密共享份额;[0053]所述第一计算终端和所述第二计算终端将本地持有的所述第一差值的加性秘密共享份额转换为比特数据,通过并行前缀加法电路计算所述差值的最高有效位的两个加性共享秘密份额;[0054]所述第一计算终端和所述第二计算终端基于两轮计算得到所述绝对值的加性秘密共享份额:[0055]在第一轮计算中,所述第一计算终端作为发送方,所述第二计算终端作为接收方,在第二轮计算中,所述第一计算终端作为接收方,所述第二计算终端作为发送方;[0056]在每一轮计算中,发送方生成随机数r,并计算消息在每一轮计算中,发送方生成随机数r,并计算消息之后所述发送方保存所述随机数并将m0,m1发送给接收方;[0057]所述接收方确定本地保存的所述差值的最高有效位是否等于1,若是,则保存m0,若否,则保存m1;[0058]两轮计算结束后,所述第一计算终端/所述第二计算终端将自身生成的所述随机数和保存的所述消息求和,得到所述绝对值的加性秘密共享份额。[0059]本发明的第二方面,提供一种隐私保护的群智感知数据恢复系统,所述系统包括数据采集终端、位置混淆终端、第一计算终端、第二计算终端和数据需求终端;所述数据采集终端、位置混淆终端、第一计算终端、第二计算终端和数据需求终端协同完成上述任一项所述的隐私保护的群智感知数据恢复方法。[0060]与现有技术相比,本发明提供了一种隐私保护的群智感知数据恢复方法及系统,所述的隐私保护的群智感知数据恢复方法中,位置混淆终端基于随机置换函数对行/列坐标进行置换混淆,位置混淆终端和数据采集终端采用盲签名的方式使得数据采集终端获取自身真实位置对应的混淆位置,且过程中只需要进行一次交互,数据采集终端也不会将自身的真实位置泄露给位置混淆终端和其他的数据采集终端,数据采集终端在得到自身的混淆位置后,基于加性秘密共享对自身的感知数据进行加密后和混淆位置一起发送给第一计算终端和第二计算终端,第一计算终端和第二计算终端基于接收到的数据,构建位置混淆的感知数据矩阵,并基于加性秘密共享执行数据恢复算法中的计算,得到位置混淆的数据恢复矩阵的两个加性秘密共享份额发送给数据需求终端,数据需求终端重构出位置混淆的数据恢复矩阵,再根据位置混淆终端的随机置换函数的置换秘钥对位置混淆的数据恢复矩阵进行逆变换,得到真实位置的所述数据恢复矩阵,整个过程中,位置采集终端的真实位置以及感知数据均没有被泄露,实现了位置采集终端的隐私保护。附图说明[0061]图1为本发明提供的隐私保护的群智感知数据恢复方法的实施例的流程图;[0062]图2为对感知数据中的确实数据进行恢复的示意图;[0063]图3为本发明提供的隐私保护的群智感知数据恢复方法的参与方的交互框架示意图;[0064]图4为本发明提供的隐私保护的群智感知数据恢复方法的实施例中保护感知数据内在联系的位置混淆方法示意图;[0065]图5为本发明提供的隐私保护的群智感知数据恢复方法的实施例中安全的位置混淆协议的算法示意图;[0066]图6为本发明提供的隐私保护的群智感知数据恢复方法的实施例中安全的近似误差计算的算法示意图;[0067]图7为本发明提供的隐私保护的群智感知数据恢复方法的实施例中安全分解矩阵更新的算法示意图;[0068]图8为本发明提供的隐私保护的群智感知数据恢复方法的实施例中安全的计算迭代损失的算法示意图;[0069]图9为并行前缀加法电路的示意图;[0070]图10为本发明提供的隐私保护的群智感知数据恢复方法的实施例中安全的计算损失差的绝对值的算法示意图;[0071]图11为本发明提供的隐私保护的群智感知数据恢复方法的实施例中安全的数据恢复协议的总体示意图。具体实施方式[0072]为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。[0073]实施例一[0074]本实施例提供了一种隐私保护的群智感知数据恢复方法,旨在以隐私保护的方式实现感知数据恢复。[0075]首先对数据恢复进行介绍,如图2所示,在mcs中目标区域通常会被划分为多个均匀大小的格子,这些格子组成一个n行m列的感知数据矩阵s,每个格子可以根据其行坐标lx∈lx:={1,...,n}和列坐标ly∈ly:={1,...,m}来标识。每个数据采集终端为某个特定的格子收集并提交标识有真实位置的感知数据,其中真实位置由该格子对应的行列坐标来表示。将每个数据采集终端提交的感知报告定义为一个三元组《lx,ly,c》,其中(lx,ly)表示参与者的位置,而c表示对应格子内的感知数据。所有收集到的感知报告会根据其位置依次将感知将数据填入感知数据矩阵s对应的格子。出于mcs任务预算有限,目标区域过大,或参与者稀少等因素,在实践中通常很难收集到能覆盖整个目标区域的感知数据,因此感知矩数据阵s通常是稀疏的,存在有部分缺失元素。[0076]为了得到一个完整的感知数据矩阵,通常会利用数据恢复技术预测s中的缺失数据,从而对不完整的感知数据矩阵进行数据恢复。令x表示理想的感知数据矩阵,其大小为n×m,x中的每个元素表示对应该格子的感知数据。x中不存在缺失数据。令s表示实际收集到的感知数据矩阵,其大小为n×m,s中存在缺失数据。令i表示索引矩阵,其大小为n×m,i中每个元素用于标识在s中对应位置的元素是否缺失,具体来说,表示缺失,否则表示未缺失。因此,有s=x⊙i。令表示对s执行数据恢复后得到的恢复矩阵,即为x的一个近似估计,其大小为n×m。[0077]在本实施例提供的方法中,为了使得在mcs中数据恢复算法的计算过程中,既能进行准确的数据恢复操作,同时也能为数据采集终端提供位置和感知数据的保护,如图3所示,有三种实体参与运算:需求方、参与者和mcs服务提供方,参与者通过数据采集终端采集感知数据,需求方通过数据需求终端获取真实位置的数据恢复矩阵。[0078]需求方首先初始化一个mcs任务,该任务要求在目标区域中收集需求方感兴趣的感知数据(如一个环境监测机构想要收集某个城市内不同区域的空气质量或温度)。需求方通常会求助于一个mcs服务提供方来完成mcs任务。mcs服务提供方在接受mcs任务后,首先从任务的参与者处收集感知报告,并进一步执行必要的数据恢复操作,以得到覆盖整个目标区域的完整的感知数据。参与者通常是对当前mcs任务感兴趣的数据采集终端持有者(如手机用户),他们负责收集感知数据并将标识有真实位置感知报告提交给mcs服务提供方。但另一方面,出于对隐私的忧虑,参与者通常不愿暴露自己在目标区域中所处的真实位置,因此必要在协议中保护参与者的真实位置不被其他实体知晓。此外,由于参与者提交的感知数据也有可能间接暴露其真实位置,因此对于参与者提交的感知数据的保护也是有必要的。[0079]在本实施例提供的方法中,mcs服务由三个独立的(基于云的)服务提供方共同提供,分别用表示。其中主要负责为参与者提供位置混淆服务,作为位置混淆终端,位置混淆操作需要在参与者提交感知报告之前执行,在现实中可以是由一个专门提供加密服务的云服务商担任。第一计算终端和第二计算终端主要负责收集参与者提交加密的感知报告(即参与者将感知报告中的数据通过ass共享给和),并在ass共享下的感知数据上合作执行cs数据恢复以得到密文域下的完整感知数据。最后共享的完整感知数据将被送给需求方,并由需求方重构出最终的结果,在现实中,和可以由两个有竞争关系的云服务商担任。近年来,这样的分布式信任和多服务器模型在不同应用领域的安全设计中得到了越来越多的采用。[0080]本实施例提供的隐私保护的群智感知数据恢复方法,主要由两个部分组成:[0081]1.隐私保护的位置混淆协议:这一阶段对应图3中0-1步,每个参与者在收集完感知数据后,首先与进行交互,得到对应自己真实位置(lx,ly)的混淆位置(l′x,l′y),这里的位置混淆方法不会影响下一步中数据恢复的准确率。在得到混淆位置之后,每个参与者将感知报告中的真实位置替换为混淆位置,得到感知报告《l′x,l′y,c》,并将其以ass的方式共享给此处只共享感知数据,而不共享位置,即分别持有《l′x,l′y,[[c]]i》,i∈{0,1}。[0082]2.安全的数据恢复协议:这一阶段对应图3中2-5步,在收集完所有的感知报告后,协同的执行设计的隐私计算方案,进行密文域的cs数据恢复计算,并得到密文域下经由cs恢复后的完整感知数据。最终,双方将各自持有的共享结果送给需求方,在需求方处恢复出最终结果。[0083]本实施例中的运算是基于加性秘密共享(ass)来实现的,为了方便后续的说明,先对加性秘密共享进行介绍:[0084]加性秘密共享(ass)是一种轻量级的加密方式,通过将数据分割为多个共享值来保护数据,用[[·]]表示某个数据的秘密共享形式。具体来说,给定一个待保护的秘密数据(l表示a的位长度)。该数据可被分割为两个共享值[[a]]0=r和[[a]]1=a-r,从而在环中有a=[[a]]0+[[a]]1,其中r为环内的一个随机值,为了便于说明,在后文中,[[a]]0和[[a]]1称为a的两个加性秘密共享份额。上述两个共享份额将会分别送给两个不同的计算参与方,由于单个共享值无法暴露a的任何信息,秘密数据a便被安全的保护了起来。[0085]假设存在两方和且这两方秘密共享了两个数a和b,即持有[[a]]0和[[b]]0,持有[[a]]1和[[b]]1,ass允许和在持有共享值的情况下执行安全的加法操作和乘法操作。其中,安全加法操作[[a+b]]i可由双方本地执行加法操作完成,即[[a+b]]i=[[a]]i+[[b]]i,i∈{0,1}。当需要恢复最后的加法计算结果时,可由将[[a+b]]i发送给之后计算a+b=[[a+b]]i+[[a+b]]1-i,i∈{0,1},这样一来参与双方就在不知道a和b具体数值的情况下得到了加法计算结果a+b。将上述的恢复操作定义为rec(·,·)(如rec([[a+b]]0,[[a+b]]1)。[0086]对于安全乘法操作[[c]]=[[a·b]],首先需要让双方共享一个乘法三元组(u,v,z),其中在共享得到[[u]]i,[[v]]i,[[z]]i之后,计算[[e]]i=[[a]]i-[[u]]i,[[f]]i=[[b]]i-[[v]]i,并执行rec([[e]]0,[[e]]1),rec([[f]]0,[[f]]1)得到明文结果e和f。最后计算[[c]]i=i·e·f+e·[[v]]i+f·[[u]]i+[[z]]i得到乘法结果c的共享,其中i∈{0,1}。如果需要恢复恢复乘法计算结果,可由双方执行rec([[c]]0,[c]1)。值得注意的是,上述加法与乘法操作可以同样应用在矩阵形式的加法与乘法中。[0087]如图1所示,本实施例提供的隐私保护的群智感知数据恢复方法,包括步骤:[0088]s100、位置混淆终端通过伪随机置换函数对真实位置的行/列坐标施加随机置换,生成混淆行/列坐标,基于真实位置的行/列坐标和预设私钥生成行/列坐标令牌,基于所述行/列坐标令牌生成行/列绑定集合,所述行/列绑定集合中包括所有的混淆行/列坐标和对应的行/列坐标令牌的计算结果,并基于所述预设私钥生成预设公钥;[0089]s200、数据采集终端对自身的行/列坐标进行盲化处理,得到盲化信息,将所述盲化信息发送给所述位置混淆终端,所述位置混淆终端采用所述预设私钥对所述盲化信息进行签名,得到签名信息,将所述签名信息、所述预设公钥和所述行/列绑定集合发送至所述数据采集终端,以使得所述数据采集终端根据所述签名信息、所述预设公钥和所述行/列绑定集合计算本地令牌,并根据所述本地令牌、自身真实行/列坐标和所述行/列绑定集合生成自身的行/列坐标对应的混淆行/列坐标。[0090]在隐私保护的位置混淆阶段,需要为每个数据采集终端对应生成真实位置的混淆位置,从而避免在后续步骤中暴露真实位置,数据采集终端的位置是其在感知数据矩阵中的下标,可以通过混淆其下标的方式来混淆实际位置,但是如果没有数据采集终端自身任意地生成混淆位置,感知数据间的内在联系会被破坏,从而使得后续数据恢复的准确率下降。为了实现在不破坏感知数据内在联系的条件下进行位置混淆,本实施例提供的方法基于如下原则进行位置混淆:感知数据矩阵中处于同一行(列)的所有非0元素(即未缺失元素)在混淆后应仍处于同一行(列)。如图4为例,图中s为原感知数据矩阵,s*为混淆后的感知数据矩阵,s中元素s11与s12在同一行,与s31在同一列,为了保存这种联系,在s*中s11与s12应仍在同一行,s11与s31应仍在同一列。这种位置混淆可以通过对感知矩阵进行随机行列置换实现,用向量lx和ly分别表示感知数据矩阵中的行坐标和纵坐标。对感知矩阵的随机行列坐标变换可以等价为对lx和ly施加随机置换。用和表示混淆后的行列坐标,并用s*表示根据和建立出的混淆感知数据矩阵。现有的方法已经证明了根据s*进行数据恢复的结果可以通过逆行列变换等价的转换为根据s进行数据恢复的结果。[0091]图4给出了上述混淆方法的一个示例,假设有一个3×3的感知数据矩阵s,其中有4个元素缺失。初始时,有lx:={1,2,3}和ly:={1,2,3},现在对lx和ly进行随机置换,得到和并进一步构建相应的行列变换矩阵r和c。这样一来,混淆矩阵s*根据下式计算:最后,通过s*得到的恢复矩阵可以通过逆变换转化为通过s得到的恢复矩阵[0092]如果让数据采集终端之间分享自身位置共同协商出一个满足上述方法的行列变换,会严重地侵犯参与者的位置隐私,因为每个参与者都能轻易获知其他参与者的位置。在本实施例中,通过选择一个专门的位置混淆终端为所有位置生成一个混淆方案,并为所有参与者提供其真实位置相应的混淆位置。在位置混淆的过程中无法获知任何一个参与者的真实位置。具体地,本实施例提供的方法通过使用盲签名技术来达成这一目标。[0093]所述所述位置混淆终端基于真实位置的行/列坐标和预设私钥生成行/列坐标令牌,基于所述行/列坐标令牌生成行/列绑定集合,包括:[0094]所述位置混淆终端基于第一公式生成行绑定集合,基于第二公式生成列绑定集合;[0095]所述第一公式为:[0096]所述第二公式为:[0097]其中,为所述行绑定集合,为所述列绑定集合,为第i个行坐标,n为行坐标的总个数,为对应的混淆行坐标,为第j个行坐标,m为行坐标的总个数,为对应的混淆列坐标,为行坐标令牌,为列坐标令牌,γ表示一个阶为p的循环群,h:{0,1}*→γ表示一个将任意长度的信息映射到γ中的哈希函数,g表示γ的生成元,s∈zp,为所述预设私钥;[0098]所述位置混淆终端生成的所述预设公钥为:e=gs。[0099]所述数据采集终端对自身的行/列坐标进行盲化处理,得到盲化信息,包括:[0100]所述数据采集终端计算并通过乘以gr来对行/列坐标进行盲化,得到盲化后的行/列坐标作为所述盲化信息,其中r为zp内的一个随机值;[0101]所述数据采集终端根据所述签名信息、所述预设公钥和所述行/列绑定集合计算本地令牌,并根据所述本地令牌、自身真实行/列坐标和所述行/列绑定集合生成自身的行/列坐标对应的混淆行/列坐标,包括:[0102]所述数据采集终端计算所述本地令牌为:其中,为所述签名信息;[0103]所述数据采集终端通过计算生成自身的行/列坐标对应的混淆行/列坐标[0104]具体地,本实施例提供的方法中的位置混淆协议分为两部分:初始化和安全的位置混淆,接下来分别详细介绍这两部分如何完成。[0105]初始化:令γ表示一个阶为p的循环群,h:{0,1}*→γ表示一个将任意长度的信息映射到γ中的哈希函数,g表示γ的生成元。首先随机选取一个数s∈zp作为自己的私钥(即所述预设私钥),并计算相应的公钥e=gs,公钥e被公开给所有的参与者。随后,通过伪随机置换函数(prps)构建出lx,ly的随机置换此时,每个行坐标都有一个对应的混淆后的行坐标列坐标同理。值得注意的是,每次mcs任务中使用的prps秘钥都不同,且此密钥在初始化阶段会被送往需求方以供其通过逆变换恢复出最终结果。[0106]之后,为每个混淆位置计算对应绑定的令牌,这些令牌将在线上阶段为每个参与者提供访问控制,使其只能访问对应自己真实位置的混淆位置。具体来说,将首先为每个行坐标和列坐标计算器对应的令牌:随后通过下面两个式子将这些令牌与对应的混淆位置进行绑定:[0107][0108][0109]在一种实现方式中,使用的循环群γ是由一个椭圆曲线构成的,因此为椭圆曲线上一个点,p2在计算之前,需要先将同样映射到椭圆曲线上,可以通过koblitz算法完成这一映射。[0110]安全的位置混淆:当数据采集终端收集到感知数据后,将首先与进行两轮交互获取对应自身真实位置的混淆位置(一轮获取混淆后的行坐标,另一轮获取混淆后的列坐标)。为了展示的简洁性,下面只描述一个数据采集终端如何获取对应自己真实行坐标的混淆行坐标的过程,混淆列坐标可以通过与之相同的过程获取。[0111]如图5所示,获取混淆行坐标的过程在algorithm 1中给出。具体来说,数据采集终端首先计算并通过乘以gr来对h进行盲化,得到盲化后的行坐标其中r为zp内的一个随机值。随后,盲化消息被发送给p2。当接收到p2随机用所述预设私钥s对其进行签名:并将签名后的消息和在初始化阶段提前计算好的发还给参所述数据采集终端当接收到返还的消息后,首先计算自己的令牌:其中通过这个令牌,便可以通过计算来从中抽取出对应自己真实行坐标的混淆行坐标。不难看出,这一步中只能通过令牌抽取自己的混淆坐标,而无法获知其他数据采集终端的混淆坐标。[0112]通过上述说明可以看出,盲签名允许p2在不知道参与者具体位置的情况下,为参与者提供令牌和此外,盲签名协议的签名不可伪造特性能够确保除了p2之外没人能够为参与者提供有效的令牌,因此每个参与者只能得到对应自己真实位置的混淆位置。[0113]请再次参阅图1,本实施例提供的方法,还包括步骤:[0114]s300、所述数据采集终端基于加性秘密共享生成第一加密感知数据和第二加密感知数据,所述第一加密感知数据和所述第二加密感知数据分别为所述数据采集终端的感知数据的秘密份额,所述数据采集终端将第一报告发送至第一计算终端,将第二报告发送至第二计算终端,所述第一报告中包括所述数据采集终端的混淆坐标和所述第一加密感知数据,所述第二报告中包括所述数据采集终端的混淆坐标和所述第二加密感知数据,以使得所述第一计算终端构建位置混淆的第一感知数据矩阵,所述第二计算终端构建位置混淆的第二感知数据矩阵,所述第一感知数据矩阵和所述第二感知数据矩阵的和为位置混淆的感知数据矩阵;[0115]s400、所述第一计算终端和所述第二计算终端基于加性秘密共享,根据所述第一感知数据矩阵和所述第二感知数据矩阵执行数据恢复算法中的计算,在密文域对位置混淆的所述感知数据矩阵中的感知数据进行恢复,分别得到位置混淆的数据恢复矩阵的加性秘密共享份额,所述第一计算终端和所述第二计算终端分别将本地持有的位置混淆的数据恢复矩阵的加性秘密共享份额发送给数据需求终端。[0116]经过之前的位置混淆运算,现在每个所述数据采集终端都持有经过混淆后的感知报告:之后,每个数据采集终端向提交感知报告,并由协作执行数据恢复操作,并最终在需求方处重构出恢复结果,对应图2中2-5步。具体来说,每个所述数据采集终端首先通过ass生成感知数据cd的共享值,并提交感知报告给其中k∈{0,1}。当接收到所有所述数据采集终端的混淆的感知报告后,将根据这些报告构建出秘密共享下的混淆感知数据矩阵[[s*]]k与混淆索引矩阵i*。随后,将对s*进行数据恢复。[0117]具体地,在本实施例中,所述第一计算终端和所述第二计算终端执行的所述数据恢复算法的明文计算过程为:[0118]所述第一计算终端和所述第二计算终端基于梯度下降算法迭代更新第一迭代矩阵和第二数据迭代矩阵以求解目标函数;[0119]当所述第一迭代矩阵和所述第二迭代矩阵达到收敛条件时,计算终端取所述第一迭代矩阵和所述第二迭代矩阵的乘积作为所述感知数据矩阵;[0120]所述目标函数为:[0121][0122]其中,λ>0为拉格朗日乘数,||·||f为frobenius范数;[0123]具体地,使用fcs表示cs数据恢复操作,因此有fcs将按照下列流程执行。假设待求解的目标矩阵可以经由奇异值分解(svd)技术分解为两个矩阵u和v的乘积,即其中u=l·λ1/2,v=λ1/2·n。fcs可通过解决如下正则最小二乘问题(1)来近似估计u和v。这个最优化问题可以通过广泛使用的梯度下降法来解决,在本实施例中,利用梯度下降法不断迭代更新第一迭代矩阵u和第二迭代矩阵v,在第t次迭代中,所述第一迭代矩阵和所述第二迭代矩阵的更新公式为:[0124][0125][0126][0127][0128][0129]其中,表示第t次迭代开始时所述第一迭代矩阵矩阵u的第i行,表示第t次迭代中更新后的所述第一迭代矩阵矩阵u的第i行,表示第t次迭代开始时所述第二迭代矩阵矩阵v的第j行,表示第t次迭代中更新后的所述第二迭代矩阵矩阵v的第j行,u1和v1被初始化为随机值,γ>0为学习参数,表示第t次迭代中矩阵d位置为(i,j)处的值,d为u·v与s之间的近似误差,w是一个由i中所有非零元素下标组成的向量,s为所述感知数据矩阵,sij为s中位置为(i,j)处的值,i表示索引矩阵,i中每个元素用于标识在s中对应位置的元素是否缺失,表示缺失,否则表示未缺失。[0130]所述所述第一计算终端和所述第二计算终端基于加性秘密共享,根据所述第一感知数据矩阵和所述第二感知数据矩阵执行数据恢复算法中的计算,包括:[0131]所述第一计算终端和所述第二及终端基于加性秘密共享执行所述数据恢复算法中的迭代运算后,所述第一计算终端和所述第二计算终端基于加性秘密共享,通过所述目标函数计算迭代损失;[0132]所述第一计算终端和所述第二计算终端基于加性秘密共享确定迭代损失是否满足收敛条件。[0133]也就是说,总体上,本实施例中提供的安全数据恢复协议可以分为两个部分:安全梯度下降和安全收敛评估。这两步依次迭代执行直到收敛。安全梯度下降通过前文介绍的公式(2)-(6)安全的更新矩阵u*和v*。u*和v*是位置混淆后的u和v,这两个矩阵在最后相乘得到需要的位置混淆的完整的数据恢复矩阵本实施例提供的方法在秘密共享下完成安全的梯度下降计算。在这一部分中,不像现有的安全梯度下降协议会将dij暴露给第三方,本实施例提供的方法不会泄露任何中间结果。而对于第二部分安全收敛评估,本实施例提供的方法允许和安全的对数据恢复迭代是否收敛进行评估,在这个过程中和只能获知是否应该停止迭代。通过安全收敛评估协议,可以实现对数据恢复过程的细粒度控制,因此本实施例提供的方案不会面临过拟合或欠拟合等问题。[0134]根据公式(2)-(6),在矩阵更新中需要进行的运算操作主要包括矩阵上的秘密共享加法/减法和乘法,在第t次迭代中,根据输入的矩阵[[(ut)*]]和[[(vt)*]],产生更新后的矩阵[[(ut+1)*]]和[[(vt+1)*]]。秘密共享下的矩阵加/减法可以较为直接通过ass实现。可以观察到在第t次迭代中需要计算三次乘法:(1)(2)(3)(3)其中在基础的乘法实现方式中,在每次迭代中直接利用三个独立的乘法三元组:([[at]],[[bt]],[[ct]]),([[a′t]],[[mt]],[[qt]]),([[b′t]],[[m′t]],[[q′t]])来分别完成三次乘法操作。在实际应用中,这些乘法三元组可提前由p2生成,并将其秘密共享给上述的三元组的属性如下:at和a′t为n×r的矩阵,at和a′t中的每一行分别用于隐藏(mask)乘法(1)和乘法(2)中的bt和b′t为r×m的矩阵,bt和b′t中的每一行分别用于隐藏(mask)乘法(1)和乘法(3)中的mt和m′t为n×m的矩阵,mt和m′t中的每一行分别用于隐藏(mask)乘法(2)和乘法(3)中的ct是一个n×m的矩阵,且有ct=at×bt。qt和q′t为两个特殊的n×m矩阵,这两个矩阵中的元素不是单个数据,而是一个大小为1×r的向量,即r的向量,即[0135]然而,上述基础方法的通信效率不高。这种方法没有注意到在这三次乘法中,存在着重复的乘数。当不同的秘密共享乘法中有一个乘数保持不变时,该乘数只需要隐藏(mask)并重构一次,从而节约通信成本。利用这一点,在本实施例中,对基础的乘法实现进行如下优化:注意到在三次乘法中重复使用了所以不需要为三次乘法分别生成独立的乘法三元组,反之,可以令a′t=at,b′t=bt,m′t=mt。即,在所述第一计算终端和所述第二计算终端在基于加性秘密共享执行所述数据恢复算法中的矩阵乘法时,对于矩阵乘法中的相同乘数,采用同一加密矩阵进行加性秘密共享乘法运算中的隐藏(mask)操作。[0136]通过上述优化,可以极大的减少线上通信开销,因为优化后和只需要通信并重构一次,这样一来,在每次迭代中,三次乘法的通信开销便从基础方法中的4nr+4rm+4nm(1-α)降低至2nr+2rm+2nm(1-α),其中α为感知数据矩阵中的数据缺失率。[0137]综合上述优化过程,将安全梯度下降过程的分解为两个子程序:安全近似误差计算(algorithm 2),安全分解矩阵更新(algorithm 3)。为了表示的简洁性,在后文中,会交替使用和[0138]如图6所示,在每次迭代中,首先使用algorithm2安全的计算公式(6),即计算近似误差dt。值得注意的是,公式(2)-(6)中所有的需要的rec(·,·)操作都在algorithm 2中完成了,因此重构出的et,ft,f′t能在之后的子程序中直接使用。即,所述第一计算终端和所述第二计算终端基于加性秘密共享执行所述数据恢复算法中的迭代运算,包括:[0139]所述第一计算终端和所述第二计算终端先基于加性秘密共享计算公式(6),再复用公式(6)的基于加性秘密共享中的乘法运算的中间结果用于计算公式(2)-(5)。[0140]随后,如图7所示,继续使用algorithm 3(对应公式(2)-(5))来安全的更新和具体来说,在algorithm 3中,第1-10行对应公式(2)和公式(4),第11-20行对应公式(3)和公式(5)。注意algorithm 3全程只涉及到本地计算,与间并没有通信开销,这是因为复用了algorithm 2中重构出的et,ft,f′t。[0141]之后,需要安全地判断梯度下降迭代是否收敛,在第t次迭代中,与首先在秘密共享下根据公式(1)给出的函数计算loss值,用表示,并将其与上一次迭代计算出的loss值进行比较,当小于某个公开的阈值∈时,便认定迭代已收敛并令终止迭代。依序将上述过程分为三步:(1)计算(2)计算(2)计算(3)计算接下来依序分别介绍每一步的具体过程。[0142]首先,所述第一计算终端和所述第二计算终端基于加性秘密共享,通过所述目标函数计算迭代损失,包括:[0143]所述第一计算终端和所述第二计算终端基于加性秘密共享计算矩阵中每个值的平方和作为该矩阵的范数运算结果;[0144]在计算第t次迭代的损失时,所述第一计算终端和所述第二计算终端基于加性秘密共享计算第t+1次迭代中的矩阵d,将第t+1次迭代中的矩阵d作为第t次迭代中i⊙(u·v)-s的计算结果。[0145]具体地,对于安全的计算根据公式(1),在计算时需要进行的操作有ass加法和ass乘法,在这一步中本实施例提供的方法中设计了一种让与无需进行通信就能完成上述操作的结构。首先考虑如何计算公式(1)中的以为例,发现其能进一步表示为这样一来可以通过对[[u*]]中的每个元素进行安全平方操作并将其加起来得到计算结果。为了安全的计算单个数的平方,需要使用一个秘密共享下的随机二元组([[a]],[[b]]),其中b=a2。同前文乘法中使用的三元组一样,此二元组同样可以由生成并共享给接下来描述如何安全的计算单个数[[x]]的平方[[x2]],首先计算[[r]]k=[[x]]k-[[a]]k,之后执行rec([[r]]0,[[r]]1)重构r。最后计算[[x2]]k=kr2+2r[[a]]k+[[b]]k以共享x2。[0146]接下来考虑如何如何安全的计算公式(1)中的i⊙(u·v)-s,观察到这个式子与公式(6)中计算d使用的式子相同,所以可以重复使用在algorithm 2中的计算结果来减少计算开销。但需要注意的是,在第t次迭代,计算所需的i⊙(u·v)-s并不等于dt,而是等于dt+1,这是因为在第t次迭代中计算loss时,使用的是更新后的(ut+1)*和(vt+1)*。为了重复利用计算结果以减少计算开销,将第t+1次迭代中对dt+1的计算移动到了第t次迭代,这样一来可以在第t次迭代中用代替此机制的具体集成将在之后的algorithm 6中给出。[0147]最后,本实施例提供过的方法还在每次迭代中优化了和的计算。如前文所述,为了安全的计算这三个平方,需要利用三个随机二元组([[a″]],[[ra]]),([[b″]],[[rb]]),([[m″]],[[rm]]),其中a″,b″,m″分别用于隐藏(mask)u*,v*,dt+1,且有ra=a″⊙a″,rb=b″⊙b″,rm=m″⊙m″。很明显,可以使用和安全梯度下降协议中同样的优化技巧来降低通信开销,即可以令a″=a,b″=b,m″=m,然而有一点需要注意的是,在第t次迭代中,应当用为第t+1次迭代生成的三元组中的at+1替代a″t,bt+1替代b″t,mt+1替代m″t,理由同上。[0148]通过上述内容,本实施例提供了一个让与无需进行通信就能安全计算的算法,其具体流程在algorithm 4中给出,如图8所示。[0149]所述第一计算终端和所述第二计算终端基于加性秘密共享确定迭代损失是否满足收敛条件,包括:[0150]所述第一计算终端和所述第二计算终端基于加性秘密共享计算第一差值的绝对值,以使得所述第一计算终端持有所述绝对值的一个加性秘密共享份额,所述第二计算终端持有所述绝对值的另一个加性秘密共享份额,所述第一差值为第t次迭代的迭代损失与第t-1次迭代的迭代损失的差;[0151]所述第一计算终端和所述第二计算终端基于加性秘密共享计算第二差值,以使得所述第一计算终端持有所述第二差值的一个加性秘密共享份额,所述第二计算终端持有所述第二差值的另一个加性秘密共享份额;[0152]所述第一计算终端和所述第二计算终端将本地持有的所述第二差值的加性秘密共享份额转换为比特数据,通过并行前缀加法电路计算所述第二差值的最高有效位的两个加性秘密共享份额;[0153]所述第一计算终端和所述第二计算终端交换本地持有的所述第二差值的最高有效位的两个加性秘密共享份额,重构出所述第二差值的最高有效位,根据所述第二差值的最高有效位确定是否满足收敛条件。[0154]所述所述第一计算终端和所述第二计算终端基于加性秘密共享计算第一差值的绝对值,以使得所述第一计算终端持有所述绝对值的一个加性秘密共享份额,所述第二计算终端持有所述绝对值的另一个加性秘密共享份额,包括:[0155]所述第一计算终端和所述第二计算终端基于加性秘密共享计算所述第一差值,以使得所述第一计算终端持有所述第一差值的一个加性秘密共享份额,所述第二计算终端持有所述第二差值的另一个加性秘密共享份额;[0156]所述第一计算终端和所述第二计算终端将本地持有的所述第一差值的加性秘密共享份额转换为比特数据,通过并行前缀加法电路计算所述差值的最高有效位的两个加性共享秘密份额;[0157]所述第一计算终端和所述第二计算终端基于两轮计算得到所述绝对值的加性秘密共享份额:[0158]在第一轮计算中,所述第一计算终端作为发送方,所述第二计算终端作为接收方,在第二轮计算中,所述第一计算终端作为接收方,所述第二计算终端作为发送方;[0159]在每一轮计算中,发送方生成随机数r,并计算消息在每一轮计算中,发送方生成随机数r,并计算消息之后所述发送方保存所述随机数并将m0,m1发送给接收方;[0160]所述接收方确定本地保存的所述差值的最高有效位是否等于1,若是,则保存m0,若否,则保存m1;[0161]两轮计算结束后,所述第一计算终端/所述第二计算终端将自身生成的所述随机数和保存的所述消息求和,得到所述绝对值的加性秘密共享份额。[0162]具体地,对于安全的计算经过迭代损失的计算后,与持有秘密共享下的与并需要计算这一步的主要难点在于如何计算其中的绝对值。[0163]本实施例提供过的方法中,是将计算转化为一个安全最高有效位(msb)提取问题。用β表示的msb,即当β=0时,表示反之当β=1时,表示这样便得到下式:[0164][0165]这样一来对绝对值的计算便转变为了安全的求解β。用extb表示安全msb提取函数,《β》=extb([[x]]),其中《·》表示z2下的秘密共享。extb可以通过一个定制的并行前缀加法电路来安全地计算,如图9展示了一个定制的8位并行前缀加法电路。对于某个秘密共享下的数[[x]],和首先在本地将[[x]]0,[[x]]1分解为长度为l的比特串,并将自己持有的比特位输入到定制的并行前缀加法电路中,安全地执行“异或门”和“与门”计算,“异或”和“与”在布尔秘密共享中被原生地支持。所以和可以安全地计算一个密文数据的最高有效位。[0166]以extb为基础,可以得到下式:[0167][0168]需要注意的是,《β》与处于不同的秘密共享域,因此上面的方程不容易直接计算。为了计算公式(10),本实施例中设计了一个定制的协议来得到其具体流程如下:[0169]i.生成一个随机数并计算消息并计算消息之后保存r并将m0,m1发送给[0170]ii.当《β》1=1时,保存m0,反之保存m1[0171]iii.与再次执行步骤i和ii,但是这一次扮演接收方,分演发送方。[0172]最后,将自身保存的m0或m1和自身生成的r相加,将自身保存的m0或m1和自身生成的r相加。如图10所示,完整的计算流程在algorithm 5中给出。其中交流开销主要集中在第二行的安全mcs抽取操作上。为了得到秘密共享下一个长度为1比特的数的msb,和需要在log l轮内交流12l-12-4log l比特长的数据。除此之外,在第3行和第5行中,和还需交流四个元素,因此还有额外的4l比特长的通信开销。综上,algorithm 5的总通信开销为16l-12-4log l比特。[0173]安全的计算在得到之后,双方继续计算迭代收敛条件其中∈为一个公开的阈值,实际使用中可由参与方指定。双方将在上述条件为1的时候终止迭代,反之则继续。上面的式子同样可以转化为一个msb求解问题,如下式:[0174][0175]因此,可以继续使用extb来安全的得到迭代收敛评估结果因此,可以继续使用extb来安全的得到迭代收敛评估结果这个结果将在之后由重构以指示是否终止迭代。如图11所示的algorithm6中的第12-14行展示了安全迭代终止评估的过程。[0176]将前文介绍的所有子程序和技术结合起来,得到安全数据恢复的总体流程,展示在如图11所示的algorithm 6中。在迭代开始前需要计算[[d1]](第3行),这是因为在计算[[(u2)*]]和[[(v2)*]]需要用到[[d1]]。此外,正如前文介绍,在第t次迭代中进行收敛评估前需要先计算[[dt+1]]。[0177]通过步骤s300和s400,在收敛后,所述第一计算终端和所述第二计算终端持有的位置混淆的数据恢复矩阵的加性秘密共享份额,是矩阵u*和v*的加性秘密共享份额。[0178]下面回到图1,本实施例提供的方法,还包括步骤:[0179]s500、所述数据需求终端恢复得到位置混淆的所述数据恢复矩阵,所述数据需求终端从所述位置混淆终端中获取所述伪随机置换函数的置换秘钥,根据所述置换秘钥对位置混淆的所述数据恢复矩阵进行逆变换,得到真实位置的所述数据恢复矩阵。[0180]当停止迭代后,矩阵u*和v*以秘密共享的形式存储在上,数据需求终端从处获取u*和v*的共享份额,并在本地完成混淆的恢复矩阵构建,其计算公式为:之后,所述数据需求终端继续通过系统初始化阶段发送来的置换秘钥对进行逆变换,得到原始的恢复矩阵具体来说,所述数据需求终端首先通过置换秘钥生成混淆坐标并进一步构建出行变换矩阵r和列变换矩阵c,最后通过计算得到恢复后的完整感知数据矩阵作为所述数据恢复矩阵。[0181]综上所述,本实施例提供一种隐私保护的群智感知数据恢复方法,在该方法中,位置混淆终端基于随机置换函数对行/列坐标进行置换混淆,位置混淆终端和数据采集终端采用盲签名的方式使得数据采集终端获取自身真实位置对应的混淆位置,且过程中只需要进行一次交互,数据采集终端也不会将自身的真实位置泄露给位置混淆终端和其他的数据采集终端,数据采集终端在得到自身的混淆位置后,基于加性秘密共享对自身的感知数据进行加密后和混淆位置一起发送给第一计算终端和第二计算终端,第一计算终端和第二计算终端基于接收到的数据,构建位置混淆的感知数据矩阵,并基于加性秘密共享执行数据恢复算法中的计算,得到位置混淆的数据恢复矩阵的两个加性秘密共享份额发送给数据需求终端,数据需求终端重构出位置混淆的数据恢复矩阵,再根据位置混淆终端的随机置换函数的置换秘钥对位置混淆的数据恢复矩阵进行逆变换,得到真实位置的所述数据恢复矩阵,整个过程中,位置采集终端的真实位置以及感知数据均没有被泄露,实现了位置采集终端的隐私保护。[0182]应该理解的是,虽然本发明说明书附图中给出的的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。[0183]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。[0184]实施例二[0185]基于上述实施例,本发明还相应提供了一种隐私保护的群智感知数据恢复系统,所述系统包括数据采集终端、位置混淆终端、第一计算终端、第二计算终端和数据需求终端;所述数据采集终端、位置混淆终端、第一计算终端、第二计算终端和数据需求终端用于协同执行实施例一中隐私保护的群智感知数据恢复方法中的相关步骤。[0186]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
一种隐私保护的群智感知数据恢复方法及系统
作者:admin
2022-08-31 08:42:13
360
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术
- 下一篇: 单端激励的自走式行波型直线超声波电机
- 上一篇: 一种角度可调的玻璃采光顶及其安装方法与流程