Commit 484d4a8
Release Manager
sagemathgh-35799: test whether point is actually on the curve when evaluating elliptic-curve isomorphism
In Sage 10.0:
```sage
sage: E = EllipticCurve(GF(101), [1,1])
sage: f = E.automorphisms()[0]
sage: EE = EllipticCurve(GF(101), [5,5])
sage: P = EE.lift_x(2)
sage: P in f.domain()
False
sage: f(P)
(2 : 15 : 1)
sage: f(P) in f.codomain()
True
sage: f.codomain().defining_polynomial()(*f(P))
12
```
Sage will happily "evaluate" a `WeierstrassIsomorphism` on just about
any `EllipticCurvePoint`, even a point which explicitly lies on a
*different* curve. This simple patch adds a check to remove this
footgun.
URL: sagemath#35799
Reported by: Lorenz Panny
Reviewer(s): Kwankyu Lee
1 file changed
+19
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
611 | 611 | | |
612 | 612 | | |
613 | 613 | | |
614 | | - | |
| 614 | + | |
615 | 615 | | |
616 | 616 | | |
617 | 617 | | |
| |||
648 | 648 | | |
649 | 649 | | |
650 | 650 | | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
651 | 669 | | |
652 | 670 | | |
653 | 671 | | |
| |||
0 commit comments