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.void
init
(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:Wrapper
Return the name of the algorithm the wrapper implements.- Specified by:
getAlgorithmName
in interfaceWrapper
- Returns:
- the name of the algorithm the wrapper implements.
-
wrap
public byte[] wrap(byte[] in, int inOff, int inLen) -
unwrap
- Specified by:
unwrap
in interfaceWrapper
- Throws:
InvalidCipherTextException
-