¿Cómo funciona la criptografía de clave pública?

En la criptografía de clave pública, el par de claves utilizado para el cifrado y descifrado lo determina únicamente el destinatario.

Entonces, si desea enviarme un mensaje, debe solicitarme que genere un par de claves.

Luego genero el par de claves utilizando una función matemática, una parte de la cual le envío (clave pública) y la otra parte que me guardo (clave privada) . Luego encriptas el mensaje usando la clave pública y me lo envías. Luego descifro el mensaje usando mi clave privada.

Si quiero enviarle un mensaje, debo solicitarle que genere un par de claves. Luego me envías la clave pública y te guardas la clave privada. Luego cifro usando la clave pública y se la envío a usted y usted descifra usando su clave privada.

La importancia de la criptografía de clave pública es que coloca la responsabilidad de la seguridad únicamente en los puntos finales de comunicación (y no en el canal). No hay forma de que una suplantación de identidad en el canal pueda abarcar la seguridad. La única forma en que la seguridad podría verse comprometida es si alguien piratea los sistemas finales. Aquí es donde entran los programas antimalware.

Ahora, una cosa que debe haber notado es que las claves públicas y privadas se generan a partir de una única función matemática. Por lo tanto, en teoría, es posible calcular uno del otro. Sin embargo, en la práctica, esto es computacionalmente costoso. Así es como la criptografía de clave pública garantiza la seguridad.

En el algoritmo RSA , por ejemplo, generar la clave de descifrado a partir de la clave de cifrado requeriría que se factoreara el producto de dos números primos. Esto es posible en teoría, pero computacionalmente costoso en la práctica.

Dado que se utiliza un par de claves diferente para la comunicación en ambas direcciones, este método también se conoce como criptografía de clave asimétrica .

Firmas digitales

Sin embargo, una forma en que la criptografía de clave pública podría verse comprometida sería si un usuario B impone como usuario A y solicita una clave pública del servidor.

El usuario B puede enviar mensajes falsos en el nombre del usuario A al servidor.

Para evitar esto, utilizamos firmas digitales.

Digamos que B impone como A y solicita una clave pública del servidor. El servidor luego le pide a B una ‘firma’ , es decir, cualquier contenido arbitrario codificado usando la clave privada de A.

Dado que B no tiene acceso a la clave privada de A, B cifra el mensaje arbitrario utilizando su propia clave privada y lo envía al servidor. El servidor luego le pide a A su clave pública para descifrar esta ‘firma’.

A envía su clave pública al servidor. Luego, el servidor intenta descifrar la firma con esta clave y falla (ya que se ha cifrado con la clave privada de B). El servidor se da cuenta de que el usuario que afirma ser A no es, de hecho, A.

Luego, el servidor descarta la solicitud de B de una clave pública. El administrador del sistema puede contactar a la policía.

************************************************** ******************************

PD: La implementación de los algoritmos anteriores puede tener diferencias significativas en los sistemas del mundo real. Para señalar algunos:

1. No es necesario solicitar claves públicas enviando un correo electrónico al administrador del sistema. Pueden ser generados automáticamente .

2. Las firmas digitales no se solicitan por separado. Suelen acompañar el mensaje que se envía.

3. El contenido utilizado para enviar firmas digitales no es arbitrario. Es un “resumen” del mensaje que se enviará, realizado mediante una función hash.

Sin embargo, estas son diferencias de implementación. El objetivo principal de esta respuesta fue proporcionar una visión general de las ideas involucradas en la criptografía de clave pública y espero que sea útil.

La criptografía de clave pública se basa en claves asimétricas que tienen dos claves

Llave pública
Una clave pública que puede ser conocida por cualquiera y puede
ser usado para encriptar mensajes y verificar firmas

Llave privada
Una clave privada conocida solo por el destinatario, utilizada para
descifrar mensajes y firmar (crear) firmas

Es asimétrico porque la clave que se usa para cifrar el mensaje no se puede usar para descifrar el mensaje.

¿Por qué la criptografía de clave pública?

• Desarrollado para abordar dos cuestiones clave:
– Distribución clave: dos consideraciones importantes fueron
• Dos comunicantes ya deben compartir una clave
• El uso del Centro de distribución de claves (KDC): ¿qué pasa si KDC se ve comprometido?
– Firmas digitales: ¿Cómo podemos saber que el remitente reclamado envía el mensaje digital?
• tenemos firmas, usadas en documentos en papel

Compare una clave pública con un candado y la clave privada con la clave física correspondiente.

Si regala un candado (desbloqueado) a un amigo, pero conserva la llave, ese amigo puede usar ese candado para enviarle mensajes. Pone el mensaje en una caja, luego cierra el candado. Incluso él ya no puede abrir la caja sin la llave, pero tú puedes.

El cifrado de clave pública es un análogo exacto, excepto que la clave pública (candado) es digital y se puede usar muchas veces.

Al igual que en un candado, la clave pública debe hacerse específicamente para que coincida con la clave privada. Y es teóricamente posible abrir la cerradura sin tener la llave. El punto es: esto es (matemáticamente) tan difícil que tomará miles o millones de años.

Como ejemplo, considere cómo funciona el sistema de correo electrónico. Hace pública su identificación de correo electrónico. Puede poner esto en un sitio web público, poner anuncios, publicar en un directorio. No hay problema. Aquellos que quieran enviarle una comunicación confidencial, envíenla utilizando esa identificación de correo electrónico. (Esto es como el cifrado con clave pública) Solo puede abrirlo ya que tiene la contraseña (Esto es como Descifrado). Ahora, suponga que la contraseña que usa está relacionada matemáticamente de manera compleja con la identificación del correo electrónico, es como el sistema de cifrado de clave pública.