Class BlowfishCipherService

  • All Implemented Interfaces:
    CipherService

    public class BlowfishCipherService
    extends DefaultBlockCipherService
    CipherService using the Blowfish cipher algorithm for all encryption, decryption, and key operations.

    The Blowfish algorithm can support key sizes between 32 and 448 bits*, inclusive. However, modern cryptanalysis techniques render keys of 80 bits or less mostly worthless - use 128 or more whenever possible.

    Note that this class retains the parent class's default CBC mode of operation instead of the typical JDK default of ECB. ECB should not be used in security-sensitive environments because ECB does not allow for initialization vectors, which are considered necessary for strong encryption. See the parent class's JavaDoc and the JcaCipherService JavaDoc for more on why the JDK default should not be used and is not used in this implementation.

    * Generating and using Blowfish key sizes greater than 128 require installation of the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy files.

    Since:
    1.0