1.一种算力网络隐私保护联邦学习方法,其特征在于,包括:算力节点通过公私钥算法生成公私钥对,并将所述公私钥对中的公钥和算力节点的初始化模型上传至区块链,随机选择一个初始化模型作为全局模型;
算力节点从区块链获取所述全局模型和其他算力节点的公钥,并通过本地数据集训练所述全局模型;
算力节点从区块链下载其他算力节点发送的加密掩码,基于通过共享密钥解密所述加密掩码所获得的掩码和算力节点通过掩码生成函数生成的自掩码,通过单掩码加密算法加密所述全局模型获得加密模型,并将所述加密模型上传至区块链;
算力节点根据从区块链获取的在线算力节点集合使用掩码和计算公式计算掩码和,并将所述掩码和上传至区块链;
算力节点从区块链下载所有的加密模型和掩码和,使用单掩码解密算法将掩码和输入所有加密模型的聚合模型以完成解密;
算力节点利用线性同态哈希算法计算未加密模型和解密后的聚合模型的同态哈希值,将所述未加密模型和解密后的聚合模型的同态哈希值连同解密后的聚合模型一起上传至区块链;
算力节点从区块链下载其他算力节点上传的同态哈希值,利用线性同态哈希验证算法对所述解密后的聚合模型的正确性进行验证并将验证结果上传至区块链,区块链选择一个验证通过的模型作为新的全局模型,迭代上述所有步骤直至全局模型收敛或达到通信轮次;
算力节点通过自身所述公私钥对中的私钥和所述其他算力节点的公钥生成共享密钥;
所述公私钥算法为Diffie‑Hellman密钥协商算法,包括:;
所述共享密钥生成算法为Diffie‑Hellman密钥协商算法,包括:将安全参数 作为输入得到Diffie‑Hellman公共参数KApp,即:;
其中,KA.Setup为公共参数生成算法;
将公共参数KApp作为密钥生成算法输入得到算力节点u和v的公私钥,即:;
算力节点u使用他的私钥 与算力节点的公钥 通过Diffie‑Hellman协商算法生成共享密钥:;
其中, 为私钥, 为公钥, 为密钥生成算法, 为安全参数, 满足; 为两个算力节点, 为算力节点u和算力节点v之间的共享密钥,为密钥协商算法, 为算力节点u的私钥, 为算力节点v的公钥;
所述加密掩码通过共享密钥解密获得掩码包括:采用Diffie‑Hellman密钥协商算法以 作为对称密钥,即:;
其中,SE.KeyGen为对称加密中的对称密钥生成算法;
将算力节点v发送给算力节点u的掩码作为明文,所述 作为双方通信的共享密钥,采用AES对称加密算法以获得加密掩码 ,即:;
其中,SE.Enc为对称加密中的加密算法;
算力节点u在收到所述加密掩码 后使用 解密得到由算力节点v发送给算力节点u的掩码向量 ,即:;
其中,SE.Dec为对称加密中的解密算法;
所述 的生成函数表示为:
;
其中, 是种子s生成的伪随机数向量,PRG为伪随机数生成器;
所述单掩码加密算法表示为:
;
其中, 为加密模型向量, 为未加密模型向量, 为算力节点 生成的自掩码向量, 为成功上传所述加密掩码的算力节点集合, 为除算力节点 以外的算力节点集合;
所述掩码和计算方法包括:
;
其中, 为根据在线算力节点集合计算的掩码和, 为算力节点 生成的自掩码,为成功上传所述加密掩码的算力节点集合, 为成功上传所述加密模型的算力节点集合,为集合 和集合 的差集;
所述单掩码解密算法包括:
;
其中, 为解密后的聚合模型向量, 为聚合后的加密模型向量, 为从区块链下载的所有掩码和, 为成功上传所述加密掩码的算力节点集合中的算力节点;
所述线性同态哈希算法的表达式为:
;
所述线性同态哈希验证算法的表达式为:
;
其中, 表示 个同态哈希值的线性组合,表示线性系数的个数, 表示模型哈希值,表示为线性系数, 表示对模型哈希后的哈希值, 表示模型维数,为模型维数中的一种, 表示模型向量, 表示一个循环群,阶为 , 为质数,生成元为 , 表示属于 的 个元素。
2.根据权利要求1所述的算力网络隐私保护联邦学习方法,其特征在于:所述加密掩码通过下述方法获取:其他算力节点通过掩码生成函数生成掩码,共享密钥生成算法生成共享密钥,并通过对称加密算法加密所述掩码,以获取所述加密掩码。
3.一种隐私保护联邦学习装置,能够执行权利要求1‑2任一项所述的隐私保护联邦学习方法,其特征在于,包括:初始化模块,用于算力节点通过公私钥算法生成公私钥对,并将所述公私钥对中的公钥和算力节点的初始化模型上传至区块链,随机选择一个初始化模型作为全局模型;
训练模块,用于算力节点从区块链获取所述全局模型和其他算力节点的公钥,并通过本地数据集训练所述全局模型;
模型加密模块,用于从区块链下载其他算力节点发送的加密掩码,基于通过共享密钥解密所述加密掩码所获得的掩码和算力节点通过掩码生成函数生成的自掩码,通过单掩码加密算法加密所述全局模型获得加密模型,并将所述加密模型上传至区块链;
掩码和计算模块,用于算力节点根据从区块链获取的在线算力节点集合使用掩码和计算公式计算掩码和,并将所述掩码和上传至区块链;
解密模块,用于算力节点从区块链下载所有的加密模型和掩码和,使用单掩码解密算法将掩码和输入所有加密模型的聚合模型以完成解密;
同态哈希值计算模块,用于算力节点利用线性同态哈希算法计算未加密模型和解密后的聚合模型的同态哈希值,将两个同态哈希值连同解密后的模型一起上传至区块链;
验证模块,用于算力节点从区块链下载其他算力节点上传的同态哈希值,利用线性同态哈希验证算法对聚合模型的正确性进行验证并将验证结果上传至区块链,区块链选择一个验证通过的模型作为新的全局模型,迭代上述所有步骤直至全局模型收敛或达到通信轮次;
算力节点通过自身的私钥和所述其他算力节点的公钥生成共享密钥。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~2任一项所述方法的步骤。