Rsa

雙非對稱加密與知識拆分問題

  • March 11, 2022

嗚嗚嗚,

假設有兩個密鑰對(d1,e1)(d2,e2),其中d1d2是不相關的私鑰,e1e2是對應的公鑰。想像一下,Alice 不知道**也不知道d1d2**而 Bob 只知道d1,**不d2**知道。Alice 有一個使用RSAc加密消息產生的密文。她無法解密它,因為她不知道。Alice使用非對稱密碼(仍有待選擇)再次加密並將其發送給 Bob。Bob 無法解密它,因為他沒有. 然後他可以使用某種算法並生成可以發送給我的可以解密的東西嗎?m``e1``d1``c``e2``d2``d1``d1``d2導致原始消息?

我想要的是,Alice 和 Bob 無法讀取消息,只有兩個密鑰的組合知識才能讓他們解密它。

虛擬碼:

m是消息

c := RSAEncrypt(m, using: e1)

愛麗絲會:

c2 := AsymEncrypt(c, using: e2)

鮑勃這樣做:

c3 := RSADecryptAlgo(c2, using: d1)

我想要:

m = SomeDecryptionAlgo(c3, using: d2)

這種情況(雖然很奇怪)甚至可能嗎?如果是這樣,有沒有人知道適合我的情況的Google術語或算法?

提前致謝

編輯:密鑰對不共享相同的模數

我想要的是,愛麗絲和鮑勃無法閱讀消息,只有他們的綜合知識才能讓他們破譯它。

在CECC 2010上展示了“在部分了解組訂單的情況下送出”方案。

設計了一個方案,將類似 RSA 的乘法群的順序分成由兩方共享的兩部分,以便雙方都必須參與解密。從技術上講,模數是四個素數的乘積,每一方分成兩對。

這個問題有點令人困惑,但對我來說,它與三通協議非常相關。具體來說,我們需要一個“可交換的”(與順序無關的)加密方案,其中(對於所有消息), $$ c = Enc(k_1, Enc(k_2, m)) = Enc(k_2, Enc(k_1, m)). $$

在這種情況下,密文 $ c $ 可以解密 $ k_1 $ 和 $ k_2 $ 為了重新獲得 $ m $ .

我相信這只有在兩個密鑰都使用相同的模數時才能使用 RSA。也可以使用 ElGamal(參考)和其他方案來完成。在任何情況下,只有兩個密鑰/加密步驟使用相同的算法和公共參數才有可能。

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