Files

2.4 KiB

TEST-VECTORS — FROST (Lux Profile)

KAT (Known Answer Test) format and sourcing for Lux's FROST profile.

§1 Sources

Source Scope
CFRG draft test vectors draft-irtf-cfrg-frost appendix — per-ciphersuite reference vectors. Lux KATs replay these byte-identical.
Lux profile KATs Lux-specific transcripts (party-id ordering, transcript-domain-separation tags). Generated by cmd/frost_oracle/ (roadmap; not yet shipped — see SUBMISSION-STATUS.md §3.1).
LSS-FROST integration KATs Dynamic-resharing transcripts via protocols/lss/lss_frost.go.

§2 Ciphersuite coverage

Ciphersuite CFRG vectors replayed? Lux KATs generated?
FROST(Ed25519, SHA-512) yes (via frost_*_test.go) roadmap
FROST(secp256k1, SHA-256) + Taproot yes roadmap

§3 Format

Each KAT is a deterministic JSON record:

{
  "ciphersuite": "FROST(Ed25519, SHA-512)",
  "n": 5,
  "t": 3,
  "seed": "<32-byte hex>",
  "keygen": {
    "groupPublicKey": "<hex>",
    "signerShares": [{"id": "01..", "share": "<hex>", "vk": "<hex>"}, ...],
    "transcriptHash": "<hex>"
  },
  "sign": [
    {
      "message": "<hex>",
      "signers": ["01..", "03..", "05.."],
      "round1": [{"id": "01..", "commit": "<hex>"}, ...],
      "round2": [{"id": "01..", "share": "<hex>"}, ...],
      "signature": "<hex>",
      "verifies_under_single_party": true
    }
  ]
}

The verifies_under_single_party field is the per-ciphersuite single-party verifier's accept result. For Ed25519 this is crypto/ed25519; for secp256k1-Taproot it is BIP-340 verification.

§4 Determinism

KATs are byte-identical across runs given the same seed. Drift is a CI failure once cmd/frost_oracle/ ships.

§5 Cross-runtime byte-equality

Lux maintains a cross-runtime KAT manifest (cf. luxfi/corona/scripts/regen-kats.manifest.sha256). The manifest enforces byte-equality between the Go implementation and any other runtime (C++ port, etc.) when those exist. For FROST, the cross-runtime port is roadmap; manifest stands ready.

§6 Open items

  • cmd/frost_oracle/ generator — see SUBMISSION-STATUS.md §3.1
  • Cross-implementation differential testing against cfrg/draft-irtf-cfrg-frost reference repos — see §3.2

§7 Cross-references

  • SPEC.md — protocol spec
  • SUBMISSION-STATUS.md §3.1, §3.2 — KAT gating items
  • PARAMS.md — ciphersuite enumeration