Folded Lookup Table for AES S-Box Area Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic systems, such as those implementing the NIST FIPS 197 standard for AES, face inefficiencies in spatial usage and speed due to separate S-box and inverse S-box tables, which increase chip area and resource consumption.
Innovation Solution
Combining S-box and inverse S-box tables into a single folded lookup table, indexed by a signal indicating the operation, to reduce area usage and maintain performance by using a single table for both encryption and decryption processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If separate S-box and inverse S-box tables are used, then encryption and decryption operations can be performed independently, but chip area and resource consumption increase
Solution Approach 1:
The patent combines the S-box and inverse S-box into a single unified lookup table structure. By merging these two separate tables that previously occupied distinct memory resources, the implementation achieves significant area reduction while maintaining the ability to perform both encryption and decryption operations through the same hardware structure.
Solution Approach 2:
The unified lookup table is designed to serve dual purposes: it functions as an S-box for encryption operations and as an inverse S-box for decryption operations. This multi-functional design allows a single hardware structure to replace what previously required two separate structures, thereby reducing chip area while preserving operational independence.
2Area of stationary object
If a single folded lookup table is used for both encryption and decryption, then chip area is reduced, but the complexity of table indexing increases
Solution Approach 1:
The patent introduces dynamic control mechanisms that adjust the behavior of the unified lookup table based on the operation type. Control signals dynamically configure the table indexing logic to access appropriate entries for either encryption or decryption, allowing the same hardware to adapt its function without requiring separate dedicated structures for each operation.
Solution Approach 2:
The patent employs control logic as an intermediary between the operation request and the lookup table access. This intermediary layer translates high-level operation commands (encryption/decryption) into specific indexing patterns for the unified table, managing the complexity of dual-function access while presenting a simplified interface to the rest of the system.
3Area of stationary object
If S-box and inverse S-box are concatenated to form a combined lookup table, then area efficiency improves, but access time may be affected
Solution Approach 1:
The unified lookup table is organized into distinct segments or regions that correspond to S-box entries and inverse S-box entries. By segmenting the table in this manner and using control signals to select which segment to access, the system maintains efficient access times comparable to separate tables while achieving area savings through consolidation.
Solution Approach 2:
The patent resolves the access time concern by adding a control dimension to the lookup process. Instead of physically separating the tables in space, the system uses control signals as an additional dimension to selectively access different portions of the unified table, thereby maintaining fast access paths for both encryption and decryption operations within a compact structure.
Data Source
AI summary
A method of improving the efficiency of an encryption/decryption process implementing the NIST FIPS 197 standard which includes a substitution box (S-box) and an inverse substitution (inverse S-box), comprises concatenating the S-box and inverse S-box to form a combined lookup table, and folding the concatenated table to generate a folded lookup table. The folded lookup table may be indexed for an encryption operation and for a decryption operation using a signal indicative of whether encryption or decryption is used.

