¿Qué sucede cuando se encripta con clave privada? [duplicar]

8

Tengo una pregunta teórica. Hay un sistema de clave pública. Person1 quiere enviar un mensaje privado a person2. A mi entender, person1 debe cifrar su mensaje con una clave pública. ¿Qué sucede si person1 usaría su clave privada para el cifrado? ¿El mensaje sigue siendo privado o puede ser leído por otros?

Saludos, Filipe

    
pregunta Filipe 16.02.2015 - 13:31
fuente

4 respuestas

9

Para el cifrado, la persona 1 cifra su mensaje con la clave pública person 2 , no con su propia clave pública. Entonces, solo la persona 2 puede descifrarla, ya que solo la persona 2 tiene la clave privada correspondiente.

El cifrado con la clave privada se utiliza para probar la autenticidad. Si la persona 1 cifra un mensaje con su propia clave privada, entonces la persona 2 puede descifrarlo con la clave pública de la persona 1, lo que prueba que esa persona 1 originó el mensaje, ya que solo se pudo cifrar con su clave privada.

Todo lo cual supone que tiene una forma segura y verificable para las personas 1 & 2 para intercambiar claves públicas, que siempre es lo más difícil.

    
respondido por el Mike Scott 16.02.2015 - 13:39
fuente
6

Si cifra un mensaje con su clave privada, cualquier persona que tenga su clave pública puede leerlo (descifrarlo). Como la clave pública está destinada a ser, por supuesto, pública, el mensaje ya no es privado. Ahora se puede considerar que el mensaje está firmado, porque con una clave pública verificada cualquiera puede estar seguro de que el mensaje es auténtico.

    
respondido por el pkalinow 16.02.2015 - 14:25
fuente
5

El bit acerca de las claves públicas / privadas para cifrado / firma respectivamente no es un hecho general del cifrado de clave pública: es específico de RSA, donde las claves públicas y privadas tienen (al menos en el libro de texto) la misma forma. Cambie a sistemas basados en Diffie-Hellman y / o ECC y los dos tipos de clave tienen un aspecto completamente diferente, por lo que no puede cifrar con una clave privada.

La respuesta breve a su pregunta es que si Person1 tiene la clave private de Person2, entonces algo ya salió mal, y lo más probable es que nadie obtenga ninguna seguridad. Este tipo de cosas sucede todo el tiempo (creo que github tiene un mensaje de error especial para las personas que pegan una clave privada en el campo donde se espera que una clave pública SSH configure la autenticación con clave SSH).

La respuesta completa: si Person1 usa su propia clave privada, si están haciendo un RSA de libro de texto, cualquier persona con la clave pública de Person1 puede recuperar el mensaje. Y las claves públicas son, bueno, se supone que son públicas. En el mundo real, las claves RSA y otras estructuras de datos son unos pocos pasos eliminados del libro de texto, y una biblioteca de criptografía sensible no debería ofrecer la opción de cifrar con una clave privada en primer lugar. Por lo general, también tendrías subclaves separadas para el cifrado y la firma, que de nuevo se almacenarán en formatos diferentes (es una muy mala idea usar la misma clave para ambos, incluso si en teoría).

En el libro de texto RSA, tienes un módulo público N, un exponente público e y un exponente privado d. En el modo de encriptación, calculamos un texto cifrado c de un mensaje m como c = m ^ e (mod N); para descifrar se calcula m = c ^ d (mod N). Para firmar m, publica s = H (m) ^ d (mod N) y para verificar que haya una firma en m, verifique que H (m) = s ^ e (mod N). Así que las operaciones públicas y secretas son intercambiables. De hecho, no importa a quién llames e y a quién llamas d, los dos son intercambiables: x ^ e ^ d (mod N) = x ^ d ^ e (mod N) = x (mod N) para todos 0 < x < N. (Bueno, casi todo, siempre y cuando no le pegues a un factor de N. En cuyo caso, de todos modos, eres una tostada)

    
respondido por el Bristol 16.02.2015 - 16:44
fuente
0

La clave pública y la clave privada están relacionadas matemáticamente, por lo que todo lo que se cifra con la clave privada solo se puede descifrar con la clave pública y viceversa.

Por lo tanto, ambas claves se pueden usar para cifrar o descifrar un mensaje, y la otra clave para hacer lo contrario.

    
respondido por el BadSkillz 16.02.2015 - 13:41
fuente

Lea otras preguntas en las etiquetas