btcd icon indicating copy to clipboard operation
btcd copied to clipboard

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

Open dstadulis opened this issue 1 year ago • 0 comments

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.

dstadulis avatar Oct 03 '24 14:10 dstadulis