• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Debugging
    • Projects
    • 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
              • Edwards-bls12-pointp
              • Edwards-bls12-d
              • Edwards-bls12-point->v
              • Edwards-bls12-point->u
              • Maybe-edwards-bls12-pointp
              • Edwards-bls12-q
              • Edwards-bls12-add
              • Edwards-bls12-rstar-pointp
              • Edwards-bls12-mul-fast
              • Edwards-bls12-mul
              • Edwards-bls12-a
              • Edwards-bls12-r-pointp
              • Edwards-bls12-neg
              • Edwards-bls12-curve
              • Edwards-bls12-h
              • Edwards-bls12-r
            • Short-weierstrass-curves
            • Birational-montgomery-twisted-edwards
            • 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

Edwards-bls12

The edwards-bls12 complete twisted Edwards elliptic curve.

We define the edwards-bls12 curve, as a constant value of the fixtype twisted-edwards-curve of twisted Edwards elliptic curves. We show that the curve is complete.

The prime and coefficient of edwards-bls12 are formalized as nullary functions. We keep disabled also their executable counterparts because we generally want to treat them as algebraic quantities in proofs; in particular, we want to avoid their combination into new constants by the prime field normalizing rules.

We also define various notions related to edwards-bls12, such as recognizers of points in the curve's group and subgroup.

Subtopics

Edwards-bls12-pointp
Recognize elements of Edwards-BLS12 curve.
Edwards-bls12-d
The Edwards-Bls12 coefficient d
Edwards-bls12-point->v
The function \mathcal{V} in TODO
Edwards-bls12-point->u
The function \mathcal{U} in TODO
Maybe-edwards-bls12-pointp
Recognize Edwards-Bls12 points and nil.
Edwards-bls12-q
The edwards-bls12 base field prime F_q.
Edwards-bls12-add
Group addition on Edwards-Bls12.
Edwards-bls12-rstar-pointp
Recognize elements of r except the zero point.
Edwards-bls12-mul-fast
Fast scalar multiplication on Edwards-Bls12.
Edwards-bls12-mul
Scalar multiplication on Edwards-Bls12.
Edwards-bls12-a
The Edwards-Bls12 coefficient a.
Edwards-bls12-r-pointp
Recognize elements of r.
Edwards-bls12-neg
Group point negation on Edwards-Bls12.
Edwards-bls12-curve
The Edwards-Bls12 curve
Edwards-bls12-h
The elliptic curve cofactor.
Edwards-bls12-r
The prime number that is the order of the large subgroup of edwards-bls12.