Crypt::OpenPGP::Words - Create English-word encodings
my $cert = Crypt::OpenPGP::Certificate->new;
my @words = Crypt::OpenPGP::Words->encode( $cert->fingerprint );
Crypt::OpenPGP::Words provides routines to convert either octet or hexadecimal strings into a list of English words, using the same algorithm and biometric word lists as used in PGP (see AUTHOR & COPYRIGHTS for source of word lists).
In PGP this is often used for creating memorable fingerprints, the idea being that it is easier to associate a list of words with one's key than a string of hex digits. See the fingerprint_words method in Crypt::OpenPGP::Certificate for an interface to word fingerprints.
Given an octet string $octet_str, encodes that string into a list of English words.
The encoding is performed by splitting the string into octets; the list of octets is then iterated over. There are two lists of words, 256 words each. Two-syllable words are used for encoding odd iterations through the loop; three-syllable words for even iterations. The word list is formed by treating each octet as an index into the appropriate word list (two- or three-syllable), then adding the word at that index to the list.
Returns the list of words.
Performs the exact same encoding as encode; $hex_str, a string of hexadecimal digits, is first transformed into a string of octets, then passed to encode.
Based on PGPWords.pm by Mike Dillon. Biometric word lists as defined in manual for PGPFreeware for Windows 6.5.1, Appendix D
Please see the Crypt::OpenPGP manpage for author, copyright, and license information.
To install Crypt::OpenPGP, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell
For more information on module installation, please visit the detailed CPAN module installation guide.