IntersectMBO / IntersectMBO/cardano-base

add external bls ietf draft 6 test-vectors to tests

Open
#626 0 comments 0 reactions 1 assignee Claimed by @perturbing View on GitHub
crypto
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.