Attack

對手擁有一串密文,並可以像黑匣子一樣訪問加密機器。這次襲擊的名稱是什麼?

  • July 5, 2019

一個簡單的例子:

加密函式:y = E(x) = (13x + 9)(mod 27),其中字母 A-Z 被視為數字 0-25,空格(標點符號)是數字 26。

對手有密文y = “NZC”

對於每個字母,他將一次又一次地對其進行加密,直到獲得起始值。

我將顯示字母’N’:‘N’ = 13

E(13) = 16

E(16) = 1

E(1) = 22

E(22) = 25

E(25) = 10

E(10) = 4

E(4) = 7

E(7) = 19

E(19) = 13

所以,對手知道字母**‘T’ = 19被加密得到‘N’**

同樣適用於’Z’ = 25,字母**‘W’ = 22被加密以獲得‘Z’**

對於’C’ = 2,字母**‘O’ = 14被加密得到‘C’**

由此,對手揭示了明文:“TWO”

這次襲擊的名稱是什麼?

謝謝。

實際上,這種針對 RSA 的特定攻擊被稱為“循環攻擊”。它之所以有效,是因為 RSA 定義了一個排列,因此通過進行足夠多次的重複加密,您將始終回到最終開始的位置。

然而,人們分析了這種攻擊,並表明(極有可能)這種攻擊所需的工作量(對於隨機選擇的 RSA 模數)比已知的分解方法需要更多的工作。

該問題為對手定義了一個概念“選擇明文攻擊”能力。它是否是參考文本中引入的“該”概念並不重要,因為它實際上是這樣的:對手試圖誘導有關潛在消息的資訊,同時具有獲得加密的能力。下面我將解釋這與更標準的“查找然後猜測”CPA 安全概念之間的關係,例如本文 (PDF)


因此,“針對選定明文攻擊的安全性”的通常定義如下:

假設你有一個對手 $ \mathcal A $ . 你首先選擇一個秘密位 $ b $ 均勻隨機並執行加密方案的密鑰生成算法以接收密鑰 $ k $ . 然後你跑 $ \mathcal A $ 並要求它輸出兩條相同長度的消息 $ m_0,m_1 $ 雖然它可以訪問加密機器 $ \mathcal E_k(\cdot) $ . 您再次呼叫對手並為其提供 $ c=\mathcal E_k(m_b) $ . 然後它輸出一點 $ b’ $ 並且“贏”當且僅當 $ b’=b $ . 如果對於給定方案和所有對手來說,對手獲勝的機率“可以忽略不計”,則該方案稱為“CPA-secure”。

現在問題中提出的方案與上述方案非常相似,只是看起來對手無法選擇或看到構成密文的消息池。

所以很明顯,贏得問題的 CPA 定義的對手也贏得了標準問題,但反過來可能不成立。

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