Crypt::OpenPGP is a pure-Perl implementation of the OpenPGP standard[1]. In addition to support for the standard itself, Crypt::OpenPGP claims compatibility with many other PGP implementations, both those that support the standard and those that preceded it. Crypt::OpenPGP provides signing/verification, encryption/decryption, keyring management, and key-pair generation; in short it should provide you with everything you need to PGP-enable yourself. Alternatively it can be used as part of a larger system; for example, perhaps you have a web-form-to-email generator written in Perl, and you'd like to encrypt outgoing messages, because they contain sensitive information. Crypt::OpenPGP can be plugged into such a scenario, given your public key, and told to encrypt all messages; they will then be readable only by you. This module currently supports RSA and DSA for digital signatures, and RSA and ElGamal for encryption/decryption. It supports the symmetric ciphers 3DES, Blowfish, IDEA, Twofish, and Rijndael (AES). Rijndael is supported for key sizes of 128, 192, and 256 bits. Crypt::OpenPGP supports the digest algorithms MD5, SHA-1, and RIPE-MD/160. And it supports ZIP and Zlib compression. WWW: https://metacpan.org/release/Crypt-OpenPGP