IntersectMBO / IntersectMBO/cardano-base
add external bls ietf draft 6 test-vectors to tests
- Dominant language
- Haskell
- Stars
- 105
- Forks
- 54
- Avg merge
- 9d 2h
- Merged PRs (30d)
- 4
Description
Given this issue https://github.com/IntersectMBO/cardano-base/issues/625, it would be good to check that the implementation is compliant with the IETF draft [here](https://www.ietf.org/archive/id/draft-irtf-cfrg-bls-signature-06.html).
Being compliant is important, as it prevents other implementations of the node or tools from having to implement their own crypto.
Note that the audit (see this issue) has the scope of whether we are compliant.
Since the IETF is still in draft, the spec there has no test vectors. That said, previous work from @iquerejeta [here](https://github.com/input-output-hk/bls-e2e-testvectors/tree/main/src) does provide these.
It does not provide test vectors for the PoP or key gen (this is compliant by construction of blast; see [here](https://github.com/supranational/blst/blob/806515251de5cfb9761ad12eb2f2f151b1ad0277/src/keygen.c#L145) against the draft-6 required [string](https://www.ietf.org/archive/id/draft-irtf-cfrg-bls-signature-06.html#name-choosing-a-salt-value-for-k)). We can also consider how it was done for the other bls bindings and what [this](https://github.com/IntersectMBO/cardano-base/issues/580) issue and work by @hjeljeli32 did.
- [x] Create/find test vectors for PoP (see https://github.com/input-output-hk/bls-e2e-testvectors/pull/1)
- [x] Add test vectors for signatures from the above link (see https://github.com/IntersectMBO/cardano-base/pull/630)
Contributor guide
Assessment
This issue has not been assessed yet.