1 | initial version |
The "Solinas prime" wikipedia page says
a Solinas prime is a prime of the form f(2^m)
where f
is a polynomial of low degree,
and gives a few examples.
Hint: observe the structure of bits of each of these primes:
sage: l = [
....: 2^192 - 2^64 - 1,
....: 2^224 - 2^96 + 1,
....: 2^256 - 2^224 + 2^192 + 2^96 - 1,
....: 2^384 - 2^128 - 2^96 + 2^32 - 1,
....: 2^448 - 2^224 - 1
....: ]
sage: for p in l:
....: print(p.bits())
Then define a function to detect m
and the polynomial from the bit structure.