Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tests to verify that DSIGNM and DSIGN implementations match #363

Open
tdammers opened this issue Feb 1, 2023 · 0 comments
Open

Add tests to verify that DSIGNM and DSIGN implementations match #363

tdammers opened this issue Feb 1, 2023 · 0 comments
Assignees

Comments

@tdammers
Copy link
Contributor

tdammers commented Feb 1, 2023

For DSIGN algorithms that are available in both monadic mlocked (class DSIGNM) and pure (class DSIGN) flavors, add tests that make sure both implementations produce the same results.

Specifically, we want to check the following operations:

  • genKeyDSIGN{M} (generate a sign key from a seed)
  • deriveVerKeyDSIGN{M} (derive verification key from sign key)
  • signDSIGM{M} (sign a message)
  • verifyDSIGN{M} (verify a message against a verification key - the verification itself does not require any monadic APIs, but we need monadic code in order to generate the correct keys)

Currently, the only DSIGN algorithm that is available in both flavors is ED25519 (as Ed25519 and Ed25519ML).

In order to do this properly, we should wait for #317, which introduces the DirectSerialise and DirectDeserialise typeclasses that we can use to inspect the results of mlocked Ed25519 operations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant