Вопросы не тривиальные. Чтобы ответит придётся рассмотреть более общий случай в поле
. Попытка обобщить на более общие поля привела к большим трудностям. Даже переход к
требует эффективной проверки
, что не удается сделать без факторизации (я не знаю как). Поэтому дальнейшее усиление разве что можно получить в поле
, где х число которое можно строит циркулем и линейкой.
Для проверки на простоту выберем D (можно сразу избавиться от квадратов и считать D бесквадратным) так, чтобы
, это легко проверяется без факторизации и при этом (D,n)=1. Рассмотрим число
и его степени по простому модулю p, такому, что числители и знаменатели чисел, a,b не делятся на p и (
.
Рассмотрим вначале p-ую степень
(сопряжённое число), соответственно
. Соответственно
. Здесь непосредственно не вычисляется только знак, для вычисления которого надо рассмотреть последнее сравнение по модулю
. Рассмотрев по модулю D и p этот знак однозначно определяется и он зависит только от a,b и
. Это позволяет определит тест на простоту:
, где биты (0б1)
и
легко вычисляются.