本說明書實(shí)施例屬于數(shù)據(jù)處理領(lǐng)域,尤其涉及一種保護(hù)隱私的多方數(shù)據(jù)處理方法和計(jì)算設(shè)備。
背景技術(shù):
1、在保護(hù)隱私的多方計(jì)算場(chǎng)景中,兩個(gè)參與方經(jīng)常需要共同計(jì)算兩方的向量的內(nèi)積,而不泄露各自的向量信息。具體是,假設(shè)有p0,p1兩個(gè)參與方,他們分別持有向量集其中,每個(gè)向量的長(zhǎng)度都是l,n通??梢詾閹装佟珟兹f的數(shù)值,l例如為16等。p0,p1要通過某種安全的方法計(jì)算這些向量的內(nèi)積(符號(hào)<·,·>表示向量的內(nèi)積,下文中也用向量之間的“·”表示內(nèi)積),在計(jì)算結(jié)果例如由p0得到的情況下,需要滿足:p0只能得到內(nèi)積結(jié)果,不能得到除內(nèi)積之外的任何關(guān)于ui的信息,p1無法得到關(guān)于p0的向量vi的任何信息。
2、在一種技術(shù)方案中,利用同態(tài)加密解決上述問題。例如,可以使用paillier同態(tài)加密算法。首先p0將自己的向量加密,由于每個(gè)向量包含l個(gè)整數(shù),因此每個(gè)向量被加密成l個(gè)密文,p0共有n個(gè)向量,因此需要傳輸nl個(gè)密文給p1。p1收到密文后,通過密文乘明文操作計(jì)算乘法,而后通過密文加法得到密態(tài)的內(nèi)積結(jié)果,共n個(gè)密文。最后將這n個(gè)密文返回給p0,由p0來解密,得到最后的內(nèi)積結(jié)果。然而,使用paillier(以及類似的)同態(tài)加密方案,密文尺寸較大,使得通信量較大,并且計(jì)算量較大。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種保護(hù)隱私的多方數(shù)據(jù)處理方法,使得兩個(gè)參與方以減小的計(jì)算量和通信數(shù)據(jù)量批量得到多組向量之間的內(nèi)積。
2、本說明書第一方面提供一種保護(hù)隱私的多方數(shù)據(jù)處理方法,所述多方包括第一方和第二方,所述第一方擁有順序排列的h個(gè)第一實(shí)數(shù)向量,所述第二方擁有順序排列的h個(gè)第二實(shí)數(shù)向量,其中,相同順序的第一實(shí)數(shù)向量和第二實(shí)數(shù)向量為待計(jì)算內(nèi)積的一組實(shí)數(shù)向量,所述方法包括:
3、所述第一方執(zhí)行如下步驟:
4、將所述h個(gè)第一實(shí)數(shù)向量合并為第一合并向量,其中,所述h對(duì)應(yīng)于n/l,所述h個(gè)第一實(shí)數(shù)向量中的每組相同位置的h個(gè)分量在所述第一合并向量中連續(xù)排列,所述n為預(yù)設(shè)多項(xiàng)式空間中的多項(xiàng)式的項(xiàng)數(shù),所述第一實(shí)數(shù)向量和所述第二實(shí)數(shù)向量包括l個(gè)分量;
5、對(duì)所述第一合并向量進(jìn)行同態(tài)加密,得到第一密文,所述第一密文包括所述多項(xiàng)式空間中的多項(xiàng)式;
6、將所述第一密文發(fā)送給所述第二方;
7、所述第二方執(zhí)行如下步驟:
8、將所述h個(gè)第二實(shí)數(shù)向量合并為第二合并向量,其中,所述h個(gè)第二實(shí)數(shù)向量中的每組相同位置的h個(gè)分量在所述第二合并向量中連續(xù)排列;
9、將所述第二合并向量轉(zhuǎn)換為第二明文多項(xiàng)式,所述第二明文多項(xiàng)式包括n項(xiàng);
10、計(jì)算所述第一密文與所述第二明文多項(xiàng)式的乘積,得到第二密文;
11、對(duì)所述第二密文進(jìn)行同態(tài)運(yùn)算,得到第三密文,所述第三密文對(duì)應(yīng)的明文向量的多個(gè)分量中包括所述h組實(shí)數(shù)向量中各組實(shí)數(shù)向量的內(nèi)積。
12、本說明書第二方面提供一種保護(hù)隱私的多方數(shù)據(jù)處理方法,所述多方包括第一方和第二方,所述第一方擁有順序排列的h個(gè)第一實(shí)數(shù)向量,所述第二方擁有順序排列的h個(gè)第二實(shí)數(shù)向量,其中,相同順序的第一實(shí)數(shù)向量和第二實(shí)數(shù)向量為待計(jì)算內(nèi)積的一組實(shí)數(shù)向量,所述方法由所述第一方執(zhí)行,包括:
13、將所述h個(gè)第一實(shí)數(shù)向量合并為第一合并向量,其中,所述h對(duì)應(yīng)于n/l,所述h個(gè)第一實(shí)數(shù)向量中的每組相同位置的h個(gè)分量在所述第一合并向量中連續(xù)排列,所述n為預(yù)設(shè)多項(xiàng)式空間中的多項(xiàng)式的項(xiàng)數(shù),所述第一實(shí)數(shù)向量和所述第二實(shí)數(shù)向量包括l個(gè)分量;
14、對(duì)所述第一合并向量進(jìn)行同態(tài)加密,得到第一密文,所述第一密文包括所述多項(xiàng)式空間中的多項(xiàng)式;
15、將所述第一密文發(fā)送給所述第二方。
16、本說明書第三方面提供一種保護(hù)隱私的多方數(shù)據(jù)處理方法,所述多方包括第一方和第二方,所述第一方擁有順序排列的h個(gè)第一實(shí)數(shù)向量,所述第二方擁有順序排列的h個(gè)第二實(shí)數(shù)向量,其中,相同順序的第一實(shí)數(shù)向量和第二實(shí)數(shù)向量為待計(jì)算內(nèi)積的一組實(shí)數(shù)向量,所述方法由所述第二方執(zhí)行,包括:
17、從所述第一方接收第一密文,所述第一密文為第一合并向量的同態(tài)密文,所述第一合并向量通過合并所述h個(gè)第一實(shí)數(shù)向量得到,其中,所述h對(duì)應(yīng)于n/l,所述h個(gè)第一實(shí)數(shù)向量中的每組相同位置的h個(gè)分量在所述第一合并向量中連續(xù)排列,所述n為預(yù)設(shè)多項(xiàng)式空間中的多項(xiàng)式的項(xiàng)數(shù),所述第一實(shí)數(shù)向量和所述第二實(shí)數(shù)向量包括l個(gè)分量;
18、將所述h個(gè)第二實(shí)數(shù)向量合并為第二合并向量,其中,所述h個(gè)第二實(shí)數(shù)向量中的每組相同位置的h個(gè)分量在所述第二合并向量中連續(xù)排列;
19、將所述第二合并向量轉(zhuǎn)換為第二明文多項(xiàng)式,所述第二明文多項(xiàng)式包括n項(xiàng);
20、計(jì)算所述第一密文與所述第二明文多項(xiàng)式的乘積,得到第二密文;
21、對(duì)所述第二密文進(jìn)行同態(tài)運(yùn)算,得到第三密文,所述第三密文對(duì)應(yīng)的明文向量的多個(gè)分量中包括所述h組實(shí)數(shù)向量中各組實(shí)數(shù)向量的內(nèi)積。
22、本說明書第四方面提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)中執(zhí)行時(shí),令計(jì)算機(jī)執(zhí)行第一方面~第三方面中任一方面所述的方法。
23、本說明書第五方面提供一種計(jì)算設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器中存儲(chǔ)有可執(zhí)行代碼,所述處理器執(zhí)行所述可執(zhí)行代碼時(shí),實(shí)現(xiàn)第一方面~第三方面中任一方面所述的方法。
24、本說明書第六方面提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面~第三方面中任一方面所述方法的步驟。
25、通過本說明書實(shí)施例的保護(hù)隱私的多方數(shù)據(jù)處理方案,每個(gè)參與方通過以特定方式將其多個(gè)實(shí)數(shù)向量打包到一個(gè)長(zhǎng)向量中,從而可通過同態(tài)運(yùn)算批量地得到多對(duì)實(shí)數(shù)向量的內(nèi)積vi·ui,并且保護(hù)各個(gè)參與方的向量的信息不泄露給其他參與方,如此,減少了多方數(shù)據(jù)處理過程中各個(gè)參與方的計(jì)算量和通信數(shù)據(jù)量。
1.一種保護(hù)隱私的多方數(shù)據(jù)處理方法,所述多方包括第一方和第二方,所述第一方擁有順序排列的h個(gè)第一實(shí)數(shù)向量,所述第二方擁有順序排列的h個(gè)第二實(shí)數(shù)向量,其中,相同順序的第一實(shí)數(shù)向量和第二實(shí)數(shù)向量為待計(jì)算內(nèi)積的一組實(shí)數(shù)向量,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,所述將所述h個(gè)第一實(shí)數(shù)向量合并為第一合并向量,包括:
3.根據(jù)權(quán)利要求2所述的方法,所述將所述h個(gè)第二實(shí)數(shù)向量合并為第二合并向量,包括:
4.根據(jù)權(quán)利要求3所述的方法,所述第一方擁有n組順序排列的h個(gè)第一實(shí)數(shù)向量,所述第二方擁有n組順序排列的h個(gè)第二實(shí)數(shù)向量,所述將所述h個(gè)第二實(shí)數(shù)向量合并為第二合并向量,包括:
5.根據(jù)權(quán)利要求4所述的方法,所述對(duì)所述第二密文進(jìn)行同態(tài)運(yùn)算,得到第三密文,包括:
6.根據(jù)權(quán)利要求5所述的方法,所述基于第六密文和l進(jìn)行旋轉(zhuǎn)和相加的同態(tài)運(yùn)算得到第七密文,包括:
7.根據(jù)權(quán)利要求6所述的方法,所述第七密文對(duì)應(yīng)的明文多項(xiàng)式中相鄰非零項(xiàng)的系數(shù)對(duì)應(yīng)的x的冪次方相差n/l,所述方法還包括:
8.一種保護(hù)隱私的多方數(shù)據(jù)處理方法,所述多方包括第一方和第二方,所述第一方擁有順序排列的h個(gè)第一實(shí)數(shù)向量,所述第二方擁有順序排列的h個(gè)第二實(shí)數(shù)向量,其中,相同順序的第一實(shí)數(shù)向量和第二實(shí)數(shù)向量為待計(jì)算內(nèi)積的一組實(shí)數(shù)向量,所述方法由所述第一方執(zhí)行,包括:
9.一種保護(hù)隱私的多方數(shù)據(jù)處理方法,所述多方包括第一方和第二方,所述第一方擁有順序排列的h個(gè)第一實(shí)數(shù)向量,所述第二方擁有順序排列的h個(gè)第二實(shí)數(shù)向量,其中,相同順序的第一實(shí)數(shù)向量和第二實(shí)數(shù)向量為待計(jì)算內(nèi)積的一組實(shí)數(shù)向量,所述方法由所述第二方執(zhí)行,包括:
10.一種計(jì)算設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器中存儲(chǔ)有可執(zhí)行代碼,所述處理器執(zhí)行所述可執(zhí)行代碼時(shí),實(shí)現(xiàn)權(quán)利要求1-9中任一項(xiàng)所述的方法。