【中文翻譯】第9章-The Algorithmic Foundations of Differential Privacy

由于GitHub項目僅翻譯到前5章,我們從第6章開始通過大語言模型翻譯,并導出markdown格式。
大模型難免存在錯漏,請讀者指正。

教材原文地址:https://www.cis.upenn.edu/~aaroth/Papers/privacybook.pdf

在這里插入圖片描述

9 差分隱私與計算復雜度

到目前為止,我們對差分隱私的討論忽略了計算復雜度問題,允許數據管理者和攻擊者的計算能力不受限制。實際上,數據管理者和攻擊者的計算能力可能都是受限的。

將我們自己限制在計算能力受限的數據管理者范圍內,會限制數據管理者的操作,使得實現差分隱私變得更加困難。實際上,我們將展示一類計數查詢的示例,在標準的復雜度理論假設下,即使已知低效算法,如SmallDB和私有乘法權重算法,也無法高效生成合成數據庫。大致來說,數據庫行是數字簽名,使用數據管理者無法訪問的密鑰進行簽名。直觀地說,合成數據庫中的任何一行要么是從原始數據庫復制而來(違反隱私),要么必須是對新消息的簽名,即偽造簽名(違反數字簽名方案的不可偽造性)。不幸的是,這種情況并不局限于基于數字簽名的(可能是人為構造的)示例:即使創建一個能保持相對準確的雙向邊際的合成數據庫也很困難。從積極的方面來看,給定一組 Q \mathcal{Q} Q查詢和一個從全域 X \mathcal{X} X中抽取行的 n n n行數據庫,可以在關于 n , ∣ X ∣ n,\left| \mathcal{X}\right| n,X ∣ Q ∣ \left| \mathcal{Q}\right| Q的多項式時間內生成一個合成數據庫。

如果我們放棄合成數據庫的目標,滿足于一種數據結構,從中我們可以獲得每個查詢答案的相對準確近似值,那么情況會有趣得多。事實證明,這個問題與追蹤叛徒問題密切相關,在追蹤叛徒問題中,目標是在向付費客戶分發數字內容的同時阻止盜版。

如果對手被限制在多項式時間內,那么實現差分隱私就會變得更容易。事實上,安全函數評估這一極其強大的概念提供了一種自然的方法來避免使用可信的數據管理者(同時比隨機響應方法具有更高的準確性),也提供了一種自然的方法來允許多個出于法律原因不能共享其數據集的可信數據管理者,對實際上是合并后的數據集進行查詢響應。簡而言之,安全函數評估是一種密碼學原語,它允許一組 n n n 個參與方 p 1 , p 2 , … , p n {p}_{1},{p}_{2},\ldots ,{p}_{n} p1?,p2?,,pn? (其中故障參與方的比例小于某個固定分數,該分數根據故障類型而異;對于“誠實但好奇”的故障,該分數為 1)合作計算任何函數 f ( x 1 , … , x n ) f\left( {{x}_{1},\ldots ,{x}_{n}}\right) f(x1?,,xn?) ,其中 x i {x}_{i} xi? 是參與方 p i {p}_{i} pi? 的輸入或值,以這樣一種方式進行計算,即任何故障參與方聯盟都無法破壞計算過程,也無法了解非故障參與方的值,除非這些值可以從函數輸出和聯盟成員的值中推導出來。這兩個屬性傳統上被稱為正確性和隱私性。這種隱私概念,我們稱之為安全函數評估隱私(SFE 隱私),與差分隱私有很大不同。設 V V V 是故障參與方持有的值的集合,設 p i {p}_{i} pi? 是一個非故障參與方。如果 x i {x}_{i} xi? 可以從 V ∪ { f ( x 1 , … , x n ) } V \cup \left\{ {f\left( {{x}_{1},\ldots ,{x}_{n}}\right) }\right\} V{f(x1?,,xn?)} 中推導出來,SFE 隱私允許故障參與方了解 x i {x}_{i} xi? ;因此,差分隱私不允許精確發布 f ( x 1 , … , x n ) f\left( {{x}_{1},\ldots ,{x}_{n}}\right) f(x1?,,xn?) 。然而,用于計算函數 f f f 的安全函數評估協議可以很容易地修改為 f f f 的差分隱私協議,只需定義一個新函數 g g g ,它是在 f f f 的值上添加拉普拉斯噪聲 Lap ? ( Δ f / ε ) \operatorname{Lap}\left( {{\Delta f}/\varepsilon }\right) Lap(Δf/ε) 的結果。原則上,安全函數評估允許對 g g g 進行評估。由于 g g g 是差分隱私的,并且將 SFE 隱私屬性應用于 g g g 時表明,除了從 g ( x 1 , … , x n ) g\left( {{x}_{1},\ldots ,{x}_{n}}\right) g(x1?,,xn?) 的值和 V V V 中可以了解到的信息之外,無法了解到關于輸入的任何其他信息,因此,只要故障參與者被限制在多項式時間內,就可以確保差分隱私。因此,安全函數評估允許在不使用可信數據管理者的情況下實現差分隱私的計算概念,并且與使用可信數據管理者時所能達到的準確性相比沒有損失。特別是,在確保計算差分隱私的同時,可以以恒定的預期誤差回答計數查詢,而無需可信數據管理者。我們將看到,在不使用密碼學的情況下,誤差必須為 Ω ( n 1 / 2 ) \Omega \left( {n}^{1/2}\right) Ω(n1/2) ,這證明了在多方情況下,計算假設確實可以提高準確性。


1 {}^{1} 1 回想一下,雙向邊際是指對于每一對屬性值,數據庫中具有該屬性值對的行數的計數。

2 {}^{2} 2 在“誠實但好奇”的情況下,我們可以為任何參與方 P j {P}_{j} Pj? 設定 V = { x j } V = \left\{ {x}_{j}\right\} V={xj?}


9.1 多項式時間的數據管理者

在本節中,我們表明,在標準的密碼學假設下,要創建一個合成數據庫,使其能夠對適當選擇的一類計數查詢給出準確答案,同時確保哪怕是最基本的隱私概念,在計算上也是困難的。

這一結果有幾個擴展;例如,查詢集較小(但數據域仍然很大)的情況,以及數據域較小(但查詢集很大)的情況。此外,對于某些自然的查詢族,如對應于合取的查詢族,也得到了類似的負面結果。

我們將使用“合成(syntheticize)”這一術語來表示以保護隱私的方式生成合成數據庫的過程 3 {}^{3} 3。因此,本節的結果涉及合成過程的計算難度。我們所定義的隱私概念將遠弱于差分隱私,因此合成的難度意味著以差分隱私的方式生成合成數據庫也具有難度。具體而言,如果即使避免完整泄露輸入項都很困難,我們就稱合成是困難的。也就是說,總會有某些項完全暴露。


3 {}^{3} 3 在第6節中,合成器的輸入是一個概要;這里我們從一個數據庫開始,它是一個簡單的概要。


請注意,如果相反,泄露少量輸入項不被視為隱私泄露,那么通過發布輸入項的一個隨機子集就可以輕松實現合成。這個“合成數據庫”的實用性來自采樣邊界:在很大概率上,即使對于大量計數查詢,這個子集也能保留實用性。

在引入復雜性假設時,我們需要一個安全參數來表示大小;例如,集合的大小、消息的長度、解密密鑰的比特數等等,以及表示計算難度。安全參數用 κ \kappa κ表示,代表“合理”的大小和工作量。例如,假設對一個大小為安全參數的(任意固定)多項式的集合進行窮舉搜索是可行的。

計算復雜性是一個漸近概念——我們關注的是隨著對象(數據全域、數據庫、查詢族)的大小增長,任務的難度如何增加。因此,例如,我們不僅需要考慮單一大小數據庫的分布(在本專著的其余部分我們稱之為 n n n),還需要考慮由安全參數索引的分布族。與此相關,當我們引入復雜性時,我們傾向于“弱化”斷言:偽造簽名并非不可能——也許會有運氣!相反,我們假設沒有高效算法能以不可忽略的概率成功,其中“高效”和“不可忽略”是根據安全參數定義的。在我們的直觀討論中,我們將忽略這些細節,但在正式的定理陳述中會保留它們。

非正式地說,如果對于任何高效的(所謂的)合成器,從該分布中抽取的數據庫在很大概率上,至少有一個數據庫項可以從所謂的合成器的輸出中提取出來,那么數據庫的一個分布就很難合成(相對于某個查詢族 Q \mathcal{Q} Q)。當然,為了避免平凡情況,我們還要求當這個泄露的項從輸入數據庫中排除(例如,用一個隨機的不同項替換)時,它能從輸出中提取出來的概率非常小。這意味著任何高效的(所謂的)合成器確實在很強的意義上損害了輸入項的隱私。

下面的定義9.1將形式化我們對合成器的實用性要求。有三個參數: α \alpha α描述了準確性要求(在 α \alpha α范圍內被認為是準確的); γ \gamma γ描述了成功合成允許不準確的查詢比例, β \beta β將是失敗的概率。

對于一個產生合成數據庫的算法 A A A,如果對于 1 ? γ 1 - \gamma 1?γ比例的查詢 q ∈ Q q \in \mathcal{Q} qQ ∣ q ( A ( x ) ) ? q ( x ) ∣ ≤ α \left| {q\left( {A\left( x\right) }\right) - q\left( x\right) }\right| \leq \alpha q(A(x))?q(x)α,我們就說輸出 A ( x ) A\left( x\right) A(x)對于查詢集 Q \mathcal{Q} Q ( α , γ ) \left( {\alpha ,\gamma }\right) (α,γ) - 準確的。

定義9.1 ( ( α , β , γ ) -Utility ) \left( {\left( {\alpha ,\beta ,\gamma }\right) \text{-Utility}}\right) ((α,β,γ)-Utility)。設 Q \mathcal{Q} Q是一個查詢集, X \mathcal{X} X是一個數據全域。如果對于任何 n n n項數據庫 x x x,合成器 A A A對于 Q \mathcal{Q} Q X \mathcal{X} X具有 ( α , β , γ ) \left( {\alpha ,\beta ,\gamma }\right) (α,β,γ) - 實用性:

Pr ? [ A ( x ) is? ( α , γ ) -accurate?for? Q ] ≥ 1 ? β \Pr \left\lbrack {A\left( x\right) \text{ is }\left( {\alpha ,\gamma }\right) \text{-accurate for }\mathcal{Q}}\right\rbrack \geq 1 - \beta Pr[A(x)?is?(α,γ)-accurate?for?Q]1?β

其中概率是基于 A A A的隨機選擇。

Q = { Q n } n = 1 , 2 , … \mathcal{Q} = {\left\{ {\mathcal{Q}}_{n}\right\} }_{n = 1,2,\ldots } Q={Qn?}n=1,2,?為查詢族集合, X = { X n } n = 1 , 2 , … \mathcal{X} = {\left\{ {\mathcal{X}}_{n}\right\} }_{n = 1,2,\ldots } X={Xn?}n=1,2,?為數據全域集合。若一個算法的運行時間為關于 ( n , log ? ( ∣ Q n ∣ ) , log ? ( ∣ X n ∣ ) ) \left( {n,\log \left( \left| {\mathcal{Q}}_{n}\right| \right) ,\log \left( \left| {\mathcal{X}}_{n}\right| \right) }\right) (n,log(Qn?),log(Xn?))的多項式,則稱該算法是高效的。

在接下來的定義中,我們將描述一族分布難以合成意味著什么。更具體地說,我們將說明生成提供 ( α , γ ) \left( {\alpha ,\gamma }\right) (α,γ) - 精度的合成數據庫困難意味著什么。和往常一樣,我們必須將其表述為一個漸近性陳述。

定義9.2 ( ( μ , α , β , γ , Q ) (\left( {\mu ,\alpha ,\beta ,\gamma ,\mathcal{Q}}\right) ((μ,α,β,γ,Q) - 難以合成的數據庫分布)。設 Q = { Q n } n = 1 , 2 , … \mathcal{Q} = {\left\{ {\mathcal{Q}}_{n}\right\} }_{n = 1,2,\ldots } Q={Qn?}n=1,2,?為查詢族集合, X = \mathcal{X} = X= { X n } n = 1 , 2 , … {\left\{ {\mathcal{X}}_{n}\right\} }_{n = 1,2,\ldots } {Xn?}n=1,2,?為數據全域集合,且設 μ , α , β , γ ∈ [ 0 , 1 ] \mu ,\alpha ,\beta ,\gamma \in \left\lbrack {0,1}\right\rbrack μ,α,β,γ[0,1]。設 n n n為數據庫大小, D \mathcal{D} D為分布集合,其中 D n {\mathcal{D}}_{n} Dn?是關于從 X n {X}_{n} Xn?中選取的 n + 1 n + 1 n+1個項的集合。

我們用 ( x , i , x i ′ ) ~ D n \left( {x,i,{x}_{i}^{\prime }}\right) \sim {\mathcal{D}}_{n} (x,i,xi?)Dn?表示這樣一個實驗:選擇一個 n n n - 元素數據庫,從 [ n ] \left\lbrack n\right\rbrack [n]中均勻選取一個索引 i i i,并從 X n {\mathcal{X}}_{n} Xn?中選取一個額外元素 x i ′ {x}_{i}^{\prime } xi?。從 D n {\mathcal{D}}_{n} Dn?中抽取的一個樣本會得到一對數據庫: x x x以及將 x x x的第 i i i個元素(在規范排序下)替換為 x i ′ {x}_{i}^{\prime } xi?后的結果。因此,我們認為 D n {\mathcal{D}}_{n} Dn?指定了一個關于 n n n - 項數據庫(及其相鄰數據庫)的分布。

我們稱 D \mathcal{D} D ( μ , α , β , γ , Q ) \left( {\mu ,\alpha ,\beta ,\gamma ,\mathcal{Q}}\right) (μ,α,β,γ,Q) - 難以合成的,如果存在一個高效算法 T T T,使得對于任何所謂的高效合成器 A A A,以下兩個條件成立:

  1. 在數據庫 x ~ D x \sim \mathcal{D} xD 的選擇以及 A A A T T T 的隨機硬幣拋擲結果上,以概率 1 ? μ 1 - \mu 1?μ 而言,如果 A ( x ) A\left( x\right) A(x) 1 ? γ 1 - \gamma 1?γ 比例的查詢保持 α \alpha α -效用,那么 T T T 可以從 A ( x ) A\left( x\right) A(x) 中恢復 x x x 的某一行:

概率

( x , i , x i ′ ) ~ D n \left( {x,i,{x}_{i}^{\prime }}\right) \sim {D}_{n} (x,i,xi?)Dn?

A , T A,T A,T 的硬幣拋擲結果

[ ( A ( x ) maintains? ( α , β , γ ) -utility ) and? ( x ∩ T ( A ( x ) ) = ? ) ] ≤ μ \left\lbrack {\left( {A\left( x\right) \text{ maintains }\left( {\alpha ,\beta ,\gamma }\right) \text{-utility}}\right) \text{ and }\left( {x \cap T\left( {A\left( x\right) }\right) = \varnothing }\right) }\right\rbrack \leq \mu [(A(x)?maintains?(α,β,γ)-utility)?and?(xT(A(x))=?)]μ

  1. 對于每一個高效算法 A A A,以及每一個 i ∈ [ n ] i \in \left\lbrack n\right\rbrack i[n],如果我們從 D D D 中抽取 ( x , i , x i ′ ) \left( {x,i,{x}_{i}^{\prime }}\right) (x,i,xi?),并將 x i {x}_{i} xi? 替換為 x i ′ {x}_{i}^{\prime } xi? 以形成 x ′ , T {x}^{\prime },T x,T,那么除了以極小的概率外,無法從 A ( x ′ ) A\left( {x}^{\prime }\right) A(x) 中提取 x i {x}_{i} xi?

Pr ? ( x , i , x i ′ ) ~ D n [ x i ∈ T ( A ( x ′ ) ) ] ≤ μ . coin?flips?of? A , T \begin{array}{l} \;\mathop{\Pr }\limits_{{\left( {x,i,{x}_{i}^{\prime }}\right) \sim {D}_{n}}}\left\lbrack {{x}_{i} \in T\left( {A\left( {x}^{\prime }\right) }\right) }\right\rbrack \leq \mu . \\ \text{ coin flips of }A,T \\ \end{array} (x,i,xi?)Dn?Pr?[xi?T(A(x))]μ.?coin?flips?of?A,T?

稍后,我們將關注能生成任意概要(不一定是合成數據庫)的離線機制。在這種情況下,我們將關注難以清理(而非難以合成)的相關概念,為此我們只需去掉 A A A 生成合成數據庫這一要求。

9.2 一些難以合成的分布

我們現在構造三種難以合成的分布。

一個簽名方案由三元組(可能是隨機化的)算法(Gen、Sign、Verify)給出:

  • Gen: 1 N → { ( S K , V K ) n } n = 1 , 2 , … {1}^{\mathbb{N}} \rightarrow {\left\{ {\left( \mathrm{{SK}},\mathrm{{VK}}\right) }_{n}\right\} }_{n = 1,2,\ldots } 1N{(SK,VK)n?}n=1,2,? 用于生成一個由(秘密)簽名密鑰和(公開)驗證密鑰組成的對。它僅以一元形式表示的安全參數 κ ∈ N \kappa \in \mathbb{N} κN 作為輸入,并生成一個從 ( S K , V K ) κ {\left( \mathrm{{SK}},\mathrm{{VK}}\right) }_{\kappa } (SK,VK)κ? 中抽取的對, ( S K , V K ) κ {\left( \mathrm{{SK}},\mathrm{{VK}}\right) }_{\kappa } (SK,VK)κ? 是由 κ \kappa κ 索引的(簽名、驗證)密鑰對的分布;我們分別用 p s ( κ ) , p v ( κ ) , ? s ( κ ) {p}_{s}\left( \kappa \right) ,{p}_{v}\left( \kappa \right) ,\ell s\left( \kappa \right) ps?(κ),pv?(κ),?s(κ) 表示簽名密鑰、驗證密鑰和簽名的長度。

  • Sign: S K κ × { 0 , 1 } ? ( κ ) → { 0 , 1 } ? s ( κ ) {\mathrm{{SK}}}_{\kappa } \times \{ 0,1{\} }^{\ell \left( \kappa \right) } \rightarrow \{ 0,1{\} }^{\ell s\left( \kappa \right) } SKκ?×{0,1}?(κ){0,1}?s(κ) 以從 ( S K , V K ) κ {\left( \mathrm{{SK}},\mathrm{{VK}}\right) }_{\kappa } (SK,VK)κ? 中抽取的密鑰對中的簽名密鑰和長度為 ? ( κ ) \ell \left( \kappa \right) ?(κ) 的消息 m m m 作為輸入,并生成 m m m 的簽名;

  • Verify: V K κ × { 0 , 1 } ? × { 0 , 1 } ? ( κ ) → { 0 , 1 } {\mathrm{{VK}}}_{\kappa } \times \{ 0,1{\} }^{ * } \times \{ 0,1{\} }^{\ell \left( \kappa \right) } \rightarrow \{ 0,1\} VKκ?×{0,1}?×{0,1}?(κ){0,1} 以驗證密鑰、字符串 σ \sigma σ 和長度為 ? ( κ ) \ell \left( \kappa \right) ?(κ) 的消息 m m m 作為輸入,并檢查 σ \sigma σ 是否確實是在給定驗證密鑰下 m m m 的有效簽名。

密鑰、消息長度和簽名長度在 κ \kappa κ 上均為多項式。

所需的安全性概念是,給定任意多項式(關于 κ \kappa κ)數量的有效(消息,簽名)對,偽造任何新的簽名是困難的,即使是對先前已簽名消息的新簽名(請回想一下,簽名算法可能是隨機化的,因此在相同的簽名密鑰下,同一消息可能存在多個有效簽名)。這樣的簽名方案可以從任何單向函數構造出來。通俗地說,單向函數是易于計算的函數—— f ( x ) f\left( x\right) f(x) 可以在關于 x x x 的長度(比特數)的多項式時間內計算出來,但難以求逆:對于每個概率多項式時間算法,在安全參數 κ \kappa κ 的多項式時間內運行,在 f f f 的定義域中隨機選擇 x x x 時,找到 f ( x ) f\left( x\right) f(x) 的任何有效原像的概率,增長速度比 κ \kappa κ 的任何多項式的倒數都慢。

難以合成分布 I:固定一個任意的簽名方案。計數查詢集合 Q κ {\mathcal{Q}}_{\kappa } Qκ? 為每個驗證密鑰 v k ∈ V K κ {vk} \in {\mathrm{{VK}}}_{\kappa } vkVKκ? 包含一個計數查詢 q v k {q}_{vk} qvk?。數據全域 X κ {\mathcal{X}}_{\kappa } Xκ? 由所有可能的(消息,簽名)對組成,這些對的形式是使用 V K κ {\mathrm{{VK}}}_{\kappa } VKκ? 中的密鑰對長度為 ? ( κ ) \ell \left( \kappa \right) ?(κ) 的消息進行簽名得到的。

數據庫上的分布 D κ {\mathcal{D}}_{\kappa } Dκ? 由以下采樣過程定義。運行簽名方案生成器 Gen ? ( 1 κ ) \operatorname{Gen}\left( {1}^{\kappa }\right) Gen(1κ) 以獲得(私鑰,公鑰)。在 { 0 , 1 } ? ( κ ) \{ 0,1{\} }^{\ell \left( \kappa \right) } {0,1}?(κ) 中隨機選擇 n = κ n = \kappa n=κ 條消息,并對每條消息運行簽名過程,得到一組由密鑰 s k {sk} sk 簽名的 n n n 個(消息,簽名)對。這就是數據庫 x x x。請注意,數據庫中的所有消息都使用相同的簽名密鑰進行簽名。

數據全域項 ( m , σ ) \left( {m,\sigma }\right) (m,σ) 滿足謂詞 q v k {q}_{vk} qvk? 當且僅當 Verify ? ( v k , m , σ ) = 1 \operatorname{Verify}\left( {{vk},m,\sigma }\right) = 1 Verify(vk,m,σ)=1,即根據驗證密鑰 v k {vk} vk σ \sigma σ m m m 的有效簽名。

x ∈ R D κ x{ \in }_{R}{\mathcal{D}}_{\kappa } xR?Dκ? 為一個數據庫,設 s k {sk} sk 為所使用的簽名密鑰,對應的驗證密鑰為 v k {vk} vk。假設合成器生成了 y y y,那么 y y y 的幾乎所有行在 v k {vk} vk 下都必須是有效簽名(因為查詢 v k {vk} vk x x x 的分數計數為 1)。根據簽名方案的不可偽造性,所有這些簽名都必須來自輸入數據庫 x ? x - x?,因為多項式時間受限的管理者在時間 poly ( κ ) \left( \kappa \right) (κ) 內無法生成新的有效(消息,簽名)對。更正式地(只是稍微更正式),一個高效算法能夠生成一個可以用密鑰 v k {vk} vk 驗證但不在 x x x 中的(消息,簽名)對的概率是可以忽略不計的,因此,一個高效合成器生成的任何 y y y 極有可能只包含 x 4 3 x\frac{4}{3} x34? 的行。這與(任何合理的)隱私概念相矛盾。

在這種構造中, Q κ {\mathcal{Q}}_{\kappa } Qκ?(驗證密鑰集合)和 X κ {\mathcal{X}}_{\kappa } Xκ?((消息,簽名)對集合)都很大(相對于 κ \kappa κ是超多項式的)。當這兩個集合都較小時,就可以高效地進行合成數據集的差分隱私生成。也就是說,存在一個差分隱私合成器,其運行時間相對于 n = κ , ∣ Q κ ∣ n = \kappa ,\left| {\mathcal{Q}}_{\kappa }\right| n=κ,Qκ? ∣ X κ ∣ \left| {\mathcal{X}}_{\kappa }\right| Xκ?是多項式的:使用拉普拉斯機制計算帶噪聲的計數以獲得概要,然后運行第6節中的合成器。因此,當這兩個集合的大小相對于 κ \kappa κ是多項式時,合成器的運行時間相對于 κ \kappa κ也是多項式的。

我們現在簡要討論將第一個困難性結果推廣到其中一個集合較小(但另一個仍然很大)的情況。

難以合成的分布II:在上述數據庫分布中,我們選擇了一個單一的(sk,vk)密鑰對,并生成了一個消息數據庫,所有消息都使用 s k {sk} sk進行簽名;通過要求合成器在 s k {sk} sk下生成一個新簽名,使得合成后的數據庫能夠為查詢 q v k {q}_{vk} qvk?提供準確答案,從而得到了困難性。為了在查詢集合的大小僅相對于安全參數是多項式時獲得合成的困難性,我們再次使用數字簽名,用唯一的密鑰進行簽名,但我們無法為每個可能的驗證密鑰 v k {vk} vk設置一個查詢,因為這些密鑰數量太多。


4 {}^{4} 4量化順序很重要,否則合成器可能會將簽名密鑰硬編碼進去。我們首先固定合成器,然后運行生成器并構建數據庫。概率是基于實驗中的所有隨機性:密鑰對的選擇、數據庫的構建以及合成器使用的隨機性。


為了解決這個問題,我們做了兩個改變:

  1. 數據庫行現在的形式為(驗證密鑰, 消息, 簽名)。更準確地說,數據全域由(key,message,signature)三元組 X = { ( v k , m , s ) : v k ∈ V K κ , m ∈ \mathcal{X} = \left\{ {\left( {{vk},m,s}\right) : {vk} \in {\mathrm{{VK}}}_{\kappa },m \in }\right. X={(vk,m,s):vkVKκ?,m { 0 , 1 } ? ( κ ) , s ∈ { 0 , 1 } ? s ( κ ) } \{ 0,1{\} }^{\ell \left( \kappa \right) },s \in \{ 0,1{\} }^{\ell s\left( \kappa \right) }\} {0,1}?(κ),s{0,1}?s(κ)}組成。

  2. 我們向查詢類中精確添加 2 p v ( κ ) 2{p}_{v}\left( \kappa \right) 2pv?(κ)個查詢,其中 p v ( κ ) {p}_{v}\left( \kappa \right) pv?(κ)是運行生成算法 Gen ? ( 1 κ ) \operatorname{Gen}\left( {1}^{\kappa }\right) Gen(1κ)產生的驗證密鑰的長度。查詢的形式為(i,b),其中 1 ≤ i ≤ p v ( κ ) 1 \leq i \leq {p}_{v}\left( \kappa \right) 1ipv?(κ) b ∈ { 0 , 1 } b \in \{ 0,1\} b{0,1}。查詢“(i,b)”的含義是,“數據庫行中形式為(vk,m,s)且 Verify ? ( v k , m , s ) = 1 \operatorname{Verify}\left( {{vk},m,s}\right) = 1 Verify(vk,m,s)=1并且 v k {vk} vk的第 i i i位是 b b b的行所占的比例是多少?” 通過用根據單個密鑰 v k {vk} vk簽名的消息填充數據庫,我們確保當 v k i = b v{k}_{i} = b vki?=b時,對于所有 1 ≤ i ≤ p ( κ ) 1 \leq i \leq p\left( \kappa \right) 1ip(κ),這些查詢的響應應該接近1,而當 v k i = 1 ? b v{k}_{i} = 1 - b vki?=1?b時,應該接近0。

考慮到這一點,數據庫上難以合成的分布是通過以下采樣過程構建的:生成一個簽名 - 驗證密鑰對 ( s k , v k ) ← Gen ? ( 1 κ ) \left( {{sk},{vk}}\right) \leftarrow \operatorname{Gen}\left( {1}^{\kappa }\right) (sk,vk)Gen(1κ),并從 { 0 , 1 } ? ( κ ) \{ 0,1{\} }^{\ell \left( \kappa \right) } {0,1}?(κ)中均勻選擇 n = κ n = \kappa n=κ條消息 m 1 , … , m n {m}_{1},\ldots ,{m}_{n} m1?,,mn?。數據庫 x x x將有 n n n行;對于 j ∈ [ n ] j \in \left\lbrack n\right\rbrack j[n],第 j j j行是驗證密鑰、第 j j j條消息及其有效簽名,即元組 ( v k , m j , Sign ? ( m j , s k ) ) \left( {{vk},{m}_{j},\operatorname{Sign}\left( {{m}_{j},{sk}}\right) }\right) (vk,mj?,Sign(mj?,sk))。接下來,從 [ n ] \left\lbrack n\right\rbrack [n]中均勻選擇 i i i。為了生成第 ( n + 1 ) \left( {n + 1}\right) (n+1) x i ′ {x}_{i}^{\prime } xi?,只需生成一個新的消息 - 簽名對(使用相同的密鑰 s k {sk} sk)。

難以合成的分布III:為了證明多項式(關于 κ \kappa κ)大小的消息空間(但超多項式大小的查詢集)情況下的難度,我們使用偽隨機函數。粗略地說,這些是具有簡短描述的多項式時間可計算函數,僅根據其輸入 - 輸出行為,無法有效地將它們與真正的隨機函數(其描述很長)區分開來。只有當我們堅持為所有查詢保持實用性時,這個結果才表明合成的難度。實際上,如果我們只關心確保平均實用性,那么第6節中描述的計數查詢的基本生成器在全域 X \mathcal{X} X是多項式大小時,即使 Q \mathcal{Q} Q是指數大的,也能產生一種有效的合成算法。

{ f s } s ∈ { 0 , 1 } κ {\left\{ {f}_{s}\right\} }_{s \in \{ 0,1{\} }^{\kappa }} {fs?}s{0,1}κ?是一個從 [ ? ] \left\lbrack \ell \right\rbrack [?] [ ? ] \left\lbrack \ell \right\rbrack [?]的偽隨機函數族,其中 ? ∈ poly ? ( κ ) \ell \in \operatorname{poly}\left( \kappa \right) ?poly(κ)。更具體地說,我們需要 [ ? ] \left\lbrack \ell \right\rbrack [?]中所有元素對的集合“小”,但大于 κ \kappa κ;這樣,描述該函數族中一個函數的 κ \kappa κ位字符串比描述一個將 [ ? ] \left\lbrack \ell \right\rbrack [?]映射到 [ ? ] \left\lbrack \ell \right\rbrack [?]的隨機函數所需的 ? log ? 2 ? \ell {\log }_{2}\ell ?log2??位要短。這樣的偽隨機函數族可以從任何單向函數構造出來。

我們的數據全域將是 [ ? ] \left\lbrack \ell \right\rbrack [?]中所有元素對的集合: X = { ( a , b ) : a , b ∈ [ ? ] } . Q κ \mathcal{X} = \{ \left( {a,b}\right) : a,b \in \left\lbrack \ell \right\rbrack \} .{\mathcal{Q}}_{\kappa } X={(a,b):a,b[?]}.Qκ?將包含兩種類型的查詢:

  1. 對于該函數族中的每個函數 { f s } s ∈ { 0 , 1 } κ {\left\{ {f}_{s}\right\} }_{s \in \{ 0,1{\} }^{\kappa }} {fs?}s{0,1}κ?,都會有一個查詢。全域元素 ( a , b ) ∈ X \left( {a,b}\right) \in \mathcal{X} (a,b)X滿足查詢 s s s當且僅當 f s ( a ) = b {f}_{s}\left( a\right) = b fs?(a)=b

  2. 將有相對較少數量(比如 κ \kappa κ)的真正隨機查詢。這樣的查詢可以通過為每個 ( a , b ) ∈ X \left( {a,b}\right) \in \mathcal{X} (a,b)X隨機選擇(a,b)是否滿足該查詢來構造。

難以合成的分布生成方式如下。首先,我們隨機選擇一個字符串 s ∈ { 0 , 1 } κ s \in \{ 0,1{\} }^{\kappa } s{0,1}κ,它指定了我們函數族中的一個函數。接下來,對于從 [ ? ] \left\lbrack \ell \right\rbrack [?] 中無放回隨機選取的 n = κ n = \kappa n=κ 個不同值 a 1 , … , a n {a}_{1},\ldots ,{a}_{n} a1?,,an?,我們生成宇宙元素 ( a , f s ( a ) ) \left( {a,{f}_{s}\left( a\right) }\right) (a,fs?(a))

其直覺很簡單,僅依賴于第一種類型的查詢,并且不利用 a i {a}_{i} ai? 的獨特性。給定一個根據我們的分布生成的數據庫 x x x,其中偽隨機函數由 s s s 給出,合成器必須創建一個合成數據庫,(幾乎)其所有行都必須滿足查詢 s s s。直覺是它無法可靠地找到不出現在 x x x 中的輸入 - 輸出對。更準確地說,對于任意元素 a ∈ [ ? ] a \in \left\lbrack \ell \right\rbrack a[?],使得 x x x 中沒有形式為 ( a , f s ( a ) ) \left( {a,{f}_{s}\left( a\right) }\right) (a,fs?(a)) 的行, f s {f}_{s} fs? 的偽隨機性表明,一個高效的合成器找到 f s ( a ) {f}_{s}\left( a\right) fs?(a) 的概率最多只比 1 / ? 1/\ell 1/? 略大一點。從這個意義上說,偽隨機性給我們帶來的性質與我們從數字簽名中獲得的性質類似,盡管稍弱一些。

當然,對于任何給定的 a ∈ [ ? ] a \in \left\lbrack \ell \right\rbrack a[?],合成器確實可以以概率 1 / ? 1/\ell 1/? 猜出值 f s ( a ) {f}_{s}\left( a\right) fs?(a),因此如果沒有第二種類型的查詢,顯然沒有什么能阻止它忽略 x x x,選擇任意的 a a a,并輸出一個包含 n n n 個 (a, b) 副本的數據庫,其中 b b b 是從 [ ? ] \left\lbrack \ell \right\rbrack [?] 中均勻隨機選取的。現在的直覺是,這樣的合成數據庫會給出錯誤的比例 - 要么是零,要么是一,而真正隨機查詢的正確答案應該約為 1 / 2 ? 1/2 - 1/2?

形式上,我們有:

定理 9.1。設 f : { 0 , 1 } κ → { 0 , 1 } κ f : \{ 0,1{\} }^{\kappa } \rightarrow \{ 0,1{\} }^{\kappa } f:{0,1}κ{0,1}κ 是一個單向函數。對于每個 a > 0 a > 0 a>0,以及每個整數 n = poly ? ( κ ) n = \operatorname{poly}\left( \kappa \right) n=poly(κ),存在一個大小為 exp ? ( poly ? ( κ ) ) \exp \left( {\operatorname{poly}\left( \kappa \right) }\right) exp(poly(κ)) 的查詢族 Q \mathcal{Q} Q、一個大小為 O ( n 2 + 2 a ) O\left( {n}^{2 + {2a}}\right) O(n2+2a) 的數據宇宙 X \mathcal{X} X,以及一個大小為 n n n 的數據庫上的分布,該分布對于 α ≤ \alpha \leq α 1 / 3 , β ≤ 1 / 10 1/3,\beta \leq 1/{10} 1/3,β1/10 μ = 1 / 40 n 1 + a \mu = 1/{40}{n}^{1 + a} μ=1/40n1+a ( μ , α , β , 0 , Q ) \left( {\mu ,\alpha ,\beta ,0,\mathcal{Q}}\right) (μ,α,β,0,Q) - 難以合成的(即,對于最壞情況的查詢難以合成)。

上述定理表明了使用合成數據進行數據清理的難度。然而,請注意,當查詢集較小時,人們總是可以簡單地為每個查詢發布帶噪聲的計數。我們得出結論,對于小查詢類(具有大數據宇宙)進行數據清理是一項將高效合成與高效概要生成(具有任意輸出的數據清理)區分開來的任務。

9.2.1 一般概要的難度結果

上一節的難度結果僅適用于合成器——創建合成數據庫的離線機制。更通用形式的隱私保護離線機制(我們一直稱之為離線查詢發布機制或概要生成器)的難度與叛徒追蹤方案的存在之間存在著緊密的聯系。叛徒追蹤方案是一種內容分發方法,在該方法中,(短)密鑰字符串以某種方式分發給訂閱者,使得發送者可以廣播加密消息,任何訂閱者都可以解密這些消息,并且由惡意訂閱者聯盟構建的任何有用的“盜版”解碼器都可以追溯到至少一個合謀者。

一個(私鑰、無狀態)叛徒追蹤方案由算法設置(Setup)、加密(Encrypt)、解密(Decrypt)和追蹤(Trace)組成。設置算法為廣播者生成一個密鑰 b k {bk} bk N N N個訂閱者密鑰 k 1 , … , k N {k}_{1},\ldots ,{k}_{N} k1?,,kN?。加密算法使用廣播者的密鑰 b k {bk} bk對給定的比特進行加密。解密算法使用任何一個訂閱者密鑰對給定的密文進行解密。追蹤算法獲取密鑰 b k {bk} bk并以預言機方式訪問一個(盜版、無狀態)解密盒,然后輸出用于創建盜版盒的密鑰 k i {k}_{i} ki?的索引 i ∈ { 1 , … , N } i \in \{ 1,\ldots ,N\} i{1,,N}

叛徒追蹤方案的一個重要參數是其抗合謀性:如果只要用于創建盜版解碼器的密鑰不超過 t t t個,追蹤就保證有效,那么該方案就是 t t t - 抗合謀的。當 t = N t = N t=N時,即使所有訂閱者聯合起來試圖創建一個盜版解碼器,追蹤仍然有效。下面是一個更完整的定義。

定義9.3。如上所述的方案(設置、加密、解密、追蹤)是一個t - 抗合謀叛徒追蹤方案,如果(i)它生成的密文是語義安全的(粗略地說,多項式時間算法無法區分0的加密和1的加密),并且(ii)沒有多項式時間敵手 A A A能以不可忽略的概率(在設置、 A A A和追蹤的隨機硬幣上)在以下游戲中“獲勝”:

A A A接收用戶數量 N N N和一個安全參數 κ \kappa κ,并(自適應地)請求最多 t t t個用戶 { i 1 , … , i t } \left\{ {{i}_{1},\ldots ,{i}_{t}}\right\} {i1?,,it?}的密鑰。然后敵手輸出一個盜版解碼器Dec。使用密鑰 b k {bk} bk并以黑盒方式 5 {}^{5} 5訪問Dec來運行追蹤算法;它輸出一個用戶的名稱 i ∈ [ N ] i \in \left\lbrack N\right\rbrack i[N]或錯誤符號 ⊥ \bot 。我們說敵手 A A A“獲勝”,如果Dec在解密密文方面有不可忽略的優勢(甚至比創建一個可用的盜版解密設備的條件更弱),并且追蹤的輸出不在 { i 1 , … , i t } \left\{ {{i}_{1},\ldots ,{i}_{t}}\right\} {i1?,,it?}中,這意味著敵手避免了被檢測。


5 {}^{5} 5以黑盒方式訪問一個算法意味著無法訪問該算法的內部結構;只能向算法提供輸入并觀察其輸出。


叛徒追蹤方案為何意味著計數查詢發布存在難度結果的直觀解釋如下。固定一個叛徒追蹤方案。我們必須描述那些查詢發布在計算上困難的數據庫和計數查詢。

對于任何給定的 n = κ n = \kappa n=κ,數據庫 x ∈ { { 0 , 1 } d } n x \in {\left\{ \{ 0,1{\} }^{d}\right\} }^{n} x{{0,1}d}n將包含來自 n n n個合謀用戶的叛逆者追蹤方案的用戶密鑰;這里 d d d是在輸入 1 κ {1}^{\kappa } 1κ上運行設置算法時獲得的解密密鑰的長度。查詢族 Q κ {\mathcal{Q}}_{\kappa } Qκ?將針對每個可能的密文 c c c有一個查詢 q c {q}_{c} qc?,詢問“對于多少比例的行 i ∈ [ n ] i \in \left\lbrack n\right\rbrack i[n],密文 c c c在第 i i i行的密鑰下解密為1?” 請注意,由于每個用戶都可以解密,如果發送者分發比特1的加密 c c c,答案將是1:所有行都將 c c c解密為1,因此這樣的行的比例為1。相反,如果發送者分發比特0的加密 c ′ {c}^{\prime } c,答案將是0:因為沒有行將 c ′ {c}^{\prime } c解密為1,所以將 c ′ {c}^{\prime } c解密為1的行的比例為0。因此,對于查詢 q c {q}_{c} qc?(其中 c c c是1比特消息 b b b的加密)的準確答案就是 b b b本身。

現在,假設存在一種針對 Q \mathcal{Q} Q中的查詢的高效離線差分隱私查詢發布機制。合謀者可以使用該算法高效地生成數據庫的概要,使數據分析師能夠高效地計算查詢 q c {q}_{c} qc?的近似答案。如果這些近似值并非無意義,那么分析師可以使用它們進行正確解密。也就是說,合謀者可以利用這一點來制造一個盜版解碼器盒。但叛逆者追蹤確保了,對于任何這樣的盒子,追蹤算法可以恢復至少一個用戶的密鑰,即數據庫的一行。這違反了差分隱私,與存在一種用于發布 Q \mathcal{Q} Q的高效差分隱私算法的假設相矛盾。

這一方向已被用于排除針對特定類別的 2 O ~ ( n ) {2}^{\widetilde{O}\left( \sqrt{n}\right) } 2O (n ?)計數查詢的高效離線清理器的存在;這可以擴展到排除針對從第二個(大)類中自適應抽取的 Θ ~ ( n 2 ) \widetilde{\Theta }\left( {n}^{2}\right) Θ (n2)計數查詢的高效在線清理器的存在。

計數查詢的離線查詢發布困難意味著叛逆者追蹤的直覺在于,未能保護隱私會立即產生某種形式的可追蹤性;也就是說,在為一組行(解密密鑰)提供(近似)功能等價物的同時保護每一行(解密密鑰)的隱私的難度——即制造一個不可追蹤的解碼器的難度——正是我們在叛逆者追蹤方案中所尋求的。

更詳細地說,給定一個難以清理的數據庫分布和計數查詢族,隨機抽取的 n n n項數據庫可以充當“主密鑰”,其中用于解密消息的秘密是該數據庫上隨機查詢的計數。對于隨機選擇的多對數(n)個查詢的子集 S S S,從數據庫中隨機抽取的多對數(n)行的集合(很可能)能很好地近似 S S S中的所有查詢。因此,可以通過將數據庫隨機劃分為 n / n/ n/個多對數(n)行的多對數(n)集合,并將每個集合分配給不同的用戶來獲得各個用戶的密鑰。這些集合足夠大,以至于在壓倒性概率下,它們在例如多對數(n)個隨機查詢集合上的計數都接近原始數據庫的計數。

為了完成這個論證,我們設計了一種加密方案,其中解密等同于計算小的隨機查詢集合上的近似計數。由于根據定義,盜版解密盒可以進行解密,因此盜版盒可以用于計算近似計數。如果我們將這個盒子視為數據庫的清理結果,我們可以得出結論(因為清理是困難的),解密盒可以“追溯”到用于創建它的密鑰(數據庫項)。

9.3 多項式時間敵手

定義9.4(計算差分隱私)。當且僅當對于所有僅相差一行的數據庫 x , y x,y x,y,以及所有非均勻多項式(關于 κ \kappa κ)算法 T T T,隨機算法 C κ : X n → Y {C}_{\kappa } : {\mathcal{X}}^{n} \rightarrow Y Cκ?:XnY ε \varepsilon ε -計算差分隱私的。

Pr ? [ T ( C κ ( x ) ) = 1 ] ≤ e ε Pr ? [ T ( C κ ( y ) ) = 1 ] + ν ( κ ) , \Pr \left\lbrack {T\left( {{C}_{\kappa }\left( x\right) }\right) = 1}\right\rbrack \leq {e}^{\varepsilon }\Pr \left\lbrack {T\left( {{C}_{\kappa }\left( y\right) }\right) = 1}\right\rbrack + \nu \left( \kappa \right) , Pr[T(Cκ?(x))=1]eεPr[T(Cκ?(y))=1]+ν(κ),

其中 ν ( ? ) \nu \left( \cdot \right) ν(?) 是任何增長速度比任何多項式的倒數都慢的函數,并且算法 C κ {C}_{\kappa } Cκ? n n n log ? ∣ X ∣ \log \left| \mathcal{X}\right| logX κ \kappa κ 的多項式時間內運行。

直觀地說,這意味著如果對手被限制在多項式時間內,那么計算差分隱私機制提供的隱私程度與 ( ε , ν ( κ ) ) \left( {\varepsilon ,\nu \left( \kappa \right) }\right) (ε,ν(κ)) -差分隱私算法相同。一般來說,消除 ν ( κ ) \nu \left( \kappa \right) ν(κ) 項是沒有希望的;例如,當涉及加密時,總是有一些(極小的)機會猜出解密密鑰。

一旦我們假設對手被限制在多項式時間內,我們就可以使用安全多方計算的強大技術來提供分布式在線查詢發布算法,用模擬可信策展人的分布式協議取代可信服務器。因此,例如,一組醫院,每家醫院都持有許多患者的數據,可以協作對其患者的聯合數據進行統計分析,同時確保每個患者的差分隱私。一個更激進的影響是,個人可以維護自己的數據,選擇參與或不參與每個特定的統計查詢或研究,同時確保自己數據的差分隱私。

我們已經看到了一種分布式解決方案,至少對于計算 n n n 位之和的問題:隨機響應。這種解決方案不需要計算假設,并且預期誤差為 Θ ( n ) \Theta \left( \sqrt{n}\right) Θ(n ?)。相比之下,使用密碼學假設允許進行更準確和廣泛的分析,因為通過模擬策展人,它可以運行拉普拉斯機制的分布式實現,該機制具有恒定的預期誤差。

這就引出了一個自然的問題,即是否存在某種不依賴于密碼學假設的其他方法,在分布式環境中比隨機響應具有更高的準確性。或者更一般地說,計算差分隱私所能實現的與“傳統”差分隱私所能實現的之間是否存在差異?也就是說,密碼學是否確實為我們帶來了一些好處?

在多方環境中,答案是肯定的。仍然將我們的注意力限制在對 n n n 位求和上,我們有:

定理9.2。對于 ε < 1 \varepsilon < 1 ε<1,每個用于計算 n n n 位(每方一位)之和的 n n n -方 ( ε , 0 ) \left( {\varepsilon ,0}\right) (ε,0) -差分隱私協議在高概率下會產生誤差 Ω ( n 1 / 2 ) \Omega \left( {n}^{1/2}\right) Ω(n1/2)

如果 δ ∈ \delta \in δ o ( 1 / n ) o\left( {1/n}\right) o(1/n),對于 ( ε , δ ) \left( {\varepsilon ,\delta }\right) (ε,δ) -差分隱私也有類似的定理成立。

證明。(概要)設 X 1 , … , X n {X}_{1},\ldots ,{X}_{n} X1?,,Xn? 是均勻獨立的位。協議的記錄 T T T 是一個隨機變量 T = T ( P 1 ( X 1 ) , … , T = T\left( {{P}_{1}\left( {X}_{1}\right) ,\ldots ,}\right. T=T(P1?(X1?),, P n ( X n ) {P}_{n}\left( {X}_{n}\right) Pn?(Xn?),其中對于 i ∈ [ n ] i \in \left\lbrack n\right\rbrack i[n],玩家 i i i 的協議表示為 P i {P}_{i} Pi?。在 T = t T = t T=t 的條件下,位 X 1 , … , X n {X}_{1},\ldots ,{X}_{n} X1?,,Xn? 仍然是獨立的位,每個位的偏差為 O ( ε ) O\left( \varepsilon \right) O(ε)。此外,通過差分隱私、 X i {X}_{i} Xi? 的均勻性和貝葉斯定律,我們有:

Pr ? [ X i = 1 ∣ T = t ] Pr ? [ X i = 0 ∣ T = t ] = Pr ? [ T = t ∣ X i = 1 ] Pr ? [ T = t ∣ X i = 0 ] ≤ e ε < 1 + 2 ε . \frac{\Pr \left\lbrack {{X}_{i} = 1 \mid T = t}\right\rbrack }{\Pr \left\lbrack {{X}_{i} = 0 \mid T = t}\right\rbrack } = \frac{\Pr \left\lbrack {T = t \mid {X}_{i} = 1}\right\rbrack }{\Pr \left\lbrack {T = t \mid {X}_{i} = 0}\right\rbrack } \leq {e}^{\varepsilon } < 1 + {2\varepsilon }. Pr[Xi?=0T=t]Pr[Xi?=1T=t]?=Pr[T=tXi?=0]Pr[T=tXi?=1]?eε<1+2ε.

為完成證明,我們注意到 n n n 個獨立比特(每個比特都有恒定偏差)的和,以很高的概率落在任何大小為 o ( n ) o\left( \sqrt{n}\right) o(n ?) 的區間之外。因此,以很高的概率,和 ∑ i X i \mathop{\sum }\limits_{i}{X}_{i} i?Xi? 不在區間 [ output ? ( T ) ? o ( n 1 / 2 ) , output ? ( T ) + o ( n 1 / 2 ) ] \left\lbrack {\operatorname{output}\left( \mathrm{T}\right) - o\left( {n}^{1/2}\right) ,\operatorname{output}\left( \mathrm{T}\right) + o\left( {n}^{1/2}\right) }\right\rbrack [output(T)?o(n1/2),output(T)+o(n1/2)] 內。

一個更復雜的證明表明,即使在兩方的情況下,計算差分隱私(computational differential privacy)和普通差分隱私(ordinary differential privacy)之間也存在差異。在可信策展人(trusted curator)的情況下,計算假設是否能為我們帶來任何好處,這是一個引人入勝的開放性問題。初步結果是否定的:對于少量實值查詢,即查詢數量不隨安全參數增長的情況,存在一類自然的效用度量,包括 L p {L}_{p} Lp? 距離和均方誤差,對于這些度量,任何計算上私密的機制都可以轉換為一個統計上私密的機制,該機制大致同樣高效,并且能實現幾乎相同的效用。

9.4 參考文獻注釋

多項式時間有界策展人的負面結果以及與叛徒追蹤(traitor tracing)的聯系歸功于 Dwork 等人 [28]。Ullman [82] 進一步研究了與叛徒追蹤的聯系,他表明,假設單向函數存在,以差分隱私回答 n 2 + o ( 1 ) {n}^{2 + o\left( 1\right) } n2+o(1) 個任意線性查詢在計算上是困難的(即使在不考慮隱私的情況下,答案很容易計算)。在《我們的數據,我們自己》(“Our Data, Ourselves”)中,Dwork、Kenthapadi、McSherry、Mironov 和 Naor 使用安全函數評估技術代替可信策展人,考慮了差分隱私前身的分布式版本 [21]。[64] 中開始了對計算差分隱私的正式研究,定理 9.2 中多方和單策展人情況下 ( ε , 0 ) \left( {\varepsilon ,0}\right) (ε,0) -差分隱私所能達到的準確性之間的差異歸功于 McGregor 等人 [58]。關于在可信策展人情況下,對對手的計算假設是否能帶來任何好處的初步結果歸功于 Groce 等人 [37]。

從任何單向函數構造偽隨機函數(pseudorandom functions)歸功于 H?stad 等人 [40]。


目錄導航

第1章:https://blog.csdn.net/AdamCY888/article/details/146454841
第2章:https://blog.csdn.net/AdamCY888/article/details/146455093
第3章(1/3):https://blog.csdn.net/AdamCY888/article/details/146455756
第3章(2/3):https://blog.csdn.net/AdamCY888/article/details/146455796
第3章(3/3):https://blog.csdn.net/AdamCY888/article/details/146455328
第4章:https://blog.csdn.net/AdamCY888/article/details/146455882
第5章:https://blog.csdn.net/AdamCY888/article/details/146456100
第6章(1/2):https://blog.csdn.net/AdamCY888/article/details/146456712
第6章(2/2):https://blog.csdn.net/AdamCY888/article/details/146456972
第7章:https://blog.csdn.net/AdamCY888/article/details/146457037
第8章:https://blog.csdn.net/AdamCY888/article/details/146457172
第9章:https://blog.csdn.net/AdamCY888/article/details/146457257
第10章:https://blog.csdn.net/AdamCY888/article/details/146457331
第11章:https://blog.csdn.net/AdamCY888/article/details/146457418
第12章:https://blog.csdn.net/AdamCY888/article/details/146457489
第13章(含附錄):https://blog.csdn.net/AdamCY888/article/details/146457601

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898807.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898807.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898807.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【AI大模型】搭建本地大模型GPT-NeoX:詳細步驟及常見問題處理

搭建本地大模型GPT-NeoX:詳細步驟及常見問題處理 GPT-NeoX是一個開源的大型語言模型框架,由EleutherAI開發,可用于訓練和部署類似GPT-3的大型語言模型。本指南將詳細介紹如何在本地環境中搭建GPT-NeoX,并解決過程中可能遇到的常見問題。 1. 系統要求 1.1 硬件要求 1.2 軟…

Unity跨平臺構建快速回顧

知識點來源&#xff1a;人間自有韜哥在&#xff0c;豆包 目錄 一、發布應用程序1. 修改發布必備設置1.1 打開設置面板1.2 修改公司名、游戲項目名、版本號和默認圖標1.3 修改 Package Name 和 Minimum API Level 2. 發布應用程序2.1 配置 Build Settings2.2 選擇發布選項2.3 構…

低配電腦暢玩《怪物獵人:荒野》,ToDesk云電腦優化從30幀到144幀?

《怪物獵人&#xff1a;荒野&#xff08;Monster Hunter Wilds&#xff09;》自2025年正式發售以來已取得相當亮眼的成績&#xff0c;僅用三天時間便輕松突破800萬銷量&#xff0c;目前順利蟬聯周榜冠軍&#xff1b;憑借著開放世界的宏大場景和豐富的狩獵玩法&#xff0c;該游戲…

Flink基礎簡介和安裝部署

文章目錄 一、Flink基礎簡介1、什么是Flink2、Flink流處理特性3、Flink四大基石4、Flink中的角色 二、Flink集群搭建1、Local模式①上傳Flink安裝包②啟動交互窗口③提交任務測試④訪問WebUI頁面查看④退出停止集群 一、Flink基礎簡介 1、什么是Flink Flink是?個分布式&#…

【2025】基于ssm+jsp的二手商城系統設計與實現(源碼、萬字文檔、圖文修改、調試答疑)

基于SSMJSP的二手商城系統設計與實現系統功能結構圖&#xff1a; 課題背景 隨著經濟的發展和人們生活水平的提高&#xff0c;二手交易市場日益活躍。人們對于閑置物品的處理方式逐漸從傳統的廢品回收轉變為通過二手交易平臺進行再利用。這種交易模式不僅能夠幫助用戶節省開支&a…

幻影星空亮相CAAPA北京展 引領文旅產業升級轉型

3月19日&#xff0c;中國游藝機游樂園協會&#xff08;CAAPA&#xff09;主辦的2025中國&#xff08;北京&#xff09;國際游樂設施設備博覽會及2025北京國際旅游休閑娛樂產業博覽會在北京盛大啟幕。在這場行業盛會上&#xff0c;廣州卓遠旗下的“幻影星空”品牌以創新性的虛擬…

銀河麒麟桌面版包管理器(二)

以下內容摘自《銀河麒麟操作系統進階應用》一書 APT包管理器 APT是Debian及其派生系統的包管理器&#xff0c;構建在dpkg之上&#xff0c;以其強大的依賴性處理能力和豐富的軟件倉庫而聞名。APT具有自動解決依賴關系、提供易于使用的命令行工具&#xff08;如apt-get、apt-ca…

【STM32實物】基于STM32的掃地機器人/小車控制系統設計

基于STM32的掃地機器人/小車控制系統設計 演示視頻: 基于STM32的掃地機器人小車控制系統設計 簡介:掃地機器人系統采用分層結構設計,主要包括底層硬件控制層、中間數據處理層和上層用戶交互層。底層硬件控制層負責對各個硬件模塊進行控制和數據采集,中間數據處理層負責對采…

STM32收發數據包中間件——ProtoFlow,更方便的打包解包助手

引言 在嵌入式開發中&#xff0c;數據包封裝是不可或缺的一環。手動編寫協議不僅耗時&#xff0c;還容易出錯。ProtoFlow 的出現&#xff0c;就是為了讓數據包封裝變得簡單、高效、可靠。它不僅占用資源少&#xff0c;還能適配多種場景&#xff0c;是你項目的理想助手。 項目地…

Xcode16.1使用MonkeyDev運行Tiktok報錯分析

問題1&#xff1a; Build input files cannot be found: /usr/lib/libc.dylib, /usr/lib/libstdc.dylib. Did you forget to declare these files as outputs of any script phases or custom build rules which produce them? 解決辦法&#xff1a;在TARGETS的dylib中的Bui…

R語言交互項-formula

R語言交互項-formula 交互項的模型交互項的幾種情形連續變量和連續變量連續變量和分類變量分類變量和分類變量總結交互項的模型 統計中的交互和相關是完全不同的兩個概念,交互項是指兩個或者多個變量對因變量的協同效應,關注變量對因變量的聯合影響,比如變量X對Y的影響是否因…

圖解AUTOSAR_SWS_IPDUMultiplexer

AUTOSAR IPDUMultiplexer模塊詳解 PDU復用器模塊架構與實現分析 目錄 1. IPDU Multiplexer概述2. 模塊配置模型 2.1 配置結構概述2.2 配置類詳解2.3 配置關系說明3. 架構設計 3.1 模塊位置與接口3.2 內部組件結構3.3 接口交互模式4. 操作序列 4.1 PDU傳輸流程4.2 PDU傳輸流程詳…

手機怎么換網絡IP有什么用?操作指南與場景應用?

在數字化時代&#xff0c;手機已經成為我們日常生活中不可或缺的一部分&#xff0c;無論是工作、學習還是娛樂&#xff0c;手機都扮演著至關重要的角色。而在手機的使用過程中&#xff0c;網絡IP地址作為設備在互聯網上的唯一標識符&#xff0c;其重要性和作用不容忽視。本文將…

CH32V208GBU6沁恒協議棧BUG:在主機Write的同一包notify會造成主機一直Write不成功

從事嵌入式單片機的工作算是符合我個人興趣愛好的,當面對一個新的芯片我即想把芯片盡快搞懂完成項目賺錢,也想著能夠把自己遇到的坑和注意事項記錄下來,即方便自己后面查閱也可以分享給大家,這是一種沖動,但是這個或許并不是原廠希望的,盡管這樣有可能會犧牲一些時間也有哪天原…

unsloth微調QwQ32B(4bit)

unsloth微調QwQ32B(4bit) GPU: 3090 24G unsloth安裝部署 pip 安裝 pip install unsloth --index https://pypi.mirrors.usrc.edu.cn/simplesource /etc/network_turbopip install --force-reinstall --no-cache-dir --no-deps githttps://github.com/unslothai/unsloth.git?…

JavaScript案例0322

以下是一些涵蓋不同高級JavaScript概念和應用的案例&#xff0c;每個案例都有詳細解釋&#xff1a; 案例1&#xff1a;實現 Promise/A 規范的手寫 Promise class MyPromise {constructor(executor) {this.state pending;this.value undefined;this.reason undefined;this.o…

Dify 0.15.3 輸入變量無法被重新賦值問題-解決方法

目錄 一、問題描述 二、解決方法 2.1 原因 2.2 修改源碼 2.3 重新打包 dify-api 鏡像 2.4 修改 docker-compose.yaml 文件 2.5 重啟啟動鏡像 一、問題描述 Dify 0.15.3 是一個比較穩定的版本&#xff0c;Dify 1.0 是一個大版本更新&#xff0c;目前還有很多 Bug。但是&a…

SQL Server查詢計劃操作符(7.3)——查詢計劃相關操作符(11)

7.3. 查詢計劃相關操作符 98&#xff09;Table Scan&#xff1a;該操作符從查詢計劃參數列確定的表中獲取所有數據行。如果其參數列中出現WHERE:()謂詞&#xff0c;則只返回滿足該謂詞的數據行。該操作符為邏輯操作符和物理操作符。該操作符具體如圖7.3-98節點1所示。 圖 7.3-…

數據庫練習2

目錄 1.向heros表中新增一列信息&#xff0c;添加一些約束&#xff0c;并嘗試查詢一些信息 2.課堂代碼練習 插入語句 INSERT INTO 刪除語句DELETE和TRUNCATE 更新語句UPDATE和replace 查詢語句SELECT 條件查詢 select語句中的特殊情況 ???查詢排序 order by 分組查詢…

Java架構師成長之路

概述 本教程主要從6個方面&#xff0c;全面講解Java技術棧的知識。 1.性能調優 深入理解MySQL底層原理、索引邏輯&#xff0c;數據結構與算法。使用Explain進行優化分析MVCC原理剖析日志機制解析 2.框架源碼 掌握Spring底層原理帶你手寫一個Spring解析IOC、AOP源碼、以及事…