Quartic point group operation

From Elliptic Curve Crypto
Revision as of 19:31, 7 February 2025 by Rational Point (talk | contribs) (biquadratic)
A “twisted infinity-bun” curve of degree four, which may or may not have many rational points or be suitable for cryptographic use.

The point group operation over a quartic (or, rarely, biquadratic) curve (i.e., a hyperelliptic [1] curve of degree four) in y2 is defined geometrically as follows. Let

be a quartic curve on the x-y plane of real numbers, the polynomial in x on the right having either the coefficient q4>0 or at least two real roots counting multiplicity. Quartic curves of this form include various lemniscates and ovals with a negative leading coefficient as well as open curves with a positive leading coefficient and two or three disconnected components.

Preparing the equations for solution in general form

When the degree of a solvend equation is even and at least four, its resolvent is a generic polynomial exactly half of it in degree, and the resolvent is squared so that it “rises to meet” the solvend. The resultant is the difference, when the solvend is subtracted from the resolvent equation squared.

y = ax2 + bx + c (resolvent equation)
y2 = a2x4 + 2abx3 + (b2 + 2ac)x2 + 2bcx + c2 (resolvent squared)
y2 = q4x4 + q3x3 + q2x2 + q1x + q0 (solvend equation)
(a2q4)x4 + (2abq3)x3 + (b2 + 2acq3)x2 + (2bcq1)x + c2q0 = 0 (resultant equation)

The general objective is to find rational points (x,y) on the curve which satisfy the solvend equation. Any four points on the quartic curve, counting multiplicity, which simultaneously satify the same resolvent quadratic equation, are considered to “sum” to an “additional point at infinity” O, which serves as the identity for a certain abstract Abelian group operation which we denote here by the symbol ⨁.

In any case we would start from at least one known point (x1,y1), and as a first step reduce the resultant equation to a cubic by factoring out xx1, in order to eventually solve for the unknown coefficients of the resolvent equation and the coördinates of the unknown point in terms of known points.

The remainder is equal to the value of the resultant polynomial at the point x1.

A quartic square dance

Every operation over a quartic curve will be defined geometrically by a “square dance” of the four points of intersection of the quartic curve and a parabola [2] whose axis is parallel to the y-axis, and otherwise to be determined.

If P, Q, R, and S are four points of the quartic curve, through which a parabola with an axis parallel to the y-axis passes, then we will say that

where O is the additional “point at infinity” which serves as the additive group identity.

The equation of this parabola is known as the resolvent equation of the point group operation, and a resultant equation is determined whose roots are the four points of intersection of the resolvent parabolic trajectory with the quartic curve, called the solvend as it is the main equation to be solved, in y2, for rational points which satisfy the point group operation.

Equations involving four distinct points are easiest, since any points of tangency require solving the gunners’ equations to fit parabolic trajectories, and these are much more difficult, as they inevitably involve derivatives, and are actually systems of differential equations, but are still essential to performing the point group operation over a quartic curve.

More general quartic curves in the plane might be met with more general conics having parallel axes to serve as resolvents, unless they are first brought into a canonical form in y2 by a conformal mapping, but be warned that the “group law” introduced by Bernstein, Edwards, Hamburg et al. for government-approved “elliptic” curve cryptography schemes Ed25519 and Ed448 promulgated [3] in in official government standards such as RFC 7748, is essentially of the second degree only in character, and does not satisfy the proper resolvent equations for quartic curves which are not simply conics with squared coördinates.

Additive inverses

If P is a point on the quartic curve, then its inverse is found by solving for in this “square dance” equation

where the resolvent parabola is required to be tangent [4] to the original curve both at the point P = (x1,y1) and at the unknown point Q = (x,y).

We begin by dividing x – x1 into the quotient resulting from the previous division of the same binomial into the resultant polynomial.

Graphical depiction of inverse points on a quartic curve, showing the two points of tangency of the parabola with the quartic curve, and the vertical line which bisects the line segment between the inverse points and also intersects at the same point where the tangent lines do.

This remainder, on dividing x – x1 into the resultant polynomial for the second time, is equal to the derivative of the original resultant at the point x1, and may be set equal to zero. We are now looking for the second point of tangency x between the quartic curve and the parabola of the resolvent quadratic equation. Hence four equations to be solved simultaneously for a, b, c and x in terms of q4, q3, q2, q1, q0, x1, y1 and y1’.


where

These equations result from setting both a simplified resultant and its derivative equal to zero at points of tangency both at the known point x1 and at the unknown point x we seek. The residuals from this system of four equations are shown below, as very nearly solved numerically, from the data plotted on the chart to the right with x1 = 2, x = –2.4, and a = 0.2 as an example on the same quartic curve as pictured above.

> a * x1^2 + b*x1 + c - y1
[1] 0
> 2*a*x1 + b - y1_
[1] 0
> (a^2 - q4)*x^2 + (2*a*b - q3 + 2*a^2*x1 - 2*q4*x1)*x +
+       b^2 + 2*a*c - q2 + 4*a*b*x1 - 2*q3*x1 + 3*a^2*x1^2 - 3*q4*x1^2
[1] 0.004125696
> 2*(a^2 - q4)*x + 2*a*b - q3 + 2*a^2*x1 - 2*q4*x1
[1] 0.0003871946

The term of a2x2, in the fourth degree in the unknowns, may be eliminated, reducing the degree of the system of equations to three. Multiply the 3rd equation by 2 and the 4th equation by x, and then subtract.

Replace the third equation:

The first two of these equations can be solved for b and c and the resulting substitutions, and made in the third and fourth equations.

Now the variable x can be eliminated, with the remaining equations combined into a single equation of degree no more than four to be solved for a.

Begin multiplying out the terms.


The parabolic trajectory is solved for parameters a, b and c, and the point (x,y) is found from the given point (x1,y1) where x1 = ‑π.

This equation is solved numerically in R, and the first solution for a found by R’s polyroot() function is verified to satisfy the resolvent quadratic equations and their derivatives, collectively known as the gunners’ equations, with very small residuals both at the given point x1 and at the point x which is derived from a when the cubic equation is solved.

There is much unwritten history on these equations dating back to the Civil War in the United States. While the white Confederate belles were square-dancing with the gentlemen of the district, at formal balls catered by their black slaves, the Union railroad engineers and military officers were hard at work solving the gunners’ equations for the trajectories of cannonballs and artillery shells. And even at times of peace, nobody had ever heard of a square dance hall where gentlemanly duels and gunfights didn’t take place on a regular basis. Later on of course, Albert Einstein continued in the long tradition of gunners solving mathematical equations, to great and devastating effect on two particular Japanese small-town red-light disticts.

A simpler symbolic solution still needs to be worked out for rational points on quartic curves.

Point averaging

The average or “mean” of two points P and Q may be found by solving the square dance equation

Here let the parabola pass through the points P and Q and be tangent to the quartic curve at R. Take the inverse to find the mean: .

Point trebling

To treble a point P, solve the “square dance” equation

and then take the inverse of Q to find . Here the parabola is required to osculate [5] the quartic curve at the point P which appears with a multiplicity of three in the equation, and intersect simply at the point Q.

Point trisection

Trisecting a point is exactly the same as trebling, except that it is at the unknown point Q where the parabola and the quartic curve are required to osculate, and a simple intersection is permitted at the point P.

.

Now take the inverse of Q to find .

Point doubling

Point doubling is performed by trebling and then averaging

.

Some of the steps of taking additive inverses may be eliminated or simplified. This might be calculated with one less step.

Point bisection

Point bisection or “halving” is performed by doubling a point and averaging with its additive inverse.

Point group addition

The most essential and basic operation of “adding” two points, which should serve as the point group operation for cryptographic purposes, is now derived at the end of a long, roundabout square dance routine by calculating the mean of two points, and then doubling by means of trebling and averaging.

The algebra and calculus equations should be simplified, and made as efficient as possible. The operation has been suitably defined, and nothing has been introduced here that should violate the axioms of an Abelian group.

Next steps

Once you have mastered the quartic point group operation, the proof of Mordell’s theorem by infinite descent, methods of bounding heights of rational numbers, and the theory of numerical and floating point approximations for curve fitting, you may move on to the quintic point group operation.

Appendix: R code for example curve plot

#! /usr/bin/R -f

H <- function(x){
    sqrt((5/17)*(11-2*x^2/3)*(x+2/7)^2)
}

xvals <- seq(0,sqrt(16.5),0.0001)

plot(x=c(xvals,rev(xvals),-xvals,-rev(xvals)),
    y=c(H(xvals),-H(rev(xvals)),-H(-xvals),H(-rev(xvals))),
    type="l", lwd=3, col="brown",
    xlab="x", ylab="y", asp="1",
    main=expression(17*y^2 == 5*(11-2*x^2/3)*(x+2/7)^2)
)
abline(0,0)
  1. https://hyperelliptic.org/
  2. Borrowed perhaps from Category:conic section cryptography but that is another matter.
  3. There is language that the government does not wish to be inferred to say that it has “promulgated” various technical schemes and protocols as official internet standards, that is to say it published the schemes on a less formal “Request-For-Comment” or hats-off-for-the-ladies “RFC” basis only. The government with that language is attempting to slam the brakes on the train and stop short of a legal position of having “homologated” certain proposed cryptographic schemes and not others for use by the general public, as particularly in Europe that tends to imply an undue, unlawful or unconstitutional arbitrary rule-making authority on the part of undirected and meddlesome government officials in technical matters.
  4. Latin for “touching.”
  5. Latin for “kiss.” The y-coördinate and the first and second derivatives must be equal for the two curves which are said to osculate at that x-coördinate.