Diffie-Hellman
使用 Index Calculus 方法時如何選擇合適的 Smoothness Bound
在實施二次篩時,教科書給出了一個粗略的公式,說明您應該在因子庫中使用什麼平滑度界限。
要使用二次篩分解數字 N,我們可以使用以下方法:
$ L = e^{\sqrt {\ln(N)ln(ln(N))}} $ , $ B = L^{\frac {1}{\sqrt 2}} $
對於解決離散對數問題的索引演算方法 $ \mathbb F_p $ ,有沒有類似的公式?我檢查的許多文本,只是說選擇適當的 Smoothness Bound B。但不要說明如何選擇適當的 B。
Coppersmith、Odlyzko 和 Schroeppel最初設定 $ B = L[1/2, 1/2] $ 對於線性和高斯篩。Pomerance集 $ B = L[1/2, 1/\sqrt{2}] $ 對於使用橢圓曲線方法作為平滑度測試方法的嚴格指數微積分變體。
這些界限只是漸近的;通常會調整實現中的界限以考慮所涉及子程序的實際非漸近性能。