Provable-Security
對手和算法有什麼區別?
我最近在一本書中看到了一個關於可證明安全性的草圖,關於分解 N 所需的時間,其中 N = pq 和 p,q 是素數。
它說:“有一種簡單的算法總是會及時分解一個數字 $ \sqrt N $ ,所以有一個對手 $ A $ 這樣 $ Adv_b (A, 2^{b/2}) = 1 $ " b 是比特的數量 $ N $ .
這裡有一個對手和算法之間的區別。但是,如果算法總是可以將一個數字考慮在內 $ \sqrt N $ 為什麼重要,對手有多強大?
該聲明只是說明,由於存在一種可以在時間 sqrt(N) 中分解一個數字的算法,我們可以使用我們對該算法的了解來計算對手可以使用這種加密贏得與挑戰者的不可區分遊戲的機率方案。
換句話說,該算法用於計算對手的優勢。由於該算法可以考慮 $ N $ 在時間 sqrt(N) 中,我們必須選擇足夠大的素數,以便沒有機率多項式時間對手可以攻擊系統。