S-box Table Alignment for Block Cipher Processing Time Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Low-function microcomputers used in integral systems face challenges in reducing processing time when implementing block ciphers in software due to the need for numerous instructions in referencing S-box tables.
Innovation Solution
An encryption device and method that generates a round key and uses an exclusive OR operation to align the S-box table to a 2m-bit boundary, reducing the number of instructions required for data mixing by storing the table entry and using it as a table index for efficient data mixing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional S-box table referencing method is used, then data mixing can be performed correctly, but processing time increases due to numerous instructions required
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing the sum of the S-box table starting address and round key in a table-entry storage unit before the encryption process begins. This pre-computation eliminates the need to perform this addition operation during each encryption cycle, thereby reducing the number of instructions executed and decreasing processing time when referencing the S-box table.
2Reliability
If S-box table is referenced using traditional method, then encryption security is maintained, but device complexity increases due to additional instructions
Solution Approach 1:
The patent extracts the computationally intensive operation (adding table starting address and round key) from the main encryption loop and stores it separately in a table-entry storage unit. This extraction simplifies the instruction set required during encryption by eliminating repetitive complex operations, thereby reducing device complexity while maintaining encryption security through the preserved S-box substitution mechanism.
Data Source
AI summary
A problem to be solved is to reduce processing time when a block cipher which refers to a table is implemented in software.An encryption device includes: a round-key generation module which generates a round key from a secret key; a table-entry generation module which adds a starting address of an n-bit S-box table (n≧2) aligned to a 2m-bit boundary (m≧n) in a memory, and the round key, and holds an obtained value as a table entry; and a data mixing module which mixes data by referring to the S-box stored in the first memory, by using, as a table index, an exclusive OR between the table entry stored in the second memory and the data.


