Hash

是否有可能有自我認證的消息?

  • November 12, 2015

考慮一個文本 $ n $ 的話 $ m $ 它的單詞可以替換為等效的單詞。因此我們有 $ 2^m $ 具有相同含義的不同文本。

例如,“You are {so/very} {keen/eager}”有 4 種不同的組合,含義相同。

使用該屬性進行消息認證是否合理且可行?

更準確地說,知道一個密鑰,這些文本中只有一個可以被驗證。實際上,我不想在文本中添加任何內容(如 HMAC)。

一種解決方案是使用選擇發送的等效消息作為對 MAC 值進行編碼的一種方式。

  1. 以“基本消息”為例,其中每個單詞選擇都是按字母順序排列的第一個。(或其他一些已知的規則。)
  2. 計算 MAC:MAC(key, message)。MAC應該是 $ m $ 位或更少。HMAC,可能被截斷可以正常工作。
  3. 在字選擇中對該 MAC 值進行編碼,以便每個位選擇一個字。

收件人需要知道可能的單詞變化(同義詞對)。他們將首先使用該規則導出相同的基本消息,然後使用共享密鑰計算 MAC,最後檢查是否在單詞選擇中編碼了相同的值。

如果您有足夠長的消息,類似的算法將適用於公鑰簽名。接收者將從單詞選擇中解碼簽名值,並使用帶有基本消息和公鑰的正常簽名驗證。

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