3

Does BIP 32 always implicitly assume secp256k1 elliptic curve cryptography (ECC) is to be applied, or can BIP 32 technology also be applied to create extended public or private keys that can readily be converted to say ed25519 private/public keypairs? One of the reasons I ask is because if a mathematical or computational backdoor is ever discovered for secp256k1, can ed25519 slide right in or does BIP 32 need to be re-engineered to support ed25519? Ed25519 can also be applied to provide Schnorr Signature capabilities.

1

Any Elliptic Curve could work in the BIP32 scheme. The only property of a Curve that BIP32 relies on is that a * G + b *G = (a + b mod N) * G, which is true for any Elliptic Curve.

Secp256k1 is a 'Koblitz' curve, which just means its choice of parameters enables very fast scalar multiplication (computing a multiple of the Generator point).

With that said, if a vulnerability was discovered in secp256k1, it's not like everyone could just switch over easily. That would require a major change to the Bitcoin consensus system, and require coordination of many software systems.

  • 3
    That's not exactly correct. BIP32 at least needs a small tweak to be usable on curves with a cofactor different from one. Ed25519 also uses a key generation scheme that forcibly sets some bits to 0 and 1, which would make BIP32 derived keys technically invalid Ed25519 keys. – Pieter Wuille Aug 24 '16 at 7:19
  • @PieterWuille thanks. How is a cofactor greater than 1 a problem? And I wasn't aware that Ed25519 had restrictions on the keys, I'll update my answer. – morsecoder Aug 24 '16 at 12:12
  • @StephenM347. Ed25519 isn't used for ECDSA, it is used for EDDSA. It will be really nice to be able to generate a few billion ed25519 public keys from a xpub* extended key without knowledge of xprv* extended keys. I'm assuming a cofactor will fix this, any idea how? Related ed25519 posting. – skaht Aug 24 '16 at 20:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.