La piedra angular de los algoritmos de cifrado de clave pública: números primos grandes
El concepto de números primos es extremadamente simple, pero su estudio es el propósito de toda la vida de los matemáticos. Por supuesto, este artículo no analiza el estudio de los números primos en matemáticas, sino la aplicación de los números primos en la criptografía moderna.
El algoritmo de cifrado de clave pública RSA es una aplicación típica de números primos. RSA es un cifrado asimétrico que utiliza diferentes claves para cifrar y descifrar. El cifrado simétrico utiliza la misma clave en los procesos de cifrado y descifrado; los lectores más detallados pueden buscar por sí mismos.
En el algoritmo RSA, el teorema más básico es el teorema RSA, que se describe a continuación:
Seleccionemos manualmente dos números, practiquemos el algoritmo RSA y veamos el misterio. de cálculo.
Del proceso de cálculo anterior, utilizamos los números primos más pequeños, 7 y 11, que implican una operación de gran potencia (51 43) y el resultado es un número muy grande. En aplicaciones prácticas, si P y Q son números primos con valores grandes, entonces los valores de N, D y E también son grandes, por lo que los resultados intermedios de la operación también son grandes y los tipos de datos básicos proporcionados en el No se puede utilizar el lenguaje de programación. Aquí estoy usando la biblioteca BigNumber para realizar cálculos.
En este punto, se ha completado el cálculo de cómo utilizar números primos para el cifrado y descifrado en el algoritmo RSA. Todos los contenidos anteriores están extraídos del libro "Entrenamiento en pensamiento matemático para programadores". Los estudiantes interesados pueden leer este libro. Como programador, todavía es necesario tener conocimientos matemáticos básicos.