If one doesn’t care about protecting a gpg secret key, is it still as secure as using gpg –symmetric


Each of Alice and Bob is using gpg just to protect his/her own personal files and not using it as a way to send encrypted text to others. Alice has generated a key (gpg --gen-key) that she uses to encrypt/decrypt her personal files (gpg --encrypt --recipient="Alice Personal" alice.secrets.txt and gpg --decrypt alice.secrets.txt.gpg). She knows that in order to read and write to alice.secrets.txt.gpg in her another computer, she needs to export her key (both public key and private key) to her second computer, using commands like:

gpg --armor --export "Alice Personal" > alice.personal.public.key.txt
gpg --armor --export-secret-key "Alice Personal" > alice.personal.private.key.txt


gpg --import alice.personal.public.key.txt
gpg --import alice.personal.private.key.txt

So she decides to put her encrypted personal files (alice.secrets.txt.gpg) and her key (alice.personal.public.key.txt and alice.personal.private.key.txt) on a cloud sync service for convenience. Because alice.personal.private.key.txt is on cloud, a third party who may get access to her files on cloud has access to the first of the following two, but not the second.

  • something she has: alice.personal.private.key.txt

  • something she knows: the passphrase to unlock the secret key

She's giving up protecting the first in return for convenience.

On the other hand, Bob uses symmetric encryption to protect his secrets (gpg --symmetric bob.secrets.txt and gpg --decrypt bob.secrets.txt.gpg). He also puts his encrypted personal files on a cloud service. To read and write to bob.secrets.txt.gpg on his another computer, he just needs to successfully recall his passphrase.

Maybe Alice and bob should just use Truecrypt or Boxcryptor. Anyway, question is, are Alice's secrets as safe as Bob's secrets provided that their passphrases are equally good?

Best Answer

Alice's approach is ever so slightly safer than Bob's. Every encrypted file gets a new symmetric key, which means that:

  • You'll have to break the symmetric key separately for each file instead of once, and those keys are usually easier to break than proper RSA keys (lower key space for higher performance, as we can't lose time with every new message, be it a document or a connection, and RSA doesn't have to be efficient one the key is generated as we usually use it to cypher a symmetric key used for the rest of the document).
  • You might avoid attacks when both the cyphered and uncyphered documents are know. If Eve knows has the original of document and the version encrypted for Alice, it might make it easier to find the key and use it for all other documents.
  • You might avoid attacks made available by knowing many encrypted messages, which could be similar to what we already know with RSA and low exponents.