stringtranslate.com

solinas prime

En matemáticas , un primo de Solinas, o primo de Mersenne generalizado , es un número primo que tiene la forma , donde es un polinomio de bajo grado con coeficientes enteros pequeños . [1] [2] Estos números primos permiten algoritmos de reducción modular rápidos y se utilizan ampliamente en criptografía . Llevan el nombre de Jerónimo Solinas.

Esta clase de números abarca algunas otras categorías de números primos:

Algoritmo de reducción modular

Sea un polinomio mónico de grado con coeficientes en y supongamos que es un primo de Solinas. Dado un número con hasta bits, queremos encontrar un número congruente con mod solo con tantos bits como , es decir, con como máximo bits.

Primero, representa en base :

A continuación, genere una matriz por pasos multiplicando por el registro de desplazamiento de retroalimentación lineal definido por el polinomio : comenzando con el registro entero , desplace una posición hacia la derecha, inyectando a la izquierda y sumando (por componentes) el valor de salida multiplicado por el vector en cada paso (ver [1] para más detalles). Sea el número entero en el registro ésimo en el paso ésimo y tenga en cuenta que la primera fila de está dada por . Entonces si denotamos por el vector entero dado por:

,

se puede comprobar fácilmente que:

.

Por tanto, representa un número entero de bits congruente con .

Para elecciones juiciosas (nuevamente, ver [1]), este algoritmo implica solo un número relativamente pequeño de sumas y restas (¡y ninguna división!), por lo que puede ser mucho más eficiente que el ingenuo algoritmo de reducción modular ( ).

Ejemplos

Cuatro de los números primos recomendados en el documento del NIST "Curvas elípticas recomendadas para uso del gobierno federal" son primos de Solinas:

Curve448 utiliza la prima de Solinas

Ver también

Referencias

  1. ^ Solinas, Jerome A. (1999). Números generalizados de Mersenne (PDF) (Informe técnico). Centro de Investigación Criptográfica Aplicada, Universidad de Waterloo. CORR-99-39.
  2. ^ Solinas, Jerome A. (2011). "Mersenne Prime generalizado". En Tilborg, furgoneta Henk CA; Jajodia, Sushil (eds.). Enciclopedia de Criptografía y Seguridad . Springer Estados Unidos. págs. 509–510. doi :10.1007/978-1-4419-5906-5_32. ISBN 978-1-4419-5905-8.
  3. ^ Patente estadounidense 5159632, Richard E. Crandall, "Método y aparato para el intercambio de claves públicas en un sistema criptográfico", emitida el 27 de octubre de 1992, asignada a NeXT Computer, Inc.