XTS-AES Data Encryption With Penultimate-Block Prefetch
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional XTS-AES data encryption schemes face challenges in adapting to scenarios with high data throughput and computational efficiency requirements due to sequential processing of raw data blocks, leading to pauses and reduced efficiency when encrypting the penultimate block.
Innovation Solution
The method involves pre-fetching and pre-encrypting the next-to-last raw data block during the processing of other blocks, allowing the use of the encrypted data block for the last block without waiting for its completion, and optimizing buffer operations for efficient data flow.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If raw data blocks are processed sequentially in conventional XTS-AES encryption, then the encryption process is simple and straightforward, but data throughput and computational efficiency are reduced due to pauses when encrypting the penultimate block
Solution Approach 1:
The patent applies preliminary action by pre-fetching and pre-encrypting the next-to-last raw data block during the processing of other blocks. The encryption of the next-to-last block is performed in advance so that when the last block needs to be encrypted, the encrypted next-to-last block is already ready to be used, eliminating waiting time and improving data throughput
Solution Approach 2:
The patent implements continuity of useful action by overlapping the encryption processes of multiple blocks. Instead of completing one block encryption before starting the next, the system maintains continuous encryption operations on multiple blocks simultaneously, ensuring that the encryption pipeline remains full and productive without interruptions
2Productivity
If the penultimate raw data block is encrypted sequentially before the last block, then encryption completeness is ensured, but waiting time increases and computational efficiency decreases
Solution Approach 1:
The patent performs the encryption of the next-to-last raw data block in advance during the processing of earlier blocks. This preliminary encryption action ensures that when the last block requires the encrypted next-to-last block, no waiting time is needed, as the encryption is already complete and the data is ready for immediate use
Solution Approach 2:
The patent introduces dynamic adjustment in the encryption processing order. Instead of a fixed sequential order, the system dynamically reorders the encryption operations to optimize performance, allowing the next-to-last block to be processed at an optimal time during the overall encryption process to minimize waiting time
Data Source
AI summary
It is detected whether a next-to-last raw data block in a raw data segment has been written into an input buffer. A sequence number difference is calculated between sequence numbers of the next-to-last raw data block and a current raw data block. It is determined whether the sequence number difference exceeds a number of operation rounds associated with encryption. In response to: (1) detecting that the next-to-last raw data block has been written into the input buffer and (2) determining that the sequence number difference does not exceed the number of operation rounds, a read of the next-to-last raw data block is triggered. The next-to-last raw data block is encrypted, out of a sequence number order and using Advanced Encryption Standard (AES) processing and a CipherText Stealing (XTS) working mode, to produce a next-to-last encrypted data block. A last raw data block is encrypted using the next-to-last encrypted data block.


