AES-XTS IP core

Overview

The Helion Fast AES XTS core implements the AES “XEX-based Tweaked Codebook with Ciphertext Stealing” cipher mode (abbreviated to XTS) specified by NIST SP800-38E and in IEEE 1619 to provide Narrow-Block Encryption as part of its Standard for Cryptographic Protection of Data on Block-Oriented Storage Devices. XTS is also specified in IEEE 1619.1 for use in tape storage applications. In addition, some versions optionally implement the AES Cipher Block Chaining (AES-CBC) mode of operation which is sometimes used in legacy storage applications.

Within IEEE 1619 storage applications, AES-XTS is used to encrypt data at the disk sector level, where it addresses threats such as copy-and-paste and dictionary attacks whilst allowing the option of parallel processing to enhance performance. AES-XTS encrypts and decrypts data using a "tweak" value derived from the logical position of the block on the disk. This fulfils the fundamental requirements for disk encryption that data can be independently encrypted and decrypted at the sector level as it arrives in arbitrary order, whilst not changing the data size.

Key Features

  • Implements AES-XTS mode as specified by IEEE 1619 standards and NIST SP800-38E
  • Supports AES-CBC mode for legacy storage applications
  • Automatically performs XTS tweak computation and ciphertext stealing
  • Available in full encrypt-decrypt or separate encrypt-only & decrypt-only configurations
  • XTS mode support for both 256 and 512-bit key sizes (optional)
  • CBC mode support for 128, 192 and 256-bit key sizes (optional)
  • Simple parallel external interface
  • Available in multiple versions providing optimal area/performance AES-XTS solution

Block Diagram

AES-XTS IP core Block Diagram

Deliverables

  • Fully synthesisable RTL source code
  • VHDL/Verilog testbench with test vectors
  • User documentation

Technical Specifications

Availability
now
×
Semiconductor IP