Skip to content

Generate test vectors deterministically #88

@bifurcation

Description

@bifurcation

The test vectors contain a lot of fields that are freely generated by the creator. These degrees of freedom could be removed by defining a deterministic pseudo-random generator from which they should be derived. For example, I implemented a scheme in MLSpp where each test vector creates a seed value as Extract("", <type of test vector>), and then the fields in the test vector are populated by calling ExpandWithLabel from that seed.

Generating test vectors deterministically makes it easier to look at diffs between test vectors. In many cases, this will allow verification that two implementations generate the same test vectors, in addition to verifying a generate/verify round-trip. (The exception being cases where the client injects randomness, e.g., randomized signature schemes or reuse_guard.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions