Нет никаких оснований для произвольного сообщения m
иметь m^{4^x} = m mod n
Контрпример;
n = 47 * 43 = 2021
5 ^ {4 ^ 2} = 1803 мод 2021, см. WolframAlpha
import math
for m in range(1,2020):
for e in (4**x for x in range(1, int(math.log(2021,4))) ):
if (m**(e) % 2021) == m:
print (m,e)
С этим кодом на Python вы можете увидеть примеры для конкретного модуля 2021.
Как выможно увидеть, что происходит много случаев
(423, 4)
(423, 16)
(423, 64)
(423, 256)
Теперь причина ясна, если вы помните определение RSA.
e
должно иметь обратное значение в phi (n).Смотрите в прямом эфире на WolframAlpha
Так что этот выбор e
не RSA.
Обратите внимание: поскольку phi (n) = (p-1) (q-1), любой четный e
не может быть публичным модулем.