Crypt::OpenPGP - Pure-Perl OpenPGP Implementation

Crypt::OpenPGP is a pure-Perl implementation of the OpenPGP standard. 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.



Latest release


pgplet [Example of Crypt::OpenPGP usage]


February 26, 2002 23:07:14

I've released version 1.00 of Crypt::OpenPGP, because I think it's stable enough for a 1.0 release; this last release saw some bug fixes, compatibility fixes, etc.

And one big addition: Crypt::OpenPGP now supports CAST5 encryption, thanks to the new Crypt::CAST5_PP by Bob Mathews.

September 15, 2001 22:18:12

A new version of Crypt::OpenPGP: version 0.17. Biggest feature addition: reading of existing GnuPG/PGP configuration files for the purpose of setting common options (public keyring location, etc.). Changelog.

August 15, 2001 18:09:57

I hate doing dumb things. Ie. like I did today, when I released version 0.15 and included some dummy files that I was using to munge the word list for Crypt::OpenPGP::Words. So I have since made a new release, 0.16, because no one wants those stupid files in their site_lib directory.

August 15, 2001 15:30:06

Version 0.15 is out. Some interesting additions: bin/pgplet, an executable script that demonstrates Crypt::OpenPGP functionality; callback parameters to various methods that allow more runtime customization; encrypt now accepts both user IDs and key IDs as parameters; incorporated Mike Dillon's PGPWords implementation to output key fingerprints using the PGP biometric word lists; etc.

August 09, 2001 12:21:09

New version, version 0.14. Lots of changes and feature additions, including: support for encrypted-MDC packets (like GnuPG emits); support for encrypt + sign and decrypt + verify (ie. generate an encrypted, signed message); new KeyRing methods and KeyBlock methods for determing the encrypting key and signing key in a keyblock; etc. Vipul also sent in some nice patches, like looking up key IDs using the short, 8-hex-digit form; these patches are also in this release.

Author & Copyrights

Benjamin Trott,

Except where otherwise noted, Crypt::OpenPGP is Copyright (c) 2001, Benjamin Trott. All rights reserved. Crypt::OpenPGP is free software; you may redistribute it and/or modify it under the same terms as Perl itself.