A criptografia de chave pública é realmente útil somente se você quiser que outras pessoas criptografem mensagens para você, e você não quer se dar ao trabalho de secretamente dar a elas sua chave de criptografia secreta. Então você publica sua chave pública para o mundo ver e criptografar mensagens para você, que só você pode ler.
Não seria benéfico para você criptografar seus arquivos em seu próprio computador. Pode-se supor que a criptografia de chave pública é menos segura do que a criptografia convencional (como AES, Blowfish, Camellia ...), já que você está distribuindo parte da informação de criptografia (a parte pública). Embora, na prática, ambos sejam efetivamente "inquebráveis" em qualquer vida humana.
E você pode não saber como o programa de criptografia de chave pública PGP / GPG realmente funciona, ele convencionalmente criptografa mensagens e, em seguida, criptografa a chave convencional usando criptografia de chave pública .
Aqui está uma citação de uma documentação do PGPi mais antiga (mas ainda válida), explicando-a, e um pouco sobre Por que alguém pode pensar que um método é mais seguro do que o outro, se eles estiverem apenas comparando os tamanhos das chaves:
O PGP combina algumas das melhores características de criptografia convencional e de chave pública . O PGP é um criptosistema híbrido. Quando um usuário criptografa o texto sem formatação com PGP, o PGP primeiro comprime o texto simples. A compactação de dados economiza tempo de transmissão do modem e espaço em disco e, mais importante, fortalece a segurança criptográfica. A maioria das técnicas de criptoanálise explora padrões encontrados no texto simples para decifrar a cifra. A compressão reduz esses padrões no texto simples, aumentando assim a resistência à criptoanálise. (Os arquivos que são muito curtos para compactar ou que não são bem compactados não são compactados.)
O PGP cria então uma chave de sessão, que é uma chave secreta única. Essa chave é um número aleatório gerado a partir dos movimentos aleatórios do mouse e das teclas digitadas. Esta chave de sessão funciona com um algoritmo de criptografia convencional muito seguro e rápido para criptografar o texto simples; o resultado é o texto cifrado. Depois que os dados são criptografados, a chave da sessão é criptografada na chave pública do destinatário. Essa chave de sessão criptografada por chave pública é transmitida junto com o texto cifrado para o destinatário.
...
A combinação dos dois métodos de criptografia combina a conveniência da criptografia de chave pública com a velocidade da criptografia convencional. A criptografia convencional é cerca de 1.000 vezes mais rápida que a criptografia de chave pública . A criptografia de chave pública, por sua vez, fornece uma solução para os principais problemas de distribuição e transmissão de dados. Usados em conjunto, o desempenho e a distribuição de chaves são aprimorados sem sacrificar a segurança.
...
No entanto, o tamanho da chave pública e o tamanho da chave secreta da criptografia convencional não são totalmente relacionados. Uma chave convencional de 80 bits tem a força equivalente de uma chave pública de 1024 bits. Uma chave convencional de 128 bits é equivalente a uma chave pública de 3000 bits. Novamente, quanto maior a chave, mais seguro, mas os algoritmos usados para cada tipo de criptografia são muito diferentes e, portanto, a comparação é como a das maçãs com as laranjas.
Se você quiser usar algum método que envolva o GPG para usar sua chave pública para criptografar a frase secreta ou o arquivo de chaves em seu contêiner LUKS, você poderá fazer isso se desejar. Mas se sua chave privada do GPG já foi comprometida ou perdida, o mesmo aconteceria com o seu contêiner LUKS.
E você pode escolher uma cifra diferente com cryptsetup, ela usaria a cifra para criptografar todos os dados. Veja man cryptsetup
para informações como:
--cipher, -c <cipher-spec>
Set the cipher specification string.
E sob um Ubuntu padrão, pelo menos, essas cifras devem ser suportadas:
loop-AES: aes, chave 256 bits
plain: aes-cbc-essiv: sha256, Chave: 256 bits
LUKS1: aes-xts-plain64, Chave: 256 bits