GPG (and the commercial PGP) have the option to encrypt something symmetrically as well as the more common (for these two applications) asymmetric option. i.e. It let you encrypt something using a passphase, and later decrypt it using that passphase. Either program can decrypt what the other one have encrypted (using the right passphase obviously).
To encrypt a file with symmetric encryption, the syntax is:
gpg --symmetric filename
To encrypt a file so that the encrypted output is in plain text, rather than as a binary file:
gpg --symmetric --armor filename
To decrypt the file:
gpg -d encrypted-filename
Since you probably want your original file back as a file, rather than coming back at you as lots of (binary) text, you'll want to redirect the output to a file:
gpg -d encrypted-filename > filename
Of course, you can use a GUI front end to do all that as well.