Cryptanalysis

AES ECB 確定性加密以執行私有集交集

  • May 12, 2020

有兩方,每方都有一個純文字列表。我的最終目標是將索引分配給雙方的唯一純文字。我目前的方法如下。

  1. 雙方執行 Diffie-Hellman 密鑰交換以生成一個秘密密鑰(對於兩個工作人員來說都是相同的)。
  2. 然後他們使用密鑰在ECB 模式下使用AES 加密純文字。
  3. 加密的純文字被帶到我的本地機器上。(請注意,我帶了一個集合,因此給定方返回的每個加密文本都是唯一的。)
  4. 我比較它們並為它們中的每一個分配唯一的索引。

ECB 模式的確定性屬性在這裡起著重要作用,因為它有助於比較使用相同密鑰加密的相似純文字。

但我知道(在閱讀了有關它的多個答案後)歐洲央行模式有很多弱點。例如,兩個長度超過 16 個字元的純文字,在第 16 個字元之後具有相同的字元,將在加密文本中具有相同的結束塊。同樣的邏輯也適用於前 16 個字元。

我想知道,是否有其他方法可以通過分析雙方返回給我的加密文本來提取雙方純文字的資訊。

還有其他更安全的方法來實現我的最終目標嗎?

是的,有一種更安全的方法可以實現您的目標。為了唯一性,您可以使用帶有靜態隨機數的 SIV 模式。SIV 模式首先通過明文計算 MAC,然後將其用作操作模式的 IV。這意味著相同的明文將產生相同的密文,但僅相差一位的明文將產生不相關的密文。這樣可以避免在明文中使用相同塊時的洩漏。SIV 的優點是消息的完整性/真實性也受到保護。

SIV 的缺點是它需要包含一個身份驗證標籤,以實現上述完整性/真實性。然後,此身份驗證標籤兼作內部密碼的 IV 向量(因此得名:合成 IV)。如果您由於某種原因沒有空間儲存身份驗證標籤,那麼您可能需要查看 FPE 的表單保留加密。

這裡不需要解密,所以加密方案不合適。各方只需要計算一個確定性函式,其輸出對於您的中央機器是隨機的——即偽隨機函式。您應該使用 PRF,例如 HMAC 或 GMAC 等。

如果您使用 PRF,那麼您所擁有的基本上就是以下工作(第 3.1 節)中描述的內容:

將私有集合交集縮放到十億元素集合

Seny Kamara、Payman Mohassel、Mariana Raykova、Saeed Sadeghian

金融加密貨幣 2014

請注意,一方單方面選擇密鑰並將其發送給另一方也足夠了。他們不需要使用 Diffie-Hellman。

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