Authentication

大數乘法可以成為一種有效的加密形式嗎?

  • October 31, 2016

我有一個稱為 int 的向量 $ Xreg = [x1, x2, …, xn] $ 我需要從客戶端發送到伺服器以儲存在數據庫中。

如果攻擊者獲得對數據庫或伺服器的訪問權,他應該無法恢復原始向量 $ Xreg $ .

為此,我想到了將 $ Xreg $ 有兩個大數字( $ S0 $ 和 $ S1 $ ) 每個 512 位。

因此客戶端將發送 $ S0.S1.Xreg $ = $ [S0.S1.x1, S0.S1.x2, …, S0.S1.xn] $ .

客戶將保留記錄 $ S0 $ 並創建一個新的 $ Si $ 每次他想連接到伺服器。因此第二次,客戶端將發送 $ S0.S2.Xreg $ 伺服器將在數據庫中替換它。

我的問題是,如果惡意或半誠實的對手獲得對伺服器或數據庫的訪問權限,他將能夠恢復原始 $ Xreg $ ? 假設如果伺服器被入侵,通信將停止,因此攻擊者可能只能獲得一條記錄 $ S0.Si.Xreg $ 並且可能 $ S0.S_{i-1}.Xreg $ 和 $ S_i/S_{i-1} $

提前致謝。

給定一個向量 $ [S_0 S_1 x_1, S_0 S_1 x_2, …] $ , 很容易恢復 $ S_0 S_1 $ (通過計算各種元素的 GCD)。有了這些資訊,攻擊者就可以恢復這些值 $ x_1, x_2, … $ ,所以是的,一個半誠實的對手可以很容易地恢復 $ X_{reg} $ 價值觀。

引用自:https://crypto.stackexchange.com/questions/41120