Bouncy Castle Cryptography Library 1.45

## org.bouncycastle.crypto.encodings
Class OAEPEncoding

    java.lang.Object
      org.bouncycastle.crypto.encodings.OAEPEncoding

All Implemented Interfaces:
  AsymmetricBlockCipher

    public class OAEPEncoding

extends java.lang.Object
implements AsymmetricBlockCipher

Optimal Asymmetric Encryption Padding (OAEP) - see PKCS 1 V 2.

Constructor Summary
`OAEPEncoding(AsymmetricBlockCipher cipher)`
`OAEPEncoding(AsymmetricBlockCipher cipher, Digest hash)`
`OAEPEncoding(AsymmetricBlockCipher cipher, Digest hash, byte[] encodingParams)`
`OAEPEncoding(AsymmetricBlockCipher cipher, Digest hash, Digest mgf1Hash, byte[] encodingParams)`

Method Summary
`byte[]` `decodeBlock(byte[] in, int inOff, int inLen)`
`byte[]` `encodeBlock(byte[] in, int inOff, int inLen)`
`int` `getInputBlockSize()` returns the largest size an input block can be.
`int` `getOutputBlockSize()` returns the maximum size of the block produced by this cipher.
`AsymmetricBlockCipher` `getUnderlyingCipher()`
`void` `init(boolean forEncryption, CipherParameters param)` initialise the cipher.
`byte[]` `processBlock(byte[] in, int inOff, int inLen)` process the block of len bytes stored in in from offset inOff.

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

Constructor Detail

### OAEPEncoding

    public OAEPEncoding(AsymmetricBlockCipher cipher)

### OAEPEncoding

    public OAEPEncoding(AsymmetricBlockCipher cipher,
                        Digest hash)

### OAEPEncoding

    public OAEPEncoding(AsymmetricBlockCipher cipher,
                        Digest hash,
                        byte[] encodingParams)

### OAEPEncoding

    public OAEPEncoding(AsymmetricBlockCipher cipher,
                        Digest hash,
                        Digest mgf1Hash,
                        byte[] encodingParams)

Method Detail

### getUnderlyingCipher

    public AsymmetricBlockCipher getUnderlyingCipher()

### init

    public void init(boolean forEncryption,
                     CipherParameters param)

  Description copied from interface: `AsymmetricBlockCipher`
  initialise the cipher.

  Specified by:
    `init` in interface `AsymmetricBlockCipher`
  Parameters:
    `forEncryption` - if true the cipher is initialised for encryption, if false for decryption.
    `param` - the key and other data required by the cipher.

### getInputBlockSize

    public int getInputBlockSize()

  Description copied from interface: `AsymmetricBlockCipher`
  returns the largest size an input block can be.

  Specified by:
    `getInputBlockSize` in interface `AsymmetricBlockCipher`
  Returns:
    maximum size for an input block.

### getOutputBlockSize

    public int getOutputBlockSize()

  Description copied from interface: `AsymmetricBlockCipher`
  returns the maximum size of the block produced by this cipher.

  Specified by:
    `getOutputBlockSize` in interface `AsymmetricBlockCipher`
  Returns:
    maximum size of the output block produced by the cipher.

### processBlock

    public byte[] processBlock(byte[] in,
                               int inOff,
                               int inLen)
                        throws InvalidCipherTextException

  Description copied from interface: `AsymmetricBlockCipher`
  process the block of len bytes stored in in from offset inOff.

  Specified by:
    `processBlock` in interface `AsymmetricBlockCipher`
  Parameters:
    `in` - the input data
    `inOff` - offset into the in array where the data starts
    `inLen` - the length of the block to be processed.
  Returns:
    the resulting byte array of the encryption/decryption process.
  Throws:
    `InvalidCipherTextException` - data decrypts improperly.

### encodeBlock

    public byte[] encodeBlock(byte[] in,
                              int inOff,
                              int inLen)
                       throws InvalidCipherTextException

  Throws:
    `InvalidCipherTextException`

### decodeBlock

    public byte[] decodeBlock(byte[] in,
                              int inOff,
                              int inLen)
                       throws InvalidCipherTextException

  Throws:
    `InvalidCipherTextException` - if the decrypted block turns out to be badly formatted.

Bouncy Castle Cryptography Library 1.45