Arduino Cryptography Library
|
Implementation of the single-key XTS mode for 128-bit block ciphers. More...
#include <XTS.h>
Public Member Functions | |
XTSSingleKey () | |
Constructs an object for encrypting sectors in XTS mode with a single key instead of two split keys. More... | |
~XTSSingleKey () | |
Clears all sensitive information and destroys this object. | |
Public Member Functions inherited from XTSSingleKeyCommon | |
virtual | ~XTSSingleKeyCommon () |
Clears all sensitive information and destroys this object. | |
size_t | keySize () const |
Gets the size of the key for single-pkey XTS mode. More... | |
bool | setKey (const uint8_t *key, size_t len) |
Sets the key to use for single-keyh XTS mode. More... | |
Public Member Functions inherited from XTSCommon | |
virtual | ~XTSCommon () |
Clears all sensitive information and destroys this object. | |
size_t | tweakSize () const |
Gets the maximum supported size for the tweak. More... | |
size_t | sectorSize () const |
Gets the size of sectors encrypted or decrypted by this class. More... | |
bool | setSectorSize (size_t size) |
Sets the size of sectors encrypted or decrypted by this class. More... | |
bool | setTweak (const uint8_t *tweak, size_t len) |
Sets the tweak value for the current sector to encrypt or decrypt. More... | |
void | encryptSector (uint8_t *output, const uint8_t *input) |
Encrypts an entire sector of data. More... | |
void | decryptSector (uint8_t *output, const uint8_t *input) |
Decrypts an entire sector of data. More... | |
void | clear () |
Clears all security-sensitive state from this XTS object. | |
Additional Inherited Members | |
Protected Member Functions inherited from XTSSingleKeyCommon | |
XTSSingleKeyCommon () | |
Constructs an XTS object with a default sector size of 512 bytes. | |
Protected Member Functions inherited from XTSCommon | |
XTSCommon () | |
Constructs an XTS object with a default sector size of 512 bytes. | |
void | setBlockCiphers (BlockCipher *cipher1, BlockCipher *cipher2) |
Sets the two block ciphers to use for XTS mode. More... | |
Implementation of the single-key XTS mode for 128-bit block ciphers.
XTS mode normally uses two keys to encrypt plaintext and the sector-specific tweak values. This class uses the same key for both purposes, which can help save memory.
References: IEEE Std. 1619-2007, NIST SP 800-38E, a href="http://web.cs.ucdavis.edu/~rogaway/papers/offsets.pdf">XEX.
|
inline |
Constructs an object for encrypting sectors in XTS mode with a single key instead of two split keys.
This constructor should be followed by a call to setSectorSize(). The default sector size is 512 bytes.