Crypt::CBC Blowfish Encryption Summary

Some guidelines are provided on which Crypt::CBC option to use when performing Blowfish encryption. Literal Key option has less issues when sending ciphertext to other non Crypt::CBC users.

I think we have covered all major features of the Crypt::CBC module with a number of tutorial example scripts. As a summary, I am suggesting these guidelines when using Crypt::CBC:

If the receiver of the ciphertext has access to Crypt::CBC, we should always use the "Random Salt" option to perform the encryption and pass the following information to the receiver:

If the receiver of the ciphertext uses other Blowfish encryption tools, we should use the "Crypt::Blowfish Object" option without any prepending header blocks to perform the encryption and pass the following information to the receiver:

Using the "RandomIV" prepending header is ok with the "Crypt::Blowfish Object" option. But receiver need to use a tool that understand the "RandomIV" header blocks in the ciphertext.

Exercise: Write a Perl script to encrypt a file with the "Random Salt" option with Crypt::CBC and Crypt::Blowfish.

Last update: 2015.

Table of Contents

 About This Book

 Blowfish Cipher Algorithm

 Perl Crypt::Blowfish Module

 Perl Crypt::ECB Perl Module

Perl Crypt::CBC Module

 What is Crypt::CBC

 Installing Crypt::CBC 2.33 with ActivePerl

 Crypt::CBC Encryption with Literal Keys

 Crypt::CBC Literal Key Error Cases

 Crypt::CBC Encryption with Crypt::Blowfish Objects

 Crypt::CBC Operation Simulation

 Crypt::CBC Encryption Verification

 Blowfish CBC 2-Block Test Vectors

 Crypt::CBC Prepending IV to Ciphertext

 Crypt::CBC Encryption with Salted Keys

 Crypt::CBC Salted Key Test Cases

 Crypt::CBC Secret Key and IV Algorithm

 Crypt::CBC Encryption with Random Salt

 Crypt::CBC Padding Options

 Crypt::CBC Padding Option Tests

Crypt::CBC Blowfish Encryption Summary

 Perl Crypt::CFB Perl Module

 OpenSSL "enc -bf-ecb" for Blowfish/ECB Encryption

 OpenSSL "enc -bf-cbc" for Blowfish/CBC Encryption

 OpenSSL "enc -bf-cfb" for Blowfish/CFB Encryption

 OpenSSL "enc -bf-ofb" for Blowfish/OFB Encryption

 PHP Mcrypt Extension for Blowfish

 Blowfish 8-Bit Cipher in PHP

 References

 Full Version in PDF/EPUB