Skip to content

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

Open
@tdammers

Description

@tdammers

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions