Confusión del sistema de claves públicas

5

Leí lo siguiente sobre PKI:

  

Usando un sistema de clave pública, un usuario puede cifrar una parte de un documento   utilizando su clave privada. Este mensaje será posteriormente descifrado por   el destinatario utilizando la clave pública del remitente. Suponiendo que el   la clave privada del remitente es segura, el destinatario puede asumir   autenticidad de la parte encriptada del documento en que solo el   El remitente contiene la clave privada utilizada para cifrar el mensaje. Por lo tanto, la   Se dice que la parte cifrada del mensaje ha sido "digitalmente   firmado por el remitente.

     

Tengoalgunaspreguntassobrelasiguientelínea:

  

Estemensajeserádescifradomástardeporeldestinatariousandoel  clavepúblicadelremitente

Digamosquetengolaclavepúblicadelremitente.Ydigamosquetambiéntengolaclavepúblicade"satanás" (que no pertenece al remitente original).

  1. Pensé que la tecla privada se usa para firmar y descifrar / descifrar , ¿por qué dice eso? " un usuario puede cifrar una parte de un documento utilizando su clave privada "?

  2. Si intento descifrar con la clave pública del remitente (como está escrito anteriormente), ¿cómo puedo saber que el mensaje no se ha modificado? ¿Y cómo sé que el desencriptado ha tenido éxito?

  3. ¿Cuál será el resultado si intento descifrar el mensaje usando la clave pública de "satanás"?

    • ¿No hay datos?

    • ¿Error al indicar una clave incorrecta?

    • ¿Datos de Gibberish?

pregunta Royi Namir 24.02.2012 - 17:41
fuente

3 respuestas

9

Tu texto está muy mal escrito. No es de extrañar que te hayas confundido.

1)

  

un usuario puede cifrar una parte de un documento utilizando su clave privada.

Suena como una descripción mal escrita de la firma RSA. Con la firma de RSA, básicamente, encripta un hash del mensaje con su clave privada.

2) Utiliza la clave pública de los remitentes para verificar la firma. Y como la firma contiene un hash de todo el documento, sabes que no ha sido manipulado.

3) Es un poco confuso. Si descifras con un RSA simple y sin relleno, tendrá éxito para la mayoría de los bloques, y dará gibberish. Al usar el relleno obtendrá un fallo de relleno. Pero como esta es una operación sin sentido, no necesita pensar en eso.

La forma en que se cifran los mensajes en un sistema de clave pública es:

  1. Firme el hash del mensaje con su clave privada
  2. Genere una clave simétrica aleatoria y cifre el mensaje (y potencialmente la firma) con ella.
  3. Cifre la clave simétrica con la clave pública del receptor y combínela con el texto cifrado.

Al cifrar la clave con la clave pública del receptor, significa que solo el propietario de la clave privada asociada puede descifrar la clave simétrica y, por lo tanto, el mensaje.

Firmar el mensaje completo con su clave privada, significa que el receptor verifica que la firma coincida con la clave pública del remitente, y que el hash incrustado en la firma coincide con el documento. Por lo tanto, puede estar seguro de que todo el mensaje no ha sido modificado y fue enviado por el propietario de la clave privada del remitente.

    
respondido por el CodesInChaos 24.02.2012 - 17:55
fuente
5

Tu bloque de texto parece estar dirigido a un principiante. La última línea indica el resultado real:

Por lo tanto, se dice que la parte cifrada del mensaje ha sido "firmada digitalmente" por el remitente.

Entonces, pregunta 1. Sí, usted firma con una clave privada y verifica la firma con la clave pública. La operación real involucrada es la misma. Usted está "encriptando" el texto utilizando un número grande. Si el número es una clave privada o pública, no hay ninguna diferencia, aunque hay errores de seguridad asociados con el uso de la clave incorrecta para una operación.

Para la pregunta 2, sabe que el mensaje no se ha modificado porque solo la clave privada puede firmar el mensaje. Esta es la base de toda criptografía asimétrica: una de las claves se mantiene cara y la otra se hace pública. A través de esto, usted crea la característica de no rechazar el envío: la incapacidad de reclamar el mensaje no fue enviada por el titular de la clave privada. Si la clave privada se ha comprometido, todas las apuestas están desactivadas.

Para la pregunta 3, los resultados son dependientes de la implementación, aunque sospecho que en muchos casos obtendrás un alboroto.

    
respondido por el logicalscope 24.02.2012 - 17:49
fuente
2

Las respuestas anteriores son muy buenas, pero hay tanta confusión en esta pregunta que creo que siempre hay mejor explicación.

  • Pensé que la clave privada se usa para firmar y descifrar / descifrar, entonces ¿por qué dice que "un usuario puede cifrar una parte de un documento usando su clave privada"?

Se utiliza para descifrar los datos que fueron cifrados por su clave pública. También puede firmar cualquier cosa y las personas con su clave pública podrán verificar su identidad.

  • Si intento descifrar con la clave pública del remitente (como está escrito anteriormente), ¿cómo puedo saber que el mensaje no se ha modificado? ¿Y cómo sé que el descifrado ha tenido éxito?

Descifras con tu propia clave privada , se cifran con tu clave pública . El descifrado no puede fallar en silencio, si un archivo de salida está aquí, entonces todo está bien. Sin embargo, las implementaciones se pueden romper.

  • ¿Cuál será el resultado si intento descifrar el mensaje usando la clave pública de "satanás"? Sin datos ? ¿Error indicando clave incorrecta? ¿Datos de Gibberish?

No puede descifrar con otras claves públicas. Si lo intenta con todas las claves privadas, excepto la correcta, no funcionará. El error que indica una clave incorrecta es el resultado más probable. Sin embargo, se podría esperar que implementaciones extrañas todavía produzcan un archivo de salida con datos incomprensibles.

    
respondido por el Aki 26.02.2012 - 10:11
fuente

Lea otras preguntas en las etiquetas