* 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 * Quick start (0) Put (require 'epg-file) in your ~/.emacs.el (1) Restart emacs (2) C-x C-f ~/test.gpg * Advantages over other competitors ** EasyPG avoides potential security flaws of Emacs. *** `call-process-region' writes data in region to a temporary file. PGG and gpg.el use `call-process-region' to communicate with a gpg subprocess. Your passphrases may 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 with the core file. `read-passwd' function clears passphrase strings by `(fillarray string 0)'. However, it is not perfect. Emacs does compaction of small strings in gc_sweep phase. If GC happens before `fillarray', passphrase strings may be copied elsewhere in memory. So, it is recommended that if you are done with passphrase you should clear it manually. However, PGG and gpg.el enables passphrase caching by default. ** Most GnuPG features are accessible from Emacs As the name indicates, EasyPG is inspired by GPGME (GnuPG Made Easy), and the library interface is close to GPGME.