Каждая итерация Рабина-Миллера уменьшает вероятность того, что число составное в 1/4 раза.
Таким образом, после 64 итераций в 2 ^ 128 существует только 1 вероятность того, что число составное.
Предполагая, что вы используете их для алгоритма открытого ключа (например, RSA), и предполагая, что вы комбинируете это с симметричным алгоритмом, использующим (скажем) 128-битные ключи, злоумышленник может угадать ваш ключ с эта вероятность.
Суть в том, чтобы выбрать количество итераций, чтобы поместить эту вероятность в приблизительную область других размеров, которые вы выбираете для своего алгоритма.
[обновить, уточнить]
Ответ полностью зависит от того, для каких алгоритмов вы собираетесь использовать числа и каковы наиболее известные атаки против этих алгоритмов.
Например, согласно Википедия :
По состоянию на 2003 год RSA Security заявляет, что 1024-битные ключи RSA эквивалентны по силе 80-битным симметричным ключам, 2048-битные ключи RSA - 112-битным симметричным ключам и 3072-битные ключи RSA - 128-битным симметричным ключам.
Итак, если вы планируете использовать эти простые числа для генерации (скажем) 1024-битного ключа RSA, то нет причин запускать более 40 итераций Рабина-Миллера или около того. Зачем? Потому что к тому времени, когда вы нажмете сбой, злоумышленник все равно сможет взломать один из ваших ключей.
Конечно, нет никаких оснований , а не выполнять больше итераций, если позволяет время. Просто не так много очков для этого.
С другой стороны, если вы генерируете 2048-битные ключи RSA, тогда 56 (или около того) итераций Рабина-Миллера более уместны.
Криптография обычно состоит из примитивов, таких как простое поколение, RSA, SHA-2 и AES. Если вы хотите сделать один из этих примитивов в 2 900 раз прочнее, чем другие, вы можете это сделать, но это все равно, что поставить стальную дверь хранилища длиной 10 футов в бревенчатую хижину.
На ваш вопрос нет четкого ответа. Это зависит от силы других частей, входящих в вашу криптографическую систему.
Все, что сказано, 2 ^ -128 - смехотворно малая вероятность, поэтому я, вероятно, просто использовал бы 64 итерации: -).