Skip to content

Road to secp256r1 support #2001

Closed
Closed
@webmaster128

Description

@webmaster128

It has become clear that we want ECDSA secp256r1 signature verification support to allow app level signature verification using a popular industry standard curve. Now that if is answered, let' move on to when and how. Given that adding a new crypto API is something we cannot easily revert once contracts rely on it, we need to ensure that the new API is correct and behaves as desired.

Open Questions

  • Should we accept low-S and high-S signatures? Yes, because this is how ECDSA works and secp256k1_verify behaves today. An app level protocol may further restrict which sigantures are valid. Those extra checks have to be implemented separately, for now in Wasm.
  • Should we implement secp256r1_recover_pubkey? Why not, we have it for the other curve already
  • Do we need a DER decoder for signatures (decoding DER in a way that does not allow malleability is pretty hard)?: I'd say no, since this is not trivial and needed for BTC only

Blockers

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions