Encryption

來自簡單原語的可否認加密

  • April 2, 2022

是否有可否認的加密方案 $ M = E(p_1,k_1,p_2,k_2,…,p_n,k_n), p_j = D(M,k_j) $ 的 $ n $ 明文 $ p_1,p_2,…,p_n $ 和 $ n $ 鑰匙 $ k_1,k_2,…,k_n $ , 這樣我們就可以修復 $ D $ 是一個已知的算法,如 AES(無需預處理 $ M $ ) 並且這樣 $ |M| \ll \sum_{i=1}^n {|p_i|} $ (因為這會向懷疑其對手可能使用可拒絕加密的一方洩露有關有多少虛假明文的資訊)?

讓我稍微解釋一下這些限制的動機。假設 A 國的一名士兵被俘,B 國希望該士兵幫助他們破譯他的軍方發放的筆記型電腦上的數據。B 國不會讓士兵自己操作解密。他們將拍攝他的硬碟驅動器的圖像,並詢問他使用了哪種算法和密鑰。士兵最好用標準算法(不知道是否可否認)來回答。此外,我們預計密文的每一位都需要解密明文,否則 B 國可能會開始懷疑可否認加密。

最後一個約束(與密文大小有關)在理論上似乎是不可能的。所以讓我以一種不那麼嚴格的方式問我的問題:在

我看來,大多數可否認的加密系統都是啟發式工程解決方案。出於純粹的學術興趣:關於可否認加密的哪些學術工作符合我提出的動機?

可否認加密是一個已經研究了一段時間的話題,但最近(在過去一兩年),我看到了更多的論文。

我沒有跟上該地區,但可以發表一些評論:

  • 這些方案通常使用公鑰原語而不是對稱密鑰原語建構(區別特徵不是密鑰的對稱性,而是使用乾淨的數學結構而不是非線性分組密碼設計)
  • 大多數方案逐位加密消息。這意味著您只需嵌入兩個可能的明文(0 和 1),並且很容易打開任何可能的消息的消息。

基於 Elgamal 的方案

我知道只有一種方案接近於適合您的方案。它來自這篇論文(抱歉,找不到非門控版本)並且基於 Elgamal。

特性

  • 該方案僅允許打開兩個可能的消息,但這對於您的激勵範例應該足夠了。
  • 它不是簡單地使用不同的密鑰來恢復不同的消息,而是使用兩種不同的解密算法。使用標準的 Elgamal 解密會給你一條消息(假消息),使用特殊的解密算法會給你真正的消息。像這樣的方案有時被稱為多分佈而不是完全可否認。(旁白:對我來說,這讓人想起隱寫術:在看似無害的數據中隱藏秘密資訊)。
  • 這是一個提前計劃方案,這意味著您必須提前知道要打開密文的虛假消息
  • 該方案是接收者可拒絕的,這意味著消息的接收者(執行解密的人)可以拒絕真正的明文值。由於我們將看到的原因,發件人不能。
  • 儘管基於 Elgamal,該方案實際上是對稱密鑰;我們將看到的後果。

建造

回想一下正常的 Elgamal,Alice 向 Bob 發送消息。Bob 有一個密鑰 $ x $ 和一個公鑰 $ y=g^x $ (對於一些發電機 $ g $ )。加密消息 $ m $ , Alice 選擇一個隨機值 $ r $ 併計算 $ \langle c_1, c_2 \rangle = \langle g^r, my^r \rangle $ . 為了解密,Bob 使用密鑰 $ x $ 計算 $ c_{1}^{-x}c_2 $ .

稍微概括一下:密文中的替換 $ g^r $ 具有一些任意值 $ a $ 和 $ y^r $ 有一定價值 b. 那麼密文就是 $ \langle a, mb\rangle $ . 有很多值 $ a $ 和 $ b $ 這將解密為 $ m $ , 不只是 $ g^r $ 和 $ y^r $ . 事實上,任何 $ a $ 和 $ b $ 這樣 $ b=a^x $ 將工作。在這個方案中,鮑勃給愛麗絲他的密鑰 $ x $ (見下面的細則)。

一旦愛麗絲 $ x $ , 很簡單。例如,她可以(我的例子,不是來自論文),設置 $ a=\mathrm{AES}_k(m) $ ,使用額外的共享密鑰 $ k $ (僅用於解密真值),然後計算 $ b=a^x $ . 對於假消息 $ \hat{m} $ ,愛麗絲發送 $ \langle a, \hat{m}b\rangle $ . 如果 Bob 想要真正的消息,他會解密 $ c_1 $ 與 AES。如果他想否認,他聲稱這是一個 Elgamal 密文並正常解密, $ x $ , 並得到 $ \hat{m} $ .

在論文中,他們設置 $ a=g^km $ 和 $ b=y^km^x $ . 在這裡,而不是 $ k $ 作為一個共享的秘密,有一個共享的秘密 $ s $ 和 $ k=\mathcal{H}(s||\hat{m}) $ . 我不完全理解為什麼構造需要如此復雜(歡迎評論)。為了解密,Bob 使用 $ x $ 和標準的 Elgamal 解密來恢復 $ \hat{m} $ . 和 $ \hat{m} $ 和 $ s $ , 他計算 $ k $ 然後計算 $ g^{-k}c_1 $ 恢復 $ m $ .

印刷精美

  • 因為 Alice 得到了 Bob 的密鑰,這意味著它不再是一個公鑰加密方案。這會產生後果:如果 Charlie 還想向 Bob 發送消息(標准或可拒絕),Bob 要麼必須使用不同的密鑰對(這對於表面上是真正的公鑰來說很奇怪),要麼 Alice 可以讀取所有消息。
  • 如果 Bob 被脅迫,他可以否認除了標準 Elgamal 之外的任何事情正在發生。但是,如果愛麗絲被脅迫,他們會問她什麼資訊 $ m $ 和隨機性 $ r $ 她用來創建密文。因為她沒有創建標準的 Elgamal 密文,所以她無法回答 $ r $ 或者在不求解離散對數的情況下計算一個合適的。
  • 最後,像磁碟加密或文件加密這樣的東西在數據本身上使用 Elgamal 可能很奇怪。通常您會使用它來加密 AES 密鑰,然後使用 AES 來加密實際數據。

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