Hardware Acceleration Unit for RSA Encryption Resource Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing data processing systems face challenges in efficiently utilizing CPU resources, particularly when performing RSA encryption and decryption operations, due to the high computational intensity of the RSA algorithm, leading to reduced system performance and increased CPU consumption.
Innovation Solution
A method for scheduling data processing requests that involves identifying idle operation engines and assigning specific logic operation units to process these requests, optimizing resource utilization by decoupling RSA engine state control from the ALU pool and employing two-stage scheduling for state-based and state-free resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If RSA encryption and decryption are implemented by using software, then the system can process encryption operations, but a large number of CPU resources are consumed and system performance is severely affected
Solution Approach 1:
The patent replaces software-based RSA encryption/decryption (mechanical system) with a hardware acceleration unit that contains operation engines and logic operation units. This substitution transfers the computational burden from the CPU to dedicated hardware circuits, significantly reducing CPU resource consumption and improving system performance while maintaining implementation flexibility through configurable hardware modules.
2Productivity
If a hardware acceleration unit with multi-operation cores is used, then CPU resource consumption is reduced, but the utilization rate of operation resources is low due to inefficient scheduling
Solution Approach 1:
The patent segments the hardware acceleration unit into distinct operation engines and logic operation units, allowing independent scheduling and management of each component. This segmentation enables fine-grained resource allocation where the scheduling unit can selectively activate specific operation engines and logic operation units based on the requirements of different encryption tasks, improving resource utilization without excessive complexity.
Solution Approach 2:
The patent implements dynamic resource scheduling where the scheduling unit adaptively allocates logic operation units to operation engines based on real-time task requirements and resource availability. This dynamic allocation mechanism allows the system to optimize resource utilization for different RSA key lengths and operation types, balancing performance and complexity by activating only the necessary hardware components for each task.
3Reliability
If a longer key is used to enhance the security level of RSA encryption, then security is improved, but the RSA decryption speed is reduced
Solution Approach 1:
The patent segments the RSA decryption process into multiple operation stages that can be executed by different operation engines and logic operation units. For longer keys, the scheduling unit distributes the computational workload across multiple hardware modules, allowing parallel processing of different parts of the decryption operation. This segmentation maintains security by fully executing the required mathematical operations while improving speed through concurrent hardware execution.
Solution Approach 2:
The patent transitions from sequential processing to parallel processing by adding a spatial dimension to the computation. Multiple operation engines and logic operation units work simultaneously on different aspects of the RSA decryption, effectively distributing the time-consuming operations associated with longer keys across multiple hardware pathways, thereby maintaining security while reducing overall decryption time.
Data Source
AI summary
The utilization rate of operation resources in a computing device is improved by assigning specialized types of logic operations to a data processing engine depending on the type of logic operation that the data processing engine requires to execute a data processing request. The data processing engine is selected from a plurality of engines by first identifying an idle engine, next identifying a post-processing engine when no idle engine is available, and then identifying a stand-by engine when no post-processing engine is available.


