• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Error-checking
        • Apt
        • Abnf
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Prime-field-constraint-systems
        • Soft
        • Bv
        • Imp-language
        • Event-macros
        • Bitcoin
        • Ethereum
        • Yul
        • Zcash
        • ACL2-programming-language
        • Prime-fields
        • Java
        • C
        • Syntheto
        • Number-theory
        • Cryptography
          • R1cs
          • Interfaces
          • Sha-2
          • Keccak
          • Kdf
          • Mimc
          • Padding
          • Hmac
          • Elliptic-curves
            • Secp256k1-attachment
            • Twisted-edwards
            • Montgomery
            • Edwards-bls12
            • Short-weierstrass-curves
            • Birational-montgomery-twisted-edwards
              • Twisted-edwards-point-to-montgomery-point
              • Montgomery-point-to-twisted-edwards-point
              • Montgomery-to-twisted-edwards
              • Twisted-edwards-to-montgomery
            • Has-square-root?-satisfies-pfield-squarep
            • Secp256k1
            • Secp256k1-domain-parameters
            • Secp256k1-types
            • Pfield-squarep
            • Secp256k1-interface
            • Bls12-377-domain-parameters
            • Prime-field-extra-rules
            • Points
          • Attachments
          • Elliptic-curve-digital-signature-algorithm
        • Lists-light
        • File-io-light
        • Json
        • Built-ins
        • Solidity
        • Axe
        • Std-extensions
        • Htclient
        • Typed-lists-light
        • Arithmetic-light
      • X86isa
      • Execloader
      • Axe
    • Testing-utilities
    • Math
  • Elliptic-curves
  • Montgomery
  • Twisted-edwards

Birational-montgomery-twisted-edwards

Birational equivalence between Montgomery curves and twisted Edwards curves.

There is a birational equivalence between Montgomery curves and twisted Edwards curves, described in Section 3 of Bernstein, Birkner, Joye, Lange, and Peters's ``Twisted Edwards Curves''. That is, there are:

  • A mapping between the set of Montgomery curves and the set of twisted Edwards curves.
  • Given Montgomery and twisted Edwards curves related by the above mapping, there is a mapping between the set of points of one curve and the set of points of the other curve.

Here `birational' means that the mappings between the sets of points of two corresponding curves are rational functions. Their denominators are 0 only for a finite number of points of the curves; the complete mappings can be therefore defined via the rational formulas plus a few special explicit cases.

Here we define these mappings. We plan to prove properties of them at some point.

In certain cases, these birational mappings may be scaled. See for instance this page. Thus, our ACL2 functions that define the mappings take an additional scaling factor as argument. This can be set to 1 for the non-scaled mappings.

Subtopics

Twisted-edwards-point-to-montgomery-point
Map a point on a Twisted Edwards curve to the corresponding point on the corresponding Montgomery curve.
Montgomery-point-to-twisted-edwards-point
Map a point on a Montgomery curve to the corresponding point on the corresponding twisted Edwards curve.
Montgomery-to-twisted-edwards
Map a Montgomery curve to a twisted Edwards curve.
Twisted-edwards-to-montgomery
Map a twisted Edwards curve to a Montgomery curve.