Elliptic Curve Point Verification via Trace Conditions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing authentication protocols, such as the semi-static elliptic curve Diffie-Hellman (ECDH) protocol, face challenges in resource-constrained environments where efficient point verification is necessary to prevent twist attacks and ensure the integrity of the private key.
Innovation Solution
The proposed solution involves an elliptic curve point validation method that receives projective X and Z coordinates, computes specific transformations, and checks the trace values of the resulting coordinates to verify if the point is on the elliptic curve, thereby preventing twist attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If point verification is performed to prevent twist attacks, then security is improved, but computational complexity and resource consumption increase
Solution Approach 1:
The patent extracts only the essential verification checks needed to prevent twist attacks. Instead of performing complete point validation, it selectively verifies specific properties (trace conditions) that are sufficient to detect twist attacks, thereby reducing computational complexity while maintaining security.
Solution Approach 2:
The patent performs preliminary verification of trace conditions during the scalar multiplication process itself, rather than performing complete point validation after the computation. This allows early detection of invalid points and avoids unnecessary computational steps.
2Reliability
If complete point validation is performed, then security against twist attacks is improved, but energy consumption increases
Solution Approach 1:
The patent extracts only the critical trace verification steps necessary to prevent twist attacks, omitting more expensive validation steps that would consume additional energy. This selective approach maintains security while minimizing energy consumption in resource-constrained environments.
Solution Approach 2:
The patent performs partial validation by checking only the trace conditions rather than complete point validation. This partial action is sufficient to prevent twist attacks while consuming less energy than full validation would require.
3Reliability
If chip area is increased to implement verification logic, then security is improved, but resource constraints are worsened
Solution Approach 1:
The patent extracts minimal verification logic that can be implemented with small chip area. By focusing only on trace condition checks rather than complete point validation, the required hardware resources are significantly reduced, making the solution suitable for resource-constrained environments.
4Reliability
If verification steps are added to ensure point validity, then security is improved, but processing time increases
Solution Approach 1:
The patent performs verification checks during the scalar multiplication computation itself rather than as separate post-processing steps. This preliminary action allows the verification to be integrated into the existing computation flow, minimizing additional processing time.
Solution Approach 2:
The patent merges the verification logic with the scalar multiplication algorithm. The trace conditions are checked within the existing computational steps, combining the authentication function and verification function into a single integrated process that does not significantly increase processing time.
Data Source
AI summary
An elliptic curve point validation method, comprising: receiving a standard projective X and Z coordinate on an elliptic curve; computing X·Z; inverting X·Z to get (XZ)−1; multiplying Z2, (XZ)−1, and a constant √{square root over (b)} resulting in √{square root over (b)}·x−1, where b is a constant of the elliptic curve; multiplying X2 and (XZ)−1 resulting in x; computing Tr(x) and checking that it has a value of 1, where Tr(⋅) is a trace of Frobenius map that maps an input to a value of 0 or 1; computing Tr(√{square root over (b)}x−1) and checking that it has a value of 0; and outputting x and a PointOnCurve value, where the PointOnCurve value indicates whether x is on the elliptic curve.


