Leí acerca de generar 2 claves (privadas y públicas) en el host del cliente y copiar la clave pública en el host del servidor.
Según tengo entendido, (corríjame si estoy equivocado): el servidor cifra los datos con la clave pública y los envía al cliente, el cliente los descifra con la clave privada.
Pero si necesito cifrar datos en el cliente para enviarlos al servidor, ¿cómo sucede?
¿La clave pública encripta los datos del cliente? Pero, ¿cómo puede descifrarlo el servidor, si solo tiene la clave pública?
¿Cómo funciona el cifrado SSH?
fuente
Aquí hay algunos ejemplos prácticos, suponga que la clave A se mantuvo en secreto y es por eso la clave privada y la clave B se publicó en un lugar de acceso público y por lo tanto es la clave pública.
Por lo tanto, si desea enviar un mensaje a todos y desea que verifiquen que proviene de usted y que no se modificó mientras se estaba entregando, debe enviar su mensaje e incluir un hash del mensaje cifrado con la Clave A. Entonces, cualquiera que tiene la clave B puede descifrar el hash, compararlo con el mensaje que recibió y verificar que el mensaje proviene de usted (debido al hecho de que solo una persona con la clave A podría haber generado la carga útil cifrada que descifró correctamente el hash, y porque usted son la única persona con la Clave A, solo podría provenir de usted). Esto se llama Firma .
Ahora digamos que alguien quiere enviarte un mensaje secreto pero no quiere revelar quiénes son. Pueden encriptar su mensaje con una clave simétrica (como Zoredache mencionó que simétrica es mucho más barato de hacer), luego tomar esa clave y encriptarla con la Clave B y enviársela. Debido a que solo la Clave A puede descifrar algo que fue encriptado con la Clave B, ninguna otra persona puede ver lo que está en el mensaje que se le envió. Así es como funciona el cifrado normal y cómo SSH intercambia datos.
fuente
Aquí hay una descripción relativamente accesible de las matemáticas detrás de cómo funciona el cifrado de clave pública-privada.
Una descripción aún más básica de la BBC está aquí .
fuente
usted escribe
No sé mucho al respecto, pero creo que puedo responder a eso con bastante claridad.
Si A quiere enviar un mensaje a B, A usa la clave pública de B. Así es como B es capaz de descifrarlo.
Si A usa su propia clave pública para cifrar el mensaje, entonces, de hecho, B no podrá descifrarlo.
Eso se explica aquí
http://www.comodo.com/resources/small-business/digital-certificates2.php
fuente