Reverse Key Expansion for AES Decryption Memory Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Advanced Encryption Standard (AES) cryptographic scheme lacks a reverse key expansion technique for decryption, leading to high memory costs due to the need to store all generated round keys during encryption, particularly evident in AES-256 which requires 480 bytes for 15 round keys.

Innovation Solution

A reverse key expansion module is introduced to generate a second cryptographic key based on the first cryptographic key, using techniques such as exclusive-OR operations, S-box substitutions, and rotations, allowing for recursive generation of round keys during decryption without the need to store all round keys.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all round keys are stored in memory for decryption, then decryption can proceed correctly, but memory cost increases significantly

Engineering Contradiction:
Improvedecryption correctnessVSAvoidmemory storage requirement
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent inverts the conventional key expansion approach by implementing reverse key expansion. Instead of expanding the cipher key forward to generate all round keys (K0, K1, K2, ..., Kn) and storing them, the system stores only the final round key (Kn) and reverses the expansion process during decryption to regenerate previous round keys (Kn-1, Kn-2, ..., K0) as needed. This inversion eliminates the need to store all round keys simultaneously, reducing memory requirements from O(N) to O(1) while maintaining decryption correctness.

Inventive Principle:
Principle #13The other way round (Inversion)

2Quantity of substance

If a reverse key expansion technique is implemented, then memory requirements are reduced, but the AES standard compliance is compromised

Engineering Contradiction:
Improvememory storage requirementVSAvoidAES standard compliance
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent modifies the key expansion parameters and operations to enable reverse expansion. Specifically, it inverts the mathematical operations: the forward expansion uses operations like SubWord, RotWord, and XOR with round constants, while the reverse expansion applies inverse operations (inverse SubWord, inverse RotWord, and XOR with inverted round constants). This parameter inversion allows the system to comply with AES security requirements while achieving memory efficiency by regenerating round keys in reverse order during decryption.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If conventional key expansion is used, then encryption proceeds efficiently, but decryption requires storing all generated round keys

Engineering Contradiction:
Improveencryption efficiencyVSAvoidmemory storage for round keys
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing only the final round key (Kn) instead of all round keys. During decryption, the system performs preliminary reverse expansion to generate the necessary previous round keys (Kn-1, Kn-2, etc.) just-in-time before they are needed for each decryption round. This approach maintains encryption efficiency while eliminating the need to store all round keys, as only the final round key is persisted and previous keys are regenerated on-demand during decryption.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8085934B1Reverse cryptographic key expansion
Publication Date: 2011.12.27 MARVELL ASIA PTE LTD
  • US8085934B1 patent drawing
  • US8085934B1 patent drawing
  • US8085934B1 patent drawing

AI summary

Apparatus having corresponding methods and computer programs comprise: a key input module to receive a first cryptographic key; and a reverse key expansion module to generate a second cryptographic key based on the first cryptographic key, wherein each of the first cryptographic key and the second cryptographic key comprises a plurality of words, and wherein the reverse key expansion module comprises a first word module to generate the first word of the second cryptographic key based on the first word of the first cryptographic key and the last two words of the first cryptographic key, and a remaining word module to generate the remaining words of the second cryptographic key, the remaining word module comprising at least one word module to generate a word of the second cryptographic key based on the corresponding word, and the immediately previous word, of the first cryptographic key.