Se você criar uma nova chave GPG, obterá, por padrão, um par de chaves mestres de assinatura e um par de subchaves de criptografia.
pub 2048R/XXXXXXXX created: 2013-02-09 expires: 2014-02-09 usage: SC
sec 2048R/XXXXXXXX 2013-02-09 [expires: 2014-02-09]
sub 2048R/ZZZZZZZZ created: 2013-02-09 expires: 2014-02-09 usage: E
ssb 2048R/ZZZZZZZZ 2013-02-09 [expires: 2014-02-09]
(Saída combinada de gpg --list-keys
e gpg --list-secret-keys
)
Também é recomendável não usar sua chave mestra para assinatura regular (de e-mails / dados), mas criar outra subchave somente de assinatura e remover / fazer backup de sua chave mestra em um local seguro e offline, apenas para ser usada para assinatura de chave .
Isso faz sentido, pois a maioria dos terminais de criptografia são laptops / telefones ou outros dispositivos móveis sempre on-line que colocam suas chaves privadas em risco de roubo ou perda. Com uma chave mestra armazenada com segurança, você sempre pode revogar essas subchaves perdidas e nunca perder suas assinaturas de chave.
Portanto, embora a separação da subchave da chave mestra <-> seja clara para mim, não entendo por que há essa ênfase na separação das chaves de assinatura e criptografia (mesmo que sejam as duas subchaves). Alguém pode explicar por que isso é necessário ou pelo menos qual é a vantagem de uma perspectiva prática ou de segurança?
Tecnicamente, é totalmente viável e suportado pelo GnuPG criar uma subchave de assinatura e criptografia.
pub 2048R/YYYYYYYY created: 2013-08-13 expires: 2014-08-13 usage: SCEA
sub 2048R/VVVVVVVV created: 2013-08-13 expires: 2014-08-13 usage: SEA