org.bouncycastle.crypto.engines
Class RFC3394WrapEngine

java.lang.Object
  extended by org.bouncycastle.crypto.engines.RFC3394WrapEngine
All Implemented Interfaces:
Wrapper
Direct Known Subclasses:
AESWrapEngine, CamelliaWrapEngine, SEEDWrapEngine

public class RFC3394WrapEngine
extends java.lang.Object
implements Wrapper

an implementation of the AES Key Wrapper from the NIST Key Wrap Specification as described in RFC 3394.

For further details see: http://www.ietf.org/rfc/rfc3394.txt and http://csrc.nist.gov/encryption/kms/key-wrap.pdf.


Field Summary
private  BlockCipher engine
           
private  boolean forWrapping
           
private  byte[] iv
           
private  KeyParameter param
           
 
Constructor Summary
RFC3394WrapEngine(BlockCipher engine)
           
 
Method Summary
 java.lang.String getAlgorithmName()
          Return 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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

engine

private BlockCipher engine

param

private KeyParameter param

forWrapping

private boolean forWrapping

iv

private byte[] iv
Constructor Detail

RFC3394WrapEngine

public RFC3394WrapEngine(BlockCipher engine)
Method Detail

init

public void init(boolean forWrapping,
                 CipherParameters param)
Specified by:
init in interface Wrapper

getAlgorithmName

public java.lang.String getAlgorithmName()
Description copied from interface: Wrapper
Return the name of the algorithm the wrapper implements.

Specified by:
getAlgorithmName in interface Wrapper
Returns:
the name of the algorithm the wrapper implements.

wrap

public byte[] wrap(byte[] in,
                   int inOff,
                   int inLen)
Specified by:
wrap in interface Wrapper

unwrap

public byte[] unwrap(byte[] in,
                     int inOff,
                     int inLen)
              throws InvalidCipherTextException
Specified by:
unwrap in interface Wrapper
Throws:
InvalidCipherTextException