Eu acho que sua exigência é válida, mas por outro lado também é difícil, porque você está misturando criptografia simétrica e assimétrica. Por favor, corrija-me se estiver errado.
Raciocínio:
- A frase secreta da sua chave privada é proteger sua chave privada e nada mais.
- Isso leva à seguinte situação: você deseja use sua chave privada para criptografar algo que só você pode descriptografar. Sua chave privada não é destinada para isso, sua chave pública está lá fazer isso. Tudo o que você criptografar com sua chave privada pode ser descriptografado pela sua chave pública (assinatura), isso certamente não é o que você quer. (O que quer que seja criptografado por sua chave pública só pode ser descriptografada pela sua chave privada.
- Você precisa usar sua chave pública para criptografar seus dados, mas, para isso, não precisa da sua chave secreta para isso. Só se você quiser descriptografá-lo você precisaria de sua chave privada e da frase secreta.
Conclusão: Basicamente, você deseja reutilizar sua senha para criptografia simétrica. O único programa que você gostaria de dar a sua senha é o ssh-agent e este programa não faz a criptografia / decriptografia apenas com a frase secreta. A frase secreta só está lá para desbloquear sua chave privada e depois ser esquecida.
Recomendação: Use openssl enc
ou gpg -e --symmetric
com arquivos-chave protegidos por frase-senha para criptografia. Se você precisar compartilhar as informações, poderá usar a infra-estrutura de chave pública de ambos os programas para criar uma PKI / Web of Trust.
Com o openssl, algo assim:
$ openssl enc -aes-256-ctr -in my.pdf -out mydata.enc
e descriptografia algo como
$ openssl enc -aes-256-ctr -d -in mydata.enc -out mydecrypted.pdf
Atualização: É importante notar que os comandos openssl acima NÃO impedem que os dados sejam violados. Um simple flip bit no arquivo enc resultará em dados descriptografados corrompidos também. Os comandos acima não podem detectar isso, você precisa verificar isso, por exemplo, com uma boa soma de verificação como SHA-256. Existem maneiras criptográficas de fazer isso de forma integrada, isso é chamado de HMAC (Código de Autenticação de Mensagem baseado em Hash).