AES Encryption Throughput Adaptation via Dynamic Processing Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing implementations of the Advanced Encryption Standard (AES) often struggle to adapt to varying throughput requirements, limiting their flexibility in different application scenarios.

Innovation Solution

A device and method for data processing that includes a scheduler and multiple data processing units, allowing each unit to independently perform AES encryption operations. The scheduler controls which unit processes a target data block, enabling flexible throughput adjustments by varying the number of data processing units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed number of data processing units is used in AES implementation, then the device structure is simple, but the throughput cannot be adjusted to meet varying application requirements

Engineering Contradiction:
Improvethroughput adjustment capabilityVSAvoiddevice structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic configurability by allowing the number of data processing units to be adjusted based on throughput requirements. The device can dynamically allocate and activate different numbers of processing units (e.g., 1, 2, 4, or 8 units) to match varying application demands, transforming a static structure into a dynamic one that adapts to changing conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The AES encryption device is segmented into multiple independent data processing units, each capable of handling encryption operations. This segmentation allows the system to activate only the necessary number of units based on throughput requirements, reducing complexity when low throughput is needed while enabling high throughput when multiple units are activated.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple data processing units are used to increase throughput, then the encryption speed improves, but the device complexity increases

Engineering Contradiction:
Improveencryption throughputVSAvoidnumber of processing units
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system employs dynamic configuration where the number of active data processing units can be adjusted based on throughput requirements. When high encryption throughput is needed, multiple units are activated; when lower throughput suffices, fewer units are used, allowing productivity to be tuned without permanently increasing device complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Multiple data processing units share the same encryption functionality and can be selectively activated. Each unit is universally capable of performing AES encryption operations, allowing the system to achieve variable throughput by activating different numbers of identical functional units rather than requiring different complex structures.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12335366B2Device and method for data processing
Publication Date: 2025.06.17 NANJING TENAFE ELECTRONIC TECHNOLOGY CO LTD
  • US12335366B2 patent drawing
  • US12335366B2 patent drawing
  • US12335366B2 patent drawing

AI summary

1. Each of a plurality of data processing units independently performs an end-to-end encryption operation associated with AES on a data block. The number of data processing units is selected based at least in part on a desired processing throughput rate and power consumption, where the number of data processing units and the selected key length produce a total processing throughput rate that is a multiple of 1/10, 1/12 or 1/14 of a maximum throughput rate. A target data processing unit is selected, including by sequentially communicating with the data processing units in round-robin order to obtain an idle state information until an idle data processing unit is encountered. The target data processing unit generates a ciphertext data block corresponding to the target data block, including by performing all SubByte, ShiftRow, MixColumn, and AddRoundKey transformations.