Secure Booting Apparatus Montgomery Algorithm Pre-computation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing complexity of encryption algorithms in secure booting processes leads to a gradual increase in booting time, necessitating a method to improve booting speed while maintaining security.
Innovation Solution
The secure booting apparatus performs some steps of the Montgomery algorithm during a preparation operation, allowing for verification to be completed during the booting operation, thereby enhancing security and speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If encryption algorithm complexity is increased to strengthen security, then security is improved, but booting time increases
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing the results of complex Montgomery algorithm steps during system initialization or setup phase. Specifically, intermediate values and verification data are computed in advance and stored in secure memory, so that during actual booting only the remaining verification steps need to be executed, significantly reducing booting time while maintaining the same security level
Solution Approach 2:
The patent segments the Montgomery algorithm verification process into multiple independent steps or phases. By dividing the complex cryptographic verification into discrete stages (e.g., pre-computation phase, main verification phase, final validation phase), the system can optimize each segment separately and perform only necessary computations during critical booting operations, thereby reducing overall booting time without compromising security
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A secure booting apparatus according to an embodiment for solving the problems to be solved by the present invention includes: a memory configured to store encrypted data, an encrypted header, and a symmetric key; and a processor configured to generate decrypted data and a decrypted header by applying a symmetric key algorithm using the symmetric key to the encrypted data and encrypted header, to include a public key and a pre key generated from the public key in the decrypted header, to generate a comparison hashed message by applying a hash algorithm to the decrypted data, to generate a final verification value by applying a public key algorithm using the public key and the pre key to the decrypted header, to compare the comparison hashed message with the final verification value, and to determine that booting has failed if the comparison hashed message and the final verification value are different from each other.