org.bouncycastle.crypto.kems
Class RSAKeyEncapsulation
java.lang.Object
|
+--org.bouncycastle.crypto.kems.RSAKeyEncapsulation
- All Implemented Interfaces:
- KeyEncapsulation
- public class RSAKeyEncapsulation
- extends java.lang.Object
- implements KeyEncapsulation
The RSA Key Encapsulation Mechanism (RSA-KEM) from ISO 18033-2.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RSAKeyEncapsulation
public RSAKeyEncapsulation(DerivationFunction kdf,
java.security.SecureRandom rnd)
- Set up the RSA-KEM.
- Parameters:
kdf
- the key derivation function to be used.rnd
- the random source for the session key.
init
public void init(CipherParameters key)
throws java.lang.IllegalArgumentException
- Initialise the RSA-KEM.
- Specified by:
init
in interface KeyEncapsulation
- Parameters:
key
- the recipient's public (for encryption) or private (for decryption) key.
encrypt
public CipherParameters encrypt(byte[] out,
int outOff,
int keyLen)
throws java.lang.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.
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 java.lang.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.
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.
generateKey
protected KeyParameter generateKey(java.math.BigInteger n,
java.math.BigInteger r,
int keyLen)