Encryption
數字數據值的順序保留加密
如何確保加密數據的順序
i.e., Enc(m1) < Enc(m2) where m1 < m2, and all messages are integer values
。我已經完成了在加密多媒體數據庫上啟用搜尋中討論的Order Preserving Encryption。
根據文獻,對於排序後的數據值(即單詞),根據單詞的頻率計數定義下限(l_w)和上限(U_w),並通過Linear Spline Interpolation選擇估計值(編碼值)定義的限制。
我發現很難為以下數據值定義下限和上限。我想用範圍編碼頻率
$$ 0 – 10,000 $$和 DocCount 與 in$$ 0 - 500 $$. 但是,我在每個範圍內(即 l_w_i 到 U_w_i)只有一個數據點(即 w_i),我怎樣才能找到這些值的插值。
DocCount Word Frequency 10 1 8 2 6 3 5 4 3 5 2 6 1 7 0 8 0 9 0 10
或者
有沒有其他方法可以確保加密數據的順序。在StackOverFlow上,我提到了同態加密——我熟悉 Pascal Paillier 加密系統,知道如何利用它來保持加密值之間的順序。
要回答您的第二個問題,Paillier 和其他 CPA 安全的同態加密方案無法提供保序加密。這些方案的安全性依賴於在加密過程中使用隨機因子來確保它們的密文在密文空間中隨機分佈。OPE必須使用比 CPA 更弱的安全概念。
就您的第一個問題而言,我對 OPE 背後的資料結構了解不足,無法遵循您的要求。我知道 OPE 是CryptDB中的一個可用選項,所以也許他們已經自動化了定義您所詢問的限制的過程?