org.bouncycastle.crypto.AsymmetricBlockCipher Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-ext-debug-jdk18on Show documentation
Show all versions of bcprov-ext-debug-jdk18on Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for Java 1.8 and later with debug enabled.
The newest version!
package org.bouncycastle.crypto;
/**
* base interface that a public/private key block cipher needs
* to conform to.
*/
public interface AsymmetricBlockCipher
{
/**
* initialise the cipher.
*
* @param forEncryption if true the cipher is initialised for
* encryption, if false for decryption.
* @param param the key and other data required by the cipher.
*/
public void init(boolean forEncryption, CipherParameters param);
/**
* returns the largest size an input block can be.
*
* @return maximum size for an input block.
*/
public int getInputBlockSize();
/**
* returns the maximum size of the block produced by this cipher.
*
* @return maximum size of the output block produced by the cipher.
*/
public int getOutputBlockSize();
/**
* process the block of len bytes stored in in from offset inOff.
*
* @param in the input data
* @param inOff offset into the in array where the data starts
* @param len the length of the block to be processed.
* @return the resulting byte array of the encryption/decryption process.
* @exception InvalidCipherTextException data decrypts improperly.
* @exception DataLengthException the input data is too large for the cipher.
*/
public byte[] processBlock(byte[] in, int inOff, int len)
throws InvalidCipherTextException;
}