本發(fā)明涉及在數(shù)據(jù)存儲(chǔ)服務(wù)器中儲(chǔ)存信息、對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢和對(duì)這樣的查詢保密。
背景技術(shù):
現(xiàn)在許多文件和數(shù)據(jù)庫(kù)儲(chǔ)存在外包數(shù)據(jù)存儲(chǔ)服務(wù)器中。這個(gè)趨勢(shì)隨著許多服務(wù)和公司的信息系統(tǒng)的云化進(jìn)一步加強(qiáng)。雖然這樣的外包數(shù)據(jù)庫(kù)維護(hù)成本低并且檢索最新信息很高效,但是就安全或保密而言它們可能構(gòu)成顯著風(fēng)險(xiǎn)。已經(jīng)提出了一些解決方案以便確保在多個(gè)云端儲(chǔ)存外包數(shù)據(jù)的安全,但是它們沒(méi)有解決保密問(wèn)題。實(shí)際上通過(guò)訪問(wèn)數(shù)據(jù)庫(kù),儲(chǔ)存數(shù)據(jù)庫(kù)的實(shí)體學(xué)習(xí)查詢者或用戶的查詢,這可能是一個(gè)問(wèn)題,如果用戶的意圖要保密的話。例如,查詢股票市場(chǎng)數(shù)據(jù)庫(kù)以獲得某些股票的當(dāng)前市場(chǎng)價(jià)值的投資者可能不希望透露他們對(duì)股票的興趣,因?yàn)檫@會(huì)無(wú)意間影響股票的價(jià)格??商娲?,一些公司可能想要尋找某些專利但不想透露專利標(biāo)識(shí)。
私有信息檢索——PIR——方案是密碼協(xié)議,其允許客戶從外包數(shù)據(jù)庫(kù)或云端檢索記錄,同時(shí)完全向數(shù)據(jù)庫(kù)所有者隱藏被檢索的記錄的標(biāo)識(shí)。有兩種PIR,信息理論P(yáng)IR或計(jì)算PIR。后者提供較弱的安全擔(dān)保,因此我們集中討論信息理論P(yáng)IR,該P(yáng)IR提供絕對(duì)擔(dān)保,確保服務(wù)器不會(huì)得到關(guān)于用戶想要的什么的信息。信息理論P(yáng)IR只在多服務(wù)器設(shè)置中才可能,這些服務(wù)器之間存在一些復(fù)制。有大量的工作團(tuán)體提供對(duì)這個(gè)問(wèn)題的解決方案,這些解決方案基于編碼理論并且更具體而言基于本地可解碼的代碼或LDC。但是,目前的解決方案要求許多復(fù)制?;旧希绻鸌是LDC的位置,那么整個(gè)數(shù)據(jù)庫(kù)需要首先編碼,這導(dǎo)致數(shù)據(jù)庫(kù)尺寸增大的第一因子,之后整個(gè)被編碼的數(shù)據(jù)庫(kù)需要在I個(gè)不同的服務(wù)器上復(fù)制I次。
技術(shù)實(shí)現(xiàn)要素:
假設(shè)我們有一個(gè)數(shù)據(jù)庫(kù),由n個(gè)元素構(gòu)成,例如E1,...,En。當(dāng)前解決方案以N個(gè)符號(hào)S1,...,SN的代碼字編碼數(shù)據(jù)庫(kù),N>n并且之后將已編碼數(shù)據(jù)庫(kù)的I個(gè)副本儲(chǔ)存到I個(gè)不同的服務(wù)器上,其中I是代碼所在的位置。為了在不透露的情況下檢索符號(hào)Si,用戶必須從每一個(gè)服務(wù)器檢索一個(gè)符號(hào),這些符號(hào)都不是Si。用戶因此獲得I個(gè)符號(hào)并且通過(guò)本地解碼可計(jì)算Si。被檢索的符號(hào)不是隨機(jī)的,它們是根據(jù)解碼算法選擇的,這表明為了能夠計(jì)算Si,必須檢索符號(hào)Sj1、……SjI。為了確保給定的符號(hào)總是可以被檢索到,現(xiàn)有的協(xié)議在所有的服務(wù)器上儲(chǔ)存所有的符號(hào),這意味著整個(gè)長(zhǎng)度為N的代碼字復(fù)制I次。
要解決的技術(shù)問(wèn)題是允許將一些文件的集合或數(shù)據(jù)庫(kù)的集合儲(chǔ)存在多數(shù)個(gè)外包存儲(chǔ)實(shí)體或云端上,同時(shí)為用戶提供這樣的可能性,即從數(shù)據(jù)庫(kù)查詢一條信息,而不透露他們的查詢,具體而言是不把他們查詢的這條信息透露給服務(wù)器或云端,同時(shí)減少當(dāng)前解決方案的存儲(chǔ)開(kāi)銷。
由于有了本發(fā)明,通過(guò)權(quán)利要求1的主題實(shí)現(xiàn)這個(gè)目標(biāo)。
附圖說(shuō)明
本發(fā)明的其他特征、目標(biāo)和優(yōu)點(diǎn)將在下文參照附圖的具體描述中出現(xiàn),在該附圖中:
圖1描繪了根據(jù)本發(fā)明的實(shí)施方式的存儲(chǔ)和查詢組織。
圖2a和2b描繪了根據(jù)本發(fā)明的實(shí)施方式的查詢和超平面。
具體實(shí)施方式
在所述附圖中,表示了由n個(gè)元素E1,...,En組成的數(shù)據(jù)庫(kù)。
在當(dāng)前實(shí)施方式中,以這樣的方式組織并放置多數(shù)符號(hào),以便只有N/(I+1)個(gè)符號(hào)儲(chǔ)存在每個(gè)服務(wù)器上,這樣總共儲(chǔ)存N個(gè)符號(hào),并且在解碼算法上施加額外的小的限制,以確保它從每個(gè)服務(wù)器要求一個(gè)符號(hào)。更精確而言,所述代碼字符號(hào)或編碼數(shù)據(jù)庫(kù)屬于I+1有限基數(shù)域上的m維矢量空間。這個(gè)空間里的超平面是m-1維子空間。我們將符號(hào)布置在(I+1)個(gè)超平面上,用戶或客戶或查詢者或可能是代理將根據(jù)一條與超平面的方向橫交,也就是不平行,的一條線來(lái)請(qǐng)求符號(hào)。該益處具有顯著重要性:它將存儲(chǔ)開(kāi)銷減少了I+1倍。
(I,d)-本地可解碼的代碼允許通過(guò)觀察其可能毀壞的編碼的僅僅I個(gè)隨機(jī)選擇的坐標(biāo)而可能地檢索特定的消息的符號(hào),以這樣的方式以便所述解碼仍然有超過(guò)2/3的可能性成功,即使編碼數(shù)據(jù)的一小部分d個(gè)符號(hào)毀壞。那么I是代碼的位置。
在附圖上,客戶或用戶或顧客以參考標(biāo)號(hào)C表示。存儲(chǔ)提供商,例如云存儲(chǔ)提供商,由參考標(biāo)號(hào)SP1、SP2……表示,查詢者Q想要訪問(wèn)儲(chǔ)存的數(shù)據(jù)。還示出了代理B1,B2。這樣的代理不是必要的,其作用是促進(jìn)一些操作或者代表C或Q執(zhí)行它們。在當(dāng)前的實(shí)例中,客戶C已經(jīng)將數(shù)據(jù)存儲(chǔ)外包給SP:SP1、SP2、SP3和SP4。查詢者Q想要訪問(wèn)一部分儲(chǔ)存的數(shù)據(jù)。出于保密原因或?yàn)榱吮Wo(hù)他們的隱私,Q不想讓SP知道它訪問(wèn)了哪些數(shù)據(jù)或信息。一旦儲(chǔ)存,SP為Q提供API,以便在此基于標(biāo)識(shí)符檢索數(shù)據(jù),所述標(biāo)識(shí)符在具有數(shù)個(gè)數(shù)據(jù)庫(kù)的情況下是數(shù)據(jù)庫(kù)名稱的串聯(lián)并且數(shù)據(jù)庫(kù)中是元素指數(shù)的串聯(lián)。SP不實(shí)施允許私有信息檢索的具體機(jī)制,它們是傳統(tǒng)存儲(chǔ)提供商。代理B1,B2例如要么在信任他們的實(shí)體組織中被信任,要么在根據(jù)他們執(zhí)行的任務(wù)的獨(dú)立實(shí)體中被信任。在此儲(chǔ)存信息的實(shí)施以下面的方式實(shí)施。在第一步,客戶C使用合適的編碼算法編碼由n個(gè)元素E1,...,En組成的數(shù)據(jù)庫(kù),一種本地可解碼的代碼,例如多重代碼。n元素?cái)?shù)據(jù)庫(kù)以N個(gè)符號(hào)S1,...,SN編碼,N>n。這個(gè)第一步也可由第一代理B1執(zhí)行,第一代理B1必須被C所信任,因?yàn)樗粫?huì)將信息透露給SP。例如I為本地可解碼的代碼的位置的值,N個(gè)符號(hào)被劃分為(I+1)組,每組包含對(duì)應(yīng)整個(gè)空間的一個(gè)超平面的符號(hào),導(dǎo)致組G1,...,GI+1??蛇x擇地,這個(gè)操作可由同樣的被信任的代理B1執(zhí)行。這個(gè)步驟的輸出不管是由客戶C還是代理B1實(shí)施,都是表明在哪一組可發(fā)現(xiàn)符號(hào)Si的函數(shù)或表T1。在附圖中,本地可解碼的代碼具有位置3。
之后每一組符號(hào)儲(chǔ)存在服務(wù)提供商SP上。SP的選擇可取決于許多參數(shù),諸如成本、等待時(shí)間、可靠性等??紤]到這些方面,分派和存儲(chǔ)可由第二代理B2照看,第二代理B2只需要返回分組指數(shù)和存儲(chǔ)提供商之間的映射。這個(gè)映射通常在I+1行的表T2中示出,其中行數(shù)i表示對(duì)應(yīng)Gi的存儲(chǔ)提供商等。代理B2不需要被客戶C完全信任,它甚至可以是由其中一個(gè)服務(wù)提供商提供的服務(wù)。客戶C僅有利地核實(shí)表T2中所有的服務(wù)提供商SP互相不同,這樣在后面的步驟避免共謀。
信息的查詢?cè)诖艘韵旅娴姆绞綄?shí)施。當(dāng)查詢者Q想要檢索給定的符號(hào),它首先需要檢索數(shù)據(jù)庫(kù)的名稱。數(shù)據(jù)庫(kù)的名稱通常是公共知識(shí),但是如果客戶C想要控制對(duì)他的信息的訪問(wèn),客戶C可首先通過(guò)使這個(gè)知識(shí)保密或?qū)⑦@個(gè)任務(wù)委派給受信任的代理B1迫使查詢者請(qǐng)求許可。
查詢者的興趣是Si,但是他需要將他的查詢表達(dá)為由解碼算法確定的一組I+1個(gè)查詢Sj1,...,Sj(I+1)。更精確而言,它隨機(jī)選擇方向,但該方向不平行于超平面方向,并且之后計(jì)算他必須查詢的點(diǎn)Sj1,...,Sj(I+1)。這個(gè)計(jì)算可由被查詢者Q信任的代理B3執(zhí)行。
查詢者Q或代理B3之后需要獲得T1,以確定每一個(gè)Sji屬于哪個(gè)組并且獲得T2以了解每個(gè)組儲(chǔ)存在哪里。查詢者或代理B3之后從對(duì)應(yīng)的SP取得Sj1,...,Sj(I+1)并且在本地對(duì)它們解碼以獲得Si。這個(gè)方法的一個(gè)優(yōu)點(diǎn)是該方法適用于任何基于多重代碼以及可假定的任何本地可解碼的代碼的PIR方案。該協(xié)議確保每一個(gè)單個(gè)服務(wù)器不會(huì)得到關(guān)于查詢者感興趣的元素的標(biāo)識(shí)的信息。與現(xiàn)有解決方案相比,所述方法的總存儲(chǔ)開(kāi)銷減少至少I(mǎi)+1倍,其中I是解碼方法的位置。通過(guò)微調(diào)參數(shù),可能允許從許多SP的缺陷中恢復(fù),這意味著所述方法具有固有的錯(cuò)誤校正能力和故障恢復(fù)能力的特點(diǎn)。微調(diào)參數(shù)還可允許考慮多個(gè)SP的共謀同時(shí)不損害安全性,在這個(gè)案例中也就是查詢的保密。只要C和Q不提供信息給服務(wù)器,代理B1和B3可分別代表它們執(zhí)行計(jì)算。代理B2很有趣,因?yàn)樗梢詻Q定SP的選擇而不需要出于安全角度被信任。
從所述符號(hào)中,可能通過(guò)特定的解碼機(jī)制恢復(fù)原始文件。
在當(dāng)前實(shí)例中的查詢階段,查詢者Q發(fā)送查詢給代理B3,代理B3將其表達(dá)為數(shù)個(gè)符號(hào),從代理B1請(qǐng)求表T1,從代理B2請(qǐng)求表T2并且之后從對(duì)應(yīng)的SP請(qǐng)求符號(hào),所述對(duì)應(yīng)在此可能是由于所述表而存在。在接收被請(qǐng)求的符號(hào)之后,代理B3在本地對(duì)它們解碼并且將被請(qǐng)求的符號(hào)發(fā)送回查詢者Q。
根據(jù)當(dāng)前描述的本發(fā)明的實(shí)施方式的多個(gè)精確方面,
環(huán)繞空間中的代碼將長(zhǎng)度為k的矢量編碼為長(zhǎng)度為n代碼矢量或代碼字,n﹥k。解碼的問(wèn)題是在周圍空間尋找接近元素y的代碼字。正式地,給出代碼C∈∑n,距離d(),對(duì)于給定的y=(y1,...yn)∈∑n,必須找出代碼字c∈C,這樣d(c,y)是小的。在我們的設(shè)置中,距離d(x,y)是漢明距離,即指數(shù)i的數(shù)目,其中xi≠yi。
本地可解碼的代碼,簡(jiǎn)寫(xiě)為L(zhǎng)DC,允許高效的次線性時(shí)間解碼。更精確而言,l-查詢LDC允許通過(guò)僅觀察其可能毀壞的編碼的l<<k個(gè)隨機(jī)選擇的坐標(biāo)而可能地恢復(fù)任何消息的符號(hào)。雖然LDC在90年代早期出現(xiàn)在PCP文學(xué)中[?],它們第一次正式的定義是由于2000年的Katz和Trevisan[5]。查詢的符號(hào)的數(shù)目l為查詢復(fù)雜性,我們?cè)诖艘卜Q為位置。LDC最老的等級(jí)是上的雷德密勒碼,其代碼字為總程度最大為d的m變量多項(xiàng)式在的點(diǎn)的賦值。形式上地:
A代碼C:Δk→∑n為(l,δ)-本地可解,如果存在隨機(jī)解碼算法A,這樣
1.如果x∈Δk且y∈∑n,d(C(x),y)﹤δn,對(duì)于所有的i∈[k],我們有
其中概率通過(guò)所有的隨機(jī)硬幣拋擲A獲得。
2.A最多向y做出l次查詢。
在此Ay意為A是訪問(wèn)y的給定查詢。
在想要可能地恢復(fù)任意代碼字符號(hào)而不是僅僅信息符號(hào)的情況下,有下面的算法
A代碼C:Δk→∑n為(l,δ)-本地自可校正(LCC),如果存在隨機(jī)解碼算法A,這樣
1.如果代碼字c∈∑n且y∈∑n,d(c,y)﹤δn,對(duì)于所有的i∈[k],我們有
其中,概率通過(guò)所有隨機(jī)硬幣拋擲A獲得。
2.A最多向y做出l次查詢。
注意到可從線性LCC容易地構(gòu)建LDC[9]。
沒(méi)有已知的LDC或LCC構(gòu)建同時(shí)將l和長(zhǎng)度n最小化。因此主要問(wèn)題是在一個(gè)參數(shù)固定的情況下將另一個(gè)參數(shù)最小化。就這個(gè)方面而言,存在具有持續(xù)的查詢復(fù)雜性l≥3的次指數(shù)長(zhǎng)度代碼的構(gòu)建[8]。在另一面,恒定速率LDC特征為l,已知l在Ω(logk)和之間,后者的界限具有明顯的構(gòu)建。主要結(jié)果是,在出現(xiàn)恒定的錯(cuò)誤部分(由于代碼距離的函數(shù))的情況下,具有次線性查詢復(fù)雜性的高速(也就是﹥1/2)本地自可校正代碼的構(gòu)建。那些代碼被稱為多重代碼,在2011年由Kopparty,Saraf和Yekhanin介紹而來(lái)[6]。他們通過(guò)估算高度多變量多項(xiàng)式以及他們的偏導(dǎo)數(shù)直到某一階數(shù)而概括了雷德密勒碼。使用高度多項(xiàng)式提高了速率,而估算他們的偏導(dǎo)數(shù)彌補(bǔ)了距離的損失。
私有信息檢索的問(wèn)題在1995年由Chor,Goldreich,Kushilevitz和Sudan介紹[2]。PIR協(xié)議是密碼協(xié)議,其目的是保護(hù)經(jīng)由服務(wù)器訪問(wèn)公共數(shù)據(jù)庫(kù)的用戶的隱私,在這個(gè)意義上,它使得用戶可能查詢特定的數(shù)據(jù)庫(kù)記錄而不透露給服務(wù)器他想檢索哪項(xiàng)記錄(又稱為查詢匿名)。我們?cè)诖擞懻摰氖桥c計(jì)算安全PIR相反的信息理論P(yáng)IR[7]。在IT PIR設(shè)置中,服務(wù)器不會(huì)獲得關(guān)于用戶興趣的記錄標(biāo)識(shí)的信息,即使它具有無(wú)限計(jì)算的權(quán)力。在[2]中示出了當(dāng)訪問(wèn)單個(gè)數(shù)據(jù)庫(kù)時(shí),為了完全在信息理論意義上確保用戶的隱私,需要下載整個(gè)數(shù)據(jù)庫(kù),這導(dǎo)致了O(n)的通信復(fù)雜性,n是數(shù)據(jù)庫(kù)的位長(zhǎng)。因此他們介紹了這樣的情形,在這些情形中,數(shù)據(jù)庫(kù)在數(shù)個(gè),例如l個(gè)服務(wù)器之間復(fù)制,對(duì)于l≥3,提出通信復(fù)雜性的方案。從那時(shí)開(kāi)始已經(jīng)調(diào)查多服務(wù)器設(shè)置,并且到目前為止最好的通信復(fù)雜性為
Katz和Trevisan[5]介紹了一種非常接近本地可解碼的代碼的概念:平穩(wěn)代碼概念。平穩(wěn)代碼的想法是解碼器不能太頻繁讀取同樣的指數(shù):非正式地,對(duì)于固定的l和c,在(l,c)-平穩(wěn)代碼中,解碼器至多從有效代碼字中查詢l個(gè)指數(shù),不能查詢指數(shù)超過(guò)c/m次。在[5]中,示出了(l,δ)-LDC為(l,c=l/δ)-平穩(wěn)代碼。
為了實(shí)現(xiàn)查詢的信息理論保密,在代碼字(或接收的字)坐標(biāo)中進(jìn)行統(tǒng)一的查詢分布是我們?cè)赑IR設(shè)置中需要的。作為L(zhǎng)DC核心特征的位置,以及在所有已知的LDC構(gòu)建中由本地解碼算法A做出的查詢是均勻分布這個(gè)事實(shí)使得LDC應(yīng)用到PIR方案中非常自然。下面的定理描述了它是怎樣正式工作的。
還注意到PIR方案可用來(lái)以最好的漸進(jìn)碼長(zhǎng)度建立LDC。事實(shí)上,如[1]中引用的,“任何信息理論P(yáng)IR協(xié)議可轉(zhuǎn)化為相關(guān)高效的LDC”。
我們將數(shù)據(jù)庫(kù)模擬為長(zhǎng)度為k的Δ-ary串x。l-服務(wù)器PIR方案涉及l(fā)個(gè)服務(wù)器S1,...,Se,每一個(gè)都包含同樣的數(shù)據(jù)庫(kù)x,以及知道k并且想要在不透露任何關(guān)于i的信息給服務(wù)器的情況下檢索一些值xi,i∈[k]的用戶。
l-服務(wù)器p-PIR協(xié)議是三重(Q,A,R)算法,運(yùn)行如下:
用戶拋擲隨機(jī)硬幣并獲得隨機(jī)字符串s;之后調(diào)用Q以生成l元組查詢:(q1,...,qe)=Q(i,s)。
對(duì)于1≤j≤l,用戶發(fā)送qj到服務(wù)器Sj。
每一個(gè)Sj響應(yīng)aj=A(j,x,qj).
用戶通過(guò)應(yīng)用重建算法R(a1,...,al,i,s)恢復(fù)xi。
正確性:用戶以≥P的概率恢復(fù)xi。
保密性:每一個(gè)服務(wù)器單獨(dú)地都不會(huì)得到關(guān)于i的信息。換句話說(shuō)隨機(jī)變量Q(i,’)j對(duì)于所有的i∈[k]都是相同的。
注意到Y(jié)ekhanin[8]考慮到三重算法(Q,A,C)是非統(tǒng)一的,因此長(zhǎng)度k被作為建議給出。
假設(shè)存在l-查詢服務(wù)器本地可解碼代碼C:Δk→∑n,其中,每一個(gè)解碼器查詢?cè)谝唤M代碼字坐標(biāo)上均勻分布。那么存在l-服務(wù)器1-PIR協(xié)議,O(l log(n|∑|))通信訪問(wèn)數(shù)據(jù)庫(kù)x∈Δk。
證明:如在定理中給出LDC C:Δk→∑n,可構(gòu)建出下面的PIR協(xié)議:
(預(yù)處理):對(duì)于1≤j≤l,服務(wù)器Sj將以C編碼x。
用戶拋擲隨機(jī)硬幣并調(diào)用本地解碼算法,以便生成(q1,...ql)∈[n]l,s.t.xi可從{c(x)qj}1≤j≤l中計(jì)算。
對(duì)于1≤j≤l,用戶發(fā)送qj∈[n]到服務(wù)器Sj。
每一個(gè)Sj響應(yīng)c(x)qj∈∑。
用戶應(yīng)用本地解碼算法C恢復(fù)xi。
這個(gè)協(xié)議具有定理中要求的通信復(fù)雜性。此外,由于用戶使用非損壞輸入{c(x)qj}1≤j≤l,應(yīng)用本地解碼算法,他以概率1檢索xi。解碼器對(duì)于[n]上的查詢的分布的均勻性確保協(xié)議的信息理論隱私。我們將在PIR情形下使用LDC,也就是多重代碼。
考慮到m個(gè)未知數(shù)X1,...,Xm,和m個(gè)正整數(shù)i1,...,im,我們使用速記表示法。
X=(X1,...,Xm)
|i|=i1+…+im,
也就是我們使用加粗符號(hào)表示矢量、點(diǎn)等,并使用標(biāo)準(zhǔn)符號(hào)表示一維標(biāo)量、變量等。一般而言,我們寫(xiě)多項(xiàng)式?jīng)]有圓括號(hào),并且當(dāng)必須具體化未知數(shù)(各自點(diǎn))的估值時(shí),沒(méi)有變量和Q(X)(各自Q(P))。
給定多指數(shù)i,并且以H(F,i)表示的F的第i個(gè)哈斯導(dǎo)數(shù),是多項(xiàng)式中Zi的系數(shù),其中,Z=(Z1,...Zm)。更具體而言,使F(X)=∑j>>0fjXj,那么
其中
考慮到矢量和基點(diǎn)P,我們考慮將F限制到線
其為單變量多項(xiàng)式,我們表示為這個(gè)多項(xiàng)式本身具有哈斯導(dǎo)數(shù),我們得出下面的關(guān)系:
其中全部
考慮到具有q個(gè)元素的有限域我們將其列舉如下:
我們以表示程度小于或等于d的多項(xiàng)式組,其具有的大小為我們列舉中所有的點(diǎn)如下:
其中為m元組符號(hào)并且n=qm。我們使用下面的賦值映射將程度小于d的多項(xiàng)式F編碼為長(zhǎng)度為n的代碼字c
F→(F(p1),...,F(pn))
并且第d次序的雷德密勒代碼為
賦值映射ev將k個(gè)符號(hào)編碼為n個(gè)符號(hào),并且速率為R=k/n∈[0,1]。A代碼字c∈RMd可以通過(guò)整數(shù)索引為:
c=(c1,...,cn)
或以點(diǎn)索引為
c=(cp1,...,cpn)
其中,cj=cpi=f(pi),
假定d﹤q,我們現(xiàn)在回想RMd怎樣如下實(shí)現(xiàn)l=q-1的位置。
假設(shè)c=ev(F)∈RMd為代碼字,并且cj=cpj被查找。那么,本地解碼算法隨機(jī)選擇非零向量并考慮通過(guò)Pj方向?yàn)閂的直線D;
之后,點(diǎn)R1,...,Rq-1作為查詢發(fā)送,并且解碼算法接收答案:
在沒(méi)有出錯(cuò)的情況下,(yR1,...,yRq-1)=(cR1,...,cRq-1)。現(xiàn)在
其中
將F限制在線D,其為程度小于或等于d的單變量多項(xiàng)式,也就是(cR1,...,cRq-1)屬于長(zhǎng)度為q-1并且大小為d+1的雷德所羅門(mén)代碼RSd,并且(yR1,...,yRq-1)為其噪聲版。使用RSd的解碼算法,可以恢復(fù)FP,V,并且之后發(fā)現(xiàn)為cpj為cpj=FP,V(0)。這個(gè)本地解碼算法在圖1中繪出。
這些代碼的主要缺陷為d﹤q的條件,限制維數(shù)對(duì)于固定的字母表從而小的位置,當(dāng)代碼變長(zhǎng)時(shí),速率R=k/qm﹤1/m!會(huì)非常快地降為零。
為了獲得具有更高速率的代碼,我們需要求導(dǎo)階數(shù)s﹥0和延伸的賦值概念。對(duì)于多指數(shù)i,具有多項(xiàng)式F的哈斯導(dǎo)數(shù)H(F,i),這樣|i|﹤s。指定我們?cè)赑點(diǎn)概括出賦值映射:
算法1雷德密勒碼本地解碼算法
要求:oracle訪問(wèn)y=(y1,...,yn),c=ev(F)∈RMd的噪聲版
輸入:j∈[n],符號(hào)cj的指數(shù),在c中查找
輸出:cj=cpj=evpj(F)
1:隨機(jī)選擇
2:考慮線
D={Pj+0.U,Pj+α1.U,..,Pj+αq-1.U}
={R0,...,Rq-1}
3:發(fā)送R1,...,Rq-1作為查詢,
4:接收答案:yR1,...,yRq-1.
5:識(shí)別(yR1,...,yRq-1)作為雷德所羅門(mén)代碼字的噪聲版
c=(FP,V(α1),...,FP,V(αq-1))
其中FP,V在方程(6)中定義。
6:使用雷德所羅門(mén)解碼算法恢復(fù)多項(xiàng)式RP,V
7:返回RP,V(0).
以及,給出方程(5)中的點(diǎn)的列舉,整個(gè)賦值規(guī)則是
如在傳統(tǒng)雷德密勒碼的情況下一樣,我們通過(guò)(c1,...,cn)=(cp1,...,cpn)=evs(F)來(lái)表示,也就是我們可考慮d﹤sq,對(duì)應(yīng)的代碼為
使用本地可解碼的語(yǔ)言,我們有代碼并且代碼為-線性空間,其在上的大小其速率為
位置為
查詢,如下。出于簡(jiǎn)化,在無(wú)錯(cuò)的情況下,我們僅調(diào)用解碼算法。假設(shè)查找cj=cpj,那么所述算法選擇σ向量
對(duì)于每一個(gè)Vi,i=1,...,σ,考慮穿過(guò)Pj的Vi方向的線:
對(duì)于每一個(gè)i,1≤i≤σ,所述算法輸出對(duì)應(yīng)于點(diǎn)Ri,1,...,Ri,q-1的查詢,并且得到答案
在不出錯(cuò)的情況下,我們有
且,其中
使用適應(yīng)于我們?cè)诟戒浿谢叵氲亩嘀厍闆r[3]的雷德所羅門(mén)解碼算法,可以恢復(fù):
作為單變量多項(xiàng)式,即便發(fā)生了大量的錯(cuò)誤?,F(xiàn)在,從方程(2),對(duì)于0≤t≤s-1,F(xiàn)pj,vi第t個(gè)系數(shù),給出哈斯導(dǎo)數(shù)的線性方程:
對(duì)于如上文的給定的t,對(duì)于給定的方向,在未知數(shù)H(F,v)(Pj),|v|=t中,我們有線性方程Vi,1≤i≤σ??紤]所有的σ方向,我們得到σ方程的線性系統(tǒng)。解決這個(gè)問(wèn)題給出了所有的t階哈斯導(dǎo)數(shù),H((F,v)(Pj),|v|=t。對(duì)每一個(gè)t=0,...,s-1,允許恢復(fù)evs(F,Pj)=cpj=cj。本地解碼算法在圖2中繪出。
[6]的解碼算法實(shí)際上更加詳細(xì)并且解決更多錯(cuò)誤。但是,對(duì)于我們所關(guān)心的,簡(jiǎn)化版就足夠了。
考慮我們示出怎樣公平共享代碼字
在l=q個(gè)服務(wù)器上,使用幾何結(jié)構(gòu)。做法如下:考慮H為維數(shù)m-1的的-線性子空間。它可被看作是線性映射的內(nèi)核
對(duì)于一些我們寫(xiě)作為仿射超平面的互斥聯(lián)集
其中
對(duì)于坐標(biāo)的排列,我們可以寫(xiě)
其中
現(xiàn)在考慮仿射線,其與所有的超平面橫交。這是一條可由任何穿過(guò)P點(diǎn)的方向V給出的線,只要fH(V)≠0:
那么,由于對(duì)于一些點(diǎn)Q0,...,Qq-1,我們有
D∩Hi={Qi},i=0,..,q-1
也就是線D與所有的超平面橫交?,F(xiàn)在,很容易看出只要在1的步驟2中選擇的向量V不屬于h,算法1就有效。算法2也一樣,雖然它需要更多的細(xì)節(jié)來(lái)解釋。
作為實(shí)例,考慮的-線性超平面h:
H={P=(x1,...xm)|xm=0},
那么,我們有
其中
假定被分離成可通過(guò)要求對(duì)于i=1,..,q,為每一個(gè)服務(wù)器Si提供CHi以便儲(chǔ)存,并且必須使用橫線進(jìn)行本地解碼來(lái)建立PIR方案。用戶將首先選擇σ橫線Di,i=1,...,σ,其穿過(guò)點(diǎn)Pj,與請(qǐng)求的符號(hào)對(duì)應(yīng),并且在點(diǎn)D∩Hi查詢每一個(gè)服務(wù)器Si。在算法2中,主要且唯一的改變是確保所有的σ線實(shí)際上橫穿被選擇的超平面。
注意到位置代碼的位置沒(méi)有映射服務(wù)器的數(shù)目:雖然代碼具有位置qσ,但是被請(qǐng)求的服務(wù)器的數(shù)目仍然為q。而查詢的數(shù)目仍然為qσ,每個(gè)服務(wù)器接收σ次查詢。
困難是在代碼要求沿著每條線(q-1)次查詢的意義上發(fā)生的。在我們的語(yǔ)境中,當(dāng)請(qǐng)求Pi時(shí),所有的σ線都必須穿過(guò)Pi。發(fā)送到代碼字的請(qǐng)求對(duì)應(yīng)于q-1個(gè)點(diǎn),這些點(diǎn)不同于每條線上的Pi。使用我們的實(shí)例,對(duì)于一些i,假定Pj=(xi,...xm),其中xm=αi。那么,沒(méi)有查詢必須被發(fā)送到儲(chǔ)存已編碼代碼字的cHi部分的第i個(gè)服務(wù)器:第i個(gè)服務(wù)器將會(huì)知道在其所有指數(shù)中,它具有請(qǐng)求的指數(shù)。對(duì)于從qm到qm-1,保密性明顯下降。
使用算法2的表示法,這個(gè)問(wèn)題的一個(gè)解決方案是發(fā)送σ隨機(jī)查詢Xu,i,u=1,...,σ到服務(wù)器Si。這足夠使服務(wù)器Si混亂(圖2)。
上面描述的協(xié)議可總結(jié)如下:
預(yù)處理階段。用戶,或任何被信任方
1.選擇q,m,d,s,使用在上m個(gè)變量,程度≤d的多項(xiàng)式的次數(shù)s估值的多重代碼,使得位長(zhǎng)為k的原始數(shù)據(jù)x可被編碼;即選擇參數(shù),使得;
2.將分離為q個(gè)超平面。
在圖2a和2b,參數(shù)為q=4,m=3,s=2,σ=4。多重代碼的查詢用作LDC代碼(a),用在PIR方案(b)中,假定對(duì)應(yīng)查詢j的點(diǎn)Pj落在H0超平面上。在PIR方案中,隨機(jī)點(diǎn)X1,0,...,X4,0被發(fā)送到服務(wù)器S0,以便向他隱藏他主持請(qǐng)求的指數(shù)的事實(shí)。出于可閱讀性,沒(méi)有展示所有點(diǎn)的名稱。
3.使用多重代碼編碼數(shù)據(jù)x,導(dǎo)致代碼字c=evs(F),其中,F(xiàn)系數(shù)代表原始數(shù)據(jù)x;
4.為每個(gè)服務(wù)器Sl賦予代碼字的CHl部分,也就是Hl的坐標(biāo)點(diǎn)上的c的限制。
協(xié)議。用戶想要檢索指數(shù)j∈[n]
用戶選擇σ線Di,1≤i≤σ,與超平面橫交,并且穿過(guò)點(diǎn)Pj;
1.對(duì)于1≤l≤q,l≠u(mài),用戶發(fā)送查詢到服務(wù)器l。用戶發(fā)送σ隨機(jī)查詢Xi,u i=1,...,σ到服務(wù)器Su,u滿足Di∩Hu=Pj,i=1,...,σ
2.對(duì)于1≤l≤q,服務(wù)器發(fā)送答案
3.用戶之后進(jìn)行到算法2中的步驟6到9,以檢索
算法2多重雷德密勒碼的本地解碼算法
要求:oracle訪問(wèn)y=(y1,...,yn),c=evs(F)∈m-RMd的噪聲版
輸入:j∈[n],符號(hào)cj的指數(shù),在c中查找
輸出:
1:選擇σ非零隨機(jī)向量U1,...,Uσ;
2:對(duì)于i=1到σ
3:考慮線
Di={Pj+0·Ui,Pj+α1·Ui,...,Pj+αq-1·Ui}={Ri,0,...,Ri,q-1}
4:發(fā)送Ri,1,...,Ri,q-1作為查詢,
5:接收答案:yi,R1,...,yRi,q-1,i=1,...,σ.
6:識(shí)別(yRi,1,...,yRi,q-1)作為“雷德所羅門(mén)”代碼字的噪聲版
c=(FPj,Vi(α1),...,FPj,Vi(αq-1))
其中FPj,Vi在方程(7)中定義。
7:使用“雷德所羅門(mén)”解碼算法恢復(fù)多項(xiàng)式
8:結(jié)束
9:在未知數(shù)H(F,v)(Pj),|v|﹤s解決來(lái)自方程式(8)的線性系統(tǒng):
返回
參考文獻(xiàn)
[1]A.Beimel,Y.Ishai,E.Kushilevitz,and J.-F.Raymond.Breaking the n1/(2k-l)barrier for information-theoretic private information retrieval.In B.Chazelle,editor,Foundations of Computer Science,2002.Proceedings.The 43rd Annual IEEE Symposium on,volume 59,pages 261-270,2002.
[2]B.Chor,O.Goldreich,E.Kushilevitz,and M.Sudan.Private information retrieval.
Journal of the A CM,45(6):965-981,November 1998.Earlier version in FOCS'95.
[3]Peter Gemmell and Madhu Sudan.Highly resilient correctors for polynomials.Information Processing Letters,43(4):1 69-1 74,September 1992.
[4]V.Guruswami and C.Wang.Linear-algebraic list decoding for variants of reedsolomon codes.Information Theory,IEEE Transactions on,59(6):3257-3268,June 2013.
[5]Jonathan Katz and Luca Trevisan.On the efficiency of local decoding procedures for error-correcting codes.In F.Yao and E.Luks,editors,Proceedings of the Thirtysecond Annual ACM Symposium on Theory of Computing,STOC'00,pages 80-86.ACM,2000.
[6]S.Kopparty,S.Saraf,and S.Yekhanin.High-rate codes with sublinear-time decoding.In Salil Vadhan,editor,Proceedings of the Forty-third Annual ACM Symposium
on Theory of Computing,STOC'11,pages 167-176,New York,NY,USA,2011.ACM.
[7]E.Kushilevitz and R.Ostrovsky.Replication is not needed:single database,computationally-private information retrieval.In Foundations of Computer Science,1997.Proceedings.38th Annual Symposium on,pages 364-373,October 1997.
[8]Sergey Yekhanin.Locally Decodable Codes and Private Information Retrieval Schemes.Information security and cryptography.Springer,2010.
[9]Sergey Yekhanin.Locally Decodable Codes,volume 6 of Foundations and Trends in Theoretical Computer Science.NOW publisher,2012.