本說明書一個或多個實(shí)施例涉及隱私安全,尤其涉及一種隱私計算方法、系統(tǒng)、電子設(shè)備、計算機(jī)可讀存儲介質(zhì)及計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)的高速發(fā)展,數(shù)據(jù)主體積累的數(shù)據(jù)量越來越多,希望結(jié)合其他數(shù)據(jù)主體的數(shù)據(jù),從更多維度來豐富己方數(shù)據(jù)價值。但數(shù)據(jù)與常規(guī)物品不同,很容易被任意復(fù)制與轉(zhuǎn)移,為了保護(hù)數(shù)據(jù)隱私,通常會采用安全多方計算、差分隱私以及同態(tài)加密等技術(shù),允許多個參與方在保護(hù)自己的數(shù)據(jù)不被泄漏的情況下進(jìn)行隱私計算。但是,目前的隱私計算方案仍然存在性能問題,隱私計算效率有待改進(jìn)。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本說明書一個或多個實(shí)施例提供一種隱私計算方法、系統(tǒng)、電子設(shè)備、計算機(jī)可讀存儲介質(zhì)及計算機(jī)程序產(chǎn)品。
2、為實(shí)現(xiàn)上述目的,本說明書一個或多個實(shí)施例提供技術(shù)方案如下:
3、根據(jù)本說明書一個或多個實(shí)施例的第一方面,提出了一種隱私計算方法,用于對第一數(shù)值和第二數(shù)值進(jìn)行基于隱私保護(hù)的定點(diǎn)小數(shù)乘法運(yùn)算;所述第一數(shù)值基于數(shù)字秘密共享算法被拆分為由參與所述隱私保護(hù)的第一參與方持有的第一部分和由參與所述隱私保護(hù)的第二參與方持有的第二部分;所述第二數(shù)值基于所述數(shù)字秘密共享算法被拆分為由所述第一參與方持有的第三部分和由所述第二參與方持有的第四部分;所述第一數(shù)值和所述第二數(shù)值的數(shù)據(jù)長度為第一數(shù)據(jù)長度;
4、所述方法應(yīng)用于第一參與方對應(yīng)的電子設(shè)備,所述方法包括:
5、基于所述第一參與方持有的所述第一數(shù)值中的第一部分和所述第二數(shù)值中的第三部分進(jìn)行乘法運(yùn)算,獲得第一數(shù)值和第二數(shù)值的乘法運(yùn)算結(jié)果的第一分片;
6、基于所述定點(diǎn)小數(shù)乘法運(yùn)算中的預(yù)設(shè)小數(shù)點(diǎn)位置對所述乘法運(yùn)算結(jié)果的第一分片的小數(shù)部分進(jìn)行截斷處理;
7、利用所述數(shù)字秘密共享算法對截斷處理后的所述乘法運(yùn)算結(jié)果的第一分片進(jìn)行加密處理,得到第一加密結(jié)果;所述第一加密結(jié)果的數(shù)據(jù)長度小于所述第一數(shù)據(jù)長度;
8、將所述第一加密結(jié)果發(fā)送給所述第二參與方,以及接收所述第二參與方發(fā)送的在進(jìn)行定點(diǎn)小數(shù)乘法運(yùn)算后得到的第二加密結(jié)果;所述第二加密結(jié)果的數(shù)據(jù)長度小于所述第一數(shù)據(jù)長度;
9、基于所述第一加密結(jié)果和所述第二加密結(jié)果進(jìn)行組合處理,以獲得所述數(shù)字秘密共享算法指示的由所述第一參與方持有的定點(diǎn)小數(shù)乘法運(yùn)算結(jié)果的其中一部分。
10、根據(jù)本說明書實(shí)施例的第二方面,提供一種隱私計算系統(tǒng),包括第一參與方對應(yīng)的電子設(shè)備和第二參與方對應(yīng)的電子設(shè)備;其中,所述隱私計算系統(tǒng)用于對第一數(shù)值和第二數(shù)值進(jìn)行基于隱私保護(hù)的定點(diǎn)小數(shù)乘法運(yùn)算;所述第一數(shù)值基于數(shù)字秘密共享算法被拆分為由參與所述隱私保護(hù)的第一參與方持有的第一部分和由參與所述隱私保護(hù)的第二參與方持有的第二部分;所述第二數(shù)值基于所述數(shù)字秘密共享算法被拆分為由所述第一參與方持有的第三部分和由所述第二參與方持有的第四部分;所述第一數(shù)值和所述第二數(shù)值的數(shù)據(jù)長度為第一數(shù)據(jù)長度;
11、所述第一參與方對應(yīng)的電子設(shè)備用于基于所述第一參與方持有的所述第一數(shù)值中的第一部分和所述第二數(shù)值中的第三部分進(jìn)行乘法運(yùn)算,獲得第一數(shù)值和第二數(shù)值的乘法運(yùn)算結(jié)果的第一分片;基于所述定點(diǎn)小數(shù)乘法運(yùn)算中的預(yù)設(shè)小數(shù)點(diǎn)位置對所述乘法運(yùn)算結(jié)果的第一分片的小數(shù)部分進(jìn)行截斷處理;利用所述數(shù)字秘密共享算法對截斷處理后的所述乘法運(yùn)算結(jié)果的第一分片進(jìn)行加密處理,得到第一加密結(jié)果;所述第一加密結(jié)果的數(shù)據(jù)長度小于所述第一數(shù)據(jù)長度;將所述第一加密結(jié)果發(fā)送給所述第二參與方;
12、所述第二參與方對應(yīng)的電子設(shè)備用于基于所述第二參與方持有的所述第一數(shù)值中的第二部分和所述第二數(shù)值中的第四部分進(jìn)行乘法運(yùn)算,獲得第一數(shù)值和第二數(shù)值的乘法運(yùn)算結(jié)果的第二分片;基于所述定點(diǎn)小數(shù)乘法運(yùn)算中的預(yù)設(shè)小數(shù)點(diǎn)位置對所述乘法運(yùn)算結(jié)果的第二分片的小數(shù)部分進(jìn)行截斷處理;利用所述數(shù)字秘密共享算法對截斷處理后的所述乘法運(yùn)算結(jié)果的第二分片進(jìn)行加密處理,得到第二加密結(jié)果;所述第二加密結(jié)果的數(shù)據(jù)長度小于所述第一數(shù)據(jù)長度;將所述第二加密結(jié)果發(fā)送給所述第一參與方;
13、所述第一參與方對應(yīng)的電子設(shè)備還用于接收所述第二參與方發(fā)送的第二加密結(jié)果,基于所述第一加密結(jié)果和所述第二加密結(jié)果進(jìn)行組合處理,以獲得所述數(shù)字秘密共享算法指示的由所述第一參與方持有的定點(diǎn)小數(shù)乘法運(yùn)算結(jié)果的其中一部分;
14、所述第二參與方對應(yīng)的電子設(shè)備還用于接收所述第一參與方發(fā)送的第一加密結(jié)果,基于所述第一加密結(jié)果和所述第二加密結(jié)果進(jìn)行組合處理,以獲得所述數(shù)字秘密共享算法指示的由所述第二參與方持有的定點(diǎn)小數(shù)乘法運(yùn)算結(jié)果的另一部分。
15、根據(jù)本說明書實(shí)施例的第三方面,提供一種電子設(shè)備,包括:
16、處理器;
17、用于存儲處理器可執(zhí)行指令的存儲器;
18、其中,所述處理器執(zhí)行所述可執(zhí)行指令時,用于實(shí)現(xiàn)第一方面所述的方法。
19、根據(jù)本說明書實(shí)施例的第四方面,提供一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,該程序被處理器執(zhí)行時實(shí)現(xiàn)上述任一項所述方法的步驟。
20、根據(jù)本說明書實(shí)施例的第五方面,提供一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述任一項所述方法的步驟。
21、本說明書的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
22、本說明書實(shí)施例中,在對第一數(shù)值和第二數(shù)值進(jìn)行基于隱私保護(hù)的定點(diǎn)小數(shù)乘法運(yùn)算的過程中,第一參與方在獲得第一數(shù)值和第二數(shù)值的乘法運(yùn)算結(jié)果的第一分片之后進(jìn)行截斷處理,并且在進(jìn)行截斷處理后不進(jìn)行補(bǔ)位操作,使得通信過程中傳輸?shù)牡谝患用芙Y(jié)果小于第一數(shù)據(jù)長度,同理,第二參與方基于類似方式獲得并需要傳輸?shù)牡诙用芙Y(jié)果也小于第一數(shù)據(jù)長度,從而有效減少了通信傳輸量,從而有利于提高通信效率和隱私計算效率。
23、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本說明書。
1.一種隱私計算方法,用于對第一數(shù)值和第二數(shù)值進(jìn)行基于隱私保護(hù)的定點(diǎn)小數(shù)乘法運(yùn)算;所述第一數(shù)值基于數(shù)字秘密共享算法被拆分為由參與所述隱私保護(hù)的第一參與方持有的第一部分和由參與所述隱私保護(hù)的第二參與方持有的第二部分;所述第二數(shù)值基于所述數(shù)字秘密共享算法被拆分為由所述第一參與方持有的第三部分和由所述第二參與方持有的第四部分;所述第一數(shù)值和所述第二數(shù)值的數(shù)據(jù)長度為第一數(shù)據(jù)長度;
2.根據(jù)權(quán)利要求1所述的方法,所述定點(diǎn)小數(shù)乘法運(yùn)算包括所述第一參與方和所述第二參與方在進(jìn)行基于多方安全計算的機(jī)器學(xué)習(xí)的過程中,由所述機(jī)器學(xué)習(xí)指示的神經(jīng)網(wǎng)絡(luò)模型中的卷積層引入的定點(diǎn)小數(shù)乘法運(yùn)算。
3.根據(jù)權(quán)利要求1所述的方法,所述第一數(shù)值中的第一部分包括由所述第一參與方單獨(dú)持有的第一數(shù)字秘密分片,所述第一數(shù)值中的第二部分包括由所述第二參與方單獨(dú)持有的第二數(shù)字秘密分片;
4.根據(jù)權(quán)利要求3所述的方法,所述第一數(shù)值中的第一部分和第二部分均還包括由所述第一參與方和所述第二參與方共同持有的第一公共值;
5.根據(jù)權(quán)利要求1所述的方法,所述第一數(shù)值和所述第二數(shù)值的小數(shù)部分的數(shù)據(jù)長度為第二數(shù)據(jù)長度,所述第二數(shù)據(jù)長度小于所述第一數(shù)據(jù)長度;
6.根據(jù)權(quán)利要求5所述的方法,所述數(shù)字秘密共享算法指示的由所述第一參與方持有的定點(diǎn)小數(shù)乘法運(yùn)算結(jié)果的其中一部分包括第三公共值以及所述第五秘密分片;其中,所述第三公共值包括所述第一加密結(jié)果和所述第二加密結(jié)果之和。
7.根據(jù)權(quán)利要求1所述的方法,所述隱私計算方法還用于在對第一數(shù)值和第二數(shù)值進(jìn)行基于隱私保護(hù)的定點(diǎn)小數(shù)乘法運(yùn)算之后,對獲得的定點(diǎn)小數(shù)乘法運(yùn)算結(jié)果進(jìn)行基于隱私保護(hù)的非線性運(yùn)算;
8.根據(jù)權(quán)利要求7所述的方法,所述非線性運(yùn)算包括所述第一參與方和所述第二參與方在進(jìn)行基于多方安全計算的機(jī)器學(xué)習(xí)的過程中,由所述機(jī)器學(xué)習(xí)指示的神經(jīng)網(wǎng)絡(luò)模型中的激活層引入的激活函數(shù)計算。
9.根據(jù)權(quán)利要求7所述的方法,所述將由所述第一參與方持有的定點(diǎn)小數(shù)乘法運(yùn)算結(jié)果的其中一部分從數(shù)字秘密共享轉(zhuǎn)換為布爾秘密共享,包括:
10.根據(jù)權(quán)利要求9所述的方法,所述第一參與方持有的定點(diǎn)小數(shù)乘法運(yùn)算結(jié)果的其中一部分包括由所述第一參與方和所述第二參與方共同持有的第三公共值以及由所述第一參與方單獨(dú)持有的第五數(shù)字秘密分片;
11.根據(jù)權(quán)利要求7或8所述的方法,所述非線性運(yùn)算包括計算relu函數(shù);
12.根據(jù)權(quán)利要求7所述的方法,所述第一數(shù)值和所述第二數(shù)值的小數(shù)部分的數(shù)據(jù)長度為第二數(shù)據(jù)長度,所述第二數(shù)據(jù)長度小于所述第一數(shù)據(jù)長度;所述非線性運(yùn)算結(jié)果的其中一個分片的數(shù)據(jù)長度為第三數(shù)據(jù)長度,所述第三數(shù)據(jù)長度為所述第一數(shù)據(jù)長度和所述第二數(shù)據(jù)長度之差;
13.一種隱私計算系統(tǒng),包括第一參與方對應(yīng)的電子設(shè)備和第二參與方對應(yīng)的電子設(shè)備;其中,所述隱私計算系統(tǒng)用于對第一數(shù)值和第二數(shù)值進(jìn)行基于隱私保護(hù)的定點(diǎn)小數(shù)乘法運(yùn)算;所述第一數(shù)值基于數(shù)字秘密共享算法被拆分為由參與所述隱私保護(hù)的第一參與方持有的第一部分和由參與所述隱私保護(hù)的第二參與方持有的第二部分;所述第二數(shù)值基于所述數(shù)字秘密共享算法被拆分為由所述第一參與方持有的第三部分和由所述第二參與方持有的第四部分;所述第一數(shù)值和所述第二數(shù)值的數(shù)據(jù)長度為第一數(shù)據(jù)長度;
14.一種電子設(shè)備,包括:
15.一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)指令,該指令被處理器執(zhí)行時實(shí)現(xiàn)如權(quán)利要求1至12中任一項所述方法的步驟。
16.一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1至12任意一項所述方法的步驟。