Entiendo la utilidad del bloque de teclas en sí y de un hash de la clave, pero no sé por qué sería necesaria información adicional, por lo que no puedo comenzar a adivinar la utilidad de un bit de información adicional.
Específicamente,
- ¿Qué significa
- donde se usa, y
- (¿cómo) se puede determinar dado el bloque de clave pública?
Suele mencionarse de forma tangencial y de pasada, lo que genera confusión, ya que claramente la caminata espacial reconoce una diferencia entre la huella digital y la identificación , mientras que parte de la documentación de GPG presentada por Fedora incluye la frase
Para KEYNAME, sustituya la ID de clave o la huella digital de su par de claves principal,
lo que hace que parezca que los dos comparten el mismo propósito; pero eso no tiene sentido porque si ese fuera el caso, ¿por qué necesitarías ambos para empezar?
Respuestas:
De RFC 4880 :
Para las claves V3, el cálculo es similar, pero se omite la longitud de la clave.
En otras palabras, la huella digital se calcula a partir de una constante, la longitud del paquete y, finalmente, una parte del paquete de clave pública. Explicación adicional sobre lo que está incluido (y, por lo tanto, cómo calcularlo) en el RFC vinculado.
La identificación de la clave (larga) está representada por los 64 bits más bajos, y se usa porque la huella digital completa es un valor largo y poco elegante. Aún más a menudo, se utiliza la identificación de clave corta formada por los 32 bits de orden más bajo. A menudo se considera que estas ID de clave corta tienen una probabilidad demasiado alta de colisiones y el uso de al menos la ID larga, si no se recomienda incluso la huella digital completa.
Recapitulado en pocas palabras:
La huella digital es el valor hash calculado a partir del paquete de clave pública. Las ID clave son parte de la huella digital:
A veces, los ID tienen el prefijo
0x
ya que son valores hexadecimales.fuente