¿Cómo sabe el comando de descifrado gpg qué clave de un conjunto de claves debe usar?

2

No entiendo cómo el comando gpg podría saber qué clave de un conjunto de claves usar para el descifrado. Por ejemplo, un llavero puede tener varias claves. Cuando es necesario descifrar un archivo cifrado, solo debemos agregar --homedir y --keyring a la línea de comandos pgp. Pero, ¿cómo sabe pgp qué clave particular para ues en el llavero? Gracias de antemano!

    
pregunta K.L 08.04.2018 - 04:01
fuente

2 respuestas

6

El formato PGP tiene un encabezado que enumera la ID de la clave. Puede leer este detalle en RFC 2440 sección 5.1.

  

El cuerpo de este paquete consiste en:

     
  • Un número de un octeto que proporciona el número de versión del tipo de paquete.      El valor definido actualmente para la versión de paquete es 3. Un      La implementación debe aceptar, pero no generar una versión de 2,      que es equivalente a V3 en todos los demás aspectos.

  •   
  • Un número de ocho octetos que proporciona el ID de clave de la clave pública      que la clave de la sesión está cifrada a.

  •   

Este encabezado puede contener varias ID de clave de destinatario .

    
respondido por el Jeff Ferland 08.04.2018 - 05:03
fuente
2

Si un mensaje está cifrado con GPG utilizando el indicador --hidden-recipient (o -R ), el descifrado del mensaje implica un bucle a través de cada clave privada en el anillo del destinatario, solicitando un pase a cada uno e intentando descifrar el mensaje Hasta que uno de ellos trabaje. Por el contrario, y más al punto de su pregunta, lo que hace esa bandera es omitir un campo opcional que revela la identificación de clave del destinatario a simple vista. GPG mira ese campo primero, y si tienes una clave coincidente, entonces sabe usarla.

    
respondido por el AJAr 08.04.2018 - 05:10
fuente

Lea otras preguntas en las etiquetas