設計一種用於匿名數據集中報告的加密方案是否可行?
我想知道設計一種加密方案是否可行,該方案允許多個“報告方”在以下約束條件下獨立地將資訊傳輸到同一個集中式“機構”:
- “權威”不應接收“原始資訊”或能夠推斷“原始資訊”,而應接收“衍生資訊”。
- 在不知道“原始資訊”的情況下,“當局”應該能夠驗證來自兩個或多個“報告方”的“派生資訊”來自同一“原始資訊”。
- “報告方”的數量應該是動態的。報告方不能一起工作,也不知道其他“報告方”是否以派生形式傳輸了相同的“原始資訊”。
- 獎勵:兩個或多個“報告方”不應該能夠驗證來自兩個或多個“報告方”的“派生資訊”來自相同的“原始資訊”。
“原始數據”是任意短的(例如,明顯小於 40 位)。
我有一種預感,前兩個約束會以某種方式需要散列、隨機數和可能的公鑰-私鑰,而最後一個約束肯定會涉及公鑰-私鑰……但不知道如何設計這樣的方案或即使它是可行的,給定簡短的數據。
如果有人感興趣,我可以提供確切的案例;預告片:歐盟的 MiFIR 和投資者隱私 :)
好的,這就是我得到的:
- 有人選擇了兩個大素數 $ p $ 和 $ q $ 這樣 $ n = 2pq + 1 $ 是素數,並且 $ pq $ 大到足以使因式分解不可行;他們選擇一個值 $ g $ 有訂單 $ p $ 在 $ Z^_n $ 和一個值 $ h $ 有訂單 $ q $ 在 $ Z^_n $ (例如隨機選擇一個 $ s $ 在範圍內 $ [2, n-2] $ 並設置 $ g = s^{2q} \bmod n $ 和 $ h = s^{2p} \bmod n $ 並驗證兩者都不是 $ g $ 也不 $ h $ 是 1)。某人(不一定是同一個人)也選擇了對稱加密密鑰 $ k $ .
- 權威獲得價值 $ q, n $ (以及可選的值 $ g, h, p $ ; 當局不需要它們,但不會損害安全性),當局沒有得到 $ k $ . 每個“報告方”獲取值 $ g, h, n, k $ .
- 供報告方轉換原始資訊 $ i $ 到派生資訊中,他首先確定性地加密 $ i $ 用鑰匙 $ k $ (成型 $ E_k(i) $ ),選擇一個隨機值 $ r $ , 併計算 $ d = g^{E_k(i)}h^r \bmod n $ ,這是他可以發送給當局的派生資訊。
- 用於比較兩個派生資訊的權限 $ d_1, d_2 $ 為了查看它們是否對應於相同的原始值,他計算 $ (d_1 d_2^{-1})^q \bmod n $ ,如果是1,那麼原始資訊是一樣的。
這有效,因為 $ d_1 = g^{E_k(i_1)}h^{r_1} $ 和 $ d_2 = g^{E_k(i_2)}h^{r_2} $ , 因此 $ (d_1 d_2^{-1})^q = (g^{E_k(i_1)}h^{r_1} \cdot g^{-E_k(i_2)}h^{-r_2})^q = (g^q)^{E_k(i_1) - E_k(i_2)} $ , 如果是 1 $ E_k(i_1) = E_k(i_2) $ ,也就是說,如果 $ i_1 = i_2 $
至於你的要求:
- 主管部門不直接接收原始資訊
2)權威機構可以比較兩種不同的派生資訊;它不能以其他方式重建原始資訊;那是因為對稱密鑰 $ k $ ; 給定 $ g^{E_k(i)} $ ,攻擊者可能能夠恢復 $ E_k(i) $ (實際上,他不能,但是如果 $ E $ 功能是公開的,沒有秘密 $ k $ ,他可以,考慮到可能的範圍很短 $ i $ 值),但是因為他不知道 $ k $ ,這是他能做到的。
報告方是動態的;所有報告方都獲得了相同的資訊,因此添加更多資訊不是問題;他們無法確定其他方是否提供了相同的資訊;因為他們不知道訂單 $ g $ 和 $ h $ ,他們無法確定這一點。
兩方或多方不能合作顛覆系統;因為所有報告方都獲得相同的資訊,所以兩方的權力不超過一方。
現在,一個報告方和當局可以合作恢復另一個報告方的原始資訊;這實際上是問題所固有的,因此不是問題(至少就我而言;您可能會認為它破壞了交易,在這種情況下您需要重新考慮問題)。您可以通過替換可逆加密函式使其變得更加困難 $ E $ 帶有鍵控雜湊 $ H $ (並假設兩個不同的輸入不會發生衝突);但是鑑於原始資訊的範圍很小,它不會有太大幫助……