<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Laconic Private Set-Intersection From Pairings (2022)

      Laconic Private Set-Intersection From Pairings (2022)

      論文地址:https://eprint.iacr.org/2022/529.pdf
      代碼地址:https://github.com/relic-toolkit/relic/tree/main/demo/psi-client-server
      代碼運行參考:RELIC 庫學習

      Laconic 算法介紹

      Laconic 適用于算力和存儲受限的客戶端與算力和存儲能力強大的服務器進行交互的場景。

      問題:目前的 PSI 方案需要服務端和客戶端之間進行復雜的計算,這對算力較弱的客戶端很不友好,因為不可能要求其下載并保存巨量的數據,并基于這些數據完成復雜的計算。

      2017 年,CDG 等人提出了 Laconic 的概念,Laconic 是一個在具有大輸入的接收方 R(這里指服務端)和具有小輸入的發送方 S(這里指客戶端)之間的交互式協議,協議通常需要滿足下列三個性質:

      1. 協議應當僅包含兩條消息(也即 Laconic)
      2. 發送方(客戶端)的總通信開銷與接收方(服務端)的輸入大小無關
      3. 接收方(服務端)的第一條消息應該可以被多個不同的發送方 \(S_i\)(客戶端)復用,即計算一次,多次使用

      本文所提出的兩方 Laconic PSI,滿足上述三個性質,旨在從理論和時間角度最大限度的減少發送方(客戶端)的開銷,發送方(客戶端)的消息大小與其輸入集合呈線性關系,發送方(客戶端)的計算開銷與接收方的輸入無關。

      但是,該算法需要在服務端進行大量的計算,服務端的壓力比較大。

      PSI Protocol

      \(X_{-i}:=X \backslash\left\{x_i\right\}\):即將 \(x_i\) 從原集合中刪除,剩下的元素組成的新的集合:

      \[P(X, s) = \prod_{x \in X}(x-s) = \sum_{i=0}^{|X|} p(X, i) s^i \]

      \[P(X, s)=P\left(X_{-i}, s\right) \cdot\left(x_i-s\right) \]

      協議的具體流程如下:

      序號 階段 服務端 Receiver 客戶端 Sender
      服務端和客戶端共享:
      1. \(H:\{0,1\}^* \rightarrow\{0,1\}^\lambda\)
      2. \(e: \mathbb{G}_1 \times \mathbb{G}_2 \rightarrow \mathbb{G}_T\)
      0 Setup \(X=\left\{x_1, \ldots, x_m\right\}\)
      獲得 \(\operatorname{setup}_{\mathcal{R}}\)
      可信第三方選擇 \(s \in \mathbb{Z}_q^*\)
      1. 計算 \(\operatorname{setup}_{\mathcal{R}}=\left(S_1, S_2, \ldots, S_m\right)\) 傳給服務端:\(S_i=g_2^{s^i} \text { for } i=0, \ldots, m\)
      2. 計算 \(\operatorname{setup}_{\mathcal{S}}=\left(S^{\prime}\right)\) 傳給客戶端:\(S^{\prime}=g_1^s\)
      \(Y=\left\{y_1, \ldots, y_n\right\}\)
      獲得 \(\operatorname{setup}_{\mathcal{S}}\)
      1 First Round \(R\) 傳給客戶端
      \(\to\)
      獲得 \(R\)
      2 Second Round 獲得 \((T_j, U_j)\) \((T_j, U_j)\) 傳給服務端
      \(\leftarrow\)
      計算 \((T_1, U_1, ..., T_n, U_n)\)
      \(T_j = H\left(e\left(g_1^{t_j}, R\right)\right)\\ U_j = \left(S^{\prime} \cdot g_1^{-y_{\pi(j)}}\right)^{t_j}\)
      3 Retrieve Output 對每個 \((T_j, U_j)\) 對,計算:
      For j = 1 to n:
      For k = 1 to m:
      如果 \(H\left(e\left(U_j, R_{-k}\right)\right) \stackrel{?}{=} T_j\),則表明 \(x_k = y_{\pi(j)}\), 即 \(x_k\)為交集中元素

      從上述 Laconic-PSI Protocol 可知:

      1. 服務端與客戶端僅有兩次交互
      2. 客戶端的總通信開銷僅與客戶端的輸入大小有關:\((T_j, U_j)\)
      3. 服務端需要計算一個 R 和 m 個 \(R_{-k}\),每個值的計算量都非常大(\(R_{-k}=\left(\prod_{i=0}^{m-1} S_i^{p\left(X_{-k}, i\right)}\right)^r=\left(\prod_{i=0}^{m-1} g_2^{{s^i}\times {p\left(X_{-k}, i\right)}}\right)^r\)),這導致服務端的計算耗時比較大,但是可以復用。如果服務端數據保持不變,\(R\) 和所有的 \(R_{-k}\) 首次計算后可以在多個客戶端之間進行復用,但是,一旦服務端數據發生改變(例如增加了新的數據),所有的 \(R\) 都需要重新計算
      4. 在最后的求交階段(Retrieve Output),每個 $y_j $(或者說 \((T_j, U_j)\))需要和 m 個 \(R_{-k}\) 進行“比較”,也就是說,為了判斷某個 $y_j $ 是否在交集內,我們最多需要計算 m 次,那么總的計算復雜度為 \(O(mn)\),這也導致服務端的計算耗時比較大。論文 4.4 中提到了分桶(bucketing)的優化方案,可以將這一步中的計算復雜度由 \(O(mn)\) 降低到 \(O(mn/t)\),但是該優化方案會增大 First Round 階段服務端的計算和傳輸數據量,具體而言,優化方案的步驟如下:
        1. 使用哈希函數,將服務端的數據 X 先分裝到 \(t\) 個哈希桶中,這樣每個桶中的數據量為 \(m/t\)
        2. 使用相同的哈希函數,將客戶端的數據 Y 也分裝到 \(t\) 個哈希桶中,每個桶的數據量為 \(n/t\)
        3. 然后服務端和客戶端對應的哈希桶獨立地進行上述算法中 First Round 和 Second Round 的計算,即服務端需要對每個桶中的數據獨立計算 R 和 \(m/t\)\(R_{-k}\),客戶端也對每個桶的數據獨立計算 \((T_j, U_j)\)
        4. 這樣在 Retrieve Output 階段,需要比較的次數不再是 \(m \times n\),而是 $t \times m/t \times n/t = mn/t $
      img

      證明算法正確性

      證明上述算法的正確性:即當 \(H\left(e\left(U_j, R_{-k}\right)\right) \stackrel{?}{=} T_j\) 時,可以證明 \(x_k = y_j\) 為交集中的元素。證明過程如下:

      img img

      勘誤:服務端需計算 m (非 m-1)個 \(R_{-k}\) 值,k 取值從 1 到 m

      與 NR-PSI 比較

      服務端的集合大小 \(N_s\) >> 客戶端的集合大小 \(N_c\)

      兩方交互次數 通信開銷 客戶端所需容量 何方計算交集? 計算交集時客戶端的每個元素所需的比較次數 服務端計算量 當服務端增加新元素
      NR-PSI 3 + 1 + 2 = 6 與服務端的集合大小線性相關 較大,需存儲服務端的全部數據(哈希桶) 客戶端 3 + s(布谷鳥哈希) 較小 僅需將新元素加密后插入哈希桶中,然后將新桶發送給客戶端
      Laconic PSI 2 與客戶端的集合大小線性相關 較小,僅與客戶端集合大小線性相關 服務端 \(N_s\) 較大 $$ 與 所有的 \(R_{-k}\) 都需要重新計算,計算量較大

      NR-PSI 的交互次數計算如下:參考 隱私求交代碼實踐

      1. Base Phase:R-OT 需要兩方進行 3 次交互
        1. 服務端 \(\to\) 客戶端:\((h_0, h_1)\)
        2. 服務端 \(\leftarrow\) 客戶端:\((v_0, v_1)\)\(u\),OT 階段結束
        3. 服務端 \(\leftarrow\) 客戶端:\(u^i = G(k_{i,0})\bigoplus G(k_{i,1})\bigoplus r\),R-OT 結束
      2. Setup Phase:1 次,傳輸 CF
        1. 服務端 \(\to\) 客戶端:Cuckoo Filter (CF)
      3. Online Phase:2 次
        1. 服務端 \(\leftarrow\) 客戶端:\(b_{i,j} = c_{i,j} \bigoplus y_i[j]\)
        2. 服務端 \(\to\) 客戶端:\(r_{i, j}^{1-b_{i, j}} \oplus\left(r_{i, j}^{b_{i, j}} \cdot a_j\right)\)\(\tilde{g}\)

      參考資料

      1. 雙線性對在密碼學中的應用(下)
      2. ECC 橢圓曲線原理
      3. ECC 橢圓曲線密碼學的原理、公式推導、例子、Python 實現和應用
      posted @ 2024-07-30 23:30  Lockegogo  閱讀(141)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美日韩一线| 久久综合国产一区二区三区| 亚洲天堂在线观看完整版 | 鄯善县| 深夜av在线免费观看| 成人深夜节目在线观看| 国产桃色在线成免费视频| 成人资源网亚洲精品在线| 亚洲成aⅴ人在线观看| 国产一区在线播放av| 亚洲精品一区二区三区小| 亚洲人成网线在线播放VA| 无码人妻黑人中文字幕| 亚洲午夜无码久久久久小说| 激情综合网激情综合网五月| 中文字幕午夜福利片午夜福利片97| 狠狠做五月深爱婷婷天天综合| 国产乱子影视频上线免费观看| 久久综合色天天久久综合图片| 亚洲av无码成人精品区一区| 久久无码中文字幕免费影院蜜桃| 国产好大好硬好爽免费不卡 | 国精品91人妻无码一区二区三区| 亚洲av熟女国产一二三| 久热中文字幕在线| 国产三级精品片| 色一情一乱一区二区三区码| 亚洲av日韩av中文高清性色| 一本色道国产在线观看二区| 久久国内精品自在自线观看| 亚洲aⅴ男人的天堂在线观看| 久久精品国产免费观看频道| 亚洲精品一区二区在线播| 人人入人人爱| 熟女一区二区中文在线| 九九热精品在线免费视频| 与子敌伦刺激对白播放| 免费无码午夜理论电影| 成人无码午夜在线观看| 亚洲人妻精品一区二区| 国产成人久久777777|