org.h2.security
Class XTEA

java.lang.Object
  extended by org.h2.security.XTEA
All Implemented Interfaces:
BlockCipher

public class XTEA
extends java.lang.Object
implements BlockCipher

An implementation of the XTEA block cipher algorithm. This implementation uses 32 rounds.


Field Summary
 
Fields inherited from interface org.h2.security.BlockCipher
ALIGN
 
Method Summary
 void decrypt(byte[] bytes, int off, int len)
          Decrypt a number of bytes.
 void encrypt(byte[] bytes, int off, int len)
          Encrypt a number of bytes.
 int getKeyLength()
          Get the length of the key in bytes.
 void setKey(byte[] b)
          Set the encryption key used for encrypting and decrypting.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setKey

public void setKey(byte[] b)
Description copied from interface: BlockCipher
Set the encryption key used for encrypting and decrypting.

Specified by:
setKey in interface BlockCipher
Parameters:
b - the key

encrypt

public void encrypt(byte[] bytes,
                    int off,
                    int len)
Description copied from interface: BlockCipher
Encrypt a number of bytes. This is done in-place, that means the bytes are overwritten.

Specified by:
encrypt in interface BlockCipher
Parameters:
bytes - the byte array
off - the start index
len - the number of bytes to encrypt

decrypt

public void decrypt(byte[] bytes,
                    int off,
                    int len)
Description copied from interface: BlockCipher
Decrypt a number of bytes. This is done in-place, that means the bytes are overwritten.

Specified by:
decrypt in interface BlockCipher
Parameters:
bytes - the byte array
off - the start index
len - the number of bytes to decrypt

getKeyLength

public int getKeyLength()
Description copied from interface: BlockCipher
Get the length of the key in bytes.

Specified by:
getKeyLength in interface BlockCipher
Returns:
the length of the key