Blowfish Cipher Tutorials - Herong's Tutorial Examples - v2.03, by Herong Yang
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.
Table of Contents
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 Option Tests
►Crypt::CBC Blowfish Encryption Summary
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