ミラー–ラビン素数判定法
拡張リーマン予想が真であると仮定すると、ミラーが既に指摘したように O((ln n)) より小さい元から、この集合が生成されることがわかっている。big O記法の定数は Eric Bach によって 2 まで減らされた(1990年)。このことから、次のような素数判定アルゴリズムが導かれる:
入力: n > 1; 判定対象の奇数
出力: n が合成数なら composite、さもなくば prime を返す。
n − 1 {\displaystyle n-1} を 2 のべき乗で割って、 2 s ⋅ d {\displaystyle 2^{s}\cdot d} の形式にする。
以下を [ 2 , min ( n − 1 , ⌊ 2 ( ln  n ) 2 ⌋ ) ] {\displaystyle [2,\min(n-1,\lfloor 2(\ln n)^{2}\rfloor )]} の範囲の全ての a について繰り返す: a mod n ≠ 1 かつ [0, s − 1] の範囲の全ての r について a d ⋅ 2 r {\displaystyle a^{d\cdot 2^{r}}} mod n ≠ −1 なら、composite を返す。
prime を返す。
このアルゴリズムの実行時間は Õ((log n)) である。
判定対象の数 n が十分小さければ、全ての a < 2(ln n) を調べる必要はなく、もっと小さい証拠の可能性のある数の集合で十分である。