¿Cómo se muestra esta clave OpenPGP en un formato no hexadecimal?

1

Mirando un manual de GnuPG sobre openskills , observo que la clave principal id GEBV933F está en un formato diferente al hexadecimal habitual ( G no es un dígito hexadecimal).

¿Cómo se hace esto?

    
pregunta BugHunterUK 25.01.2016 - 21:49
fuente

1 respuesta

1

tl; dr: se componen de ID de personas que intentan ocultar la información real. No son ID de clave de OpenPGP válidas.

ID de clave OpenPGP

Siguiendo a RFC 4880, OpenPGP, 3.3 ID de clave , a

  

La ID de clave es un escalar de ocho octetos que identifica una clave.

12.2 ID de clave y huellas digitales especifica aún más el cálculo, pero nuevamente no hay representación de esos 64 bits más bajos para ser utilizados. A menudo, los valores de 32 bits ("ID de clave corta") se usan en la práctica. Un ejemplo describe bastante bien cómo se relacionan los identificadores de claves:

fingerprint: 0D69 E11F 12BD BA07 7B37  26AB 4E1F 799A A4FF 2279 (160 bits)
long id:                                    4E1F 799A A4FF 2279  (64 bits)
short id:                                             A4FF 2279  (32 bits)

XAF476E9 y GEBV933F forman ID de claves extrañas. No pueden ser hexadecimales, lo que no permitiría X y G . Probablemente estén usando un rango de dígitos que coincida con casi todos los dígitos decimales más las letras hasta X, lo que significa que los números de ocho dígitos permitirían almacenar alrededor de ld(36^8) ~= 41 bits, lo que no es suficiente para una representación más compacta de las ID de teclas (largas) .

Excavando más profundo

Bueno, realmente no necesitas profundizar. Asumamos que la documentación fue escrita por alguien que usa las claves real , que al mismo tiempo intenta ocultar su identidad y que tiene una mala comprensión de las identificaciones clave o quiere revelar la manipulación de las identificaciones clave a la ojo experto.

El manual citado también proporciona ejemplos de firmas codificadas. Vamos a echar un vistazo a esos! Una cadena This is some text. se firma, probablemente usando la clave del autor. Y también obtenemos el resultado citado, que el autor almacenó como test.txt.asc :

  

La versión firmada se verá así:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This is some text.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: 'Email me for my public key'

iD8DBQE+ycRnF1uP4b67kz8RArZdAJ9e98RkcYICyJktEpah5/RoQX93vgCfUuOh
1I3aTPTGXitruRjhms3Kx7Y=
=ju77
-----END PGP SIGNATURE-----

La salida que muestra las ID de claves extrañas en realidad verifica una firma de exactamente este archivo:

[you@tiger]$ gpg --verify test.txt.asc 
gpg: Signature made Tue 20 May 2003 04:00:07 PM EST using DSA key ID GEBV933F
gpg: Good signature from "[email protected]"

Ahora, ¿qué sucede si ejecutamos esto por nuestra cuenta?

gpg: Signature made Tue May 20 08:00:07 2003 CEST
gpg:                using DSA key BEBB933F
gpg: Good signature from "[uid removed]"
gpg:                 aka "[uid removed]"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 3318 D8EC 1EAD 3771 3B54  2893 175B 8FE1 BEBB 933F

Eliminé el ID de usuario porque el usuario podría haber intentado permanecer en el anonimato. No me importó su ID de clave / huella dactilar, ya que de hecho lo publicó y todos pueden consultar la información si lo desea.

¿Sorprendido por una coincidencia cercana de las ID de clave?

   real key ID: BEBB933F
claimed key ID: GEBV933F

Obviamente, los dos dígitos no hexadecimales han sido codificados. Ahora, ¿qué pasa con XAF476E9 ?

$ gpg --list-keys BEBB933F
pub   1024D/BEBB933F 2003-04-09
uid                            [uid removed]
uid                            [uid removed]
sub   1024g/CAC476E9 2003-04-09

Una nueva subclave! Nuevamente comparando las claves:

   real key ID: CAC476E9
claimed key ID: XAF476E9

De nuevo, dos dígitos difieren.

    
respondido por el Jens Erat 25.01.2016 - 23:32
fuente

Lea otras preguntas en las etiquetas