2010-05-18 13 views
6

Lo que entiendo acerca de RSA es que Alice puede crear una combinación de clave pública y privada, y luego enviar la clave pública a Bob. Y luego, Bob puede encriptar algo usando la clave pública y Alice usará el combo de clave pública y privada para descifrarlo.cómo funciona la criptografía con clave pública

Sin embargo, ¿cómo puede Alicia encriptar algo para enviarlo a Bob? ¿Cómo lo descifraría Bob? Lo pregunto porque tengo curiosidad de cómo cuando inicio sesión en mi sitio bancario, mi banco me envía datos como mis estados de cuenta en línea. ¿Cómo descifra mi navegador esa información? No tengo la clave privada.

Respuesta

3

Simple, necesitas una clave.

SSL/TLS resuelve este problema creando una clave de sesión simétrica durante la configuración de la conexión. La criptografía de clave pública se utiliza para establecer esta clave de sesión, que luego se utiliza para la comunicación de datos bidireccional. Read more about TLS

4

Alice will use the public and private key combo to decrypt it

Alice acaba de descifrarlo con su clave privada.

However, how can Alice encrypt something to be sent over to Bob? How would Bob decrypt it?

Alice necesitaría clave pública de Bob para enviar algo a él. Normalmente, el cifrado de clave pública se usa para la autenticación, el no repudio (como la firma) y la distribución de claves simétricas (que son más rápidas para cifrar/descifrar mensajes largos).

0

En esta situación, Alice usaría la clave pública de Bob para encriptar los datos y Bob los descifraría con su clave privada.

Básicamente, una clave pública encripta datos y una clave privada descifra esos datos. Como cada usuario tiene una clave pública y privada, puede enviar datos de forma segura a cualquier otro usuario.

0

Sin embargo, ¿cómo puede Alicia encriptar algo para enviarlo a Bob? ¿Cómo lo descifraría Bob? Lo pregunto porque tengo curiosidad de cómo cuando inicio sesión en mi sitio bancario, mi banco me envía datos como mis estados de cuenta en línea. ¿Cómo descifra mi navegador esa información? No tengo la clave privada.

Aquí es donde te equivocas; usted do tiene una clave privada. Como parte del proceso de toma de contacto, cada lado genera dos claves: una clave pública y una privada. El cliente envía su clave pública al servidor, que la usará para encriptar todos los datos enviados al cliente. Del mismo modo, el servidor genera ambas claves y envía su clave pública al cliente, que la usará para encriptar todos los datos enviados al servidor.

En muchos escenarios, el algoritmo de clave asimétrica se usa solo para intercambiar otra clave, que es para un algoritmo simétrico.

7

Básicamente, el procedimiento es:

  1. El cliente se conecta al servidor y pide el certificado del servidor. El certificado contiene la clave pública y la información sobre la identidad del servidor.
  2. Suponiendo que el cliente está satisfecho con la identidad del servidor, genera un número aleatorio P y lo encripta con la clave pública del servidor.
  3. Solo el servidor puede descifrar P (con su clave privada - no compartida con nadie) así que cuando el cliente envía el número aleatorio encriptado al servidor, el servidor lo descifra.
  4. El cliente y el servidor usan tanto P para generar una clave simétrica para su uso en un algoritmo de cifrado simétrico, con la certeza de que sólo el cliente y el servidor conocen el valor de P utilizado para generar la clave.
0

Si se conecta al sitio de su banco funciona una gran cantidad de cosas criptográficas. Lo más importante es que utilice la clave pública del banco para enviar una información al banco, ya que en cada servidor de conexión SSL (https) envía al cliente su clave pública empaquetada como un certificado.

El uso del certificado y la PKI en todo el mundo es importante. Debes estar seguro de que si le das al banco tu cuenta bancaria, en el otro lado está tu banco y no otra persona. Esto se resolverá, porque en todas las computadoras hay un pequeño número de claves públicas de organizaciones conocidas (como VeriSign) y el banco le envía no solo su clave pública del servidor, sino un certificado. certificado es un mensaje firmado por VeriSign, por ejemplo, que dice "esta clave pública es realmente del banco XYZ". Entonces, como tiene una clave pública de VeriSign, primero puede verificar que el certificado del banco del servidor sea correcto. De modo que puede estar seguro de que se comunica realmente con su banco.

2

En términos generales me ha costado entender criptografía de clave pública durante bastante tiempo junto con los otros elementos de la PKI, tales como firmas digitales y certificados, mientras que la preparación para la certificación de Microsoft C#.

Encontré una explicación en forma de un PDF conciso y detallado en cgi.com. ¡Sé que ha vuelto a las buenas y viejas Alice y Bob! pero realmente me aclaro las cosas con sus diagramas y notas, y también tiene algunas preguntas que hacen reflexionar al final. Definitivamente lo recomiendo.

Visita http://www.cgi.com/files/white-papers/cgi_whpr_35_pki_e.pdf

Cuestiones relacionadas