I've been reading this page about subkeys and I was surprised to read that "GnuPG actually uses a signing-only key as the master key". I can understand how this was the case when DSA was the default (at least for GPG) for the master key, since DSA is a signing algorithm. But now, RSA is standard and RSA if I understand correctly RSA can both encrypt and sign. If I publish my public key (which I guess includes my subkeys??), how does the client know which key, master or subkey, which may be both RSA, to use to encrypt their message? For that matter, what if I have multiple RSA and el-gamal master and subkeys?

1 Answer 1


In the OpenPGP format, public keys are distributed with signatures; every key is signed by another key. A "master" key is a key which is signed by itself. The signature includes some flags which tell what the signed key may be used for; these are described in section Thus, a key intended for signatures only will be distributed with the flag "This key may be used to sign data" but not with the flag "This key may be used to encrypt communications". What you consider as the "master key" will be flagged "key meant to certify other keys" but will not be advertised as fit for encryption, even if the underlying key type mathematically allows it (e.g. RSA key).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .