Class PKCS1Encoding
java.lang.Object
org.bouncycastle.crypto.encodings.PKCS1Encoding
- All Implemented Interfaces:
AsymmetricBlockCipher
this does your basic PKCS 1 v1.5 padding - whether or not you should be using this
depends on your application - see PKCS1 Version 2 for details.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionPKCS1Encoding(AsymmetricBlockCipher cipher) Basic constructor.PKCS1Encoding(AsymmetricBlockCipher cipher, byte[] fallback) Constructor for decryption with a fixed plaintext length and a fallback value that is returned, if the padding is incorrect.PKCS1Encoding(AsymmetricBlockCipher cipher, int pLen) Constructor for decryption with a fixed plaintext length. -
Method Summary
Modifier and TypeMethodDescriptionintreturns the largest size an input block can be.intreturns the maximum size of the block produced by this cipher.voidinit(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.
-
Field Details
-
STRICT_LENGTH_ENABLED_PROPERTY
Deprecated.use NOT_STRICT_LENGTH_ENABLED_PROPERTY- See Also:
-
NOT_STRICT_LENGTH_ENABLED_PROPERTY
some providers fail to include the leading zero in PKCS1 encoded blocks. If you need to work with one of these set the system property org.bouncycastle.pkcs1.not_strict to true.The system property is checked during construction of the encoding object, it is set to false by default.
- See Also:
-
-
Constructor Details
-
PKCS1Encoding
Basic constructor.- Parameters:
cipher-
-
PKCS1Encoding
Constructor for decryption with a fixed plaintext length.- Parameters:
cipher- The cipher to use for cryptographic operation.pLen- Length of the expected plaintext.
-
PKCS1Encoding
Constructor for decryption with a fixed plaintext length and a fallback value that is returned, if the padding is incorrect.- Parameters:
cipher- The cipher to use for cryptographic operation.fallback- The fallback value, we don't do an arraycopy here.
-
-
Method Details
-
getUnderlyingCipher
-
init
Description copied from interface:AsymmetricBlockCipherinitialise the cipher.- Specified by:
initin interfaceAsymmetricBlockCipher- 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:AsymmetricBlockCipherreturns the largest size an input block can be.- Specified by:
getInputBlockSizein interfaceAsymmetricBlockCipher- Returns:
- maximum size for an input block.
-
getOutputBlockSize
public int getOutputBlockSize()Description copied from interface:AsymmetricBlockCipherreturns the maximum size of the block produced by this cipher.- Specified by:
getOutputBlockSizein interfaceAsymmetricBlockCipher- Returns:
- maximum size of the output block produced by the cipher.
-
processBlock
Description copied from interface:AsymmetricBlockCipherprocess the block of len bytes stored in in from offset inOff.- Specified by:
processBlockin interfaceAsymmetricBlockCipher- Parameters:
in- the input datainOff- offset into the in array where the data startsinLen- the length of the block to be processed.- Returns:
- the resulting byte array of the encryption/decryption process.
- Throws:
InvalidCipherTextException- data decrypts improperly.
-