Encryption
您如何證明加密方案是 IND-CPA 或 IND-CCA?
我知道要證明一個方案不是 IND-CPA 或不是 IND-CCA,您可以建構一個在實驗/遊戲中具有不公平優勢的對手,但是您如何證明一個方案是 IND-CPA 或 IND-CCA?
正如SEJPM在他的評論中所說:一個人通過對立進行,首先假設存在這樣一個具有不公平優勢的對手並使用該對手打破一個眾所周知的假設,例如:對手可用於分解一個大的複合整數(如定義在 RSA 中)。
到今天為止,我們還沒有有效的算法來分解大的複合整數,即使經過多年的研究試圖實現這一點。因此,可以安全地假設問題很困難,並且不存在這樣的對手。該方案是 IND-CPA 或 IND-CCA 安全的,因為如果不是,破壞該方案的對手將破壞這個眾所周知的問題。
下一步是將眾所周知的問題(要分解的複合整數)的實例轉換為方案的實例,如果對手能夠以不可忽略的優勢破壞方案,它也會無意中解決難題,這是一個矛盾,因為我們假設問題是困難的。