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.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?