GHASH Function Optimization for Embedded AES-GCM
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The computing time of the GHASH function in the AES-GCM encryption algorithm is a significant bottleneck in embedded devices with limited hardware resources, necessitating an efficient optimization to reduce overall encryption processing time.
Innovation Solution
The GHASH function is optimized by eliminating iterative processes and using alternative array shifting methods, such as shifting in units of bits or using conversion tables, to enhance computational speed without increasing program capacity, particularly suited for embedded systems with limited resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If iterative processes are used in the GHASH function computation, then the implementation is simpler to understand, but the computing time increases significantly
Solution Approach 1:
The patent extracts the iterative computation process from the GHASH function and replaces it with a direct non-iterative calculation method. By removing the iterative loop structure and using alternative computation approaches (such as parallel processing or direct mathematical transformations), the patent eliminates the time-consuming iterative steps while maintaining the functional equivalence of the authentication tag generation.
Solution Approach 2:
The patent substitutes the mechanical iterative process with a more efficient computational mechanism. Instead of repeatedly executing the same computational steps in a loop, the patent employs mathematical optimizations or algorithmic transformations that compute the same result in a single pass or through parallel operations, thereby replacing the iterative mechanical process with a more efficient computational approach.
2Productivity
If optimization techniques are applied to reduce computing time, then processing speed increases, but program capacity may increase
Solution Approach 1:
The patent changes computational parameters and algorithmic characteristics to achieve faster processing. By modifying the computation method (e.g., changing from sequential iterative steps to parallel operations or direct calculations), the patent improves processing speed while keeping the program size comparable to the original implementation.
Solution Approach 2:
The patent segments the computation process into independent components that can be processed separately and efficiently. By dividing the authentication tag computation into discrete, non-iterative steps or parallelizable units, the patent reduces the overall computing time without requiring significant additional program capacity.
3Ease of manufacture
If standard iterative GHASH computation is used, then hardware resource utilization is straightforward, but computing time is excessive for embedded devices
Solution Approach 1:
The patent extracts and removes the iterative computation loop from the GHASH function implementation. By eliminating the repeated computational steps and replacing them with a direct calculation approach, the patent significantly reduces computing time while maintaining ease of implementation through straightforward non-iterative code structures.
Solution Approach 2:
The patent replaces the iterative mechanical computation process with an optimized computational mechanism suitable for embedded systems. By substituting the time-consuming iterative loops with efficient direct calculations or parallel operations, the patent achieves faster processing speeds while keeping the implementation simple and suitable for resource-constrained embedded devices.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
OBJECT To provide an information processing apparatus, a program and a storage medium capable of performing an efficient computation of a GHASH function. MEANS OF SOLUTION An information processing apparatus has an encryption part that encrypts by block encryption, and is embeddable in an electronic apparatus, and achieves the above object by segmenting an authentication target message into one or more blocks for every 128 bits, the authentication target message including at least a predetermined authentication parameter and first encryption information that is obtained by encrypting plaintext information by the encryption part, successively computing each of the one or more segmented blocks by a GHASH function including a predetermined algorithm, using a plurality of 8-bit arrays including 16 elements, and generating second encryption information that is obtained by encrypting a computed result by the encryption part, to generate an authentication tag.