## com.trilead.ssh2.crypto.cipher
Class BlowFish

    java.lang.Object
      com.trilead.ssh2.crypto.cipher.BlowFish

All Implemented Interfaces:
  BlockCipher

    public class BlowFish

extends java.lang.Object
implements BlockCipher

A class that provides Blowfish key encryption operations, such as encoding data and generating keys. All the algorithms herein are from Applied Cryptography and implement a simplified cryptography interface.

Constructor Summary
`BlowFish()`

Method Summary
`java.lang.String` `getAlgorithmName()`
`int` `getBlockSize()`
`void` `init(boolean encrypting, byte[] key)` initialise a Blowfish cipher.
`void` `reset()`
`void` `transformBlock(byte[] in, int inOff, byte[] out, int outOff)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BlowFish

    public BlowFish()

Method Detail

### init

    public void init(boolean encrypting,
                     byte[] key)

  initialise a Blowfish cipher.

  Specified by:
    `init` in interface `BlockCipher`
  Parameters:
    `encrypting` - whether or not we are for encryption.
    `key` - the key required to set up the cipher.
  Throws:
    `java.lang.IllegalArgumentException` - if the params argument is inappropriate.

### getAlgorithmName

    public java.lang.String getAlgorithmName()

### transformBlock

    public final void transformBlock(byte[] in,
                                     int inOff,
                                     byte[] out,
                                     int outOff)

  Specified by:
    `transformBlock` in interface `BlockCipher`

### reset

    public void reset()

### getBlockSize

    public int getBlockSize()

  Specified by:
    `getBlockSize` in interface `BlockCipher`