在非對稱算法中測試其安全性的正確測試是什麼?
我會做一些測試來評估 RSA 和 ElGamal 等非對稱算法的安全性,以評估兩者中哪一個更安全。
基本問題是我需要測試一些對稱和非對稱算法的安全性,以評估它們的安全性,並了解哪種算法更安全以及他對實時攻擊的強度。在這兩種類型的算法中,我都用它們的漏洞製作了一個表格,但我想通過一些特定的測試來測試它們的安全性。然後,我需要一個測試,讓我得出結論,對於對稱和非對稱算法,算法都更安全。
例如,在對稱算法中,您可以使用的測試是雪崩效應連結,但在非對稱算法中,我沒有找到任何人,我只知道雪崩效應不適用於這種類型的密碼學。
關於可能的測試有什麼建議嗎?
如果您正在尋找測試 RSA 或 ElGamal 實現的參數,那麼這相當簡單(假設您可以查看實現的內部結構,並詢問“這些素數是從隨機分佈中提取的,您是否得到 RSA填充正確,您是否可以抵禦相關的側通道攻擊等)。您確實需要了解您的加密貨幣,但這並不難。
另一方面,如果你已經設計了自己的公鑰密碼系統,那麼,這要困難得多。實際上,對稱密碼系統並沒有那麼容易。您提到的“雪崩”測試是一個非常弱的測試;密碼可以輕鬆通過,而且仍然很弱。
在這兩種情況下,真正的測試是“一個可以訪問密文(可能是一些明文)和(在公鑰密碼系統的情況下)公鑰的聰明人能否找到攻擊”。這不是一個容易回答的問題(或者你希望,如果有一個簡單的答案,那就是“是的,這就是這次攻擊”)。
對於公鑰密碼系統,顯而易見的起點是它們所基於的“難題”;為什麼我們認為這很難。對於 RSA,嗯,這是“RSA 問題”(通常,人們會說因式分解,但事實並非如此);對於 ElGamal,這是 Diffie-Hellman 問題。在您的情況下,您需要考慮什麼問題使(使用公鑰)在一個方向上執行變得容易,而在另一個方向上(使用公鑰,但不是私鑰)很難執行。
難題的問題並不是系統失敗的唯一可能方式(考慮沒有填充的 RSA;RSA 問題仍然很難,但我們可以通過利用原始 RSA 的同態屬性找到破壞系統的方法);然而,這是顯而易見的起點。
我想到了加密和解密映射的循環長度分佈和其他偽隨機特徵。例如,
$$ f_e:Z_{pq}^{\ast}\rightarrow Z_{pq}^{\ast} $$對於地圖 $ f_e:m\rightarrow m^e $ 對於 RSA。 其他明顯的測試和理論結果都集中在這種映射的某些位的行為上。它們在限制下的行為,例如固定一定比例的比特 $ e $ 並改變其餘部分,或限制 say 的位大小 $ e $ 到比特大小的一小部分 $ pq, $ 然後調查安全性。在這種限制下存在對 RSA 的攻擊,例如 Coppersmith。