本公開涉及計(jì)算機(jī),尤其涉及一種apsi參數(shù)選取方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、非對(duì)稱隱私求交apsi(asymmetric?private?set?intersection)協(xié)議是一種兩方隱私計(jì)算協(xié)議,在ccs2021的《labeled?psi?from?homomorphic?encryption?with?reducedcomputation?and?communication》中被提出。apsi協(xié)議中的通訊雙方分為發(fā)送方和接收方,兩方各自擁有一個(gè)數(shù)據(jù)集合,且發(fā)送方的集合大小遠(yuǎn)遠(yuǎn)大于接收方的集合大小,apsi協(xié)議的目標(biāo)是讓接收方獲得兩方的集合交集,發(fā)送方將集合交集發(fā)送給接收方,同時(shí)接收方無法獲得發(fā)送方集合中其它元素的任何信息,發(fā)送方無法獲得接收方集合的任何信息。例如,在一個(gè)常見的好友推薦場景中,當(dāng)用戶在終端注冊某一應(yīng)用后,該應(yīng)用的服務(wù)器可以根據(jù)用戶終端通訊錄中的聯(lián)系人信息與服務(wù)器自身持有的已注冊用戶信息進(jìn)行隱私集合求交,從而得到用戶終端通訊錄中已注冊應(yīng)用的聯(lián)系人,進(jìn)而完成好友推薦功能。在這種情況下,服務(wù)器充當(dāng)apsi協(xié)議中的發(fā)送方,用戶終端充當(dāng)apsi協(xié)議中的接收方。
2、其中,apsi協(xié)議可以是基于全同態(tài)加密方案的apsi協(xié)議,例如可以是一種基于bfv加密方案的apsi協(xié)議,bfv加密方案是一種基于rlwe(ring-learning?with?errors,環(huán)容錯(cuò)學(xué)習(xí)問題)的全同態(tài)加密方案,其運(yùn)行效率與安全性與rlwe的參數(shù)選取密切相關(guān),基于bfv方案的apsi協(xié)議所需的apsi參數(shù)至少包括環(huán)維度(也即模多項(xiàng)式次數(shù))、明文模數(shù)、密文模數(shù)及密文模數(shù)的組成素?cái)?shù)(即將密文模數(shù)基于crt(chinese?remainder?theorem,中國剩余定理)分解為一系列互不相同的素?cái)?shù)的乘積,且每個(gè)素?cái)?shù)的模為2n余數(shù)為1)、明文模數(shù)及明文空間的simd(single?instruction?multiple?data,單指令多數(shù)據(jù))分解,其中,simd分解即明文多項(xiàng)式同構(gòu)于一個(gè)有限域向量,對(duì)單個(gè)明文多項(xiàng)式進(jìn)行同態(tài)運(yùn)算可以對(duì)整個(gè)向量進(jìn)行同態(tài)運(yùn)算,提高計(jì)算效率。此外,apsi協(xié)議自身也有通用可以調(diào)整的apsi參數(shù),例如哈希表大小、哈希表每個(gè)桶中最大元素個(gè)數(shù)、哈希函數(shù)個(gè)數(shù)、paterson-stockmeyer參數(shù)等。
3、上述apsi參數(shù)的選擇與apsi協(xié)議的運(yùn)行正確性及計(jì)算效率和通訊效率緊密相關(guān)。雖然目前apsi協(xié)議的開發(fā)者給出了適用于不同發(fā)送方集合大小和接收方集合大小的預(yù)置參數(shù)庫,但是預(yù)置參數(shù)庫中設(shè)置的參數(shù)值過于粗糙,相鄰兩組參數(shù)適用的集合大小差距過大,難以在復(fù)雜多變的實(shí)際應(yīng)用中獲得最優(yōu)的計(jì)算開銷和通訊開銷,靈活性較差。
4、同時(shí),上述apsi協(xié)議中各個(gè)apsi參數(shù)耦合性強(qiáng),單一參數(shù)可能同時(shí)影響apsi協(xié)議實(shí)現(xiàn)的安全性、正確性和運(yùn)行效率,并且現(xiàn)有通過人工選取apsi參數(shù)的參數(shù)值的方式較為繁瑣且需要一定的專業(yè)知識(shí),使得選取apsi參數(shù)存在選取困難、效率較低、精度較低、靈活性差等問題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本公開提出了一種apsi參數(shù)選取方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),能夠?qū)崿F(xiàn)自動(dòng)化選取apsi參數(shù)的參數(shù)值,提高參數(shù)選取效率、精度和靈活性,能夠滿足各種應(yīng)用場景中對(duì)計(jì)算開銷和通訊開銷的需求。
2、根據(jù)本公開的一方面,提供了一種apsi參數(shù)選取方法,其特征在于,包括:獲取數(shù)據(jù)發(fā)送方的數(shù)據(jù)集的發(fā)送方集合大小以及數(shù)據(jù)接收方的數(shù)據(jù)集的接收方集合大小,所述數(shù)據(jù)發(fā)送方與所述數(shù)據(jù)接收方之間采用基于全同態(tài)加密的apsi協(xié)議實(shí)現(xiàn)隱私集合求交;根據(jù)所述apsi協(xié)議所需的apsi參數(shù)中的環(huán)維度所預(yù)設(shè)的多個(gè)環(huán)維度值、所述發(fā)送方集合大小以及所述接收方集合大小,確定所述apsi參數(shù)中其它參數(shù)在各個(gè)環(huán)維度值下的參數(shù)值,其中,一個(gè)環(huán)維度值與該一個(gè)環(huán)維度值下其它參數(shù)的參數(shù)值構(gòu)成一組apsi參數(shù)值,所述其它參數(shù)包括所述apsi參數(shù)中除所述環(huán)維度以外的參數(shù),所述環(huán)維度表征全同加密中使用的模多項(xiàng)式次數(shù);根據(jù)多組apsi參數(shù)值,預(yù)測各組apsi參數(shù)值在實(shí)現(xiàn)apsi協(xié)議時(shí)所產(chǎn)生的計(jì)算開銷和/或通訊開銷;根據(jù)各組apsi參數(shù)值在實(shí)現(xiàn)所述apsi協(xié)議時(shí)所產(chǎn)生的計(jì)算開銷和/或通訊開銷,從所述多組apsi參數(shù)值中選取目標(biāo)apsi參數(shù)值,所述目標(biāo)apsi參數(shù)值用于實(shí)現(xiàn)所述數(shù)據(jù)發(fā)送方與所述數(shù)據(jù)接收方之間的apsi協(xié)議。
3、在一種可能的實(shí)現(xiàn)方式中,所述其它參數(shù)包括以下至少一種:明文模數(shù)、密文模數(shù)、密文模數(shù)的組成素?cái)?shù)、數(shù)據(jù)集中單個(gè)集合元素所需具有的有限域元素個(gè)數(shù)、哈希函數(shù)個(gè)數(shù)、哈希表大小、哈希表中每個(gè)桶中最大元素個(gè)數(shù)、預(yù)計(jì)算參數(shù)。
4、在一種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述apsi協(xié)議所需的apsi參數(shù)中的環(huán)維度所預(yù)設(shè)的多個(gè)環(huán)維度值、所述發(fā)送方集合大小以及所述接收方集合大小,確定所述apsi參數(shù)中其它參數(shù)在各個(gè)環(huán)維度值下的參數(shù)值,包括:根據(jù)各個(gè)環(huán)維度值,確定所述明文模數(shù)在各個(gè)環(huán)維度值下的明文模數(shù)值以及所述密文模數(shù)在各個(gè)環(huán)維度值下的密文模數(shù)值;根據(jù)各個(gè)環(huán)維度值下的明文模數(shù)值,確定所述有限域元素個(gè)數(shù)在每個(gè)環(huán)維度值下的有限域元素個(gè)數(shù)值;根據(jù)各個(gè)環(huán)維度值以及各個(gè)環(huán)維度值下的密文模數(shù)值,確定所述密文模數(shù)的組成素?cái)?shù)在各個(gè)環(huán)維度值下的多個(gè)組成素?cái)?shù)值;根據(jù)所述發(fā)送方集合大小、所述接收方集合大小、所述哈希函數(shù)個(gè)數(shù)所預(yù)設(shè)的哈希函數(shù)個(gè)數(shù)值以及各個(gè)環(huán)維度下的有限域元素個(gè)數(shù)值,確定所述哈希表大小在各個(gè)環(huán)維度下的哈希表數(shù)值以及所述哈希表中每個(gè)桶中最大元素個(gè)數(shù)在各個(gè)環(huán)維度下的哈希表中每個(gè)桶中最大元素個(gè)數(shù)值。
5、在一種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述apsi協(xié)議所需的apsi參數(shù)中的環(huán)維度所預(yù)設(shè)的多個(gè)環(huán)維度值、所述發(fā)送方集合大小以及所述接收方集合大小,確定所述apsi參數(shù)中其它參數(shù)在各個(gè)環(huán)維度值下的參數(shù)值,還包括:根據(jù)各個(gè)環(huán)維度、各個(gè)環(huán)維度下的明文模數(shù)值以及各個(gè)環(huán)維度下的密文模數(shù)值,確定各個(gè)環(huán)維度下apsi協(xié)議中全同態(tài)加密所支持的最大乘法層數(shù);根據(jù)各個(gè)環(huán)維度下apsi協(xié)議中全同態(tài)加密所支持的最大乘法層數(shù)以及各個(gè)環(huán)維度下的哈希表中每個(gè)桶中最大元素個(gè)數(shù)值,確定所述預(yù)計(jì)算參數(shù)的預(yù)計(jì)算參數(shù)值。
6、在一種可能的實(shí)現(xiàn)方式中,所述根據(jù)多組apsi參數(shù)值,預(yù)測各組apsi參數(shù)值在實(shí)現(xiàn)所述apsi協(xié)議時(shí)所產(chǎn)生的計(jì)算開銷和/或通訊開銷,包括:根據(jù)各組apsi參數(shù)值中組成素?cái)?shù)值的數(shù)量以及環(huán)維度值,預(yù)測各組apsi參數(shù)值對(duì)應(yīng)的單次計(jì)算開銷;根據(jù)各組apsi參數(shù)值中的預(yù)計(jì)算參數(shù)值、有限域元素個(gè)數(shù)值以及哈希表數(shù)值,預(yù)測各組apsi參數(shù)值對(duì)應(yīng)的總計(jì)算次數(shù);根據(jù)各組apsi參數(shù)值對(duì)應(yīng)的總計(jì)算次數(shù)以及單次計(jì)算開銷,確定各組apsi參數(shù)值各自對(duì)應(yīng)的計(jì)算開銷。
7、在一種可能的實(shí)現(xiàn)方式中,所述根據(jù)多組apsi參數(shù)值,預(yù)測各組apsi參數(shù)值在實(shí)現(xiàn)所述apsi協(xié)議時(shí)所產(chǎn)生的計(jì)算開銷和/或通訊開銷,包括:根據(jù)各組apsi參數(shù)值中的組成素?cái)?shù)值的數(shù)量以及環(huán)維度值,預(yù)測各組apsi參數(shù)值對(duì)應(yīng)的單個(gè)密文數(shù)據(jù)的通訊開銷,所述密文數(shù)據(jù)包括所述數(shù)據(jù)接收方向所述數(shù)據(jù)發(fā)送方傳輸?shù)拿芪募肮€;根據(jù)各組apsi參數(shù)值中的預(yù)計(jì)算參數(shù)值、有限域元素個(gè)數(shù)值與哈希表數(shù)值,預(yù)測各組apsi參數(shù)值對(duì)應(yīng)的密文數(shù)據(jù)的總數(shù)量;根據(jù)各組apsi參數(shù)值對(duì)應(yīng)的密文數(shù)據(jù)的總數(shù)量以及單個(gè)密文數(shù)據(jù)的通訊開銷,確定各組apsi參數(shù)值各自對(duì)應(yīng)的通訊開銷。
8、在一種可能的實(shí)現(xiàn)方式中,所述多個(gè)環(huán)維度值包括210至215;所述預(yù)計(jì)算參數(shù)包括paterson-stockmeyer參數(shù)。
9、根據(jù)本公開的另一方面,提供了一種apsi參數(shù)選取裝置,包括:獲取模塊,用于獲取數(shù)據(jù)發(fā)送方的數(shù)據(jù)集的發(fā)送方集合大小以及數(shù)據(jù)接收方的數(shù)據(jù)集的接收方集合大小,所述數(shù)據(jù)發(fā)送方與所述數(shù)據(jù)接收方之間采用基于全同態(tài)加密的apsi協(xié)議實(shí)現(xiàn)隱私集合求交;參數(shù)確定模塊,用于根據(jù)所述apsi協(xié)議所需的apsi參數(shù)中的環(huán)維度所預(yù)設(shè)的多個(gè)環(huán)維度值、所述發(fā)送方集合大小以及所述接收方集合大小,確定所述apsi參數(shù)中其它參數(shù)在各個(gè)環(huán)維度值下的參數(shù)值,其中,一個(gè)環(huán)維度值與該一個(gè)環(huán)維度值下其它參數(shù)的參數(shù)值構(gòu)成一組apsi參數(shù)值,所述其它參數(shù)包括所述apsi參數(shù)中除所述環(huán)維度以外的參數(shù),所述環(huán)維度表征全同加密中使用的模多項(xiàng)式次數(shù);開銷確定模塊,用于根據(jù)多組apsi參數(shù)值,預(yù)測各組apsi參數(shù)值在實(shí)現(xiàn)apsi協(xié)議時(shí)所產(chǎn)生的計(jì)算開銷和/或通訊開銷;選取模塊,用于根據(jù)各組apsi參數(shù)值在實(shí)現(xiàn)所述apsi協(xié)議時(shí)所產(chǎn)生的計(jì)算開銷和/或通訊開銷,從所述多組apsi參數(shù)值中選取目標(biāo)apsi參數(shù)值,所述目標(biāo)apsi參數(shù)值用于實(shí)現(xiàn)所述數(shù)據(jù)發(fā)送方與所述數(shù)據(jù)接收方之間的apsi協(xié)議。
10、在一種可能的實(shí)現(xiàn)方式中,所述其它參數(shù)包括以下至少一種:明文模數(shù)、密文模數(shù)、密文模數(shù)的組成素?cái)?shù)、數(shù)據(jù)集中單個(gè)集合元素所需具有的有限域元素個(gè)數(shù)、哈希函數(shù)個(gè)數(shù)、哈希表大小、哈希表中每個(gè)桶中最大元素個(gè)數(shù)、預(yù)計(jì)算參數(shù)。
11、在一種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述apsi協(xié)議所需的apsi參數(shù)中的環(huán)維度所預(yù)設(shè)的多個(gè)環(huán)維度值、所述發(fā)送方集合大小以及所述接收方集合大小,確定所述apsi參數(shù)中其它參數(shù)在各個(gè)環(huán)維度值下的參數(shù)值,包括:根據(jù)各個(gè)環(huán)維度值,確定所述明文模數(shù)在各個(gè)環(huán)維度值下的明文模數(shù)值以及所述密文模數(shù)在各個(gè)環(huán)維度值下的密文模數(shù)值;根據(jù)各個(gè)環(huán)維度值下的明文模數(shù)值,確定所述有限域元素個(gè)數(shù)在每個(gè)環(huán)維度值下的有限域元素個(gè)數(shù)值;根據(jù)各個(gè)環(huán)維度值以及各個(gè)環(huán)維度值下的密文模數(shù)值,確定所述密文模數(shù)的組成素?cái)?shù)在各個(gè)環(huán)維度值下的多個(gè)組成素?cái)?shù)值;根據(jù)所述發(fā)送方集合大小、所述接收方集合大小、所述哈希函數(shù)個(gè)數(shù)所預(yù)設(shè)的哈希函數(shù)個(gè)數(shù)值以及各個(gè)環(huán)維度下的有限域元素個(gè)數(shù)值,確定所述哈希表大小在各個(gè)環(huán)維度下的哈希表數(shù)值以及所述哈希表中每個(gè)桶中最大元素個(gè)數(shù)在各個(gè)環(huán)維度下的哈希表中每個(gè)桶中最大元素個(gè)數(shù)值。
12、在一種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述apsi協(xié)議所需的apsi參數(shù)中的環(huán)維度所預(yù)設(shè)的多個(gè)環(huán)維度值、所述發(fā)送方集合大小以及所述接收方集合大小,確定所述apsi參數(shù)中其它參數(shù)在各個(gè)環(huán)維度值下的參數(shù)值,還包括:根據(jù)各個(gè)環(huán)維度、各個(gè)環(huán)維度下的明文模數(shù)值以及各個(gè)環(huán)維度下的密文模數(shù)值,確定各個(gè)環(huán)維度下apsi協(xié)議中全同態(tài)加密所支持的最大乘法層數(shù);根據(jù)各個(gè)環(huán)維度下apsi協(xié)議中全同態(tài)加密所支持的最大乘法層數(shù)以及各個(gè)環(huán)維度下的哈希表中每個(gè)桶中最大元素個(gè)數(shù)值,確定所述預(yù)計(jì)算參數(shù)的預(yù)計(jì)算參數(shù)值。
13、在一種可能的實(shí)現(xiàn)方式中,所述根據(jù)多組apsi參數(shù)值,預(yù)測各組apsi參數(shù)值在實(shí)現(xiàn)所述apsi協(xié)議時(shí)所產(chǎn)生的計(jì)算開銷和/或通訊開銷,包括:根據(jù)各組apsi參數(shù)值中組成素?cái)?shù)值的數(shù)量以及環(huán)維度值,預(yù)測各組apsi參數(shù)值對(duì)應(yīng)的單次計(jì)算開銷;根據(jù)各組apsi參數(shù)值中的預(yù)計(jì)算參數(shù)值、有限域元素個(gè)數(shù)值以及哈希表數(shù)值,預(yù)測各組apsi參數(shù)值對(duì)應(yīng)的總計(jì)算次數(shù);根據(jù)各組apsi參數(shù)值對(duì)應(yīng)的總計(jì)算次數(shù)以及單次計(jì)算開銷,確定各組apsi參數(shù)值各自對(duì)應(yīng)的計(jì)算開銷。
14、在一種可能的實(shí)現(xiàn)方式中,所述根據(jù)多組apsi參數(shù)值,預(yù)測各組apsi參數(shù)值在實(shí)現(xiàn)所述apsi協(xié)議時(shí)所產(chǎn)生的計(jì)算開銷和/或通訊開銷,包括:根據(jù)各組apsi參數(shù)值中的組成素?cái)?shù)值的數(shù)量以及環(huán)維度值,預(yù)測各組apsi參數(shù)值對(duì)應(yīng)的單個(gè)密文數(shù)據(jù)的通訊開銷,所述密文數(shù)據(jù)包括所述數(shù)據(jù)接收方向所述數(shù)據(jù)發(fā)送方傳輸?shù)拿芪募肮€;根據(jù)各組apsi參數(shù)值中的預(yù)計(jì)算參數(shù)值、有限域元素個(gè)數(shù)值與哈希表數(shù)值,預(yù)測各組apsi參數(shù)值對(duì)應(yīng)的密文數(shù)據(jù)的總數(shù)量;根據(jù)各組apsi參數(shù)值對(duì)應(yīng)的密文數(shù)據(jù)的總數(shù)量以及單個(gè)密文數(shù)據(jù)的通訊開銷,確定各組apsi參數(shù)值各自對(duì)應(yīng)的通訊開銷。
15、在一種可能的實(shí)現(xiàn)方式中,所述多個(gè)環(huán)維度值包括210至215;所述預(yù)計(jì)算參數(shù)包括paterson-stockmeyer參數(shù)。
16、根據(jù)本公開的另一方面,提供了一種電子設(shè)備,包括:處理器;用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;其中,所述處理器被配置為在執(zhí)行所述存儲(chǔ)器存儲(chǔ)的指令時(shí),實(shí)現(xiàn)上述方法。
17、根據(jù)本公開的另一方面,提供了一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序指令,其中,所述計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法。
18、根據(jù)本公開的另一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀代碼,或者承載有計(jì)算機(jī)可讀代碼的非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述計(jì)算機(jī)可讀代碼在電子設(shè)備的處理器中運(yùn)行時(shí),所述電子設(shè)備中的處理器執(zhí)行上述方法。
19、根據(jù)本公開實(shí)施例,通過基于發(fā)送方集合大小以及接收方集合大小確定出多組apsi參數(shù)值,并預(yù)測各組apsi參數(shù)值產(chǎn)生的計(jì)算開銷和/或通訊開銷,進(jìn)而根據(jù)各組apsi參數(shù)值所產(chǎn)生的計(jì)算開銷和/或通訊開銷,實(shí)現(xiàn)自動(dòng)化選取出適應(yīng)于apsi協(xié)議中數(shù)據(jù)接收方與數(shù)據(jù)發(fā)送方的較優(yōu)目標(biāo)apsi參數(shù)值,相較于人工選取apsi參數(shù)值,參數(shù)值選取效率高、精度高、靈活性高且無需依賴專業(yè)知識(shí),更便捷,還能夠滿足各種應(yīng)用場景中對(duì)計(jì)算開銷和通訊開銷的偏好需求。
20、根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說明,本公開的其它特征及方面將變得清楚。