Eu importo a subchave [E] para uma pasta diferente de ~/.gnupg e exporto a chave pública da subchave com --homedir
opção.
Eu posso ver que a chave pública da subchave tem menos linhas que a do mestre, usando os resultados do diff que eles têm algumas linhas iniciais iguais, mas depois linhas diferentes na parte inferior, então no final ainda é uma chave pública diferente.
Minha pergunta: São chaves públicas diferentes? (Eu ainda preciso confirmar duas vezes aqui). Se forem diferentes, a criptografia/descriptografia com subchave é por conta própria e não há relação com a chave mestra e outras subchaves?
Na criptografia assimétrica, você sempre lida com pares de chaves. Para cada chave secreta existe uma chave pública correspondente. Então, para responder à sua primeira pergunta: sim, a chave pública de um par de chaves primárias é diferente da chave pública de seu par de chaves subordinadas.
Tentei reproduzir seu experimento e criei uma chave de teste GnuPG com uma chave primária (ID 0xA6271DD4) e uma chave subordinada (ID 0x5336E1DC). Em seguida, exportei a chave subordinada para um arquivo e verifiquei quais pacotes ela contém.
Observe que o ID do usuário e a chave subordinada secreta são assinados pela chave primária. À primeira vista, parece que tanto a chave secreta primária quanto a subordinada foram exportadas. Mostrar mais informações sobre o primeiro pacote secreto.
Ao exportar uma chave secreta no GnuPG, a chave pública correspondente é sempre exportada com ela. Portanto, este pacote de chave secreta contém uma chave pública de 2048 bits mais provavelmente seu hash de 17 bits. Mas a chave secreta em si está faltando, apenas um stub foi exportado:
gnu-dummy S2K, algo: 0, simple checksum, hash: 0
. Para resumir: Ao exportar uma subchave secreta, você sempre exporta a subchave pública e a chave primária pública (necessária para verificar as assinaturas) com ela.Você escreve que sua subchave pública tem menos linhas do que sua chave mestra pública. Não consegui reproduzir isso. Com o GnuPG você pode exportar uma chave pública sem nenhuma de suas subchaves, no exemplo acima pelo comando
gpg --export A6271DD4! > pubkey.gpg
(observe o ponto de exclamação). Por outro lado, não é possível exportar apenas uma subchave pública . Mas se comparar uma chave mestra com uma chave mestra mais sua subchave, esta última naturalmente tem mais linhas. Então, para entender melhor sua observação, seria bom saber os comandos exatos que você usou.