bc-csharp
bc-csharp copied to clipboard
Added signing with extended key for Ed25519
There are algorithms for hierarchical deterministic key generation for the Ed22219 curve (e.g. BIP32-Ed25519).
These algorithms use extended keys, which are obtained at the first step after calculation the digest SHA-512 function from the secret key.
A bit of terminology:
- sk: 32-bytes secret key;
- sk_expanded: 64-bytes key, the first [0..31] bytes of which are equal to the secret key and the second half [32..63] contains public key
- sk_extended: 64-bytes key which is calculated in the first step of the singning as
SHA512(sk).
In the ImplSign functions the obtained value of the extended key is stored in the h variable.
Unfortunately, the current public signing API only allows working with the regular 32-bytes secret keys from which the extended key is further calculated.
It would be great to add another entry point accepting the Extended key h.