Dsa
域參數時會發生什麼qqq在 DSA 中不是素數
假設攻擊者創建域參數 $ (p,q,g) $ 在哪裡 $ q $ 不是素數(但 $ q $ 仍然分裂 $ p-1 $ ) 並且該簽名者使用這些域參數生成新的密鑰對。
攻擊者究竟如何利用這種情況?
好吧,它使離散對數問題更容易;因此它使恢復私鑰更容易
DSA 私鑰是一個值 $ k $ ,他的公鑰就是值 $ g^k \bmod p $ . $ g $ 有訂單 $ q $ ; 如果 $ q = q_1 \cdot q_2 $ ,那麼攻擊者可以計算 $ (g^k)^{q_2} = (g^{q_2})^k $ . 價值 $ g^{q_2} $ 有訂單 $ q_1 $ ,所以他可以解決這個問題 $ O(\sqrt{q_1}) $ 時間; 這給了他價值 $ k \bmod q_1 $ . 同樣,他可以恢復價值 $ k \bmod q_2 $ 在 $ O(\sqrt{q_2}) $ 時間; 從中,他可以重建原始值 $ k $ 結果總共是 $ O(\sqrt{ max(q_1, q_2) }) $ 時間,而不是 $ O(\sqrt{q}) $ 如果需要時間 $ q $ 是素數。