Uscita armatura GPG che termina con == seguito da quattro caratteri

2

C'è una ragione per cui l'output GPG termina sempre con == seguito da 4 caratteri?

Ecco le ultime righe della mia chiave pubblica GPG:

...
OOr8IiqHUQhVk8JosOWrUMbkIuaQCngYloRLkaxAtBpQcDO3iAEWF+gGP6Du3yU4
zkfn0rmC6YUuqJGiRb6BeFxJqFCXvr5WmX87k3DLAyBTcG4Pw1sioU64h55wOg2S
v0D46sdWlvtAAbfN5YI7zqzCoBaorko2Aacq5gM4mJzad9uw52064Tqqvz+FE/Os
JaTXjzJz7Fr1vZQDJMHFmKSquFqxivL8nVwOADuBDJRl6Q1a2iMXHqiv79M9WAQX
YKvkP4WGz6R4eqdRAmzmSU3qjSw0odvkbzS8ziuMzao02dO37VcZZ4sOHyEwRa9c
rBvrdj2W2YM4+IVmm2/LQdZbuVovft/Uad7UQymMeJr2ny8/6xt8QZwQiz51RDs=
=QLDn

Ecco le ultime righe di un file casuale crittografato da me con GPG:

...
ao3y/ppJ2eOwh8VAAyvCCX38Bg0ehs8PFrdpZ6zLzHJP3oj+O38zEErx6fP35jR6
XIJ3w9DilXk0IXGDN5Bv2GfLg3sQPJIYl5lqbMS3jzL8j/SL+/9P7WR6oNkoz2pc
BtFmlTuMkc2MCpe67qTD0TlEzPfFuhFxBrxIP4/bODgRdB/9aPDOPCH/gEIqlyAC
yq0qNOcs9tQSMAWZI6VwsHO0WaQ8azhVf53w5v4HbQn/kU/OfzyuoE8AN6xYO9vS
XgE8IiHT9XnDyiJkaNMHHbWNdK86Tbg5LSzdtC2gEWMNpYe7jwlYaCfiri5SJ1u0
WJEg7vwwiuNF/mN00a1B3aoK/0LB17E5GfeAbRbCLnfhTwFF9x7D9rdj5MgMP0E=
=qtjG

ed ecco un file casuale da una fonte :

wBC3poSYT+l63wNO73CDhx4VbpOzLgzbyNB6O67iuiQm2D9hLwk8L4YPOoMlfwyM
kUmsZUX709sMBHZN/9aniaVBsLxszHw9xu5OuSz/lHkckplcwb94XDLh1KGGO+1Q
LzbpFYPqe3BANLK5xxlQAAti/uk0XYltVJfUOCzyxl282X3Tp/77FtiGGb8RI1HY
hslojkAQa9gK1+f44Y8LwHH5k7fQr+Q+luqP7inoEQWbpWW4hu80Wkafv/bzI/xu
Z1qGcEVcJGJPP7QwQWUp53FbZuIq742CoxNklwvlnjhEaXa5rG2dmHUREawVzz+q
M8RkPBZIBge0SVY=
=WznL
    
posta DBS 19.07.2016 - 03:35
fonte

1 risposta

2

Le chiavi pubbliche che stai descrivendo sono codificate come RFC 4880 §6 :

OpenPGP's Radix-64 encoding is composed of two parts: a base64 encoding of the binary data and a checksum. The base64 encoding is identical to the MIME base64 content-transfer-encoding [RFC2045].

The checksum is a 24-bit Cyclic Redundancy Check (CRC) converted to four characters of radix-64 encoding by the same MIME base64 transformation, preceded by an equal sign (=).

La codifica Base64 è sempre riempita con caratteri 0-3 '=' alla fine; OpenPGP aggiunge un altro '=' e lo segue con 4 caratteri di checksum.

Poiché il checksum è sempre di 4 caratteri e i pad di Base64 per raggiungere un multiplo di 4, non c'è mai bisogno di pad = = 'dopo il checksum.

    
risposta data 19.07.2016 - 04:20
fonte

Leggi altre domande sui tag