Class PKCS1Encoding

  • All Implemented Interfaces:
    AsymmetricBlockCipher

    public class PKCS1Encoding
    extends java.lang.Object
    implements 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 Detail

      • NOT_STRICT_LENGTH_ENABLED_PROPERTY

        public static final java.lang.String 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.strict to false.

        The system property is checked during construction of the encoding object, it is set to true by default.

        See Also:
        Constant Field Values
    • Constructor Detail

      • PKCS1Encoding

        public PKCS1Encoding​(AsymmetricBlockCipher cipher)
        Basic constructor.
        Parameters:
        cipher -
    • Method Detail

      • 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.
      • 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.