* What's this? EasyPG is yet another GnuPG interface for Emacs. It consists of two parts: transparent file encryption utility and easy-to-use elisp library to interact with GnuPG. * Requirements ** GNU Emacs 21.4 or later ** XEmacs 21.4 or later ** GnuPG 1.4.3 or later ** Gnus 5.10.8 or later (optional) * Quick start ** Transparent file encryption EasyPG provides transparent file encryption similar to crypt++, alpaca.el, hedgehog. To try this feature, put (require 'epg-file) in your ~/.emacs.el and C-x C-f ~/test.txt.gpg. ** Using with Gnus/PGG EasyPG provides an implementation of the backend interface of Gnus/PGG. To use EasyPG instead of pgg-gpg, install pgg-epg.el and add the following line to your ~/.gnus (setq pgg-scheme 'epg) * Advantages over other competitors There are many competitors of EasyPG such as Mailcrypt, PGG, gpg.el, etc. EasyPG has some advantages over them. ** EasyPG avoides potential security flaws of Emacs. *** `call-process-region' writes data in region to temporary files. `call-process-region' writes data in region to temporary files. PGG and gpg.el use `call-process-region' to communicate with a gpg subprocess. Your passphrases leak to the filesystem! *** There is no way to clear strings safely. If Emacs crashed and dumps core, passphrase strings in memory are also dumped within the core file. `read-passwd' function clears passphrase strings by `(fillarray string 0)'. However, Emacs performs compaction in gc_sweep phase. If GC happens before `fillarray', passphrase strings may be moved elsewhere in memory. It is recommended that as soon as you are done with passphrase you should clear it manually. However, PGG and gpg.el can keep passphrase strings in cache for a while and this behavior is their default! ** GnuPG features are directly accessible from Emacs Other competitors provide only specific features of GnuPG since they still support PGP 2.*, 5.*, 6.*. As the name indicates, EasyPG is inspired by GPGME (GnuPG Made Easy), and the library interface is close to GPGME. With EasyPG you can benefit from a lot of features of GnuPG.