XTS-AES Data Encryption With Penultimate-Block Prefetch

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata throughputVSAvoidencryption processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #20Continuity of useful action

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

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidwaiting time for encryption
Core Design Contradiction:
ProductivityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12462047B2Method, system and apparatus for data encryption
Publication Date: 2025.11.04 NANJING TENAFE ELECTRONIC TECHNOLOGY CO LTD
  • US12462047B2 patent drawing
  • US12462047B2 patent drawing
  • US12462047B2 patent drawing

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.