Modular Math Engine for Scalable Cryptographic Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional modulo mathematics engines are inflexible and difficult to update, as they are typically designed for specific cryptographic algorithms, leading to inefficiencies in processing large numbers and adapting to new cryptographic requirements, which limits their scalability and reconfigurability.

Innovation Solution

A modular math engine architecture that breaks down complex computations into interchangeable and programmable cells, allowing for easy addition, removal, or substitution of cells to accommodate different algorithms, enabling high-performance throughput and scalability without major redesign.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional monolithic math engines are designed for specific cryptographic algorithms, then processing speed for that specific algorithm is improved, but adaptability to new algorithms and reconfigurability deteriorate

Engineering Contradiction:
Improveprocessing speedVSAvoidadaptability to new algorithms
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The math engine is divided into multiple functional modules including a control unit, an arithmetic operation unit, and a memory unit. Each module can be independently configured and replaced. The arithmetic operation unit can be reconfigured to perform different cryptographic operations such as modular exponentiation, modular multiplication, and elliptic curve operations, allowing the system to adapt to new algorithms without redesigning the entire engine.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The math engine employs dynamic reconfiguration capabilities where the arithmetic operation unit can switch between different operational modes and algorithms during runtime. The control unit can load different algorithm implementations from memory, enabling the system to adapt to new cryptographic standards and algorithms without hardware changes, thus maintaining both high performance and adaptability.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the math engine is designed with high reconfigurability, then adaptability to new algorithms is improved, but processing speed for specific algorithms deteriorates

Engineering Contradiction:
ImprovereconfigurabilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

Multiple algorithm implementations are pre-configured and stored in the memory unit of the math engine. When a specific cryptographic operation is needed, the control unit retrieves the appropriate pre-optimized implementation from memory, ensuring that processing speed is not compromised by reconfiguration overhead. This allows the engine to maintain high performance for known algorithms while retaining the ability to load new algorithms when needed.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If conventional math engines are updated to support new functionality, then adaptability is improved, but the complexity and cost of updates increase

Engineering Contradiction:
Improvenew functionality supportVSAvoidcomplexity of updating
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The algorithm implementation details are extracted from the fixed hardware structure and stored as separate, replaceable software modules in memory. When new cryptographic functionality is required, only the relevant software module needs to be updated or replaced, rather than modifying the entire hardware engine. This significantly reduces the complexity and cost of updates, as changes can be made through software loading rather than hardware redesign.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If large monolithic math engines are designed for singular purposes, then processing speed is improved, but ease of maintenance and updating deteriorate

Engineering Contradiction:
Improveprocessing speedVSAvoidease of updating
Core Design Contradiction:
ProductivityVSEase of repair

Solution Approach 1:

The monolithic engine is segmented into independent functional modules that can be individually accessed, tested, and replaced. The arithmetic operation unit, control unit, and memory unit are separate entities that can be maintained independently. This modular structure allows technicians to update or repair specific components without affecting the entire system, significantly improving ease of maintenance while preserving the high processing speed achieved through optimized modular arithmetic operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8521793B1Method and system for scalable modulo mathematical computation
Publication Date: 2013.08.27 HARRIS CORP
  • US8521793B1 patent drawing
  • US8521793B1 patent drawing
  • US8521793B1 patent drawing

AI summary

A math engine is provided capable of supporting large complex mathematical computations, such as modulo math computations involved in cryptography, while remaining easily reconfigurable, upgradeable and scalable. As new algorithms and specifications are desired to be solved, the math engine can be easily updated to accommodate the new requirements. These systems employ layers of cells, wherein individual cells are responsible for calculations. Thus, the complexity of the mathematical computation is broken down into cells which are easily added, removed, changed or substituted. The cells may be interchangeable and programmable, and provide flexibility and reconfigurability to the system at low or near-zero cost. When additional algorithms are desired, additional appropriate cells are simply added or changed.