This project has moved. For the latest updates, please go here.

Add XTS-AES encryption with 384 bit (IEEE 1619)

Topics: Feature Requests
Oct 22, 2016 at 4:50 PM
"XTS-AES is a tweakable block cipher that acts on data units of 128 bits or more and uses the
AES block cipher as a subroutine. The key material for XTS-AES consists of a data encryption
key (used by the AES block cipher) as well as a "tweak key" that is used to incorporate the
logical position of the data block into the encryption. XTS-AES is a concrete instantiation of
the class of tweakable block ciphers described in Rogaway article (Phillip Rogaway - author
of the mode). The XTS-AES addresses threats such as copy-and-paste attack, while allowing
parallelization and pipelining in cipher implementations."
XTS mode uses its own secret key (a "tweak key") that is completely different from Primary
Encryption Key used by certain encryption algorithm.
For example, if block size of AES encryption algorithm is 128 bits, XTS mode requires 128-bit
key. As a result, the effective key length for the pair XTS mode + AES becomes higher than AES
originally has. While AES key length is 256 bits, XTS+AES pair uses 256+128 = 384 bits key.
The size of XTS key is equal to block size of the certain encryption algorithm, and IEEE 1619
standard states that it must be 128 bits or more.

More information: http://standards.ieee.org/findstds/standard/1619-2007.html and maybe this: http://standards.ieee.org/findstds/standard/1619.1-2007.html