¿Por qué no se puede descubrir la clave privada mirando dentro de la clave pública en criptografía?

Toda la base de la criptografía de clave pública se basa en la pregunta que ha formulado. Es solo por el hecho de que la extracción de la clave privada de la clave pública es computacionalmente inviable, que los criptosistemas de clave pública son seguros y, por lo tanto, se utilizan.


Permítanme demostrar esto a través del criptosistema RSA.

Aquí la clave es [matemáticas] (n, p, q, a, b) [/ matemáticas].

La clave pública es [matemática] (n, b) [/ matemática] y la clave privada es [matemática] (p, q, a) [/ matemática].

[matemáticas] n = p * q [/ matemáticas] {donde p y q son números primos grandes}.

[math] a [/ math] se elige entre [math] {1,2,…., ϕ (n) -1} [/ math]. Aquí [math] ϕ (n) [/ math] es la función totient de Euler.

[math] b [/ math] se calcula de manera que, [math] ab ≡ 1 mod (ϕ (n)) [/ math].

Ahora se le da la clave pública [matemáticas] (n, b) [/ matemáticas]. Desea averiguar la clave privada de esto.

Digamos que desea averiguar [matemáticas] p [/ matemáticas] o [matemáticas] q [/ matemáticas]. Para hacerlo, debe factorizar [math] n [/ math], que suele tener una longitud de 1024 o 2048 bits. Esta tarea es computacionalmente inviable utilizando los algoritmos de factorización de enteros más conocidos y proporciona la seguridad real al sistema. Factorice [math] n [/ math] en un tiempo razonable y puede descifrar RSA.

Si desea averiguar [matemáticas] a [/ matemáticas], debe averiguar [matemáticas] ϕ (n) [/ matemáticas], que es igual a [matemáticas] (p-1) (q-1) [ /matemáticas]. Como no puede encontrar [matemáticas] p [/ matemáticas] y [matemáticas] q [/ matemáticas], no podrá encontrar [matemáticas] a [/ matemáticas].

Por lo tanto, descubrir la clave privada de la clave pública es imposible.

Esto es cierto siempre que la factorización no sea factible. Usando el algoritmo de Shor en computadoras Quantum, este problema se vuelve factible. Entonces, hasta que se construyan computadoras cuánticas que puedan resolverlo, RSA y otros criptosistemas de clave pública son seguros.

La premisa de su pregunta no es correcta. Has asumido que “la clave pública debe conocer algún elemento de la clave privada”, nada cierto. Son independientes a pesar de que se generan a partir del mismo proceso. En primer lugar, lo que se llama ‘función unidireccional’ se usa en el proceso de generación de claves, lo que hace que el seguimiento de claves sea un infierno y, por lo tanto, inviable (sin valor dado los recursos utilizados). Eso se hace aún más complejo por el uso de la aritmética MOD como mod algunos grandes primos. Eso proporciona seguridad contra cálculos clave.

No, se llama criptografía asimétrica.

Cifras con la clave pública y descifras con la clave privada.

Lo que dices no se puede hacer.

Tiene una noción incorrecta de qué es la clave privada. No es que la clave privada esté en algún lugar entre la clave pública. Ambos son cadenas largas completamente al azar de ceros y unos. Ninguno de ellos proporciona un zilch el uno del otro. Las claves privadas son de 32 bytes y las claves públicas son de 65 bytes. Demasiado tiempo en sí mismos. Las claves privadas son como una contraseña que se guarda para usted y no tiene nada que ver con el nombre de usuario que es visible públicamente.