Interface AsymmetricBlockCipher

All Known Implementing Classes:
ElGamalEngine, ISO9796d1Encoding, NaccacheSternEngine, NTRUEngine, OAEPEncoding, PKCS1Encoding, RSABlindedEngine, RSABlindingEngine, RSAEngine

public interface AsymmetricBlockCipher
base interface that a public/private key block cipher needs to conform to.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    returns the largest size an input block can be.
    int
    returns the maximum size of the block produced by this cipher.
    void
    init(boolean forEncryption, CipherParameters param)
    initialise the cipher.
    byte[]
    processBlock(byte[] in, int inOff, int len)
    process the block of len bytes stored in in from offset inOff.
  • Method Details

    • init

      void init(boolean forEncryption, CipherParameters param)
      initialise the cipher.
      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

      int getInputBlockSize()
      returns the largest size an input block can be.
      Returns:
      maximum size for an input block.
    • getOutputBlockSize

      int getOutputBlockSize()
      returns the maximum size of the block produced by this cipher.
      Returns:
      maximum size of the output block produced by the cipher.
    • processBlock

      byte[] processBlock(byte[] in, int inOff, int len) throws InvalidCipherTextException
      process the block of len bytes stored in in from offset inOff.
      Parameters:
      in - the input data
      inOff - offset into the in array where the data starts
      len - the length of the block to be processed.
      Returns:
      the resulting byte array of the encryption/decryption process.
      Throws:
      InvalidCipherTextException - data decrypts improperly.
      DataLengthException - the input data is too large for the cipher.