Top Qs
Timeline
Chat
Perspective

Solinas prime

Prime number of the form that allows fast modular reduction From Wikipedia, the free encyclopedia

Remove ads

In mathematics, a Solinas prime, or generalized Mersenne prime, is a prime number that has the form , where is a low-degree polynomial with small integer coefficients.[1][2] These primes allow fast modular reduction algorithms and are widely used in cryptography. They are named after Jerome Solinas.

This class of numbers encompasses a few other categories of prime numbers:

  • Mersenne primes, which have the form ,
  • Crandall or pseudo-Mersenne primes, which have the form for small odd ,[3] including 3 (sequence A050414 in the OEIS), 5 (sequence A059608 in the OEIS), 7 (sequence A059609 in the OEIS), 9 (sequence A059610 in the OEIS), etc.
Remove ads

Modular reduction algorithm

Summarize
Perspective

Let be a monic polynomial of degree with coefficients in and suppose that is a Solinas prime. Given a number with up to bits, we want to find a number congruent to mod with only as many bits as – that is, with at most bits.

First, represent in base :

Next, generate a -by- matrix by stepping times the linear-feedback shift register defined over by the polynomial : starting with the -integer register , shift right one position, injecting on the left and adding (component-wise) the output value times the vector at each step (see [1] for details). Let be the integer in the th register on the th step and note that the first row of is given by . Then if we denote by the integer vector given by:

,

it can be easily checked that:

.

Thus represents an -bit integer congruent to .

For judicious choices of (again, see [1]), this algorithm involves only a relatively small number of additions and subtractions (and no divisions!), so it can be much more efficient than the naive modular reduction algorithm ().

Remove ads

Examples

Summarize
Perspective

In 1999, NIST recommended four Solinas primes as moduli for elliptic curve cryptography:[4]

  • curve p-192 uses modulus
  • curve p-224 uses modulus
  • curve p-256 uses modulus
  • curve p-384 uses modulus .

A newer Curve448 uses modulus .

A Solinas prime that fits into a typical 64-bit unsigned integer is , it is where is the cyclotomic polynomial, thus it is a unique prime in base 2 (with period length 192). This size is too small for cryptography, but finds use in implementing a number-theoretic transform for efficient multiplication of large numbers.[5]

A complete list of with , a small modular reduction weight , and (i.e. multiples of a computer word size) was produced by José de Jesús Angel Angel and Guillermo Morales-Luna in 2010.[6]

Remove ads

See also

  • Proth prime: several examples on this page are also Proth primes

References

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads