Processor Key Generation Circuit for Decryption Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-implemented encryption in data processing systems experiences poor performance when handling large data sets, leading to slow decryption processes due to the need to regenerate encryption keys during the decryption process.

Innovation Solution

A processor design that includes an instruction fetch unit, an architected register file, and an execution unit with a key generation circuit, which generates and stores decryption keys during the encryption process, making them available at low latency for the decryption process, thereby accelerating decryption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If encryption is performed in software on a general purpose processor, then encryption functions can be easily adapted and selected, but decryption performance deteriorates due to the need to re-generate keys during decryption

Engineering Contradiction:
Improveencryption function adaptabilityVSAvoiddecryption performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by generating and storing the decryption key during the encryption process itself. The key generation circuit generates a decryption key from the encryption key and stores it in an architected register before decryption is needed. This eliminates the need to re-generate keys during decryption, directly resolving the performance bottleneck while maintaining software adaptability through the instruction-based interface.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If encryption is performed in hardware to improve performance, then decryption speed improves, but device complexity increases due to additional key generation circuitry

Engineering Contradiction:
Improvedecryption speedVSAvoidprocessor structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The key generation circuit is designed to be multi-functional, handling both encryption key processing and decryption key generation within the same hardware structure. The circuit receives encryption keys, generates corresponding decryption keys through cryptographic functions, and stores them in existing architected registers. This universal approach provides hardware acceleration without requiring entirely separate decryption hardware, thus improving decryption speed while limiting complexity growth.

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

Solution Approach 2:

The encryption process serves itself by generating the decryption key during encryption. The same key generation circuit that processes encryption keys automatically produces and stores the corresponding decryption keys in architected registers. This self-service mechanism eliminates the need for separate key management hardware, achieving hardware-accelerated decryption performance without proportionally increasing device complexity.

Inventive Principle:
Principle #25Self-service

3Reliability

If decryption keys are regenerated during decryption process, then security is maintained through key derivation, but time consumption increases significantly

Engineering Contradiction:
ImprovesecurityVSAvoiddecryption time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-generating and storing decryption keys during the encryption process. The key generation circuit derives decryption keys from encryption keys using cryptographic functions and stores them in architected registers before decryption begins. This preliminary key preparation maintains security through proper key derivation while eliminating time-consuming key regeneration during decryption, directly addressing the time loss problem.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240015004A1Hardware-based key generation and storage for cryptographic function
Publication Date: 2024.01.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20240015004A1 patent drawing
  • US20240015004A1 patent drawing
  • US20240015004A1 patent drawing

AI summary

A processor includes an instruction fetch unit that fetches instructions to be executed, an architected register file including a plurality of registers for storing source and destination operands, and an execution unit for executing a key-generating instruction. The execution unit includes a key generation circuit that, responsive to a key-generating instruction, iteratively applies a cryptographic function to a sequence of iteration inputs beginning with an encryption key obtained from the architected register file and stores, within the architected register file, a decryption key obtained from at least one iteration of the cryptographic function.