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

Constructors
Constructor and Description
`BlowFish()`

### Method Summary

Methods
`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`