On Fri, 28 Oct 2022 14:39:34 GMT, Xue-Lei Andrew Fan <[email protected]> wrote:
>> src/jdk.crypto.ec/share/classes/sun/security/ec/ECOperations.java line 628: >> >>> 626: ProjectivePoint.Mutable m = >>> 627: multiplier.pointMultiply(s); >>> 628: points[d][w] = >>> m.setValue(m.asAffine()).fixed(); >> >> Did you try using AffinePoints instead of ProjectivePoints? Sum with >> AffinePoints is supposed to be a bit faster, wonder if the improvement is >> worthwhile. >> >> Also, unless you switch to affine points, just use `m.fixed()`. > >> Did you try using AffinePoints instead of ProjectivePoints? > > Yes. See [JDK-8295763](https://bugs.openjdk.org/browse/JDK-8295763). > Unfortunately, the mixed point addition formulas used in JDK implementation > does not support additional of neutral point. It may be doable again if the > formulas get changed in the future. > >> Also, unless you switch to affine points, just use m.fixed(). > > Yes, the change to AffinePoints is mainly for checking in the following > block. BTW, the class loading is slow, hard-coded tables should be used in a > coming update very soon. ah... right. The neutral point, aka point at infinity (0:1:0) cannot be represented in affine space. Thanks for checking. ------------- PR: https://git.openjdk.org/jdk/pull/10893
