Gpg
Here's my public key, should you ever want to validate something from me
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.10 (GNU/Linux) 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 ZQ9nP7wIV/Q6ne2g =f/mP -----END PGP PUBLIC KEY BLOCK-----
Contents |
usage
simple usage to encrypt a file with just a passphrase (no need for keys)
gpg -c filename
for batch use, you can put --passphrase <phrase> into the command
gpg -c --passphrase <phrase> filename
you can mix this with other arguments such as -e -r <email> to encrypt to a key
gpg -e -r person@example.test -c --passphrase <phrase> filename
Adding -a to the command line above will encode the output
suitably for sending in plain text.
idea cypher/cipher
Should you get messages along the line of:
gpg: key 1D9EB6CD: secret key imported gpg: key 1D9EB6CD: no valid user IDs gpg: this may be caused by a missing self-signature gpg: key 1D9EB6CD: no valid user IDs gpg: this may be caused by a missing self-signature
or
gpg: protection algorithm 1 (IDEA) is not supported gpg: the IDEA cypher plug-in is not present gpg: please see http://www.gnupg.org/faq/why-not-idea.html for more information Can't edit this key: unknown cypher algorithm
You may from time to time end up having to import keys that were created using the IDEA cipher. GnuPG doesn't support IDEA out of the box. So in order to get this functionality you will have to follow the following:
download and build the module
It's quite simple, although the FTP server doesn't seem to be configured correctly any more, following the link at http://www.gnupg.org/faq/why-not-idea.html, so I've put it on my site, here: idea.c.gz.
Uncompress:
$ gunzip idea.c.gz
$ gcc -Wall -O2 -shared -fPIC -o ~/.gnupg/idea idea.c
configure gpg
Once that's done, load the module in your .gnupg/gpg.conf:
load-extension ~/.gnupg/idea
summary
Once done you can then use the keys. Unfortunately the IDEA algorithm is not patent free, and as such it angers me whenever I have to use an IDEA based key.