Encryption

是否存在發件人無法證明特定密文屬於特定明文的加密系統

  • January 27, 2020

我正在嘗試創建一個消息傳輸系統,其中

  1. 加密消息儲存在公共數據庫中。
  2. 可以驗證誰是此消息的發件人。
  3. 發件人無法向其他任何人證明郵件的內容。我的意思是,他/她不能重新加密明文消息並與公共數據庫上的密文匹配以向其他人證明消息的內容。

是否有任何現有的加密協議可以完成這項工作?此加密協議可以是互動式/非互動式、對稱/非對稱或其他任何形式。它只需要完成工作。

我是密碼學的新手。如果我的問題太愚蠢或已經回答,請原諒我。我試圖在網上尋找解決方案,但沒有找到任何實用的解決方案。在搜尋過程中,我對可否認加密和零知識證明有了一些了解。他們能以任何方式幫助解決我的問題嗎?

提前致謝。

可拒絕加密應該提供您想要的。在可否認的加密方案中,除了通常的 $ (\mathsf{KeyGen},\mathsf{Encrypt},\mathsf{Decrypt}) $ 算法,你有一個算法 $ \mathsf{Explain} $ 將密文作為輸入 $ c $ (可以是任何密文)和一條消息 $ m $ , 並輸出一個隨機硬幣 $ r $ 這樣三重 $ (m,r,c) $ 與得到的分佈沒有區別,給定 $ m $ ,通過對均勻隨機硬幣進行採樣 $ r $ 和建設 $ c $ 作為 $ \mathsf{Encrypt}(m;r) $ . 也就是說,即使給定密鑰可以正確解密密文,對於任何明文,您都可以找到一個隨機硬幣,它將密文“解釋”為該明文的加密。

給定一個可否認的加密方案,你正確加密消息的證據永遠不會令人信服,因為你總是可以,對於任何密文 $ c $ 和明文 $ m $ , 找硬幣 $ r $ 這樣 $ c = \mathsf{Encrypt}(m;r) $ - 這並不意味著 $ c $ 一定會解密到 $ m $ . 因此,在這樣的方案中,如果您只知道公鑰,那麼證明您對給定消息進行了加密從根本上是不可行的(如果您知道密鑰,那就另當別論了,但在你的問題)。

請注意,您的要求 2 可以在可拒絕加密之上使用任何標準身份驗證機制來實現。

本文首先建構了可否認加密,但這只是理論上的意義,在實踐中並沒有導致任何有效的實例化。存在僅實現反多項式“可否認性”的替代結構(另見許多後續),從某種意義上說,可以將“真正的隨機硬幣”與通過 $ \mathsf{Explain} $ 具有逆多項式機率。

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