Package org.bouncycastle.crypto.engines
Class RFC3394WrapEngine
java.lang.Object
org.bouncycastle.crypto.engines.RFC3394WrapEngine
- All Implemented Interfaces:
Wrapper
- Direct Known Subclasses:
AESWrapEngine,ARIAWrapEngine,CamelliaWrapEngine,SEEDWrapEngine
an implementation of the AES Key Wrapper from the NIST Key Wrap
Specification as described in RFC 3394.
For further details see: https://www.ietf.org/rfc/rfc3394.txt and https://csrc.nist.gov/encryption/kms/key-wrap.pdf.
-
Constructor Summary
ConstructorsConstructorDescriptionRFC3394WrapEngine(BlockCipher engine) Create a RFC 3394 WrapEngine specifying the encrypt for wrapping, decrypt for unwrapping.RFC3394WrapEngine(BlockCipher engine, boolean useReverseDirection) Create a RFC 3394 WrapEngine specifying the direction for wrapping and unwrapping.. -
Method Summary
Modifier and TypeMethodDescriptionReturn the name of the algorithm the wrapper implements.voidinit(boolean forWrapping, CipherParameters param) byte[]unwrap(byte[] in, int inOff, int inLen) byte[]wrap(byte[] in, int inOff, int inLen)
-
Constructor Details
-
RFC3394WrapEngine
Create a RFC 3394 WrapEngine specifying the encrypt for wrapping, decrypt for unwrapping.- Parameters:
engine- the block cipher to be used for wrapping.
-
RFC3394WrapEngine
Create a RFC 3394 WrapEngine specifying the direction for wrapping and unwrapping..- Parameters:
engine- the block cipher to be used for wrapping.useReverseDirection- true if engine should be used in decryption mode for wrapping, false otherwise.
-
-
Method Details
-
init
-
getAlgorithmName
Description copied from interface:WrapperReturn the name of the algorithm the wrapper implements.- Specified by:
getAlgorithmNamein interfaceWrapper- Returns:
- the name of the algorithm the wrapper implements.
-
wrap
public byte[] wrap(byte[] in, int inOff, int inLen) -
unwrap
- Specified by:
unwrapin interfaceWrapper- Throws:
InvalidCipherTextException
-