La teoría de números se usa en criptografía de clave pública, como en el esquema de cifrado RSA. RSA se usa, por ejemplo, en el cifrado SSL que se usa cada vez que visita un sitio web donde la URL comienza con ‘https: //’ (es decir, para iniciar sesión en su correo electrónico, Facebook, etc.) Esto se usa “día a día “en nuestras vidas, aunque sucede detrás de escena, así que rara vez pensamos en ello.
Digamos que Alice quiere enviarle un mensaje a Bob, pero no quiere que nadie que intercepte el mensaje pueda leerlo (pero al mismo tiempo, Bob necesita poder leerlo cuando lo reciba). La forma en que funciona la criptografía de clave pública es la siguiente. Bob elige un par de clave pública-clave privada: la idea es que Bob guarde su clave privada para sí mismo y les diga a todos los demás la clave pública. Cualquiera que quiera enviarle un mensaje a Bob lo cifrará usando la clave pública, y solo la clave privada puede descifrarlo.
Una forma específica de hacer criptografía de clave pública es el esquema RSA, que funciona de la siguiente manera. Bob elige hacer números primos enormes [matemática] p [/ matemática] y [matemática] q [/ matemática], y calcula [matemática] N = pq [/ matemática]. Bob luego elige una clave privada [math] d [/ math] y la clave pública correspondiente será [math] e [/ math] de modo que [math] ed \ equiv 1 \ pmod {(p-1) (q-1 )}[/matemáticas]. Si Alice quiere enviar el mensaje [math] m [/ math] a Bob, lo cifra como [math] c = m ^ e \ pmod {N} [/ math] y envía [math] c [/ math] a Mover. Cuando Bob lo recibe, calcula [matemáticas] m = c ^ d \ pmod {N} [/ matemáticas].
En primer lugar, ¿por qué funciona esto? Bob puede descifrar usando su clave privada debido al teorema de Euler (que es solo un caso especial del teorema de Lagrange), que establece que para cualquier número [matemático] N [/ matemático] y cualquier número [matemático] un [/ matemático] coprime a [matemáticas] N [/ matemáticas], tenemos [matemáticas] a ^ {\ phi (N)} \ equiv 1 \ pmod {N} [/ matemáticas] donde [matemáticas] \ phi (N) [/ matemáticas] es el cantidad de enteros positivos menores o iguales a [matemática] N [/ matemática] que son coprimos a [matemática] N [/ matemática]. Pero para [matemáticas] N = pq [/ matemáticas], tenemos [matemáticas] \ phi (N) = (p-1) (q-1) [/ matemáticas], entonces las teclas [matemáticas] d, e [/ matemáticas] se eligen precisamente para que [matemáticas] c ^ d = (m ^ e) ^ d = m ^ {de} \ equiv m \ pmod {N} [/ matemáticas].
- Álgebra lineal: ¿Cómo resolverías: [matemáticas] \ frac {2} {| x + 4 |} \ geq 2 [/ matemáticas]?
- ¿Cómo se cambian los límites de una sumatoria?
- ¿Por qué nos interesa ver el núcleo y el rango (imagen) de una transformación lineal en un curso de álgebra lineal?
- ¿Alguien puede explicar? Supongamos que un bate y una pelota juntos cuestan $ 1.10 y que el bate cuesta $ 1.00 más que la pelota. ¿Cuánto cuesta la pelota? Muchas personas, confiando principalmente en el pensamiento del Sistema 1, rápidamente dirán $ 0,10, pero la respuesta correcta es cinco centavos. Piénsalo.
- ¿Cómo Matlab o los sistemas de álgebra computacional encuentran derivadas de funciones? ¿Es correcto que usen una transformación matricial?
Pero, ¿por qué es esto seguro? Bueno, en realidad no lo sabemos con certeza, pero se basa en el supuesto de que es difícil factorizar números grandes (más precisamente, no existe un algoritmo de tiempo polinómico para factorizar). Tenga en cuenta que la única forma en que puede descubrir la clave privada [matemática] d [/ matemática] al conocer [matemática] e [/ matemática] y [matemática] N [/ matemática] es saber que [matemática] N [/ matemática] factores en [math] pq [/ math] y luego calcular [math] d = e ^ {- 1} \ pmod {(p-1) (q-1)} [/ math].