本說明書實(shí)施例涉及隱私計算,尤其涉及數(shù)據(jù)混洗方法、系統(tǒng)、設(shè)備、程序產(chǎn)品及存儲介質(zhì)。
背景技術(shù):
1、benes網(wǎng)絡(luò)是電路交換中著名的可重排無阻塞的蝶形網(wǎng)絡(luò),能實(shí)現(xiàn)輸入端到輸出端的所有置換,作為非阻塞開關(guān)網(wǎng)絡(luò)最初在通信領(lǐng)域得到廣泛的應(yīng)用。目前,如隱私計算保護(hù)等場景下,可以采用benes網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)混洗。例如,數(shù)據(jù)混洗方可以構(gòu)建出benes網(wǎng)絡(luò),benes網(wǎng)絡(luò)可以包含多個子混洗單元,每個子混洗單元包含多個輸入位置和輸出位置,可以采用隨機(jī)排列算法,生成子混洗單元的多個輸入位置和輸出位置之間的位置置換規(guī)則。相關(guān)技術(shù)中,是由隨機(jī)排列算法從多個輸入位置中隨機(jī)選取某個輸入位置后,對多個輸入位置進(jìn)行隨機(jī)排列后生成位置置換規(guī)則的,因此無法復(fù)現(xiàn)相同benes網(wǎng)絡(luò),導(dǎo)致數(shù)據(jù)混洗具有較多局限。
技術(shù)實(shí)現(xiàn)思路
1、為克服相關(guān)技術(shù)中存在的問題,本公開提供了數(shù)據(jù)混洗方法、系統(tǒng)、設(shè)備、程序產(chǎn)品及存儲介質(zhì)。
2、根據(jù)本說明書實(shí)施例的第一方面,提供一種數(shù)據(jù)混洗方法,包括:
3、獲取待生成的benes網(wǎng)絡(luò)中包含的各個子混洗單元分別對應(yīng)的隨機(jī)數(shù);其中,所述子混洗單元包含多個輸入位置和多個輸出位置;所述隨機(jī)數(shù)用于生成benes網(wǎng)絡(luò);
4、根據(jù)與各個子混洗單元分別對應(yīng)的隨機(jī)數(shù)和預(yù)設(shè)映射關(guān)系,從各個子混洗單元包含的多個輸入位置中確定與所述隨機(jī)數(shù)映射的目標(biāo)輸入位置;
5、基于預(yù)設(shè)的隨機(jī)排列算法按照所述目標(biāo)輸入位置對所述多個輸入位置進(jìn)行隨機(jī)排列,并基于隨機(jī)排列結(jié)果生成各個子混洗單元包含的多個輸入位置和多個輸出位置之間的位置置換規(guī)則;
6、根據(jù)各個子混洗單元的位置置換規(guī)則,生成用于對待混洗數(shù)據(jù)集進(jìn)行數(shù)據(jù)混洗的benes網(wǎng)絡(luò);其中,所述各個子混洗單元分別對應(yīng)的隨機(jī)數(shù)被存儲至預(yù)設(shè)存儲位置或者傳輸至其他服務(wù)器,以用于生成相同的所述benes網(wǎng)絡(luò)。
7、根據(jù)本說明書實(shí)施例的第二方面,提供一種數(shù)據(jù)混洗系統(tǒng),所述數(shù)據(jù)混洗系統(tǒng)包括數(shù)據(jù)持有方的多個數(shù)據(jù)方服務(wù)器以及數(shù)據(jù)混洗方的多個混洗服務(wù)器;所述數(shù)據(jù)持有方的明文數(shù)據(jù)集所劃分出的多個明文數(shù)據(jù)塊,分別存儲于所述多個數(shù)據(jù)方服務(wù)器中;
8、所述多個混洗服務(wù)器中任一混洗服務(wù)器在生成隨機(jī)數(shù)種子后傳輸至其他混洗服務(wù)器;
9、所述多個混洗服務(wù)器中每個混洗服務(wù)器用于:
10、獲取對應(yīng)的數(shù)據(jù)方服務(wù)器提供的與明文數(shù)據(jù)塊對應(yīng)的待混洗數(shù)據(jù)塊;
11、獲取隨機(jī)數(shù)種子,基于所述隨機(jī)數(shù)種子生成父隨機(jī)數(shù);
12、根據(jù)設(shè)定選取規(guī)則,從生成的隨機(jī)數(shù)中為待生成的benes網(wǎng)絡(luò)中包含的各個子混洗單元分別選取對應(yīng)的隨機(jī)數(shù);
13、根據(jù)與各個子混洗單元分別對應(yīng)的隨機(jī)數(shù)和預(yù)設(shè)映射關(guān)系,從各個子混洗單元包含的多個輸入位置中確定與所述隨機(jī)數(shù)映射的目標(biāo)輸入位置;
14、基于預(yù)設(shè)的隨機(jī)排列算法按照所述目標(biāo)輸入位置對所述多個輸入位置進(jìn)行隨機(jī)排列,并基于隨機(jī)排列結(jié)果生成各個子混洗單元包含的多個輸入位置和多個輸出位置之間的位置置換規(guī)則;
15、根據(jù)各個子混洗單元的位置置換規(guī)則,生成benes網(wǎng)絡(luò);
16、利用所述benes網(wǎng)絡(luò)對所述待混洗數(shù)據(jù)塊進(jìn)行數(shù)據(jù)混洗。
17、根據(jù)本說明書實(shí)施例的第三方面,提供一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)前述第一方面所述方法實(shí)施例的步驟。
18、根據(jù)本說明書實(shí)施例的第四方面,提供一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)前述第一方面所述方法實(shí)施例的步驟。
19、根據(jù)本說明書實(shí)施例的第五方面,提供一種計算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計算機(jī)程序,其中,所述處理器執(zhí)行所述計算機(jī)程序時實(shí)現(xiàn)前述第一方面所述方法實(shí)施例的步驟。
20、本說明書的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
21、本說明書實(shí)施例中,獲取待生成的benes網(wǎng)絡(luò)中包含的各個子混洗單元分別對應(yīng)的隨機(jī)數(shù);根據(jù)與各個子混洗單元分別對應(yīng)的隨機(jī)數(shù)和預(yù)設(shè)映射關(guān)系,從各個子混洗單元包含的多個輸入位置中確定與隨機(jī)數(shù)映射的目標(biāo)輸入位置;基于預(yù)設(shè)的隨機(jī)排列算法按照目標(biāo)輸入位置對多個輸入位置進(jìn)行隨機(jī)排列,并基于隨機(jī)排列結(jié)果生成各個子混洗單元包含的多個輸入位置和多個輸出位置之間的位置置換規(guī)則;根據(jù)各個子混洗單元的位置置換規(guī)則,生成benes網(wǎng)絡(luò)。本實(shí)施例中,各個子混洗單元分別對應(yīng)的隨機(jī)數(shù)被存儲至預(yù)設(shè)存儲位置或者傳輸至其他服務(wù)器,由于隨機(jī)數(shù)可以映射出多個輸入位置中的目標(biāo)輸入位置,因此隨機(jī)排列算法按照目標(biāo)輸入位置對多個輸入位置進(jìn)行排列,能夠得到固定的排列結(jié)果,從而可以得到固定的位置置換規(guī)則,使得基于每個子混洗單元對應(yīng)的隨機(jī)數(shù)所生成的位置置換規(guī)則是可以復(fù)現(xiàn)的,進(jìn)而可以實(shí)現(xiàn)復(fù)現(xiàn)相同benes網(wǎng)絡(luò)的效果。
22、本說明書實(shí)施例的數(shù)據(jù)混洗系統(tǒng),數(shù)據(jù)混洗系統(tǒng)包括數(shù)據(jù)持有方的多個數(shù)據(jù)方服務(wù)器以及數(shù)據(jù)混洗方的多個混洗服務(wù)器;數(shù)據(jù)持有方的明文數(shù)據(jù)集所劃分出的多個明文數(shù)據(jù)塊,分別存儲于所述多個數(shù)據(jù)方服務(wù)器中;所述多個混洗服務(wù)器中任一混洗服務(wù)器在生成隨機(jī)數(shù)種子后傳輸至其他混洗服務(wù)器;所述多個混洗服務(wù)器中每個混洗服務(wù)器可以通過上述實(shí)施例,復(fù)現(xiàn)相同benes網(wǎng)絡(luò)的效果,因此,數(shù)據(jù)方服務(wù)器可以對明文數(shù)據(jù)集進(jìn)行分布式存儲,并可以與混洗服務(wù)器一一通信,通過待混洗數(shù)據(jù)塊給對應(yīng)的混洗服務(wù)器進(jìn)行混洗,實(shí)現(xiàn)了數(shù)據(jù)集的分布式混洗。
23、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
1.一種數(shù)據(jù)混洗方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,所述獲取待生成的benes網(wǎng)絡(luò)中每個子混洗單元分別對應(yīng)的隨機(jī)數(shù),包括:
3.根據(jù)權(quán)利要求1所述的方法,所述根據(jù)與各個子混洗單元分別對應(yīng)的隨機(jī)數(shù)和預(yù)設(shè)映射關(guān)系,從各個子混洗單元包含的多個輸入位置中確定與所述隨機(jī)數(shù)映射的目標(biāo)輸入位置,包括:
4.根據(jù)權(quán)利要求2所述的方法,所述待混洗數(shù)據(jù)集劃分出的多個待混洗數(shù)據(jù)塊,被分布式存儲于分布式系統(tǒng)的多個混洗服務(wù)器中,所述隨機(jī)數(shù)種子由所述分布式系統(tǒng)中的任一混洗服務(wù)器生成并傳輸至所述分布式系統(tǒng)中的其他混洗服務(wù)器,以使存儲待混洗數(shù)據(jù)塊的任一混洗服務(wù)器生成所述benes網(wǎng)絡(luò)后,對所存儲的待混洗數(shù)據(jù)塊進(jìn)行數(shù)據(jù)混洗。
5.根據(jù)權(quán)利要求4所述的方法,所述方法還包括:
6.根據(jù)權(quán)利要求4所述的方法,所述混洗服務(wù)器所存儲的待混洗數(shù)據(jù)塊包括:由數(shù)據(jù)持有方的數(shù)據(jù)方服務(wù)器提供的與明文數(shù)據(jù)塊對應(yīng)的待混洗數(shù)據(jù)塊;所述數(shù)據(jù)持有方的明文數(shù)據(jù)集所劃分出的多個明文數(shù)據(jù)塊,被分布式存儲于所述數(shù)據(jù)持有方的多個數(shù)據(jù)方服務(wù)器中。
7.根據(jù)權(quán)利要求6所述的方法,所述方法還包括:
8.根據(jù)權(quán)利要求1所述的方法,所述方法應(yīng)用于服務(wù)器,所述服務(wù)器存儲由所述待混洗數(shù)據(jù)集劃分出的多個待混洗數(shù)據(jù)塊;所述方法還包括:
9.根據(jù)權(quán)利要求8所述的方法,所述待混洗數(shù)據(jù)集包括:由數(shù)據(jù)持有方提供的與明文數(shù)據(jù)集對應(yīng)的待混洗數(shù)據(jù)集。
10.根據(jù)權(quán)利要求6或9所述的方法,所述明文數(shù)據(jù)集包括:用于機(jī)器學(xué)習(xí)訓(xùn)練的明文特征集。
11.一種數(shù)據(jù)混洗系統(tǒng),所述數(shù)據(jù)混洗系統(tǒng)包括數(shù)據(jù)持有方的多個數(shù)據(jù)方服務(wù)器以及數(shù)據(jù)混洗方的多個混洗服務(wù)器;所述數(shù)據(jù)持有方的明文數(shù)據(jù)集所劃分出的多個明文數(shù)據(jù)塊,分別存儲于所述多個數(shù)據(jù)方服務(wù)器中;
12.一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1至10任一所述方法的步驟。
13.一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1至10任一所述方法的步驟。
14.一種計算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計算機(jī)程序,其中,所述處理器執(zhí)行所述計算機(jī)程序時實(shí)現(xiàn)權(quán)利要求1至10任一所述方法的步驟。