EllipticCurveBackend interfaces

Based on things in #878.