本說(shuō)明書(shū)一個(gè)或多個(gè)實(shí)施例涉及數(shù)據(jù)安全處理,尤其涉及一種保護(hù)隱私的兩方聯(lián)合進(jìn)行指數(shù)運(yùn)算的方法及裝置。
背景技術(shù):
1、安全多方計(jì)算(secure?multi-party?computation,簡(jiǎn)稱(chēng)mpc)是一種能夠在多個(gè)參與方之間進(jìn)行協(xié)同計(jì)算的安全計(jì)算技術(shù)。在mpc技術(shù)的框架下,多個(gè)參與方可以在不泄露各自私有數(shù)據(jù)的前提下,完成某種計(jì)算任務(wù),或者說(shuō)共同計(jì)算出一個(gè)約定函數(shù)。這種技術(shù)在保護(hù)數(shù)據(jù)隱私、安全計(jì)算等方面具有廣泛應(yīng)用,特別是在金融、醫(yī)療等涉及敏感數(shù)據(jù)的領(lǐng)域中。
2、隨著mpc技術(shù)的發(fā)展和應(yīng)用場(chǎng)景的增加,參與方在某些特定的業(yè)務(wù)場(chǎng)景中需要聯(lián)合進(jìn)行復(fù)雜的數(shù)學(xué)運(yùn)算,例如指數(shù)運(yùn)算。指數(shù)運(yùn)算是一種在許多加密算法和數(shù)據(jù)處理場(chǎng)景中頻繁使用的基礎(chǔ)操作,在密碼學(xué)協(xié)議中尤為常見(jiàn)。對(duì)于多方來(lái)說(shuō),如何安全、高效地進(jìn)行指數(shù)運(yùn)算,成為了mpc技術(shù)應(yīng)用中的一個(gè)重要需求。
3、然而,現(xiàn)有的mpc協(xié)議在進(jìn)行指數(shù)運(yùn)算時(shí),面臨著計(jì)算效率、通信開(kāi)銷(xiāo)等方面的挑戰(zhàn)。例如,申請(qǐng)人發(fā)現(xiàn)在車(chē)險(xiǎn)業(yè)務(wù)場(chǎng)景下,多方聯(lián)合使用秘密分享廣義線性模型(secretsharing?generalized?linear?model,簡(jiǎn)稱(chēng)ss-glm)算法建模時(shí),算法運(yùn)行速率的瓶頸在指數(shù)函數(shù)的計(jì)算。
4、由此,本說(shuō)明書(shū)實(shí)施例提出一種改進(jìn)后的用于實(shí)現(xiàn)指數(shù)運(yùn)算的mpc協(xié)議,可以更好地滿足實(shí)際應(yīng)用需求,例如,提高計(jì)算效率、減少通信開(kāi)銷(xiāo)等。
技術(shù)實(shí)現(xiàn)思路
1、本說(shuō)明書(shū)實(shí)施例描述一種保護(hù)隱私的兩方聯(lián)合進(jìn)行指數(shù)運(yùn)算的方法及裝置,可以更好地滿足實(shí)際應(yīng)用需求。
2、根據(jù)第一方面,提供一種保護(hù)隱私的兩方聯(lián)合進(jìn)行指數(shù)運(yùn)算的方法。該由其中任一方執(zhí)行,包括:
3、首先,基于本方持有的對(duì)應(yīng)目標(biāo)指數(shù)的第一本方分片,通過(guò)本地計(jì)算以及與另一方交互,得到對(duì)應(yīng)所述目標(biāo)指數(shù)和目標(biāo)底數(shù)2之間的目標(biāo)運(yùn)算結(jié)果的第二本方分片;所述第一和第二本方分片分別屬于第一和第二定點(diǎn)數(shù)環(huán),且第二定點(diǎn)數(shù)環(huán)的模數(shù)q小于第一定點(diǎn)數(shù)環(huán)的模數(shù)2l。然后,將所述第二本方分片轉(zhuǎn)換回所述第一定點(diǎn)數(shù)環(huán),具體包括:基于對(duì)所述第二本方分片的首位比特進(jìn)行取反操作的結(jié)果,與另一方通過(guò)對(duì)等操作而得到的結(jié)果進(jìn)行安全乘法計(jì)算,得到第三本方分片;對(duì)所述第三本方分片進(jìn)行取反操作,得到第四本方分片,其對(duì)應(yīng)進(jìn)位比特;基于所述第四本方分片、模數(shù)q和位數(shù)l,更新所述第二本方分片。
4、在一種可能的實(shí)施方式中,所述安全乘法計(jì)算的實(shí)現(xiàn)基于beaver乘法三元組協(xié)議。
5、在一種可能的實(shí)施方式中,所述目標(biāo)指數(shù)包括整數(shù)部分和小數(shù)部分,所述模數(shù)q為梅森素?cái)?shù);其中,所述本地計(jì)算以及與另一方交互包括:
6、將所述第一本方分片拆分為對(duì)應(yīng)所述整數(shù)部分的第一子分片和對(duì)應(yīng)所述小數(shù)部分的第二子分片;所述第二子分片為雙精度浮點(diǎn)數(shù)。將所述第一子分片轉(zhuǎn)換到模數(shù)為q-1的定點(diǎn)數(shù)環(huán)后,計(jì)算以其為指數(shù)以2為底數(shù)的第一冪運(yùn)算結(jié)果。計(jì)算以所述第二子分片為指數(shù)以2為底數(shù)的第二冪運(yùn)算結(jié)果,對(duì)所述第二冪運(yùn)算結(jié)果左移f位后轉(zhuǎn)換為單精度浮點(diǎn)數(shù),再進(jìn)行取整操作?;谒龅谝粌邕\(yùn)算結(jié)果和所述取整操作的結(jié)果,與所述另一方交互,得到所述第二本方分片。
7、進(jìn)一步,在一個(gè)實(shí)施例中,所述目標(biāo)運(yùn)算結(jié)果為:對(duì)所述目標(biāo)底數(shù)2的目標(biāo)指數(shù)次冪左移f位后的結(jié)果;其中,基于所述第一冪運(yùn)算結(jié)果和所述取整操作的結(jié)果,與所述另一方交互,得到所述第二本方分片,包括:
8、對(duì)所述第一冪運(yùn)算結(jié)果和所述取整操作的結(jié)果進(jìn)行乘積處理,得到對(duì)應(yīng)所述目標(biāo)運(yùn)算結(jié)果的本方乘法分片?;谒霰痉匠朔ǚ制c另一方對(duì)應(yīng)持有的另一乘法分片進(jìn)行交互,得到第二本方分片,此第二本方分片屬于加法分片。
9、更進(jìn)一步地,在一個(gè)例子中,基于所述第四本方分片、模數(shù)q和位數(shù)l,更新所述第二本方分片,包括:對(duì)所述第二本方分片和模數(shù)q分別進(jìn)行右移f位的操作,對(duì)應(yīng)得到第一和第二右移分片;利用所述第一右移分片減去所述第二右移分片和第四本方分片之間的乘積,并計(jì)算該乘積對(duì)2的l次冪進(jìn)行取模的結(jié)果,得到更新后的第二本方分片。
10、在另一個(gè)實(shí)施例中,所述目標(biāo)運(yùn)算結(jié)果為所述目標(biāo)底數(shù)2的目標(biāo)指數(shù)次冪;其中,基于所述第一冪運(yùn)算結(jié)果和所述取整操作的結(jié)果,與所述另一方交互,得到所述第二本方分片,包括:
11、對(duì)所述第一冪運(yùn)算結(jié)果和所述取整操作的結(jié)果進(jìn)行乘積處理,得到所述目標(biāo)運(yùn)算結(jié)果左移f位后對(duì)應(yīng)的本方乘法分片。基于所述本方乘法分片與另一方對(duì)應(yīng)持有的另一乘法分片進(jìn)行交互,得到本方加法分片?;诒痉郊臃ǚ制臀粩?shù)f進(jìn)行隱私除法計(jì)算,得到所述第二本方分片。
12、在一種可能的實(shí)施方式中,所述第一本方分片的確定包括:基于原始底數(shù),將對(duì)應(yīng)原始指數(shù)的第五本方分片轉(zhuǎn)換為所述第一本方分片;所述原始底數(shù)的原始指數(shù)次冪等于所述目標(biāo)底數(shù)的目標(biāo)指數(shù)次冪。
13、根據(jù)第二方面,提供一種種保護(hù)隱私的兩方聯(lián)合進(jìn)行指數(shù)運(yùn)算的裝置,集成于其中任一方。該裝置包括以下功能模塊:
14、分片計(jì)算單元,配置為基于本方持有的對(duì)應(yīng)目標(biāo)指數(shù)的第一本方分片,通過(guò)本地計(jì)算以及與另一方交互,得到對(duì)應(yīng)所述目標(biāo)指數(shù)和目標(biāo)底數(shù)2之間的目標(biāo)運(yùn)算結(jié)果的第二本方分片;所述第一和第二本方分片分別屬于第一和第二定點(diǎn)數(shù)環(huán),且第二定點(diǎn)數(shù)環(huán)的模數(shù)q小于第一定點(diǎn)數(shù)環(huán)的模數(shù)2l。環(huán)轉(zhuǎn)換單元,配置為將所述第二本方分片轉(zhuǎn)換回所述第一定點(diǎn)數(shù)環(huán),具體包括:基于對(duì)所述第二本方分片的首位比特進(jìn)行取反操作的結(jié)果,與另一方通過(guò)對(duì)等操作而得到的結(jié)果進(jìn)行安全乘法計(jì)算,得到第三本方分片;對(duì)所述第三本方分片進(jìn)行取反操作,得到第四本方分片,其對(duì)應(yīng)進(jìn)位比特;基于所述第四本方分片、模數(shù)q和位數(shù)l,更新所述第二本方分片。
15、根據(jù)第三方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)該計(jì)算機(jī)程序在計(jì)算機(jī)中執(zhí)行時(shí),令計(jì)算機(jī)執(zhí)行第一方面提供的方法。
16、根據(jù)第四方面,提供了一種計(jì)算設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器中存儲(chǔ)有可執(zhí)行代碼,該處理器執(zhí)行所述可執(zhí)行代碼時(shí),實(shí)現(xiàn)第一方面提供的方法。
17、綜上,采用本說(shuō)明書(shū)實(shí)施例披露的上述方法及裝置,可以提高多方聯(lián)合進(jìn)行指數(shù)運(yùn)算的計(jì)算效率、減少通信開(kāi)銷(xiāo)等。
1.一種保護(hù)隱私的兩方聯(lián)合進(jìn)行指數(shù)運(yùn)算的方法,由其中任一方執(zhí)行,包括:
2.根據(jù)權(quán)利要求1所述的方法,其中,所述安全乘法計(jì)算的實(shí)現(xiàn)基于beaver乘法三元組協(xié)議。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述目標(biāo)指數(shù)包括整數(shù)部分和小數(shù)部分,所述模數(shù)q為梅森素?cái)?shù);其中,所述本地計(jì)算以及與另一方交互包括:
4.根據(jù)權(quán)利要求3所述的方法,其中,所述目標(biāo)運(yùn)算結(jié)果為:對(duì)所述目標(biāo)底數(shù)2的目標(biāo)指數(shù)次冪左移f位后的結(jié)果;其中,基于所述第一冪運(yùn)算結(jié)果和所述取整操作的結(jié)果,與所述另一方交互,得到所述第二本方分片,包括:
5.根據(jù)權(quán)利要求4所述的方法,其中,基于所述第四本方分片、模數(shù)q和位數(shù)l,更新所述第二本方分片,包括:
6.根據(jù)權(quán)利要求3所述的方法,其中,所述目標(biāo)運(yùn)算結(jié)果為所述目標(biāo)底數(shù)2的目標(biāo)指數(shù)次冪;其中,基于所述第一冪運(yùn)算結(jié)果和所述取整操作的結(jié)果,與所述另一方交互,得到所述第二本方分片,包括:
7.根據(jù)權(quán)利要求1所述的方法,其中,所述第一本方分片的確定包括:
8.一種保護(hù)隱私的兩方聯(lián)合進(jìn)行指數(shù)運(yùn)算的裝置,集成于其中任一方,包括:
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其中,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)中執(zhí)行時(shí),令計(jì)算機(jī)執(zhí)行權(quán)利要求1-7中任一項(xiàng)所述的方法。
10.一種計(jì)算設(shè)備,包括存儲(chǔ)器和處理器,其中,所述存儲(chǔ)器中存儲(chǔ)有可執(zhí)行代碼,所述處理器執(zhí)行所述可執(zhí)行代碼時(shí),實(shí)現(xiàn)權(quán)利要求1-7中任一項(xiàng)所述的方法。