Class RSAKeyEncapsulation

    • Constructor Detail

      • RSAKeyEncapsulation

        public RSAKeyEncapsulation​(DerivationFunction kdf,
                                   SecureRandom rnd)
        Set up the RSA-KEM.
        Parameters:
        kdf - the key derivation function to be used.
        rnd - the random source for the session key.
    • Method Detail

      • encrypt

        public CipherParameters encrypt​(byte[] out,
                                        int outOff,
                                        int keyLen)
                                 throws IllegalArgumentException
        Generate and encapsulate a random session key.
        Specified by:
        encrypt in interface KeyEncapsulation
        Parameters:
        out - the output buffer for the encapsulated key.
        outOff - the offset for the output buffer.
        keyLen - the length of the random session key.
        Returns:
        the random session key.
        Throws:
        IllegalArgumentException
      • encrypt

        public CipherParameters encrypt​(byte[] out,
                                        int keyLen)
        Generate and encapsulate a random session key.
        Parameters:
        out - the output buffer for the encapsulated key.
        keyLen - the length of the random session key.
        Returns:
        the random session key.
      • decrypt

        public CipherParameters decrypt​(byte[] in,
                                        int inOff,
                                        int inLen,
                                        int keyLen)
                                 throws IllegalArgumentException
        Decrypt an encapsulated session key.
        Specified by:
        decrypt in interface KeyEncapsulation
        Parameters:
        in - the input buffer for the encapsulated key.
        inOff - the offset for the input buffer.
        inLen - the length of the encapsulated key.
        keyLen - the length of the session key.
        Returns:
        the session key.
        Throws:
        IllegalArgumentException
      • decrypt

        public CipherParameters decrypt​(byte[] in,
                                        int keyLen)
        Decrypt an encapsulated session key.
        Parameters:
        in - the input buffer for the encapsulated key.
        keyLen - the length of the session key.
        Returns:
        the session key.