Encryption
如何在不洩露秘密的情況下備份多方加密的秘密?
我正在尋找一種方法來備份只有最終使用者才知道與 2 個受信任主機的資訊的秘密。
但是受信任的主機在任何時候都不應該訪問機密。
第一個基本版本:Alice 使用伺服器 A 的公鑰加密秘密 Alice 使用伺服器 B 的公鑰加密加密的秘密。愛麗絲將這個雙重加密的秘密儲存在安全的地方
恢復: Alice 要求伺服器 B 解密雙重加密的秘密 Alice 要求伺服器 A 解密結果 Alice 得到秘密……但伺服器 A 也!
如果: 恢復: Alice 要求伺服器 B 解密雙重加密的秘密 Alice 使用神奇的加密機制加密結果(?) Alice 要求伺服器 A 解密此資訊**(同態 ??)** Alice 接收結果並使用神奇的解密進行解密機制(?) Alice 得到了秘密……而伺服器 A 得到了一個加密資訊!
是否存在這樣的加密機制?
我的目標有替代方法嗎?
謝謝
另外,要回答您提出的問題:
是否存在這樣的加密機制?
是的,存在盲解密技術。在某些技術中,甲方有密鑰,乙方有密文,甲方為乙方解密密文,而甲方對明文一無所知。
一種方法是使用 RSA 加密。正常的 RSA 解密算法(忽略 depad 操作,這裡不重要)是計算 $ C^d \bmod N $ , 在哪裡 $ C $ 是密文, $ N $ 是模數和 $ d $ 是 A 的私人指數。
要進行盲解密:
- B 選擇一個隨機值 $ R $ , 併計算 $ C’ = R^e C \bmod N $ (在哪裡 $ e $ 是 A 的公共指數);我們假設 B 知道 A 的公鑰
- B 傳值 $ C’ $ 到 A,它計算 $ P’ = C’^d \bmod N = R C^d \bmod N $ .
- A 然後傳遞值 $ P’ $ 回到 B,它計算 $ P’ R^{-1} \bmod N = R R^{-1} C^d \bmod N = C^d \bmod N $ (在哪裡 $ R^{-1} $ 是乘法的逆 $ R $ ; 可通過擴展歐幾里得算法計算)。
然後B已經學會了密文的解密。而且,由於 $ R $ 是一個隨機值,所以是 $ C’ $ (所以 $ A $ 對實際的密文或明文一無所知)
另一方面,這些盲目的解密技術可能不是您要解決的問題的最佳答案 - 請參閱我關於秘密共享的其他答案。