Homomorphic-Encryption

同態和函式加密:使用現有數據將未加密的輸出映射到加密的輸出

  • July 23, 2018

假設我有數據片段 A,它在通過模型或神經網路後,在未加密空間中有一個已知的輸出 X。當我將數據A移動到一個加密空間中,並通過一個加密模型,它就變成了數據eA。現在,它有輸出 eX。通過這種方式,我使用已知(未加密)數據將 X 映射到加密空間(eX)。

未加密空間中的模型只有兩個可能的輸出:X 和 Y。當我加密這個模型時,我希望仍然只有兩個可能的輸出:eX 和 eY。

當其他人向我發送加密的輸入數據 datapiece e-Unknown 時,我將其插入函式中,我也得到輸出 eX。由於 datapiece e-unknown 在加密空間中產生 eX,是否可以假設 datapiece-Unknown 在未加密空間中也產生輸出 X?換句話說,第一段中的映射是否能夠解密匿名輸入數據塊的輸出 - 未知?假設數據片未知和數據片A 不同(即不完全相同)。

Eval(Enc(f),Enc(dA))=Eval(Enc(f),Enc(dU))⇒f(dA)=f(dU)

其中 Eval(f,c) 代表“將 f 同態地應用於密文 c”……“f”是模型,“dA”是數據片 A,“dU”是數據片未知。

如果這可以在不加密模型的情況下完成,那也可以。

Eval(f,Enc(dA))=Eval(f,Enc(dU))⇒f(dA)=f(dU)

對於一個不尋常的案例,我希望這是真的。我怎樣才能讓它工作?

這適用於同態加密嗎?由於他是機率性的,是否有任何技巧可以使其適用於同態加密(例如,使用每個新輸入重新播種)?如果不是,為什麼?我特別詢問 HE,因為已經存在許多使其易於使用的庫。

這適用於功能加密嗎?我聽說確實如此,但是可用於功能加密的庫並不多。

其實,你問的並不稀奇,更甚的是,它永遠都是真的。

自從 $ Eval(f, Enc(dA)) = Enc(f(dA)) $ 和 $ Eval(f, Enc(dU)) = Enc(f(dU)) $ , 如果 $ Eval(f, Enc(dA)) = Eval(f, Enc(dU)) $ , 然後 $ Enc(f(dA)) = Enc(f(dU)) $ .

現在,如果你在兩邊都使用解密算法,你會得到 $ f(dA) = f(dU) $ .

如果我們使用相同的論點 $ Enc(f) $ 代替 $ f $ .

現在的重點是這些資訊是否有用,因為 $ Eval(f, Enc(dA)) = Eval(f, Enc(dU)) $ 很小:即使 $ dA = dU $ , 你應該有 $ Enc(dA) \not = Enc(dU) $ ,因此,評估算法可能會給您不同的輸出。

因此,您可能永遠不會看到此事件,因此,您將無法使用結論(暗示的右側)。

我將在這裡談論 HE,因為我不太了解 FE。

如果您查看 Somewhat Homomorphic Encryption 方案,例如 Lauter 等人在“Can Homomorphic Encryption be Practical”中的方案,您會發現密文(在您的情況下為 eX)有兩個組件,其中一個取決於消息,第二個取決於不依賴於消息(此處為 A)。

現在,讓我們看看 B(不等於 A)是否有可能加密到相同的密文。**如果你看一下上面提到的 SwHE 算法,你會意識到,在應用函式( * 鑑於雙射函式 *** )之後,根本不可能將 A 和 B 加密為相同的密文 eX 。

所以,如果函式是雙射的,那麼 A = B。而且肯定 eX 總是會解密為 X。

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