¿Cómo usan las personas las cosas cifradas principales, si es imposible descifrar?

La respuesta puede sorprenderle: no es necesario mantener ambos números primos. De hecho, generalmente se descartan a menos que se use una representación especial de la clave privada.

Muchas de las descripciones populares del algoritmo RSA que he leído omiten una parte clave del algoritmo. En la representación más común, la clave privada consta de dos componentes: el módulo, que es un número muy grande que es el producto de dos primos, y el exponente privado, que se deriva del módulo y una porción de la clave pública llamada El exponente público. Si conoce el exponente privado, no necesita conocer los dos primos originales.

La otra representación de la clave privada utiliza un concepto matemático llamado Teorema del resto chino. En esta representación, se mantienen los dos factores del gran número. Esta representación tiene algunas ventajas de velocidad sobre el otro formato.

Te refieres al cifrado RSA.

Los dos primos son la clave privada; El producto de esos primos es la clave pública.

Cualquiera que conozca su clave pública puede enviarle un mensaje cifrado, pero descifrar el mensaje requiere que sepa cuáles son los dos números primos.

En la práctica, esos dos números primos se eligen para tener cientos de dígitos de largo. Por lo tanto, tomaría más tiempo que la edad del universo verificar todos los factores posibles.

Y aunque hay algoritmos algo más rápidos que verificar todos los factores posibles, nadie ha descubierto un algoritmo para computadoras clásicas que sea lo suficientemente rápido como para romper el cifrado. (Las computadoras cuánticas son una historia diferente).

No estoy seguro de lo que quieres decir con cosas cifradas principales. Los números primos se usan en ciertos métodos de encriptación y puede buscar en Google ‘números primos de encriptación’ y obtener muchos sitios que se lo explicarán.

Los métodos de cifrado solo son valiosos si puede descifrarlos. De lo que puede estar equivocado es de afirmaciones de que si cifro usando métodos como RSA, alguien más no puede descifrarlo. Por ejemplo, cuando accedo a mi cuenta bancaria en línea, la comunicación entre mi navegador y el banco se encripta utilizando Transport Layer Security (TLS). Sin entrar en detalles sobre TLS, el objetivo es tener una forma de “hablar” con mi banco donde solo nosotros dos podamos cifrar y descifrar nuestros mensajes. Dado que nuestros mensajes están utilizando Internet, es posible que otras personas obtengan una copia de los mensajes (no entraré en detalles sobre cómo funciona eso aquí). Si están encriptados, esas otras personas no deberían poder desencriptar y leer nuestro mensaje. En teoria.

Quizás otro ejemplo ayude. Digamos que entro en un banco, lleno de gente. Cuando es mi turno, me acerco al cajero y hago negocios. Pero todos a mi alrededor pueden escuchar lo que digo. Ahora digamos que realmente no quiero que otras personas conozcan mi negocio. Decido hablar otro idioma, pero primero necesito saber si el cajero también puede hablar ese idioma. Descubrimos que ambos podemos hablar Navajo. Estoy seguro de que nadie más puede hablar eso excepto el cajero y yo (solo confía en mí aquí). Así que hacemos negocios en Navajo y mi transacción es privada. Pero hay una persona curiosa que resulta ser profesora de idiomas que graba la conversación. Se va a casa y trata de descifrar la conversación. Dado que no sabe que el idioma es navajo, tomará mucho tiempo. Lo mismo ocurre con TLS e Internet. Es posible que con suficientes recursos y tiempo, cualquier mensaje pueda ser descifrado. La pregunta es, ¿vale la pena?

Esto se basa en el problema de factorización principal que se considera que está en la clase de problemas NP (no polinomiales). Esencialmente, esto significa que no hemos encontrado un algoritmo para factorizar números grandes en tiempo polinómico, por lo que al usar dos números primos es extremadamente difícil romper la criptografía y encontrar la clave. Sin embargo, con la clave, este problema es muy fácil de verificar.

Por ejemplo, si tengo 2 números primos de 1024 bits (llamémoslos A y B) y los multiplico juntos, obtengo A * B, que es un semiprime. Ahora, si le dieras ese semiprime (llamemos a esto S) a una persona y le pregunte qué dos números enteros se multiplican para formar S, sería extremadamente difícil resolver esto. Si tuviera A o B y S y se le preguntara, sería extremadamente fácil de verificar haciendo S / A = B.

En otras palabras, sí, A y B se mantienen para cifrar y descifrar mensajes. También se debe tener en cuenta que la base de la factorización prima no es el único acertijo matemático que entra en la criptografía, sino que es la parte que lo hace “computacionalmente seguro”, que es una forma elegante de decir que no es rompible con una computadora clásica. (Este problema es rompible con una computadora cuántica y el Algoritmo de Shot)

No es tan simple.

Puedes ver:

RSA (algoritmo) – Wikipedia en inglés simple, la enciclopedia libre