Enhancing performance of XTS cryptography mode of operation using parallel design - Ahmed Alomari, Mohammad (2009)
Storage devices such as disk drives and personal storage devices (PSD) such as flash disks are now widely used in everyday appliances. The absence of built-in security features has led to compromised confidential data from storage devices. The rapid growth of data breaches in the recent years contributed to standardization of encryption methods to secure storage devices. The IEEE P1619 Security in Storage working Group (SISWG) is a prominent group in developing standards related to secure storage encryption. Recently the group has approved the P1619 standard called "IEEE Standard for Cryptographic Protection of Data on Block-Oriented Storage Devices". This standard introduces XTS (XEX encryption mode with tweak and ciphertext stealing), a secure narrow-block mode of operation which can be fully parallelized. This is an important feature due to the widely available parallel hardware architectures such as multi-core processors and Field Programmable Gate Arrays (FPGA).This research will evaluate existing encryption algorithms and modes of operation that are suitable for securing storage devices. Particular focus will be placed on disk drives. XTS mode of operation will be evaluated in terms of performance with different encryption algorithms such as AES (Advanced Encryption Standard), RC6 (Rivest Cipher version 6), and Twofish. The performance of XTS mode will also be compared with respect to other modes of operation such as CBC (Cipher Block chaining) and LRW (Liscov-Rivest-Wagner). To fully utilize the performance potential of XTS mode of operation, a parallel design for the algorithm is proposed. The enhanced XTS mode of operation is implemented using OpenMP (Open specifications for Multi Processing) by careful use of parallelism strategy to divide encrypted data evenly among the available processors. Performance evaluation shows that XTS exhibits faster speed when an RC6 encryption algorithm is used, compared to other encryption algorithms such as AES and Twofish. With respect to the other modes of operation, XTS suffers some performance degradation due to its slightly complicated structure to achieve better cryptographic hardness. These limitations in XTS have been successfully overcome by the enhanced parallel XTS mode of operation which gives a 1.80 speedup factor with 90 percent efficiency using AES as an encryption algorithm. The resulting overheads due to the parallel design were also considered and clearly analyzed. In addition, the parallel XTS mode was also simulated using Twofish and RC6 encryption algorithms. Detailed comparison between Twofish and RC6 algorithms has been made with respect to AES algorithm.