¿Por qué RSA usa números de tipo de punto fijo?

-1

¿Por qué RSA usa números de punto fijo en lugar de punto flotante? ¿Hay demasiadas implementaciones de punto flotante para elegir? ¿La aritmética de punto fijo aumenta la dificultad de la factorización? ¿O es algo más?

¿La complejidad adicional de punto flotante no aumentaría la seguridad del algoritmo?

    
pregunta muma 02.05.2013 - 14:18
fuente

2 respuestas

4
  

¿Por qué RSA utiliza números de tipo de punto fijo?

Técnicamente hablando, RSA opera en clases de residuos que son clases de equivalencia, con la definición "dos enteros son equivalentes "Ser" comparten el mismo resto ".

Estas clases solo se completan con enteros, por lo que la operación RSA no necesita tipos de almacenamiento de punto flotante. Como tal, no tiene sentido desperdiciar espacio clasificando un exponente, ya que no es necesario, incluso los enteros grandes pueden almacenarse en la memoria utilizando una biblioteca aritmética de precisión arbitraria. Si, por ejemplo, se divide el entero en partes de 32 bits. o cuatro bytes, solo necesita 128 fragmentos de 4 bytes para almacenar ese entero, o 512 bytes.

  

¿Es porque solo la aritmética de punto fijo proporciona las dificultades de la factorización?

La factorización se complica más cuando empiezas a definir otros conjuntos. Por ejemplo, bajo algunas construcciones, un número puede ser irreducible, pero no primo.

Dado que RSA funciona muy bien en los conjuntos más simples que conocemos y entendemos, los enteros, no tiene mucho sentido introducir una complejidad adicional a menos que la necesitemos.

    
respondido por el user2213 02.05.2013 - 14:23
fuente
3

Los números de punto flotante son aproximaciones de números reales. Son apropiados para los cálculos continuos , donde una pequeña variación de la entrada da como resultado una pequeña variación de la salida.

La criptografía generalmente involucra cálculos que están tan lejos de ser continuos. No importa cuán similares sean dos mensajes no idénticos, no deberían tener hashes similares, firmas similares o encriptaciones similares. Los puntos flotantes son totalmente inapropiados para esto.

La criptografía a menudo involucra algún tipo de aleatorización de aspecto irreversible, que solo puede revertir dada una clave secreta (o nada). Los procesos naturales tienden a ser continuos, por lo tanto reversibles. Los procesos caóticos , cuyo pasado no se puede calcular, tienden a incluir enteros en algún punto, a menudo una serie de iteraciones o bucles, donde un umbral se alcanza o se pierde en cada iteración. Los enteros son la forma en que surge la irreversibilidad.

El resultado de las operaciones criptográficas debe ser reproducible. Por ejemplo, el proceso de descifrado tiene que revertir exactamente el proceso de cifrado. Los números de punto flotante están en desventaja porque las operaciones en ellos tienden a tener variaciones entre diferentes arquitecturas de procesador.

Una gran cantidad de criptografía, incluida RSA, se basa en propiedades "agradables" de enteros, a menudo relacionadas con la divisibilidad (que es fundamentalmente una propiedad de enteros). Los números de punto flotante no tienen tales propiedades que hacen que los algoritmos funcionen.

La complejidad no es lo que hace que los algoritmos criptográficos sean seguros. Es una combinación de propiedades matemáticas y de nadie que haya encontrado una manera de romperlas. No hay absolutamente nada que ganar con los cálculos de punto flotante allí, y como hemos visto mucho que perder.

    
respondido por el Gilles 03.05.2013 - 01:42
fuente

Lea otras preguntas en las etiquetas