Skip to content

btcec: Impliment ElligatorSwift elliptic-curve points encoding, decoding functions #2261

@dstadulis

Description

@dstadulis

Ex post tracking issue for #2219

Background

BIP324 implementation necessitates btcd implement ElligatorSwift elliptic-curve points encoding and decoding functions. During BIP324's Handshake-key-exchange phase ellswift is called by the initiator and responder

Notes:

SwiftEC:
  title: Indifferentiable Function To Elliptic Curves
  link: https://eprint.iacr.org/2022/759.pdf
  goals:
    - Produce a form of steganography for censorship circumvention
      subgoals:
        - Create a covert method of EC-curve-point encoding
  SwiftEC goal:
    - Achieve a high grade of covertness in detecting whether bits are encoded EC curve points or entropy
      metrics:
        - Candidate bits should be "indifferentiable from a random oracle when composed with a random oracle to the base field"
summary: 
  ElligatorSwift produces a valid secp256k1-curve X coordinate that is indistinguishable from a uniformly distributed bitstream.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions