If you want to use GPG with a mail program that acts like elm, you should seriously consider using mutt instead. Mutt uses the elm key bindings by default, so the transition should be easy. And mutt has integrated PGP support.
Sven Guckes has a list of elm patches including PGP support.
Debian GNU/Linux ships a version of elm which includes many of these patches. The package name is elm-me+.
In theory it should be possible to use a PGP-aware version of elm together with pgpgpg to use GPG with elm; but in reality, you will have much better success with mutt.