paulmillr / noble-ed25519

Fastest 4KB JS implementation of ed25519 signatures
https://paulmillr.com/noble
MIT License
414 stars 50 forks source link

64byte (extended) ed25519 private keys #73

Closed gitmachtl closed 1 year ago

gitmachtl commented 1 year ago

Hi,

is there a way to make the getSharedSecret workable also with 64-byte ed25519 private keys?

best regards, Martin

paulmillr commented 1 year ago

ed25519 keys are always 32-byte. 64-byte representations are (secret key + public key) concatenated.

gitmachtl commented 1 year ago

trying to use your lib for DH on the cardano blockchain, and that concated 64 byte private key is not secret key + public key in that case.

PrvKey: 78d4bd66ecfe2f828ccb819ab85ed3afee813b06f70e6690a2ed527c1fc709516b7cc91a85aadee46927ee32e87e6fba60d4d9e4fe2527763bc57fe3eec8cbf9
PubKey: cd6d71f11cbd2f63326e5a50d7141a9443bd0f16f4b02f3f2f4d40acc5f83294
gitmachtl commented 1 year ago

The extended keys are following this specification: https://cips.cardano.org/cips/cip16/

BIP32-Ed25519 extended keys (Ed25519 extended keys with BIP32-style derivation)

paulmillr commented 1 year ago

This is not a library for Cardano blockchain. This is library for generic ed25519 keys. Cardano uses custom implementation on top of this.

gitmachtl commented 1 year ago

ok thx, will check if i can find some resources on how to do a curve conversion on such keys.

paulmillr commented 1 year ago

see if this is of any help https://github.com/paulmillr/micro-ed25519-hdkey