Bitslicing

在計算之前獲取取冪結果的位長

  • October 26, 2022

我在這樣的環境中工作,pow(a,b)通過模冪 ( modexp(a,b,m)) 計算比直接求冪更便宜。為此,我需要最小模值,以便函式僅返回函式呼叫的求冪部分。

是否存在一種有效的算法來計算 的位長/最高位集a^b,我們只知道這些值(結果尚未計算)?或者如果不是,一種盡可能接近它的算法?在這種情況下,唯一的要求是近似值 >= 實際位長。

如果 $ a\in\mathbb N^* $ 有 $ \ell $ 位和 $ b\in\mathbb N^* $ , 然後 $ a^b $ 最多有 $ b,\ell $ 位。

更確切地說, $ a^b $ 正好有 $ \lfloor b\log_2(a)\rfloor+1 $ 位。

這一切都源於 $ \log_2(a^b)=b\log_2 a $ .

引用自:https://crypto.stackexchange.com/questions/102424